Anzeige der Original Posting Zahl

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Kettu
Mitglied
Beiträge: 99
Registriert: 25.02.2003 16:36

Anzeige der Original Posting Zahl

Beitrag von Kettu »

Jeder kennt sicher das "Problem", dass beim Pruning auch der Zähler auf der index.php zurückgesetzt wird. Dadurch sieht es immer so aus, als ob ein Forum recht inaktiv ist, wenn dort eine geringe Zahl da ist.
Ich zum Beispiel versuche aber die Datenbank klein zu halten, um die Geschwindigkeit zu verbessern und weil ich nicht so viel Webspace habe.

Hat jemand eine Idee, wie ich - zum Beispiel durch eine zusätzliche Angabe (in Klammern hinter der Gesamtpostingzahl) - die Originalzahl anzeigen kann?

Die Originalzahl ist vorhanden, was man immer merkt, wenn man ein neues Posting macht. Dann bekommt dieses nämlich eben die Nummer.
Es ist schon über so viele Dinge Gras gewachsen, dass man keiner Wiese mehr trauen kann! 8)
--------
Nutzer von phpBB 2.0.4 und 2.0.11
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Du könntest z.B. in der index.php den verlorenen Wert zur Ausgabe hinzuaddieren, was aber immer wieder angepasst werden müsste.
$total_posts = get_db_stat('postcount')+1;
Benutzeravatar
Kettu
Mitglied
Beiträge: 99
Registriert: 25.02.2003 16:36

Beitrag von Kettu »

Acid hat geschrieben:Du könntest z.B. in der index.php den verlorenen Wert zur Ausgabe hinzuaddieren, was aber immer wieder angepasst werden müsste.
$total_posts = get_db_stat('postcount')+1;
Du meinst also, wenn ich 3000 Posts gelöscht habe, dann muss ich dein "+1" mit "+3000" ersetzen?

Hm, ist auf jeden Fall eine Variante. Aber irgendwie müsste es doch möglich sein, den richtigen Wert auszulesen. Schließlich macht das Forum das doch auch, oder?
Es ist schon über so viele Dinge Gras gewachsen, dass man keiner Wiese mehr trauen kann! 8)
--------
Nutzer von phpBB 2.0.4 und 2.0.11
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

..ja, mit der jeweiligen Ziffer ersetzen.

Auf dem Index werden die vorhandenen post_ oder topic_ids zusammengezählt, was dann den jeweiligen Wert ergibt. Das dann beim Posten immer weiter gezählt wird und die IDs nicht "weniger" werden, liegt daran, das gelöschte IDs nicht neu belegt werden.
Benutzeravatar
Kettu
Mitglied
Beiträge: 99
Registriert: 25.02.2003 16:36

Beitrag von Kettu »

Kann man diese ID's dann nicht auch auslesen?
Ich weiß, ich bin hartnäckig *lieb guck*
Es ist schon über so viele Dinge Gras gewachsen, dass man keiner Wiese mehr trauen kann! 8)
--------
Nutzer von phpBB 2.0.4 und 2.0.11
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

hmm.. ich weiss jetzt nicht, ob das "zu" einfach ist, aber man kann ja die aktuellste ID auslesen.

Code: Alles auswählen

			$sql = "SELECT MAX(post_id) AS max_id FROM ". POSTS_TABLE;
			if( !$result = $db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, "couldn't get max id", "", __LINE__, __FILE__, $sql);
			}
			$row = $db->sql_fetchrow($result);
..und dann die ID als Zahl über $max_id = $row['max_id']; ausgeben. Das würde dann z.B. 3383 ergeben.

hmm.. :o
Benutzeravatar
Kettu
Mitglied
Beiträge: 99
Registriert: 25.02.2003 16:36

Beitrag von Kettu »

Ja, es ist tatsächlich so einfach :D Und das dachte ich mir fast. Hab's eingebaut und funktioniert phantastisch! Danke!!!!! *knuddel*

Der Einbau erfolgte wie folgt:

Code: Alles auswählen

#
#-----[ OPEN index.php ]-------------------
# 
# 
#-----[ FIND ]----------------------------------
# 
$total_posts = get_db_stat('postcount');
# 
#-----[ BEFORE, ADD ]------------------------------------------ 

 $sql = "SELECT MAX(post_id) AS max_id FROM ". POSTS_TABLE;
         if( !$result = $db->sql_query($sql) )
         {
            message_die(GENERAL_ERROR, "couldn't get max id", "", __LINE__, __FILE__, $sql);
         }
         $row = $db->sql_fetchrow($result);

