EM非插件实现一键点赞!

  • 内容
  • 相关

本文转载于网络,由本站整理分享。如有侵权请联系站长删除!mail:1410469560@qq.com

反正我是不喜欢用插件,所以干掉一个是一个。还是做个标记先。

用法很简单,在module.php里面加如以下代码


<?php //点赞
function addzan(){
$DB = MySql::getInstance();
if($DB->num_rows($DB->query("show columns from ".DB_PREFIX."blog like 'lemonzan'")) == 0){
$sql = "ALTER TABLE ".DB_PREFIX."blog ADD lemonzan int unsigned NOT NULL DEFAULT '0'";
$DB->query($sql);}}addzan();
function update($logid){
$logid = intval($_POST['id']);
$DB = Database::getInstance();
$DB->query("UPDATE " . DB_PREFIX . "blog SET lemonzan=lemonzan+1 WHERE gid=$logid");
setcookie('lemonzanpd_'. $logid, 'true', time() + 31536000);}
function lemoninit() {if( @$_POST['plugin'] == 'lemonzanpd' &&@$_POST['action'] == 'lemonzan' &&isset($_POST['id'])){
$id = intval($_POST['id']);
header("Access-Control-Allow-Origin: *");
update($id);echo getnum($id);die;}}lemoninit();
function getnum($id){
static $arr = array();
$DB = Database::getInstance();
if(isset($arr[$logid])) return $arr[$logid];
$sql = "SELECT lemonzan FROM " . DB_PREFIX . "blog WHERE gid=$id";
$res = $DB->query($sql);
$row = $DB->fetch_array($res);
$arr[$id] = intval($row['lemonzan']);
return $arr[$id];}
?>



再在文章页加入以下代码,CSS自己搞定


<div class="nrzan"><a class="lemonzanpd" data-lemonzanpd="<?php echo $logData['logid'] ; ?>" title="喜欢这篇文章就赞一个吧!"><i class="fa fa-thumbs-up"></i>赞 <b><u><?php echo(isset($logData['lemonzan'])?$logData['lemonzan']:getnum($logData['logid']));?></u></b> 次</a></div> 

再在你的JS文件里加上以下代码就OK了

$(document).on('click', '.lemonzanpd',
function() {
var a = $(this),
id = a.data('lemonzanpd');
if (lemonzanpd_check(id)) {
alert('您已赞过本文!');
} else {
$.post('', {
plugin: 'lemonzanpd',
action: 'lemonzan',
id: id
},
function(b) {
a.find('u').html(b);
lemonzanpd_(a);
});
}
});
function lemonzanpd_check(id) {
return new RegExp('lemonzanpd_' + id + '=true').test(document.cookie);
}
$('[data-lemonzanpd]').each(function() {
var a = $(this),
id = a.data('lemonzanpd');
if (lemonzanpd_check(id)) {
lemonzanpd_(a);
} else {
a.attr('title', '给本帅比来点动力吧!')
}
});
function lemonzanpd_(a) {
a.css('cursor', 'not-allowed').attr('title', '您已赞过本文!');
}

本文标签:

版权声明:若无特殊注明,本文皆为《蓝优》原创,转载请保留文章出处。

本文链接:EM非插件实现一键点赞! - http://xuboke.com/catjs/3.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

00:00 / 00:00
顺序播放