Hab' Ende nächster Woche Geburtstag und das wäre das perfekte Geschenk *türülü*Mahony hat geschrieben:Nein, nicht ganz. Ich muss das alles noch ordnen, zusammen bringen, noch einmal testen und in eine MODX schreiben.MartectX hat geschrieben:Sind das alle Bugfixes für 0.2.0?
[DEV] Thank Post Mod (hide MOD compatible ) 0.2.0
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Re: [DEV] Thank Post Mod (hide MOD compatible ) 0.2.0
- Mahony
- Ehemaliges Teammitglied
- Beiträge: 12178
- Registriert: 17.11.2005 22:33
- Wohnort: Ostfildern Kemnat
- Kontaktdaten:
Re: [DEV] Thank Post Mod (hide MOD compatible ) 0.2.0
Hallo Schmischi
Mach mal diese Änderung wieder rückgängig (das war nicht optimal gelöst).
Suche in der includes/functions_user.php
Füge danach ein
Suche
Füge danach ein
Öffne viewtopic.php
Suche nach
Füge danach ein
Suche
Ersetze mit
Mit diesen Änderungen sind dann die Probleme mit gelöschten Usern vollständig beseitigt.
Hier noch ein Bugfix, damit sich ein User nicht über die URL bei sich selbst bedanken kann.
Öffne thanks.php
Suche nach
Füge danach ein
Suche nach
Füge danach ein
Grüße: Mahony
Mach mal diese Änderung wieder rückgängig (das war nicht optimal gelöst).
Jetzt folgt die optimale Lösung.Mahony hat geschrieben: Öffne die includes/functions_user.php
Suche in der includes/functions_user.phpFüge danach einCode: Alles auswählen
function user_delete($mode, $user_id, $post_username = false) { global $cache, $config, $db, $user, $auth; global $phpbb_root_path, $phpEx;
Code: Alles auswählen
//Begin Thanks Post MOD $sql = 'DELETE FROM ' . THANKS_TABLE . ' WHERE thanks_from = ' . $user_id; $db->sql_query($sql); //End Thanks Post MOD
Suche in der includes/functions_user.php
Code: Alles auswählen
function user_delete($mode, $user_id, $post_username = false)
{
global $cache, $config, $db, $user, $auth;
global $phpbb_root_path, $phpEx;
Code: Alles auswählen
//Begin Thanks Post MOD
$sql = 'UPDATE ' . THANKS_TABLE . '
SET thanks_from = ' . ANONYMOUS . "
WHERE thanks_from = $user_id";
$db->sql_query($sql);
$sql = 'UPDATE ' . THANKS_TABLE . '
SET thanks_to = ' . ANONYMOUS . "
WHERE thanks_to = $user_id";
$db->sql_query($sql);
//End Thanks Post MOD
Code: Alles auswählen
$sql = 'SELECT *
FROM ' . USERS_TABLE . '
WHERE user_id = ' . $user_id;
$result = $db->sql_query($sql);
$user_row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if (!$user_row)
{
return false;
}
Code: Alles auswählen
//Begin Thanks Post MOD
if ($user_row['user_thanked'])
{
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_thanked = user_thanked + ' . $user_row['user_thanked'] . '
WHERE user_id = ' . ANONYMOUS;
$db->sql_query($sql);
}
if ($user_row['user_thanks'])
{
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_thanks = user_thanks + ' . $user_row['user_thanks'] . '
WHERE user_id = ' . ANONYMOUS;
$db->sql_query($sql);
}
if ($user_row['user_thanks_post'])
{
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_thanks_post = user_thanks_post + ' . $user_row['user_thanks_post'] . '
WHERE user_id = ' . ANONYMOUS;
$db->sql_query($sql);
}
//End Thanks Post MOD
Suche nach
Code: Alles auswählen
if ($poster_id == ANONYMOUS)
{
$user_cache[$poster_id] = array(
'joined' => '',
'posts' => '',
'from' => '',
Code: Alles auswählen
//Begin Thank Post MOD
'thanks' => (isset($row['user_thanks'])) ? $row['user_thanks'] : '',
'thanked' => (isset($row['user_thanked'])) ? $row['user_thanked'] : '',
'thanks_post' => (isset($row['user_thanks_post'])) ? $row['user_thanks_post'] : '',
//End Thank Post MOD
Code: Alles auswählen
//Begin Thank Post MOD
'thanks' => $row['user_thanks'],
'thanked' => $row['user_thanked'],
'thanks_post' => $row['user_thanks_post'],
//End Thank Post MOD
Code: Alles auswählen
//Begin Thank Post MOD
'thanks' => (isset($row['user_thanks'])) ? $row['user_thanks'] : '',
'thanked' => (isset($row['user_thanked'])) ? $row['user_thanked'] : '',
'thanks_post' => (isset($row['user_thanks_post'])) ? $row['user_thanks_post'] : '',
//End Thank Post MOD
Hier noch ein Bugfix, damit sich ein User nicht über die URL bei sich selbst bedanken kann.
Öffne thanks.php
Suche nach
Code: Alles auswählen
$sql = 'SELECT thanks_from
FROM ' . THANKS_TABLE . '
WHERE post_id = ' . $post_id . '
AND thanks_from = ' . $user->data['user_id'];
$result = $db->sql_query($sql);
$thanked_post = $db->sql_fetchfield('thanks_from');
$db->sql_freeresult($result);
Code: Alles auswählen
//Begin NEW The user can not thank himself.
$poster_id = $row['poster_id'];
//End NEW The user can not thank himself.
Code: Alles auswählen
switch ($mode)
{
case 'thanks':
if($thanked_post)
{
trigger_error('THANKS_CANT_ADD');
}
Code: Alles auswählen
//Begin NEW The user can not thank himself.
if($user->data['user_id'] == $poster_id)
{
trigger_error('THANKS_DISALLOW');
}
//End NEW The user can not thank himself.
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Re: [DEV] Thank Post Mod (hide MOD compatible ) 0.2.0
Hallo Mahony
Ist bei mir eingepflegt und Funktioniert gut.
Ist bei mir eingepflegt und Funktioniert gut.
Gruß Rainer
Re: [DEV] Thank Post Mod (hide MOD compatible ) 0.2.0
Die Mod. läuft auch bei mir und bereitet allen viel Freude - dankeschön!
Habe jetzt nicht den ganzen Thread durchgekämmt, daher nur eine kurze Anregung:
In meinem Forum können sich die User selbst löschen, manche lösche ich nach längerer Inaktivität auch mit einer Mod. Jedenfalls bleibt dann immer anzeigt
"Gast123 ...
Danke gegeben:
Danke bekommen: mal in Posts"
Das sieht immer so unglücklich aus...
Mit if-Abfragen habe ich versucht, das zumindest in der viewtopic_html abzustellen, aber die Formulierung der Bedingungen für postrow.POSTER_THAKED und postrow.POSTER_THANKS habe ich nicht korrekt hinbekommen. Vermutlich ist bei einem Teil der gelöschten Benutzer der Wert leer (''), bei anderen Null und bei wieder anderen womöglich noch auf irgendwelchen größeren Zahlen, da ich den o.a. Bugfix gerade erst gefunden und eingebaut habe.
Charmant an diesem Ansatz fand ich auch, das jeweils leere Zeilen (wenn ein Benutzer sich noch nicht bedankt hatte) einfach wegblieben.
Nun werde ich wohl einen Workaround über das POSTER_JOINED gehen müssen - oder hat jemand eine bessere Idee?
Danke!
Sepp
Habe jetzt nicht den ganzen Thread durchgekämmt, daher nur eine kurze Anregung:
In meinem Forum können sich die User selbst löschen, manche lösche ich nach längerer Inaktivität auch mit einer Mod. Jedenfalls bleibt dann immer anzeigt
"Gast123 ...
Danke gegeben:
Danke bekommen: mal in Posts"
Das sieht immer so unglücklich aus...
Mit if-Abfragen habe ich versucht, das zumindest in der viewtopic_html abzustellen, aber die Formulierung der Bedingungen für postrow.POSTER_THAKED und postrow.POSTER_THANKS habe ich nicht korrekt hinbekommen. Vermutlich ist bei einem Teil der gelöschten Benutzer der Wert leer (''), bei anderen Null und bei wieder anderen womöglich noch auf irgendwelchen größeren Zahlen, da ich den o.a. Bugfix gerade erst gefunden und eingebaut habe.
Charmant an diesem Ansatz fand ich auch, das jeweils leere Zeilen (wenn ein Benutzer sich noch nicht bedankt hatte) einfach wegblieben.
Nun werde ich wohl einen Workaround über das POSTER_JOINED gehen müssen - oder hat jemand eine bessere Idee?
Danke!
Sepp
Zuletzt geändert von sepp71 am 18.04.2009 00:39, insgesamt 1-mal geändert.
- Mahony
- Ehemaliges Teammitglied
- Beiträge: 12178
- Registriert: 17.11.2005 22:33
- Wohnort: Ostfildern Kemnat
- Kontaktdaten:
Re: [DEV] Thank Post Mod (hide MOD compatible ) 0.2.0
Hallo
P.S. Hier noch zwei Bugfixes:
Bugfix 1. Beschleunigt die Synchronisierung der Bedankungen (wichtig in größeren Foren), wenn Beiträge im Forum gelöscht wurden und man im ACP die Bedankungen synchronisieren möchte.
1. Setze indizes auf die Spalten thanks_from und thanks_to in der Tabelle phpbb_thanks und auf die Spalte post_thanked in der Tabelle phpbb_posts.
Bugfix 2. Fügt eine fehlende Sprachvariable hinzu. Diese wird im ACP -- Wartung -- Administrations-Protokoll verwendet um die Synchronisierung der Bedankungen anzuzeigen.
2. Suche in der language/de/acp/common.php
Füge danach ein
Grüße: Mahony
Du solltest besser meine Bugfixes einbauen, denn dadurch dürfte sich das erledigt haben.Jedenfalls bleibt dann immer anzeigt
"Gast123 ...
Danke gegeben:
Danke bekommen: mal in Posts"
Das sieht immer so unglücklich aus...
Ich habe gerade erst die Bugfixes gesehen, die sich auf das Löschen von Benutzern beziehen und sie noch nicht ausprobiert, ob das Thema damit besser erledigt wird.
P.S. Hier noch zwei Bugfixes:
Bugfix 1. Beschleunigt die Synchronisierung der Bedankungen (wichtig in größeren Foren), wenn Beiträge im Forum gelöscht wurden und man im ACP die Bedankungen synchronisieren möchte.
1. Setze indizes auf die Spalten thanks_from und thanks_to in der Tabelle phpbb_thanks und auf die Spalte post_thanked in der Tabelle phpbb_posts.
Code: Alles auswählen
ALTER TABLE phpbb_thanks ADD INDEX (thanks_from);
ALTER TABLE phpbb_thanks ADD INDEX (thanks_to);
ALTER TABLE phpbb_posts ADD INDEX (post_thanked);
2. Suche in der language/de/acp/common.php
Code: Alles auswählen
'LOG_DELETE_POST' => '<strong>Beitrag gelöscht</strong><br />» %s',
Code: Alles auswählen
'LOG_RESYNC_THANKSCOUNTS' => '<strong>Benutzer Bedankungen resynchronisiert</strong>',
Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Re: [DEV] Thank Post Mod (hide MOD compatible ) 0.2.0
Hoppla, sorry, habe tatsächlich die Bugfixes probiert - es aber noch nicht korrekt hinbekommen und meinen obigen Beitrag entsprechend editiert. Ich lese jetzt noch einmal nach und probiere weiter.
Sepp
Edit 18.4. 16:55: Habe mittlerweile die Bugfixes eingebaut und meine o.a. Änderungen wieder entfernt. Das "Danke gegeben" und "Danke bekommen" steht aber zumindest bei den Usern, die sich mit dem "Selbst-Löschen-Mod" gelöscht habentrotzdem noch drin.
Ich hätte es gern so, dass jedenfalls in der viewtopic bei den User-Daten nur die Werte >0 angezeigt werden, also keine Anzeige, wenn Danke gegeben bzw. Danke bekommen =0 oder gar undefiniert ist. Besonders wichtig ist mir das bei en bereits in der Vergangenheit (vor dem Bugfixes) gelöschten Usern. Während alle anderen Registrierungsdetails dann nicht mehr angezeigt wird, werden die beiden Danke-Zeilen trotzdem (und mit "0") noch angezeigt.
Ich glaube, dass eine if-Abfrage wie bei den anderen Profildetails hier:
helfen könnte, weiß aber nicht, auf welche Werte ich sie beziehen sollte.
Hast Du vielleicht doch noch einen Tipp?
Danke!
Sepp
Sepp
Edit 18.4. 16:55: Habe mittlerweile die Bugfixes eingebaut und meine o.a. Änderungen wieder entfernt. Das "Danke gegeben" und "Danke bekommen" steht aber zumindest bei den Usern, die sich mit dem "Selbst-Löschen-Mod" gelöscht habentrotzdem noch drin.
Ich hätte es gern so, dass jedenfalls in der viewtopic bei den User-Daten nur die Werte >0 angezeigt werden, also keine Anzeige, wenn Danke gegeben bzw. Danke bekommen =0 oder gar undefiniert ist. Besonders wichtig ist mir das bei en bereits in der Vergangenheit (vor dem Bugfixes) gelöschten Usern. Während alle anderen Registrierungsdetails dann nicht mehr angezeigt wird, werden die beiden Danke-Zeilen trotzdem (und mit "0") noch angezeigt.
Ich glaube, dass eine if-Abfrage wie bei den anderen Profildetails hier:
Code: Alles auswählen
<dd><strong>{L_THANKS}:</strong> {postrow.POSTER_THANKS}</dd>
<dd><strong>{L_THANKED}:</strong> {postrow.POSTER_THANKED} {L_IN} {postrow.POSTER_THANKS_POST}</dd>
Hast Du vielleicht doch noch einen Tipp?
Danke!
Sepp
Re: [DEV] Thank Post Mod (hide MOD compatible ) 0.2.0
Hallo Mahony
Ich weis ja nicht ob das so einfach möglich ist, aber eine Klasse Erweiterung des Mods wäre es wenn man sich die Posts auf die ein Danke gesetzt wurde mit einem Klick anzeigen lassen könnte.
Also z.B. wenn man in der Forenübersicht die zusätzliche Anzeige eingebaut hat und man klickt auf die Anzahl der Danke eines Users.
Als Ergebnis werden dann die Posts mit Danke angezeigt.
Ich weis ja nicht ob das so einfach möglich ist, aber eine Klasse Erweiterung des Mods wäre es wenn man sich die Posts auf die ein Danke gesetzt wurde mit einem Klick anzeigen lassen könnte.
Also z.B. wenn man in der Forenübersicht die zusätzliche Anzeige eingebaut hat und man klickt auf die Anzahl der Danke eines Users.
Als Ergebnis werden dann die Posts mit Danke angezeigt.
Gruß Rainer
- Mahony
- Ehemaliges Teammitglied
- Beiträge: 12178
- Registriert: 17.11.2005 22:33
- Wohnort: Ostfildern Kemnat
- Kontaktdaten:
Re: [DEV] Thank Post Mod (hide MOD compatible ) 0.2.0
Hallo sepp71
Was genau möchtest du nun haben? Soll bei den gelöschten Usern überhaupt nichts mehr in der viewtopic_body.html im Profil angezeigt werden, oder soll dort alles (Danke gegeben, Danke bekommen) mit 0 angezeigt werden?
@Schmischi - Nein, solch eine Funktion ist im Moment nicht geplant. Das mag vielleicht bei einem kleinen Forum noch ganz gut (übersichtlich) funktionieren, bei einem großen Forum (wo sich Tausende User Bedanken) würde das allerdings total unübersichtlich werden.
Grüße: Mahony
Was genau möchtest du nun haben? Soll bei den gelöschten Usern überhaupt nichts mehr in der viewtopic_body.html im Profil angezeigt werden, oder soll dort alles (Danke gegeben, Danke bekommen) mit 0 angezeigt werden?
@Schmischi - Nein, solch eine Funktion ist im Moment nicht geplant. Das mag vielleicht bei einem kleinen Forum noch ganz gut (übersichtlich) funktionieren, bei einem großen Forum (wo sich Tausende User Bedanken) würde das allerdings total unübersichtlich werden.
Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Re: [DEV] Thank Post Mod (hide MOD compatible ) 0.2.0
Hallo MahonyMahony hat geschrieben:
@Schmischi - Nein, solch eine Funktion ist im Moment nicht geplant. Das mag vielleicht bei einem kleinen Forum noch ganz gut (übersichtlich) funktionieren, bei einem großen Forum (wo sich Tausende User Bedanken) würde das allerdings total unübersichtlich werden.
Grüße: Mahony
Schade, ich hatte nach dem Einbau in meinem Forum schon einige Anfragen nach genau solch einer Funktion.
Die Leute freuen sich natürlich über ein Danke, wissen aber nicht für welchen Post sie es bekommen haben.
Da wäre eine solche Funktion sehr hilfreich.
Evtl. ja über ACP zu und abschaltbar.
Ich gebe mal die Hoffnung nicht auf.
Ansonsten Funktioniert alles super.
Vielen Dank noch mal für diesen Mod.
Gruß Rainer
-
- Mitglied
- Beiträge: 200
- Registriert: 02.09.2007 14:57
- Kontaktdaten:
Re: [DEV] Thank Post Mod (hide MOD compatible ) 0.2.0
Muss ich irgendwelche Berechtigungen festlegen? Der zeigt bei mir keinen Thank post Button an, alles andere läuft einwandfrei.
Wenn ich mich über nen URL bedanken will kommt "Es ist nicht erlaubt dich in diesem Beitrag zu zu bedanken."
Wenn ich mich über nen URL bedanken will kommt "Es ist nicht erlaubt dich in diesem Beitrag zu zu bedanken."
eAgora.de der "elektronische Diskussionsplatz" - hier wird über absolut alles diskutiert!