Hack Like Dislike pour BulletShare Board

Hacks BulletShare 23-04-2021, 17:31 69   



Voici un Hack pour BulletShare Board pour avoir j'aimes ou j'aimes pas en bas de chaque post

Installation

Téléchargez l'archives et envoyer via votre FTP!

Allez dans phpmyadmin et executer ce code
CREATE TABLE IF NOT EXISTS `dle_forum_rating_info` (
  `user_id` int(11) NOT NULL,
  `post_id` int(11) NOT NULL,
  `rating_action` varchar(30) NOT NULL,
  UNIQUE KEY `UC_dle_forum_rating_info` (`user_id`,`post_id`)
) ENGINE=InnoDB;


Ouvrez engine/forum/sources/showposts.php et cherchez

// ********************************************************************************
// POST TEXT
// ********************************************************************************


Ajoutez au dessus
// ********************************************************************************
// Like Dislike
// ********************************************************************************

	$result = $db->query( "SELECT * FROM " . PREFIX . "_forum_posts WHERE pid = {$row['pid']}" );

	// fetch all posts from database
	// return them as an associative array called $posts
		while($post = $db->get_row($result)){	
			
			$like_dislike = "<div class=\"post-info\">{$f_lang['likes']}
					<i";
					  if(userLiked($post['pid'])){
						  $like_dislike .= " class=\"fa fa-thumbs-up \" id=\"like-btn\"";
					  }else{
						  $like_dislike .= " class=\"fa fa-thumbs-o-up \" id=\"like-btn\"";
					  }
					  $like_dislike .= " data-id=\"{$post['pid']}\"></i>

					<span class=\"likes\">".getLikes($post['pid'])."</span>

					&nbsp;&nbsp;&nbsp;&nbsp;{$f_lang['dislikes']}
					<i"; 
					  if (userDisliked($post['pid'])){
						  $like_dislike .= " class=\"fa fa-thumbs-down\" id=\"dislike-btn\"";
					  }else{
						  $like_dislike .= " class=\"fa fa-thumbs-o-down\" id=\"dislike-btn\"";
					  }
		$like_dislike .= " data-id=\"{$post['pid']}\"></i>";

					$like_dislike .= " <span class=\"dislikes\">".getDislikes($post['pid'])."</span>
				</div>";
		}
		
		$tpl->set('{rating}',$like_dislike);


Ouvrez engine/forum/sources/components/functions.php ajoutez tout en bas avant ?>
// ********************************************************************************
// Like Dislike
// ********************************************************************************
	function getLikes($id)
	{
		global $db;
		
		$rs = $db->query("SELECT COUNT(*) FROM " . PREFIX . "_forum_rating_info WHERE post_id = {$id} AND rating_action='like'");
		$result = $db->get_array($rs);
		
		return $result[0];
	}


	function getDislikes($id)
	{
		global $db;

		$rs = $db->query("SELECT COUNT(*) FROM " . PREFIX . "_forum_rating_info WHERE post_id = {$id} AND rating_action='dislike'");
		$result = $db->get_array($rs);
		
		return $result[0];
	}

	function getRating($id)
	{
		global $db;
		
		$rating = array();

		$likes_rs = $db->query("SELECT COUNT(*) FROM " . PREFIX . "_forum_rating_info WHERE post_id = {$id} AND rating_action='like'");
		$dislikes_rs = $db->query("SELECT COUNT(*) FROM " . PREFIX . "_forum_rating_info WHERE post_id = {$id} AND rating_action='dislike'");

		$likes = $db->get_row($likes_rs);
		$dislikes = $db->get_row($dislikes_rs);

		$rating = [
			'likes' => $likes[0],
			'dislikes' => $dislikes[0]
		];

		return json_encode($rating);
	}



	function userLiked($post_id)
	{
		global $db, $member_id;

	$result = $db->query("SELECT * FROM " . PREFIX . "_forum_rating_info WHERE user_id={$member_id['user_id']} AND post_id={$post_id} AND rating_action='like'");


		if ($db->num_rows($result) > 0) {
			return true;
		}else{
			return false;
		}
	}

	function userDisliked($post_id)
	{
		global $db, $member_id;

		$result = $db->query("SELECT * FROM " . PREFIX . "_forum_rating_info WHERE user_id={$member_id['user_id']} AND post_id={$post_id} AND rating_action='dislike'");


		if ($db->num_rows($result) > 0) {
			return true;
		}else{
			return false;
		}
	}


