berichten aantal zakt na verwijderen van berichten

Hulp nodig bij een modificaties of op zoek naar een MOD?
Forumregels

LEES: Richtlijnen voor Support. Vul de support template in!
phpBB3.0.x
Verschaf iemand geen servertoegang tenzij het niet anders kan. Maak altijd eerst een volledige backup en verander de inloggevens na afloop. Eigen risico.
Plaats reactie
VIPmaster
Berichten: 4
Lid geworden op: 11 feb 2013, 19:17

berichten aantal zakt na verwijderen van berichten

Bericht door VIPmaster » 11 feb 2013, 21:01

  • 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.

Gebruikersavatar
Pola
Berichten: 1495
Lid geworden op: 19 jan 2012, 14:40
Contacteer:

Re: berichten aantal zakt na verwijderen van berichten

Bericht door Pola » 11 feb 2013, 23:13

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.
HGN op phpbb.com

VIPmaster
Berichten: 4
Lid geworden op: 11 feb 2013, 19:17

Re: berichten aantal zakt na verwijderen van berichten

Bericht door VIPmaster » 13 feb 2013, 18:37

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.

VIPmaster
Berichten: 4
Lid geworden op: 11 feb 2013, 19:17

Re: berichten aantal zakt na verwijderen van berichten

Bericht door VIPmaster » 14 feb 2013, 23:21

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.

VIPmaster
Berichten: 4
Lid geworden op: 11 feb 2013, 19:17

Re: berichten aantal zakt na verwijderen van berichten

Bericht door VIPmaster » 16 feb 2013, 13:31

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.

Gebruikersavatar
Theriddler
Berichten: 1103
Lid geworden op: 20 apr 2012, 07:47
Contacteer:

Re: berichten aantal zakt na verwijderen van berichten

Bericht door Theriddler » 21 feb 2013, 23:09

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

Plaats reactie