Pagina 1 van 1

berichten aantal zakt na verwijderen van berichten

Geplaatst: 11 feb 2013, 21:01
door VIPmaster
  • Modificatie & Versie:[/b ]geen
    Directe link naar de modificatie: geen
    Adres van je forum: http://www.hetmultimediacafe.be
    phpBB versie: 3.0.11
    Heb je onlangs een andere modificatie of stijl geïnstalleerd? nee

    Wat is het probleem?

Op het forum hebben we een prullenbak met meer dan 110.000 berichten.
Nu was de bedoeling daar opruiming te houden aangezien de database erg goot word.
Op het moment dat we daar berichten gaan verwijderen zakken de aantal berichten van de gebruikers.
Is er een manier/mod om dit te voorkomen?
Zodat we berichten kunnen verwijderen zonder dat post count omlaag gaat.

Re: berichten aantal zakt na verwijderen van berichten

Geplaatst: 11 feb 2013, 23:13
door Pola
Er is een standaard methode om dat te bereiken. Als je gebruik maakt van:
  • Beheerderspaneel
  • FORUMS
  • Forums automatisch opruimen
  • Kies de prullenbak en klik Selecteer een forum
  • Vul eventueel de velden in en selecteer desgewenst (overal) Ja. (Als je niets invult bij "Aantal dagen sinds laatste bericht:" en "Aantal dagen sinds laatst bekeken:" worden alle topics opgeruimd)
  • Klik Bevestig
De topics/berichten worden nu verwijderd en de aantallen berichten van de gebruikers blijven op de oude waarde staan.

Er is echter wel een maar: Als je via het Beheerderspaneel de berichtenteller synchroniseert, dan worden alleen de aanwezige berichten geteld en ben je dus de telling van opgeruimde berichten kwijt.

Re: berichten aantal zakt na verwijderen van berichten

Geplaatst: 13 feb 2013, 18:37
door VIPmaster
Het is een idee, maar ik ben bang dat er toch een keer iets gebeurd waardoor het bericht aantal zakt.
Ik heb er zelf ook nog even over na gedacht.
Is het mogelijk om een kolom bij de gebruiker er bij te zetten in de database.
Als dan een bericht word verwijderd dat in deze kolom +1 word bij geteld.
En als de berichtenteller gesynchroniseerd word, dat deze kolom er bij geteld word.

Re: berichten aantal zakt na verwijderen van berichten

Geplaatst: 14 feb 2013, 23:21
door VIPmaster
Ik denk dat ik een weg gevonden heb met wat aanpassingen aan de database en php files
Ik zal morgen de code een beetje opschonen en hier plaatsen.

Re: berichten aantal zakt na verwijderen van berichten

Geplaatst: 16 feb 2013, 13:31
door VIPmaster
Zoals belooft, mijn oplossing.
Ik heb in de database een extra kolom gemaakt genaamd user_posts_deleted
Dit is een kopie van user_posts alleen het structuur niet de inhoud.

Ik heb de volgende bestanden aangepast.
includes\functions_admin.php
Zoek naar:

Code: Selecteer alles

if (!sizeof($where_ids))
		{
			return array('topics' => 0, 'posts' => 0);
		}

		$where_clause = $db->sql_in_set($where_type, $where_ids);
	}
Plaats daaronder:

Code: Selecteer alles

//********************************************* Deleted post count by VIPmaster *********************************************
	$sql = 'SELECT poster_id FROM ' . POSTS_TABLE . ' WHERE ' . $where_clause;
	$result = $db->sql_query($sql);
	
	while ($row = mysql_fetch_assoc($result))
	{	
			$sql = 'UPDATE ' . USERS_TABLE .' SET user_posts_deleted = user_posts_deleted + 1, user_posts = user_posts + 1 WHERE user_id = ' . $row['poster_id'];
			$db->sql_query($sql);

			
	}
	//********************************************* Deleted post count by VIPmaster *********************************************
includes\acp\acp_main.php
Zoek naar:

Code: Selecteer alles

if ($row = $db->sql_fetchrow($result))
							{
								do
								{
									$sql = 'UPDATE ' . USERS_TABLE . " SET user_posts = user_posts + {$row['num_posts']} WHERE user_id = {$row['poster_id']}";
									$db->sql_query($sql);
								}
								while ($row = $db->sql_fetchrow($result));
								
							}
							$db->sql_freeresult($result);

							$start += $step;
						}
Plaats daaronder:

Code: Selecteer alles

//********************************************* Deleted post count by VIPmaster *********************************************
						$sql = 'UPDATE ' . USERS_TABLE . " SET user_posts = user_posts + user_posts_deleted";
						$db->sql_query($sql);
						//********************************************* Deleted post count by VIPmaster *********************************************
Nu word er als er een topic verwijderd word, het berichten aantal gelijk gemaakt.
Bij het synchroniseren worden de verwijderde berichten opgeteld bij de huidige aantal berichten op het forum.
LET OP Dit werkt alleen als je een topic verwijderd.
Als je een bericht verwijderd zal hij niet worden meegeteld.
Als er vragen, opmerkingen en/of verbeteringen zijn hoor ik het graag.

Re: berichten aantal zakt na verwijderen van berichten

Geplaatst: 21 feb 2013, 23:09
door Theriddler
Ik kwam dit ook nog tegen, of je er wat aan hebt weet ik niet, ik heb het ook niet uitgetest

http://www.ktuk.net/phpBB3/viewtopic.ph ... 85#p162285