Hack Thanks For Post DLE-Forum 2.7.x

24 Dec, 2020

1 387 Vues

2 Commentaires



Thanks For Post est un module pour Dle-Forum v2.7.

Vous pourrez remercier les autres membres sur leur message dans le forum. Dans l'administration du forum vous pourrez décider quel groupe sera autoriser à dire merci.

De plus vous ne pourrez pas dire merci deux fois sur le même message, et vous ne pourrez pas dire merci à vous même

Module de remerciement pour Dle Forum par DarkLane


Installation :

1. Copiez le contenu du dossier "upload" dans le dossier de votre site web :

2. Executez thxinstall.php.

2.1 Supprimer thxinstall.php.

3 Ouvrez le fichier ./engine/forum/sources/showposts.php

3.1 Trouver :
if ($forum_groups[$member_id['user_group']]['post_edit'])
	{
		$group_post_edit = true;
	}
	else
	{
		$group_post_edit = false;
	}


Inserer ci-dessous :
/*thanks*/

	
	if ($forum_groups[$member_id['user_group']]['can_thanks'])
	{
		$group_can_thanks = true;
	}
	else
	{
		$group_can_thanks = false;
	}
    /*thanks*/


3.2 Trouver :
if ($row['is_register'] AND $row['signature'])
		{
			$tpl->set_block("'\\[signature\\](.*?)\\[/signature\\]'si","\\1");
			$tpl->set('{signature}', stripslashes($row['signature']));
		}
		else $tpl->set_block("'\\[signature\\](.*?)\\[/signature\\]'si","");


Inserer ci-dessous :
/*thanks*/		
	$users_thanks = array();
	
	$result_thanks = $db->query('SELECT thanks_by, thanks_by_id FROM ' . PREFIX . '_forum_thanks WHERE post_id='.$row['pid']);
	while ($thanks = $db->get_row($result_thanks))
	{
		if ($config['ajax'])
				$users_thanks[] = "<a onclick=\"DlePage(\'subaction=userinfo&user=".urlencode($thanks['thanks_by'])."\'); return false;\"><b>".$thanks['thanks_by']."</b></a> ";
			else
				$users_thanks[] = '';
				
			if ($config['allow_alt_url'] == 'yes')
				$users_thanks[] .= "<a href=\"{$config['http_home_url']}user/".urlencode($thanks['thanks_by'])."/\"><b>".$thanks['thanks_by']."</b></a>";
			else
				$users_thanks[] .= "<a href=\"{$config['http_home_url']}index.php?subaction=userinfo&amp;user=".urlencode($thanks['thanks_by'])."\"><b>".$thanks['thanks_by']."</b></a>";
		
	}
	
		$numUsers = $db->num_rows($result_thanks );
	$user_list = ($numUsers>0) ? implode(', ',$users_thanks) : "Pas encore remercie";
	
    $thank_user = <<<HTML
    <!--num:{$numUsers}-->
    <div class="title_spoiler"><img id="image-thanks" style="width:9px; height:13px; border:medium none;vertical-align:middle;" alt="" src="/templates/{$config['skin']}/dleimages/spoiler-plus.gif" />&nbsp;<a href="jаvascript:ShowOrHide('thanks_{$row['pid']}')">Remerciement: {$numUsers}</a></div>
    <div id="thanks_{$row['pid']}" class="text_spoiler" style="display:none;">{$user_list}</div>
    HTML;
	$tpl->set('{thank_user}', $thank_user);
    /*thanks*/


3.3 Trouver :
$tpl->set('{news-num}', intval($row['news_num']));


Inserer ci-dessous :
$tpl->set('{f_thx_num}', intval($row['f_thx_num']));


3.4 Trouver :
// ********************************************************************************
// POST DEL
// ********************************************************************************


Inserer au-dessus :
// ********************************************************************************
// POST THANKS
// ********************************************************************************
		if (($member_id['name'] == $row['post_author']) && $group_can_thanks && !$row['hidden'] && !$read_mode OR $deny_edit_post)
		{
                $tpl->set('[can_thanks]',"<a href=\"{$a_forum_url}&amp;act=thanks&amp;tid={$tid}&amp;pid={$row[pid]}\">");
                $tpl->set('[/can_thanks]',"</a>");
		}
		else
		{
			$tpl->set_block("'\\[can_thanks\\](.*?)\\[/can_thanks\\]'si","");
		}


4 Ouvrez le fichier ./engine/modules/profile.php.

