[DEV] Thank Post Mod (hide MOD compatible ) 0.2.0

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 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.
Charlie_M
Mitglied
Beiträge: 1210
Registriert: 17.07.2008 13:09
Kontaktdaten:

Beitrag von Charlie_M »

1 Thread => Diskussion, die sich über mehrere Seiten hinzieht.

Wird z.B. auf der Seite 45 die Lösung gefunden, für die sich User bedanken möchten, müssen sie erst zurück zum 1. Post - das macht eh Niemand.

Besser wäre es also den "Danke"-Button auf JEDER Seite des Thread's zu plazieren, z.B. da wo der "antworten"-Button ist.

EDIT: also so wie hier jetzt, bin auf Seite 12, müsste mich also zurück auf Seite 1 begeben um mich beim Thread-Starter zu bedanken...
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12179
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Beitrag von Mahony »

Hallo
Wird z.B. auf der Seite 45 die Lösung gefunden, für die sich User bedanken möchten, müssen sie erst zurück zum 1. Post
Standardmäßig kann man sich ja bei jedem User bedanken. Ich verstehe daher deine Frage nicht. Wenn du den MOD so wie er ist, ohne weitere Änderungen, eingebaut hast können sich deine User doch Problemlos (auch auf Seite 45 oder auf Seite xxx) bei dem User bedanken, der die Lösung gepostet hat. Genau so, wie du es im Testforum sehen und testen kannst, sollte das dann auch bei dir funktionieren.





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.
Charlie_M
Mitglied
Beiträge: 1210
Registriert: 17.07.2008 13:09
Kontaktdaten:

Beitrag von Charlie_M »

Sorry,
vielleicht hab ich mit unglüglücklich ausgedrückt.

Ich versuchs mal mit einen Bildchen - wenns nicht oder zu kompliziert wird geht die Welt auch nicht unter :wink:

[ externes Bild ]

Der Button soll auf jeder Seite eines Thread's stehen (also auf Seite 1,2,...11,12).
Daraus resultiert dann der Text "Folgende User haben sich für den Thread bedankt: " (was ja nicht schwer anzupassen ist).

So kann sich jeder User für den THREAD bedanken ohne auf die 1. Seite zurück zu müssen.

OT:
Ich möchte mich an dieser Stelle nochmal für die klasse Arbeit und Spitzen-Support aller Beteiligten ausdrücklich bedanken!

Gruß
C180
Mitglied
Beiträge: 6
Registriert: 09.01.2008 11:34
Wohnort: Böblingen
Kontaktdaten:

Beitrag von C180 »

Hallo zusammen,
mal ein Post hier im forum seit langem wieder.

ICh habe das Problem das ich das Thanks Post Mod installieren wollte.
Und zwar zu den daten schnell:

PHPBB 3.04
Thank Post Mod 0.2.0
Style -> Aero Blue
PHPBB3Portal

Das zu den wichtigsten Sachen.
Thank Post lässt sich aktivieren in der versch Foren (wird also im ACP angezeigt).
Das Problem ist nur, klickt man auf danke, passiert nichts, es wird nichts angezeugt wer gedankt hat oder sonstiges.
Ich hoffe mir kann da einer weiterhelfen. Ich poste hier mal
die wichtigsten datein in code form, evtl hab ich bloss irgendwo das kleines übersehen.
Vorab noch, im SQL sind alle Daten vorhanden :)

*edit*
Scheinbar kürzt sich die code anzeige hier nicht.
Naja ich verlinke dann mal auf die txt dateien :)

Memberlist.php
viewtopic.php
viewtopic_body.html
Shugo
Mitglied
Beiträge: 642
Registriert: 05.02.2008 17:23

Beitrag von Shugo »

Hi, das ist zu viel Text!
Mach es am besten so : Eine PHP-Datei zum Download bereitstellen
C180
Mitglied
Beiträge: 6
Registriert: 09.01.2008 11:34
Wohnort: Böblingen
Kontaktdaten:

Beitrag von C180 »

Danke, das hatte ich au gemerkt, hatte es sofort gegen die txt danach getauscht :D
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12179
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Beitrag von Mahony »

Hallo C180
Entferne mal hier die Einbindung der Sprachdatei

Code: Alles auswählen

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('mods/thanks');
also das hier löschen

Code: Alles auswählen

$user->setup('mods/thanks');
da du das sonst doppelt eingebunden hast.

Lösche in Zeile 1022-1026 den Code

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
und füge ihn nach

Code: Alles auswählen

