Pagina 1 van 1
bericht weg, aantal berichten blijf juist
Geplaatst: 19 apr 2007, 18:42
door mr.Stone
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

Geplaatst: 19 apr 2007, 18:53
door special18
is dat niet de prune functie zover ik weet dat er een mod is die het bericht wist en de count niet?
Geplaatst: 25 apr 2007, 14:22
door mr.Stone
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

Geplaatst: 25 apr 2007, 16:07
door Salomon
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.
Geplaatst: 29 apr 2007, 19:33
door mr.Stone
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

Geplaatst: 01 mei 2007, 10:18
door mr.Stone
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

wat kan dit zijn dan ??
Geplaatst: 01 mei 2007, 10:34
door Salomon
Hmmm... Lastig.
Misschien helpt dit?
Zoek:
Vervang:
Niet getest, maar het KAN daaraan liggen...
Maar voor de rest heb ik geen idee, iemand die wat meer php kent?