4.1 Trouver :
if( $row['signature'] and $user_group[$row['user_group']]['allow_signature'] ) {


Ajouter au-dessus :
$tpl->set('{f_thx_num}', $row['f_thx_num']) ;


4.bis Ouvrez le fichier ./engine/ajaxs/profile.php.

4.1bis Trouver
$tpl->compile( 'content' );


Ajouter au-dessus
    $tpl->set('{f_thx_num}', $row['f_thx_num']) ;

$row = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_forum_topics WHERE author_topic='{$row['name']}'"); 
$forum_topics = $row['count']; 
$tpl->set('{forum_topics}', intval($forum_topics) ); 
$tpl->set( '{forum_post}', intval($row['forum_post']) );


5. Ouvrez le fichier ./templates/Default/userinfo.tpl (pour le modele standard)

5.1 Trouver à adapter selon votre template :
<br />Nombre de publications : {news_num}

Inserer ci-dessous :
<br /><B>Merci dans le forum : {f_thx_num}</b>.


5 bis. Ouvrez le fichier ./templates/Default/profile_popup.tpl (pour le modele standard)

5.1bis Trouver :
<br />Commentaire(s): {comm-num} [ {comments} ]

Inserer ci-dessous à adapter selon votre template:
<br /><B>Sujet(s) dans le forum: {forum_topics} 
	<br /><B>Message(s) dans le forum: {forum_post} 
	<br /><B>Merci dans le forum : {f_thx_num}</b>.


6. Ouvrez ./templates/Default/forum/post.tpl (pour le modele de forum standard)

6.1 Trouver :
....{signature}[/signature]


Inserer ci-dessous :
<div class="thanks">{thank_user}</div>


6.2 Dans le même fichier trouver

<td class="formbuttonrow" nowrap="nowrap"><div align="right">


ajoutez aprés :

 [can_thanks]<img src="{THEME}/forum/images/th.png"  width="74" height="21" border="0" alt="Dire merci" title="Dire merci" />[/can_thanks]


6.3 Dans le même fichier trouver
Message(s): {post-num}<br />


Inserer ci-dessous :
Remerciement(s): {f_thx_num}<br />


7 Ouvrez le fichier ./engine/forum/main.php.

7.1 Trouver :
// ********************************************************************************
// faq
// ********************************************************************************	


Inserer au-dessus :
// ********************************************************************************
// THANKS
// ********************************************************************************
        case "thanks":
        
        require_once ENGINE_DIR.'/forum/sources/modules/thanks.php';
        
        break;


8 Ouvrez le fichier ./templates/softnews/forum/css/dle-forum.css

8.1 Ajoutez tout en bas du fichier :
.dle_forum .thanks {
	border: 1px dotted;
	padding: 10px 20px 10px 20px;
	margin: 10px 0 10px 0;
	border-color:#8394B2;
}


9 Ouvrez le fichier ./engine/forum/action/moderation.php.

9.1 Trouver :
$db->query("DELETE FROM " . PREFIX . "_forum_topics WHERE `tid` = '$topic_id'");


Ajouter en dessous
/*thanks*/	
					$db->query("DELETE FROM " . PREFIX . "_forum_thanks WHERE topic_id='$topic_id'")
			/*thanks*/


10 Ouvrez le fichier ./engine/forum/action/post.php.

10.1Annulé pour ce fichier

11 Ouvrez le fichier ./engine/forum/admin/usergroup.php.

11.1 Trouver :
showRadio($f_lg['group_flash'], $f_lg['group_flash2'], "flash", $row); 


Ajouter en dessous
showRadio($f_lg['Help'], $f_lg['Say_Thank_you_label'], "can_thanks", $row);


11.2 Trouver ligne 287:
$db->query("UPDATE " . PREFIX . "_forum_groups SET group_colour = '$save[group_colour]', offline = '$save[offline]', post_edit = '$save[post_edit]', post_del = '$save[post_del]', topic_set = '$save[topic_set]', topic_edit = '$save[topic_edit]', topic_del = '$save[topic_del]', vote ='$save[vote]', flood = '$save[flood]', html = '$save[html]', filter = '$save[filter]', youtube = '$save[youtube]', dailymotion = '$save[dailymotion]', flash = '$save[flash]' WHERE group_id = '$id'"); 


Remplacer par
 $db->query("UPDATE " . PREFIX . "_forum_groups SET group_colour = '$save[group_colour]', offline = '$save[offline]', post_edit = '$save[post_edit]', post_del = '$save[post_del]', topic_set = '$save[topic_set]', topic_edit = '$save[topic_edit]', topic_del = '$save[topic_del]', vote ='$save[vote]', flood = '$save[flood]', html = '$save[html]', filter = '$save[filter]', youtube = '$save[youtube]', flash = '$save[flash]', can_thanks = '$save[can_thanks]' WHERE group_id = '$id'");


12 Ouvrez le fichier ./engine/forum/language/French/forum.lng.

12.1 Trouver :
    );

?> 


Ajouter en dessous
'Say_Thanks'				=>	'Dire "Merci"',
'Thanks'					=>	'Les %d membres suivants ont dit <strong>"Merci"</strong> pour ce post :',
'Thanks_one'				=>	'Le membre suivant a dit <strong>"Merci"</strong> pour ce post :',
'Thanks_redirect_ok'		=>	'Remerciement du post effectué avec succés',
'Thanks_redirect_self'		=>	'Vous ne pouvez pas remercier votre propre post',
'Thanks_redirect_already'	=>	'Vous avez déjà remercié ce post',
'No_view'					=>	'Vous n\'avez pas la permission de dire "Merci" pour ce post.',
'Thanks_back'					=>	'retour',


