bericht weg, aantal berichten blijf juist

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
Gebruikersavatar
mr.Stone
Berichten: 508
Lid geworden op: 21 okt 2006, 13:08
Contacteer:

bericht weg, aantal berichten blijf juist

Bericht door mr.Stone » 19 apr 2007, 18:42

Ben dus opzoek naar een mod dat als je berichten verwijderd dat de count in orde blijft

bv:

Mr.Stone heeft 111 berichten geplaatst en er zijn in het totaal 90911 berichten op het forum, Mr.Stone had posts gemaakt om bugs te bespreken om te zien wie welke problemen had, Mr.Stone heeft deze bugs opgelost en dus zijn die topics onnodig, deze werden totnutoe in een apart forum geplaatst (prullenbak) wat niet zichtbaar is voor de leden, maar echter staan er nu al 1000+ berichten in de prullenbak en is dat toch ook weer allemaal plaats in de database die kan uitgespaard worden, maar als ik deze berichten gewoon verwijder, dan heeft Stijn nog maar 11 berichten (bij wijze van spreken) en dan zijn er bv in totaal nog 89000 berichten, maar dan lijkt het of Mr.Stone niet actief is op het forum en bijna nooit iets post, en dat vind Mr.Stone niet leuk,

dus het bericht zelf moet weg maar ik wil nog steeds hebben staan dat ik 111 berichten heb geplaatst ;)

is wel duidelijk denk ik, sorry voor het lange verhaaltje :P

Gebruikersavatar
special18
Berichten: 700
Lid geworden op: 29 jan 2007, 16:31
Locatie: Lelystad
Contacteer:

Bericht door special18 » 19 apr 2007, 18:53

is dat niet de prune functie zover ik weet dat er een mod is die het bericht wist en de count niet?
http://www.animeresource.org Free Anime downloading and streaming, community forums and Anime Radio.

Gebruikersavatar
mr.Stone
Berichten: 508
Lid geworden op: 21 okt 2006, 13:08
Contacteer:

Bericht door mr.Stone » 25 apr 2007, 14:22

special18 schreef:is dat niet de prune functie zover ik weet dat er een mod is die het bericht wist en de count niet?
ik krijg op die manier enkel: verwijderen na x dagen als er dan nog geen antwoorden zijn, niet wat ik zoek dus :(

Salomon
Berichten: 3878
Lid geworden op: 14 feb 2006, 16:15

Bericht door Salomon » 25 apr 2007, 16:07

Wat jij wil is dus, dat je postcount niet verlaagd wordt?

Code: Selecteer alles

#
#----[ OPEN ] ----------------------------
#
modcp.php

#
#---- [ FIND ] ----------------------------
#

$sql = "SELECT poster_id, COUNT(post_id) AS posts 
				FROM " . POSTS_TABLE . " 
				WHERE topic_id IN ($topic_id_sql) 
				GROUP BY poster_id";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not get poster id information', '', __LINE__, __FILE__, $sql);
			}

			$count_sql = array();
			while ( $row = $db->sql_fetchrow($result) )
			{
				$count_sql[] = "UPDATE " . USERS_TABLE . " 
					SET user_posts = user_posts - " . $row['posts'] . " 
					WHERE user_id = " . $row['poster_id'];
			}
			$db->sql_freeresult($result);

#
#---- [ REPLACE WITH ]
#
/* This is to decrement the post count. But, this admin dont like that:
$sql = "SELECT poster_id, COUNT(post_id) AS posts 
				FROM " . POSTS_TABLE . " 
				WHERE topic_id IN ($topic_id_sql) 
				GROUP BY poster_id";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not get poster id information', '', __LINE__, __FILE__, $sql);
			}

			$count_sql = array();
			while ( $row = $db->sql_fetchrow($result) )
			{
				$count_sql[] = "UPDATE " . USERS_TABLE . " 
					SET user_posts = user_posts - " . $row['posts'] . " 
					WHERE user_id = " . $row['poster_id'];
			}
			$db->sql_freeresult($result);
if ( sizeof($count_sql) )
			{
				for($i = 0; $i < sizeof($count_sql); $i++)
				{
					if ( !$db->sql_query($count_sql[$i]) )
					{
						message_die(GENERAL_ERROR, 'Could not update user post count information', '', __LINE__, __FILE__, $sql);
					}
				}
			}

*/
En als je het alleen bij een bepaald forum wil moet je het replacen met deze code:

Code: Selecteer alles

$forum_id_where_you_dont_want_to_decrement_post_count = ""; // The forum id where you dont want to decrement de post count
if($forum_id !== $forum_id_where_you_dont_want_to_decrement_post_count) {
$sql = "SELECT poster_id, COUNT(post_id) AS posts 
				FROM " . POSTS_TABLE . " 
				WHERE topic_id IN ($topic_id_sql) 
				GROUP BY poster_id";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not get poster id information', '', __LINE__, __FILE__, $sql);
			}

			$count_sql = array();
			while ( $row = $db->sql_fetchrow($result) )
			{
				$count_sql[] = "UPDATE " . USERS_TABLE . " 
					SET user_posts = user_posts - " . $row['posts'] . " 
					WHERE user_id = " . $row['poster_id'];
			}
			$db->sql_freeresult($result);