#-----[ FIND ]----------------------------------
# 
$total_posts = get_db_stat('postcount');
#
# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
$total_posts_all = $row['max_id'];
#
#  
#-----[ FIND ]----------------------------------
# 
#
$template->assign_vars(array(
                'TOTAL_POSTS' => sprintf($l_total_post_s, $total_posts),
# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
'TOTAL_POSTS_ALL' => sprintf($total_posts_all),
#
#
#-----[ OPEN templates/SubSilver/index_body.tpl ]-------------------
#
# 
# 
#-----[ FIND ]----------------------------------
# 
#
  <tr>
        <td class="row1" align="center" valign="middle" rowspan="3"><img src="templates/subSilver/images/whosonline.gif" alt="{L_WHO_IS_ONLINE}" /></td>
        <td class="row1" align="left" width="100%"><span class="gensmall">{TOTAL_POSTS}<br />{TOTAL_USERS}<br />{NEWEST_USER}</span>
        </td>
  </tr>
#
#-----[ REPLACE WITH ]----------------------------------
#
  <tr>
        <td class="row1" align="center" valign="middle" rowspan="3"><img src="templates/subSilver/images/whosonline.gif" alt="{L_WHO_IS_ONLINE}" /></td>
        <td class="row1" align="left" width="100%"><span class="gensmall">{TOTAL_POSTS} (Total: <b>{TOTAL_POSTS_ALL}</b>) <br />{TOTAL_USERS}<br />{NEWEST_USER}</span>
        </td>
  </tr>
Kann man doch so machen, oder?
Jedenfalls wird damit der aktuelle Wert angezeigt sowie der Totalwert. Genau so, wie ich es wollte 8)
Es ist schon über so viele Dinge Gras gewachsen, dass man keiner Wiese mehr trauen kann! 8)
--------
Nutzer von phpBB 2.0.4 und 2.0.11
Benutzeravatar
Kettu
Mitglied
Beiträge: 99
Registriert: 25.02.2003 16:36

Beitrag von Kettu »

Wer anstelle des (Total: Zahl) lieber einen Text stehen haben will, der je nach Sprachwahl variiert, der muss wie folgt ab Replace with vorgehen

Code: Alles auswählen

#-----[ REPLACE WITH ]----------------------------------
#
  <tr>
        <td class="row1" align="center" valign="middle" rowspan="3"><img src="templates/subSilver/images/whosonline.gif" alt="{L_WHO_IS_ONLINE}" /></td>
        <td class="row1" align="left" width="100%"><span class="gensmall">{TOTAL_POSTS} {totalpostings}<b>{TOTAL_POSTS_ALL}</b> <br />{TOTAL_USERS}<br />{NEWEST_USER}</span>
        </td>
  </tr>

#
#-----[ Open includes/page_header.php ]--------
#
#-----[ find ]-----
#
'L_SEARCH_SELF' => $lang['Search_your_posts'],
#
#-----[ after, add ]-----
#
'L_totalpostings' => $lang['totalpostings'],
#
#-----[ open language/your language/lang_main.php ]-----
#
#-----[ find ]-----
#
//
// That's all Folks!
#
#-----[ before, add ]-----
#
$lang['totalpostings'] = 'Beiträge seit Bestehen des Forums: ';
#
#---- Das war's. Viel Spaß damit. ----
Ich hab einfach (Total: und die Klammer am Ende mit {totalpostings} ersetzt, um auf den danach folgenden Spracheintrag zugreifen zu können.

Dank nochmal an Acid, ohne dessen Hilfe dieser Mod nicht entstanden wäre :grin:
Es ist schon über so viele Dinge Gras gewachsen, dass man keiner Wiese mehr trauen kann! 8)
--------
Nutzer von phpBB 2.0.4 und 2.0.11
Brummer1968
Mitglied
Beiträge: 12
Registriert: 29.02.2004 15:46

Beitrag von Brummer1968 »

Hey, tolle Sache das. Ich hab das ganze mal bei mir eingebaut. Allerdings hab ich es noch ein bisschen umgefrickelt, so dass ich in der page_header.php gar nichts ändern muss. Läuft dann über die index.php und in der language-Datei kann man für die zusätzliche Angabe eine eigene Zeile einfügen.

Bei mir wird also der Statistik-Block um eine Zeile erweitert und das sieht dann ungefähr so aus:

Unsere Benutzer haben insgesamt 32107 Beiträge geschrieben.
Unsere Foren enthalten insgesamt 18986 Beiträge.
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“