// We add the signature to every posters entry because enable_sig is post dependant
			if ($row['user_sig'] && $config['allow_sig'] && $user->optionget('viewsigs'))
			{
				$user_sig = $row['user_sig'];
			}

			$id_cache[] = $poster_id;

			$user_cache[$poster_id] = array(
				'joined'		=> $user->format_date($row['user_regdate']),
				'posts'			=> $row['user_posts'],
hinzu.




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.
HorribleLamer
Mitglied
Beiträge: 9
Registriert: 01.05.2002 21:42

Beitrag von HorribleLamer »

Ich habe ein Problem mit diesem Mod. Wenn ich auf Danke drücke wird das zwar in der Liste der Dankenden angezeigt, und ich kann die verstecken Passagen lesen, aber sobal ich den Thread reloade ist alles wieder versteckt, obwohl das Danke dort immer noch aufgelistet ist.

Wenn ich das Danke nun entferne, kann ich auch wieder den versteckten Inhalt sehen. Sobald ich die Seite dann aber wieder neu lade, ist alles wieder unsichtbar.

Ich habe auch festgestellt, dass man den versteckten Inhalt auch lesen kann, wenn man sich den letzten Beitrag eines Thread anzeigen lässt.
MfG
HorribleLamer
HorribleLamer
Mitglied
Beiträge: 9
Registriert: 01.05.2002 21:42

Beitrag von HorribleLamer »

Ich habe mein Problem gelöst indem ich den Unhide Effekt nicht mehr von der post_id sondern von der topic_id abhängig gemacht habe. Das ganze sieht dann wie folgt aus.
  • SQL:

    Code: Alles auswählen

    ALTER TABLE `phpbb_thanks` ADD `topic_id` mediumint(8) unsigned NOT NULL DEFAULT '0';
  • viewtopic.php öffnen.
    • Suchen nach:

      Code: Alles auswählen

      // Check if the topic viewer has posted in a topic
      $unhide = false;
      $sql = 'SELECT post_thanked
         FROM ' . POSTS_TABLE . '
         WHERE post_id = ' . $post_id;
      $result = $db->sql_query($sql);
      $post_thanked = $db->sql_fetchfield('post_thanked');
      $db->sql_freeresult($result);
      if ($user->data['user_id'] != ANONYMOUS)
      {
         // If moderator or admin, skip reply check, auto unhide
         if ($auth->acl_get('m_', $forum_id))
         {
            $unhide = true;
         }
         
         else if ($post_thanked > 0)
         {
            $unhide = true;
         }
         else
         {
         $sql = "SELECT poster_id, topic_id
            FROM " . POSTS_TABLE . "
            WHERE topic_id = $topic_id
            AND poster_id = " . $user->data['user_id'];
      
         $result = $db->sql_query($sql);
         $unhide = $db->sql_affectedrows($result) ? true : false;
         $db->sql_freeresult($result);
         }
      }
      Ersetzen durch:

      Code: Alles auswählen

      // Unhide Check
      $unhide = false;
      if ($user->data['user_id'] != ANONYMOUS)
      {
         // If moderator or admin, skip reply check, auto unhide
         if ($auth->acl_get('m_', $forum_id))
         {
            $unhide = true;
         }
         else
         {
      	   // Check if the topic viewer has said thanks in that topic
      	   $sql = "SELECT topic_id, thanks_from
      		  FROM " . THANKS_TABLE . "
      		  WHERE topic_id = $topic_id
      		  AND thanks_from = " . $user->data['user_id'];
      
      	   $result = $db->sql_query($sql);
      	   $unhide = $db->sql_affectedrows($result) ? true : false;
      	   $db->sql_freeresult($result);
      
      	   // Check if the topic viewer has posted in that topic
      	   if ($unhide == false) 
      	   {
      	      $sql = "SELECT poster_id, topic_id
      		     FROM " . POSTS_TABLE . "
      		     WHERE topic_id = $topic_id
      		     AND poster_id = " . $user->data['user_id'];
      
      	      $result = $db->sql_query($sql);
      	      $unhide = $db->sql_affectedrows($result) ? true : false;
      	      $db->sql_freeresult($result);
             }
         }
      }
    • Suchen nach:

      Code: Alles auswählen

      	'U_THANKS'			=> (!$give_thanks) ? append_sid("{$phpbb_root_path}thanks.$phpEx", 'p=' . $row['post_id'] . '&mode=thanks') : append_sid("{$phpbb_root_path}thanks.$phpEx", 'p=' . $row['post_id'] . '&mode=remove'),
      Ersetzen durch:

      Code: Alles auswählen

      	'U_THANKS'			=> (!$give_thanks) ? append_sid("{$phpbb_root_path}thanks.$phpEx", 'p=' . $row['post_id'] . '&t=' . $topic_id .'&mode=thanks') : append_sid("{$phpbb_root_path}thanks.$phpEx", 'p=' . $row['post_id'] . '&mode=remove'),
  • thanks.php öffnen.
So macht die ganze Sache imho mehr Sinn.
MfG
HorribleLamer
Huchinotte
Mitglied
Beiträge: 765
Registriert: 24.10.2007 09:34

Re: [DEV] Thank Post Mod (hide MOD compatible ) 0.2.0

Beitrag von Huchinotte »

Hi ...... ich hab mal Fragen zu dem Mod

Hab den jetzt mal Lokal eingebaut und nach größeren Problemen es endlich geschaft das der Mod läuft aber mit für mich unergründlichen Dingen die ich nicht ganz verstehe. Ich fang mal an:

- Im subsilver basieren Style wird mir der Dankebutton angezeigt, jedoch wird mir dann die anderen Buttons wie Edit und Zitat in zweiter Reihe plaziert
- Im prosilver basierendem Style wird mir der Button gar nicht angezeigt. Kommt ich mit der Maus in den Bereich wo er sein sollte kann ich klicken
- Wenn ich (egal in welchen Styles) den Remove Thanks Button klicke, dann wird mir der Hide Text wieder versteckt, jedoch bleibt man in der Liste die sich bedankt haben. Auch ein nochmaliges Bedanken ist dann auch nicht möglich. Kann mir nicht vorstellen das das so gewollt ist. Normalerweise sollte ich doch nach dem Remove Thanks nicht mehr in der LIste stehen und auch wieder den Thanks Button angezeigt bekommen?

Gruß Huch

Edit: wenn ich im Style prosilver bzw. auf prosilver basierenden Styles die buttons für de und en nicht in diesen ordner kopiere sondern in den imageset ordner dann werden diese angezeigt
Antworten

Zurück zu „[3.0.x] Mods in Entwicklung“