if ( sizeof($count_sql) )
			{
				for($i = 0; $i < sizeof($count_sql); $i++)
				{
					if ( !$db->sql_query($count_sql[$i]) )
					{
						message_die(GENERAL_ERROR, 'Could not update user post count information', '', __LINE__, __FILE__, $sql);
					}
				}
			}
}
Laatste niet getest, probeer maar.

Gebruikersavatar
mr.Stone
Berichten: 508
Lid geworden op: 21 okt 2006, 13:08
Contacteer:

Bericht door mr.Stone » 29 apr 2007, 19:33

Salomon schreef:Wat jij wil is dus, dat je postcount niet verlaagd wordt?

Code: Selecteer alles

#
#----[ OPEN ] ----------------------------
#
modcp.php

#
#---- [ FIND ] ----------------------------
#

$sql = "SELECT poster_id, COUNT(post_id) AS posts 
				FROM " . POSTS_TABLE . " 
				WHERE topic_id IN ($topic_id_sql) 
				GROUP BY poster_id";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not get poster id information', '', __LINE__, __FILE__, $sql);
			}

			$count_sql = array();
			while ( $row = $db->sql_fetchrow($result) )
			{
				$count_sql[] = "UPDATE " . USERS_TABLE . " 
					SET user_posts = user_posts - " . $row['posts'] . " 
					WHERE user_id = " . $row['poster_id'];
			}
			$db->sql_freeresult($result);

#
#---- [ REPLACE WITH ]
#
/* This is to decrement the post count. But, this admin dont like that:
$sql = "SELECT poster_id, COUNT(post_id) AS posts 
				FROM " . POSTS_TABLE . " 
				WHERE topic_id IN ($topic_id_sql) 
				GROUP BY poster_id";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not get poster id information', '', __LINE__, __FILE__, $sql);
			}

			$count_sql = array();
			while ( $row = $db->sql_fetchrow($result) )
			{
				$count_sql[] = "UPDATE " . USERS_TABLE . " 
					SET user_posts = user_posts - " . $row['posts'] . " 
					WHERE user_id = " . $row['poster_id'];
			}
			$db->sql_freeresult($result);
if ( sizeof($count_sql) )
			{
				for($i = 0; $i < sizeof($count_sql); $i++)
				{
					if ( !$db->sql_query($count_sql[$i]) )
					{
						message_die(GENERAL_ERROR, 'Could not update user post count information', '', __LINE__, __FILE__, $sql);
					}
				}
			}

*/
En als je het alleen bij een bepaald forum wil moet je het replacen met deze code:

Code: Selecteer alles

$forum_id_where_you_dont_want_to_decrement_post_count = ""; // The forum id where you dont want to decrement de post count
if($forum_id !== $forum_id_where_you_dont_want_to_decrement_post_count) {
$sql = "SELECT poster_id, COUNT(post_id) AS posts 
				FROM " . POSTS_TABLE . " 
				WHERE topic_id IN ($topic_id_sql) 
				GROUP BY poster_id";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not get poster id information', '', __LINE__, __FILE__, $sql);
			}

			$count_sql = array();
			while ( $row = $db->sql_fetchrow($result) )
			{
				$count_sql[] = "UPDATE " . USERS_TABLE . " 
					SET user_posts = user_posts - " . $row['posts'] . " 
					WHERE user_id = " . $row['poster_id'];
			}
			$db->sql_freeresult($result);
if ( sizeof($count_sql) )
			{
				for($i = 0; $i < sizeof($count_sql); $i++)
				{
					if ( !$db->sql_query($count_sql[$i]) )
					{
						message_die(GENERAL_ERROR, 'Could not update user post count information', '', __LINE__, __FILE__, $sql);
					}
				}
			}
}
Laatste niet getest, probeer maar.
sorry voor laat antwoord, dankje! ik ga het testen ;)

Gebruikersavatar
mr.Stone
Berichten: 508
Lid geworden op: 21 okt 2006, 13:08
Contacteer:

Bericht door mr.Stone » 01 mei 2007, 10:18

heb het laatste gedaan, bij het aangeduide forum gaat er idd geen count weg, bij alle andere fora gaat 2x weg als ik 1 bericht wegdoe :shock: :( wat kan dit zijn dan ??

Salomon
Berichten: 3878
Lid geworden op: 14 feb 2006, 16:15

Bericht door Salomon » 01 mei 2007, 10:34

Hmmm... Lastig.
Misschien helpt dit?
Zoek:

Code: Selecteer alles

for($i = 0; $i < sizeof($count_sql); $i++)
Vervang:

Code: Selecteer alles

for($i = 0; $i < sizeof($count_sql))
Niet getest, maar het KAN daaraan liggen...
Maar voor de rest heb ik geen idee, iemand die wat meer php kent?

Gesloten