Seite 12 von 67

Verfasst: 12.11.2008 16:04
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...

Verfasst: 12.11.2008 20:16
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

Verfasst: 12.11.2008 21:07
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ß

Verfasst: 19.12.2008 07:36
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

Verfasst: 19.12.2008 07:42
von Shugo
Hi, das ist zu viel Text!
Mach es am besten so : Eine PHP-Datei zum Download bereitstellen

Verfasst: 19.12.2008 07:45
von C180
Danke, das hatte ich au gemerkt, hatte es sofort gegen die txt danach getauscht :D

Verfasst: 19.12.2008 10:06
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

Verfasst: 20.12.2008 02:30
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.

Verfasst: 20.12.2008 08:34
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.

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

Verfasst: 11.01.2009 13:09
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