replycount zählt gelöschte Posts |
zebracamouflage
Mitglied
Dabei seit: 28.01.15
Beiträge: 33
Fähigkeiten: WBB Lite 1 Anfänger Forenversion: Lite 1.0
|
|
Problembeschreibung:
Bei uns werden für die jeweiligen Themen auch gelöschte Posts mitgezählt, sodass es immer erstmal so aussieht, als wären Antworten vorhanden, obwohl bereits alle gelöscht wurden.
Link zum Forum:
http://hometonight.bplaced.de/wbblite/index.php?sid=
Ich wäre dankbar, wenn jemand einen Lösungsansatz hat und mir sagen kann, wo/wie ich einstellen kann, dass nur die tatsächlich vorhandenen Antworten gezählt werden.
|
|
10.02.15 18:45 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
zebracamouflage
Mitglied
Dabei seit: 28.01.15
Beiträge: 33
Fähigkeiten: WBB Lite 1 Anfänger Forenversion: Lite 1.0
Themenstarter
|
|
ah, du hast recht! läuft über quickdelete.
Das Ding ist nur: über whoposted bekomm ich bei "Beiträge gesamt" auch die korrekte Anzahl angezeigt, also ohne die gelöschten. Irgendwo scheint ers ja also doch zu raffen?! Ist nur die Frage, wie man das auch in die eigentliche Tabelle überträgt.
|
|
11.02.15 14:11 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
Beckebans
Alternativ Mitglied
Dabei seit: 10.07.05
Beiträge: 481
Fähigkeiten: WBB Lite 1 Fortgeschritten Herkunft: Paderborn Forenversion: Lite 1.0
|
|
Die "whoposted"-Funktion zählt das direkt, anstatt einen Wert aus der Datenbank auszulesen.
Als Lösung hilft es nur einen fehlerfreien Hack zum Löschen einzubauen.
Bis dahin kannst du dir diesen Code einbauen und damit im ACP die Anzeigen manuell aktualisieren:
==> acp/otherstuff.php
Suche:
Darüber einfügen:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
|
if($action=="boardposts") {
$result=$db->query("SELECT boardid FROM bb".$n."_boards ORDER BY boardid ASC");
while($row=$db->fetch_array($result)) {
$postcount = $db->query_first("SELECT COUNT(*) AS countp FROM bb".$n."_posts p LEFT JOIN bb".$n."_threads t ON (p.threadid=t.threadid) WHERE t.boardid='$row[boardid]' AND p.visible=1");
$board = $db->query_first("SELECT childlist FROM bb".$n."_boards WHERE boardid='$row[boardid]'");
$count = $postcount[countp];
if($board[childlist] != "0") {
$childlist = explode(",", $board[childlist]);
for($i = 0; $i < count($childlist); $i++ ) {
if($childlist[$i] != "0") {
$postcount_childboard = $db->query_first("SELECT COUNT(*) AS countp FROM bb".$n."_posts p LEFT JOIN bb".$n."_threads t ON (p.threadid=t.threadid) WHERE t.boardid='$childlist[$i]' AND p.visible=1");
$count = $count + $postcount_childboard[countp];
}
}
}
$db->unbuffered_query("UPDATE bb".$n."_boards SET postcount='$count' WHERE boardid='$row[boardid]'",1);
}
eval("print(\"".gettemplate("working_done")."\");");
}
if($action=="boardthreads") {
$result=$db->query("SELECT boardid FROM bb".$n."_boards ORDER BY boardid ASC");
while($row=$db->fetch_array($result)) {
$threadcount=$db->query_first("SELECT COUNT(*) AS countthreads FROM bb".$n."_threads WHERE boardid='$row[boardid]' AND visible=1");
$board = $db->query_first("SELECT childlist FROM bb".$n."_boards WHERE boardid='$row[boardid]'");
$count = $threadcount[countthreads];
if($board[childlist] != "0") {
$childlist = explode(",", $board[childlist]);
for($i = 0; $i < count($childlist); $i++ ) {
if($childlist[$i] != "0") {
$threadcount_childboard = $db->query_first("SELECT COUNT(*) AS countthreads FROM bb".$n."_threads WHERE boardid='$childlist[$i]' AND visible=1");
$count = $count + $threadcount_childboard[countthreads];
}
}
}
$db->unbuffered_query("UPDATE bb".$n."_boards SET threadcount='$count' WHERE boardid='$row[boardid]'",1);
}
eval("print(\"".gettemplate("working_done")."\");");
}
if($action=="threadreplys") {
$result=$db->query("SELECT threadid FROM bb".$n."_threads ORDER BY threadid ASC");
while($row=$db->fetch_array($result)) {
$threadreply=$db->query_first("SELECT COUNT(postid) AS countreply FROM bb".$n."_posts p LEFT JOIN bb".$n."_threads t ON (p.threadid=t.threadid) WHERE t.threadid='$row[threadid]'");
$countreply=$threadreply[countreply]-1;
$db->unbuffered_query("UPDATE bb".$n."_threads SET replycount='$countreply' WHERE threadid='$row[threadid]'",1);
}
eval("print(\"".gettemplate("working_done")."\");");
} |
|
==> acp/templates/otherstuff.php
Suche:
code: |
1:
2:
|
</body>
</html> |
|
Darüber einfügen:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
|
<form name="form4" action="#" method="post">
<table cellpadding="4" cellspacing="1" border="0" class="tblborder" width="95%" align="center">
<tr class="tblhead">
<td colspan="2">Zählung der Boardbeiträge</td>
</tr>
<tr class="secondrow">
<td colspan="2" align="center"><b>Achtung:</b> Vor dem Aktualisieren sollten die Foren synchronisiert werden. Dabei erfolgt automatisch eine Weiterleitung auf die Forenübersicht.<br><br><input type="button" value="Synchronisieren" onclick="window.location.href='board.php?action=sync&sid=$session[hash]'"> <input type="button" value="Aktualisieren" onclick="update(this.form.action.value,0)"></td>
</tr>
</table>
<input type="hidden" name="action" value="boardposts">
</form>
<form name="form5" action="#" method="post">
<table cellpadding="4" cellspacing="1" border="0" class="tblborder" width="95%" align="center">
<tr class="tblhead">
<td colspan="2">Zählung der Boardthemen</td>
</tr>
<tr class="secondrow">
<td colspan="2" align="center"><b>Achtung:</b> Vor dem Aktualisieren sollten die Foren synchronisiert werden. Dabei erfolgt automatisch eine Weiterleitung auf die Forenübersicht.<br><br><input type="button" value="Synchronisieren" onclick="window.location.href='board.php?action=sync&sid=$session[hash]'"> <input type="button" value="Aktualisieren" onclick="update(this.form.action.value,0)"></td>
</tr>
</table>
<input type="hidden" name="action" value="boardthreads">
</form>
<form name="form6" action="#" method="post">
<table cellpadding="4" cellspacing="1" border="0" class="tblborder" width="95%" align="center">
<tr class="tblhead">
<td colspan="2">Zählung der Antworten</td>
</tr>
<tr class="secondrow">
<td colspan="2" align="center"><input type="button" value="Aktualisieren" onclick="update(this.form.action.value,0)"></td>
</tr>
</table>
<input type="hidden" name="action" value="threadreplys">
</form> |
|
__________________ Meine Hacks:
- Userpage
- Geburtstagsliste
- Beitrag bedanken
- User verlinken
- PHP-Fehler anzeigen
- Umfragedauer
- Neue Beiträge während Eigenem
- Gruppenspezifische Mitgliederliste
- und weitere...
|
|
11.02.15 17:26 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
zebracamouflage
Mitglied
Dabei seit: 28.01.15
Beiträge: 33
Fähigkeiten: WBB Lite 1 Anfänger Forenversion: Lite 1.0
Themenstarter
|
|
Alles klar, danke euch beiden. Dann wissen wir vor allem auch, wo überhaupt das Problem liegt und werden über kurz oder lang wohl den quickydelete gegen einen anderen Löschen-Hack austauschen
|
|
11.02.15 21:21 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
|