Ouvrez engine/forum/languages/French/forum.lng trouvez
$f_lang = array(


Ajoutez en dessous
'likes'	    =>	"J'aimes",
'dislikes'	    =>	"J'aimes pas",


Ouvrez engine/forum/languages/English/forum.lng trouvez
$f_lang = array(


Ajoutez en dessous
'likes' => "I like",
'dislikes' => "I don't like",


Ouvrez engine/forum/languages/Polski/forum.lng trouvez
$f_lang = array(


Ajoutez en dessous
'likes' => "Lubię",
'dislikes' => "Nie lubię",


Ouvrez engine/forum/ajax/js/bulletshare.js ajoutez tout en bas
// ********************************************************************************
// Like Dislike
// ********************************************************************************
	$(document).ready(function(){
		// if the user clicks on the like button ...
		$('#like-btn').on('click', function(){
			var post_id = $(this).data('id');
			$clicked_btn = $(this);

			if ($clicked_btn.hasClass('fa-thumbs-o-up')) {
				action = 'like';
			} else if($clicked_btn.hasClass('fa-thumbs-up')){
				action = 'unlike';
			}


			$.ajax({
				url: forum_ajax + 'like.php',
				type: 'post',
				data: {
					'action': action,
					'post_id': post_id
				},
				success: function(data){
					res = JSON.parse(data);

					if (action == "like") {
						$clicked_btn.removeClass('fa-thumbs-o-up');
						$clicked_btn.addClass('fa-thumbs-up');
					} else if(action == "unlike") {
						$clicked_btn.removeClass('fa-thumbs-up');
						$clicked_btn.addClass('fa-thumbs-o-up');
					}

					$clicked_btn.siblings('span.likes').text(res.likes);
					$clicked_btn.siblings('span.dislikes').text(res.dislikes);

					$clicked_btn.siblings('i.fa-thumbs-down').removeClass('fa-thumbs-down').addClass('fa-thumbs-o-down');
				}
			});		

		});

		// if the user clicks on the dislike button ...
		$('#dislike-btn').on('click', function(){
			var post_id = $(this).data('id');
			$clicked_btn = $(this);

			if ($clicked_btn.hasClass('fa-thumbs-o-down')) {
				action = 'dislike';
			} else if($clicked_btn.hasClass('fa-thumbs-down')){
				action = 'undislike';
			}
			
			$.ajax({
				url: forum_ajax + 'like.php',
				type: 'post',
				data: {
					'action': action,
					'post_id': post_id
				},
				success: function(data){
					res = JSON.parse(data);

					if (action == "dislike") {
						$clicked_btn.removeClass('fa-thumbs-o-down');
						$clicked_btn.addClass('fa-thumbs-down');
					} else if(action == "undislike") {
						$clicked_btn.removeClass('fa-thumbs-down');
						$clicked_btn.addClass('fa-thumbs-o-down');
					}

					$clicked_btn.siblings('span.likes').text(res.likes);
					$clicked_btn.siblings('span.dislikes').text(res.dislikes);

					$clicked_btn.siblings('i.fa-thumbs-up').removeClass('fa-thumbs-up').addClass('fa-thumbs-o-up');
				}
			});	

		});



	});


Ouvrez templates/VOTRE8THEME/forum/css/bulletshare.css et ajoutez tout en bas
/* --------------------------------------------------

 Classes like dislike...

-------------------------------------------------- */
		.post-info {
			margin: 10px auto 0px;
			padding: 5px;
		}
		.fa {
			font-size: 1.2em;
		}
		.fa-thumbs-down, .fa-thumbs-o-down {
			transform:rotateY(180deg);
			color: red;
		}
		.fa-thumbs-up, .fa-thumbs-o-up {
			transform:rotateY(180deg);
			color: green;
		}
		.likes{font-size: 11px;font-weight: bold;}
		.dislikes{font-size: 11px;font-weight: bold;}


Ouvrez templates/VOTRE_THEME/forum/post.tpl et cherchez
<td class="postdetails" rowspan="2">


remplacer par
<td class="postdetails" rowspan="3">


toujours le même fichier cherchez
   <tr>
    <td style="border-top:none;height:15%;"><div id="thx-layer" style="text-align: justify;">{thank_user}</div></td>
   </tr>


ajoutez en dessous
   <tr>
    <td style="border-top:none;height:15%;">{rating}</td>
   </tr>


Vous pouvez voir une démo sur notre forum https://www.templatedlefr.fr/forum/


Vous n'êtes pas autorisé à télécharger sur notre site! Veuillez vous connecter ou vous inscrire
  • Noter cette publication
    • 0
    • 1

Cette publication n'a pas encore fait l'objet de commentaires. Vous souhaitez entamer une discussion ?

Vous n'êtes pas autorisé !

Veuillez noter que si vous n'êtes pas connecté, votre commentaire sera soumis à la modération avant sa publication.
Nous vous recommandons de vous connecter avec votre identifiant
. Ou utiliser l'autorisation via les réseaux sociaux



Information

Les utilisateurs de Invités ne sont pas autorisés à commenter cette publication.


Ici vous pouvez insérer vk.com code widget


Code widget pour Facebook ou Disqus peut être inséré ici.


C'est ici que vous pouvez insérer le code Twitter widget

Ichat

neelix
neelix Hors-ligne
09:57:51

Bon week end
DarkLane
DarkLane Hors-ligne
11 Juin 2021

Bon week end à tous et à toutes
neelix
neelix Hors-ligne
10 Juin 2021

bonsoir à tout le monde
Vvlysov
Vvlysov Hors-ligne
9 Juin 2021

laughing
Aether
Aether Hors-ligne
7 Juin 2021

hi
atomik
atomik Hors-ligne
5 Juin 2021

Bonjour tout le monde
nitro
nitro Hors-ligne
29 Mai 2021

bonjour tout le monde bon week-end
neelix
neelix Hors-ligne
28 Mai 2021

Bonjour est bon week end
pascal
pascal Hors-ligne
28 Mai 2021

bonjour a tous

Seuls les membres peuvent poster dans le salon de discussion.
Dj_AlexN
Pseudo: Dj_AlexN
Utilisateur hors ligne
Membre
Articles: 0
Commentaires: 0
Visite: 15:00
DarkLane
Pseudo: DarkLane
Utilisateur hors ligne
Administrateurs
Articles: 132
Commentaires: 7
Visite: 10:42
WiseBear
Pseudo: WiseBear
Utilisateur hors ligne
Membre
Articles: 0
Commentaires: 1
Visite: 10:34
Vvlysov
Pseudo: Vvlysov
Utilisateur hors ligne
Membre
Articles: 0
Commentaires: 0
Visite: 05:24
infinitetech
Pseudo: infinitetech
Utilisateur hors ligne
Membre
Articles: 0
Commentaires: 0
Visite: 03:47
Copyright © 2020