[ABD] Thank Post MOD Version 0.4.0

Hier gibt es phpBB3.0.x MODs zum Downloaden.
Gesperrt
Benutzeravatar
Mahony
Site Admin
Site Admin
Beiträge: 792
Registriert: 3. Dez 2006 22:09
Hat sich bedankt: 22 Mal
Danksagung erhalten: 6 Mal

[ABD] Thank Post MOD Version 0.4.0

Beitrag von Mahony »

Hallo
Hier mal der 'Thank Post MOD' Version 0.4.0 in einer leicht überarbeiteten Version.

Ein Backup bevor ihr zu modden anfangt ist, wie immer, empfohlen.
MOD-Titel: Thank Post
MOD-Version: 0.4.0
MOD-Beschreibung:
  • Mit diesem MOD können sich User bei anderen Usern Bedanken.
MOD Description:
  • Thank other user's posts!
MOD Version: 0.4.0
MOD-Autoren:Mahony (original MOD by Geoffrey Craft www.geoffreak.org )
MOD-Download: Download v0.4.0

Paypal-Spende:
  • Bild
phpBB-Version: phpBB 3.0.2



Die Datei thanks.php wurde von mir geändert, da die Spalten user_thanked_others und user_thanked in der Tabelle phpbb_users keinen default Wert hatten, was dazu führte, dass sich kein User mehr im Forum anmelden konnte.
Die Fehlermeldung lautete:

Code: Alles auswählen

Field 'user_thanked' doesn't have a default value
Die Fehlermeldungen beim ersten Aufruf der viewtopic.php sind nun auch beseitigt.
Die Fehlermeldungen lauteten:

Code: Alles auswählen

phpBB Debug] PHP Notice: in file /thanks.php on line 106: Invalid argument supplied for foreach()
Wer im Style prosilver eine bessere Übersicht bekommen möchte ( wer sich bei wem bedankt hat) macht folgendes:

ÖFFNE: styles/prosilver/template/viewtopic_body.html

SUCHE:

Code: Alles auswählen

<!-- IF postrow.POSTER_FROM --><dd><strong>{L_LOCATION}:</strong> {postrow.POSTER_FROM}</dd><!-- ENDIF -->
Füge danach ein:

Code: Alles auswählen

<dd><strong>{L_GIVEN}:</strong> {postrow.POSTER_GIVE_COUNT} {L_THANKS}</dd>
            <dd><strong>{L_RECEIVED}:</strong> {postrow.POSTER_RECEIVE_COUNT} {L_THANKS}</dd>
SUCHE:

Code: Alles auswählen

<!-- END postrow -->
Füge davor ein:

Code: Alles auswählen

<!-- IF not S_USER_LOGGED_IN and not postrow.THANKS -->
   <!-- ELSEIF postrow.S_IS_OWN_POST and not postrow.THANKS -->
   <!-- ELSE -->
   <div class="post bg3">
      <div class="inner"><span class="corners-top"><span></span></span>
         <dl class="postbody">
            <dd>
               <!-- IF postrow.THANKS -->     
               ({postrow.THANK_TEXT}) User haben sich fuer diesen Betrag beim Autor--> {postrow.POST_AUTHOR_FULL} <--bedankt: {postrow.THANKS}
               <!-- ENDIF -->   
            </dd>
         </dl>
         <dl>
            <dt style="text-align: center">
               <!-- IF S_USER_LOGGED_IN and not postrow.S_IS_OWN_POST and not S_IS_BOT -->
               <a href="{postrow.THANKS_LINK}"><img src="{T_IMAGESET_PATH}{postrow.THANKS_IMG}" alt="{postrow.THANK_ALT}{postrow.POST_AUTHOR}{postrow.THANK_ALT2}" /></a>
               <!-- ENDIF -->
            </dt>
         </dl>
      <span class="corners-bottom"><span></span></span></div>
   </div>
   <hr class="divider" />
   <!-- ENDIF -->
Danke an TiboKe für diese Anpassung des Styles.

Hier noch die deutschen Sprachvariablen (einzufügen in der language/de/common.php)

Öffne die language/de/common.php

