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.
- Thank other user's posts!
MOD-Autoren:Mahony (original MOD by Geoffrey Craft www.geoffreak.org )
MOD-Download: Download v0.4.0
Paypal-Spende: 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 lauteten:
Code: Alles auswählen
phpBB Debug] PHP Notice: in file /thanks.php on line 106: Invalid argument supplied for foreach()
Ö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 -->
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>
Code: Alles auswählen
<!-- END postrow -->
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 -->
Hier noch die deutschen Sprachvariablen (einzufügen in der language/de/common.php)
Öffne die language/de/common.php
Suche :
Code: Alles auswählen
));
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!',
));
Suche in der styles/prosilver/template/viewtopic_body.html
Code: Alles auswählen
<!-- IF not S_USER_LOGGED_IN and not postrow.THANKS -->
Code: Alles auswählen
<!-- IF postrow.S_FIRST_ROW == 2 -->
Code: Alles auswählen
<!-- END postrow -->
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);
}
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);
}
}
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);
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
{
Code: Alles auswählen
}
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