13 Ouvrez le fichier ./engine/forum/language/French/admin.lng.

13.1 Trouver :
    );

?>


Ajouter en dessous
'Say_Thank_you_label'		=>	"Cocher la case pour autoriser à dire \"Merci\"",
'Help'						=>	"Autoriser les membres de ce groupe à dire \"Merci\"",


14 Ouvrez le fichier ./engine/forum/language/English/forum.lng.

14.1 Trouver :
    );

?>


Ajouter en dessous
	'Say Thanks'				=>	'Say "Thank You"',
'Thanks'					=>	'The following %d users say <strong>"Thank You"</strong> for this post:',
'Thanks_one'				=>	'The following user say <strong>"Thank You"</strong> for this post:',
'Thanks_redirect_ok'		=>	'This post has successfully been thanked.',
'Thanks_redirect_self'		=>	'You can\'t thank your own post.',
'Thanks_redirect_already'	=>	'You have already thanked this post.',
'No_view'					=>	'You do not have permission to Thanks these post.',
'Thanks_back'					=>	'back to',


15 Ouvrez le fichier ./engine/forum/language/English/admin.lng.

15.1 Trouver :
    );

?> 


Ajouter en dessous
	'Say_Thank_you_label'		=>	'Say "Thank You"',
'Help'						=>	'Allow users in this group to say "Thank You" for a post',


16 Ouvrez le fichier ./engine/forum/language/Russian/forum.lng.

16.1 Trouver :
    );

?>


Ajouter en dessous
	"Say_Thanks" => "Скажи 'спасибо'",
'Thanks' => "Следующие %d пользователи говорят <strong>'Спасибо'</strong> за этот пост:",
'Thanks_one' => "Следующий пользователь говорит <strong>'Спасибо'</strong> за этот пост:",
'Thanks_redirect ok' => "Этот пост успешно поблагодарили.",
'Thanks_redirect self' => "Ты can\ не благодаришь свой собственный пост.",
'Thank_redirect_already' => "Вы уже поблагодарили этот пост.",
'No_view' => "У вас нет разрешения благодарить этот пост.",
'Thanks_back'					=>	'возвращение',


17 Ouvrez le fichier ./engine/forum/language/Russian/admin.lng.

17.1 Trouver :
    );

?>


Ajouter en dessous
	'Say Thank you label'		=>	'Скажи "Спасибо"',
'Help'						=>	'Позвольте пользователям в этой группе сказать "Спасибо" за сообщение',


18 Ouvrez le fichier ./engine/forum/language/Ukrainian/forum.lng.

18.1 Trouver :
    );

?>

Ajouter en dessous
	"Say_Thanks" => "Скажи 'спасибо'",
'Thanks' => "Следующие %d пользователи говорят <strong>'Спасибо'</strong> за этот пост:",
'Thanks_one' => "Следующий пользователь говорит <strong>'Спасибо'</strong> за этот пост:",
'Thanks_redirect ok' => "Этот пост успешно поблагодарили.",
'Thanks_redirect self' => "Ты can\ не благодаришь свой собственный пост.",
'Thank_redirect_already' => "Вы уже поблагодарили этот пост.",
'No_view' => "У вас нет разрешения благодарить этот пост.",
'Thanks_back'					=>	'возвращение',


19 Ouvrez le fichier ./engine/forum/language/Ukrainian/admin.lng.

19.1 Trouver :
    );

?>


Ajouter en dessous
	'Say Thank you label'		=>	'Скажи "Спасибо"',
'Help'						=>	'Позвольте пользователям в этой группе сказать "Спасибо" за сообщение',



Une fois le module installé allez dans administration/gestion forum/Groupes utilisateurs et activer pour chaque groupe l'autorisation de dire merci

Voila, l'installation est terminee ! Merci beaucoup ;)

Auteur du module: DarkLane
Version du module: v1
Version Dle-Forum: v2.7.x
Version DataLife: 13.3-14.0-14.1

Ajouter un commentaire

Votre adresse électronique ne sera pas publiée. Les champs obligatoires sont marqués *

Information

Les utilisateurs du Invités ne sont pas autorisés à ajouter des commentaires à cette publication.

Commentaires 2
  1. 28 Janvier 2025 20:24

    wodoo

    "Template not found: /templates/TemplateDleFr/fullstory-mod.tpl"

  2. 9 Fevrier 2025 15:40

    DarkLane

    28 Janvier 2025 20:24, wodoo a écrit:
    "Template not found: /templates/TemplateDleFr/fullstory-mod.tpl"

    C'est réparé