Suche : Füge danach ein:

Code: Alles auswählen

$lang = array_merge($lang, array(
   'REMOVE_THANKS'         => 'Nimm dein Danke zurueck ',
   'THANK_POST1'         => 'Danke ',
   'THANK_POST2'         => ''Beitrag',
   'THANK_TEXT_1'         => 'Der folgende ',
   'THANK_TEXT_2'         => 'User will ',
   'THANK_TEXT_2pl'      => 'User wollen ',
   'THANK_GENDER_F'      => 'fuer den beitrag',
   'THANK_GENDER_M'      => 'danken fuer die Beitraege',
   'THANK_GENDER_U'      => 'Danke sagen fuer seinen Beitrag',
   'RECEIVED'            => 'Danke bekommen',
   'THANKS'            => 'mal',
   'GIVEN'               => 'Danke gegeben',
   'TP_040_UPGRADED'      => 'Deine Danke Post MOD installation wurde auf die Version 0.4.0 erweitert! Bitte aktualisiere die Seite und habe einen schoenen Tag!',
));
Wer den Danke Button nur im jeweils ersten Post haben möchte, muss folgende Anpassung durchführen.

Suche in der styles/prosilver/template/viewtopic_body.html

Code: Alles auswählen

<!-- IF not S_USER_LOGGED_IN and not postrow.THANKS -->
Füge davor ein

Code: Alles auswählen

<!-- IF postrow.S_FIRST_ROW == 2 -->
Suche

Code: Alles auswählen

<!-- END postrow -->
Füge davor ein

Code: Alles auswählen

<!-- ENDIF -->

Wer den Simple Hide BBcode MOD 0.3.0 in seinem Forum eingebaut hat, kann mit Hilfe dieses Snippets beide MODs kombinieren.

Suche in der viewtopic.php

Code: Alles auswählen

// Check if the topic viewer has posted in a topic
$unhide = false;
if ($user->data['user_id'] != ANONYMOUS)
{
   $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);
}
Ersetze mit:

Code: Alles auswählen

// Check if the topic viewer has posted in a topic
$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 if (already_thanked($post_id, $user->data['user_id']))
   {
      $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);
	}
}
Öffne includes/ucp/ucp_pm_compose.php

Suche

Code: Alles auswählen

$sql = "SELECT poster_id, topic_id
               FROM " . POSTS_TABLE . "
               WHERE post_id = $msg_id
               AND poster_id = " . $user->data['user_id'];

         $result = $db->sql_query($sql);
         $unhide = $db->sql_affectedrows($result) ? true : false;
         $db->sql_freeresult($result);
Füge davor ein

Code: Alles auswählen

// If moderator or admin, skip reply check, auto unhide
      if ($auth->acl_get('m_', $msg_id['forum_id']))
      {
         $unhide = true;
      }
      else
      {
Füge danach ein
Mit dieser Änderung, können die Admins und Smods den versteckten Text ohne Bedankung lesen und die User können den versteckten Text wahlweise per normaler Antwort bzw. per klick auf den Thankposts-Button freischalten.



Grüße: Mahony
Diejenigen, die lautstark darüber diskutieren, warum es nicht geht, mögen bitte jene nicht stören, die es gerade tun.
Klug ist, wer nur die Hälfte von dem glaubt, was er hört. Weise ist, wer erkennt, welche Hälfte richtig ist.

Bild
Benutzeravatar
Mahony
Site Admin
Site Admin
Beiträge: 792
Registriert: 3. Dez 2006 22:09
Hat sich bedankt: 22 Mal
Danksagung erhalten: 6 Mal

[ABD] Thank Post MOD Version 0.4.0

Beitrag von Mahony »

Hallo
Das Problem, dass die Bots sich bedanken konnten ist nun auch gefixt. :P




Grüße: Mahony
Diejenigen, die lautstark darüber diskutieren, warum es nicht geht, mögen bitte jene nicht stören, die es gerade tun.
Klug ist, wer nur die Hälfte von dem glaubt, was er hört. Weise ist, wer erkennt, welche Hälfte richtig ist.

Bild
Gesperrt