首页
留言板
统计
Search
1
阿里云国际OSS使用CloudFlare免流量
2,263 阅读
2
PP.UA免费域名注册
2,173 阅读
3
Adobe Photoshop CS2经典版 中文原版
2,158 阅读
4
7-Zip中文美化版
2,027 阅读
5
获取免费的 Microsoft 365 E5 开发人员订阅
1,941 阅读
软件分享
网络资源
网络代码
生活情感
免费主机
Search
标签搜索
代码
工具软件
Android
教程
Emlog
办公软件
图形图像
免费空间
Web
情感
PHP
视频
系统工具
上传下载
Windows
建站
PDF
网盘
学习
Typecho
ZJ
累计撰写
802
篇文章
累计收到
105
条评论
首页
栏目
软件分享
网络资源
网络代码
生活情感
免费主机
页面
留言板
统计
搜索到
101
篇与
的结果
2019-12-19
Emlog显示评论者IP地址插件
本插件可以显示评论者的IP地址信息,方便实用。安装插件后必须含有挂载点(请自行加上),在主题模板module.php文件中搜索“评论列表”在需要的位置加以下挂载点:纯文字显示代码: <?php echo convertip($comment['ip']); ?>图片title显示代码: <img src="<?php echo BLOG_URL; ?>content/plugins/feixue_ip/images/ip.png" alt="<?php echo convertip($comment['ip']); ?>" title="<?php echo convertip($comment['ip']); ?>" 16" 16" class="useragent" data-bd-imgshare-binded="1"> 下载地址 官网下载
2019年12月19日
283 阅读
0 评论
0 点赞
2019-12-19
Emlog添加评论者等级
为你的Emlog博客评论区添加评论者等级,评论者的等级由评论者的邮箱的次数来分配等级,等级可以自行设置。1、模版/module.php文件增加以下代码:<?php //评论者等级 function echo_levels($comment_author_email,$comment_author_url){ $DB = Database::getInstance(); global $CACHE; $user_cache = $CACHE->readCache('user'); $adminEmail = '"'.$user_cache[1]['mail'].'"'; if($comment_author_email==$adminEmail){ echo '<a class="admin" title="管理员"><img src="'.TEMPLATE_URL.'images/admin.png"></a>'; } $sql = "SELECT cid as author_count,mail FROM ".DB_PREFIX."comment WHERE mail != '' and mail = $comment_author_email and hide ='n'"; $res = $DB->query($sql); $author_count = $DB->num_rows($res); if($author_count>=0 && $author_count<5 && $comment_author_email!=$adminEmail) echo '<a class="vip1" title="VIP等级:初入联盟 LV.1"><i class="pro"></i><i class="level">Lv.1</i></a>'; else if($author_count>=5 && $author_count<10 && $comment_author_email!=$adminEmail) echo '<a class="vip2" title="VIP等级:英勇黄铜 LV.2"><i class="pro"></i><i class="level">Lv.2</i></a>'; else if($author_count>=10 && $author_count<20 && $comment_author_email!=$adminEmail) echo '<a class="vip3" title="VIP等级:不屈白银 LV.3"><i class="pro"></i><i class="level">Lv.3</i></a>'; else if($author_count>=20 && $author_count<30 && $comment_author_email!=$adminEmail) echo '<a class="vip4" title="VIP等级:华贵铂金 LV.4"><i class="pro"></i><i class="level">Lv.4</i></a>'; else if($author_count>=30 &&$author_count<40 && $comment_author_email!=$adminEmail) echo '<a class="vip5" title="VIP等级:璀璨钻石 LV.5"><i class="pro"></i><i class="level">Lv.5</i></a>'; else if($author_count>=40 && $author_coun<50 && $comment_author_email!=$adminEmail) echo '<a class="vip6" title="VIP等级:超凡大师 LV.6"><i class="pro"></i><i class="level">Lv.6</i></a>'; else if($author_count>=50 && $author_coun<60 && $comment_author_email!=$adminEmail) echo '<a class="vip7" title="VIP等级:最强王者 LV.7"><i class="pro"></i><i class="level">Lv.7</i></a>'; else if($author_count>=60 && $author_coun<70 && $comment_author_email!=$adminEmail) echo '<a class="vip8" title="VIP等级:职业选手 LV.8"><i class="pro"></i><i class="level">Lv.8</i></a>'; } ?>2、在module.php文件里,评论等级显示位置增加以下代码:<span class="comment-reply"><?php echo echo_levels("\"".strip_tags($comment['mail'])."\"","\"".$isuserlink."\"");?></span>3、等级颜色css代码:/*评论等级*/ .vip1 {margin-left: 1px;font-size: 12px;color: #fff;background-color: #348be8;padding: 0 4px;border-radius: 2px;font-size: 12px;cursor: pointer;-webkit-transition: .3s;-khtml-opacity: .5;opacity: .5;line-height: 150%;display: inline-block;vertical-align: middle;} .vip2 {margin-left: 1px;font-size: 12px;color: #fff;background-color: #0bf;padding: 0 4px;border-radius: 2px;font-size: 12px;cursor: pointer;-webkit-transition: .3s;-khtml-opacity: .5;opacity: .5;line-height: 150%;display: inline-block;vertical-align: middle;} .vip3 {margin-left: 1px;font-size: 12px;color: #fff;background-color: #fd8edb;padding: 0 4px;border-radius: 2px;font-size: 12px;cursor: pointer;-webkit-transition: .3s;-khtml-opacity: .5;opacity: .5;line-height: 150%;display: inline-block;vertical-align: middle;} .vip4 {margin-left: 1px;font-size: 12px;color: #fff;background-color: #eb5055;padding: 0 4px;border-radius: 2px;font-size: 12px;cursor: pointer;-webkit-transition: .3s;-khtml-opacity: .5;opacity: .5;line-height: 150%;display: inline-block;vertical-align: middle;} .vip5 {margin-left: 1px;font-size: 12px;color: #fff;background-color: #6f8ec5;padding: 0 4px;border-radius: 2px;font-size: 12px;cursor: pointer;-webkit-transition: .3s;-khtml-opacity: .5;opacity: .5;line-height: 150%;display: inline-block;vertical-align: middle;} .vip6 {margin-left: 1px;font-size: 12px;color: #fff;background-color: #5fb878;padding: 0 4px;border-radius: 2px;font-size: 12px;cursor: pointer;-webkit-transition: .3s;-khtml-opacity: .5;opacity: .5;line-height: 150%;display: inline-block;vertical-align: middle;} .vip7 {margin-left: 1px;font-size: 12px;color: #fff;background-color: #c0c000;padding: 0 4px;border-radius: 2px;font-size: 12px;cursor: pointer;-webkit-transition: .3s;-khtml-opacity: .5;opacity: .5;line-height: 150%;display: inline-block;vertical-align: middle;} .vip8 {margin-left: 1px;font-size: 12px;color: #fff;background-color: #292929;padding: 0 4px;border-radius: 2px;font-size: 12px;cursor: pointer;-webkit-transition: .3s;-khtml-opacity: .5;opacity: .5;line-height: 150%;display: inline-block;vertical-align: middle;}第二种方法:直接下载插件导入激活使用。下载地址 官网下载
2019年12月19日
251 阅读
0 评论
0 点赞
2019-12-17
实现Emlog评论Gravatar头像缓存功能
在安装目录下面建立avatar文件夹,设置其权限为可写 (777)。修改 include\lib\function.base.php 文件,找到: /** * 获取Gravatar头像 * http://en.gravatar.com/site/implement/images/ * @param $email * @param $s size * @param $d default avatar * @param $g */ function getGravatar($email, $s = 40, $d = 'mm', $g = 'g') { $hash = md5($email); $avatar = "http://www.gravatar.com/avatar/$hash?s=$s&d=$d&r=$g"; return $avatar; }更改为以下代码://获取Gravatar头像 function getGravatar($email, $s=40, $d='monsterid', $r='g') { $f = md5($email); $a = BLOG_URL.'avatar/'.$f.'.jpg'; $e = EMLOG_ROOT.'/avatar/'.$f.'.jpg'; $t = 1296000; //15天,单位:秒 if (empty($d)) $d = BLOG_URL.'avatar/default.jpg'; if (!is_file($e) || (time() - filemtime($e)) > $t ) { //当头像不存在或者超过15天才更新 $g = sprintf("http://cn.gravatar.com",(hexdec($f{0})%2)).'/avatar/'.$f.'?s=40&d='.$d.'&r='.$r; copy($g,$e); $a=$g; //新头像copy时, 取gravatar显示 } if (filesize($e) < 500) copy($d,$e); return $a; }对于没有设置头像的邮箱,默认显示的头像如下:$d='mm' - 神秘人 (灰色头像)$d='monsterid' - 小怪物 (自动生成)$d='identicon' - 抽象图形 (自动生成)$d='wavatar' - W-avatar (自动生成)$d='非空格符' - Gravatar (大写 “G”)注意:$d 数据中的四个关键字只能是小写,不然会被视为其它的非空格符;另外,$d 的数据中也不能出现空格符,否则该函数将不能正常调用。
2019年12月17日
263 阅读
0 评论
0 点赞
2019-12-13
EMLOG详细目录结构功能
一般来说,一个模板都会包含以下几个部分:images文件夹:存放模板所需图片。 echo_log.php:显示日志内容。 footer.php:页面底部。 header.php:页面头部。 log_list.php:显示日志列表内容。 main.css:模板的css文件。 module.php:模板公共代码,包含侧边widgets、评论、引用、编辑等,该文件是模板最核心的模块。 page.php:自定义的页面内容的模板。 preview.jpg:在后台模板选择界面显示的模板预览图,300×225 jpg格式。 side.php:模板侧边栏文件,如制作单栏模板则该文件不是必须的。 t.php:显示emlog系统自带的微博(碎语)内容。 404.php:自定义404页面未找到时的报错页面 在一般的emlog模板开发中,以上提及的部分中echo_log.php、log_list.php、module.php、page.php、t.php、header.php以及preview.jpg是不可或缺的,一旦缺省,模板将无法运行。此外的side.php、footer.php、main.css、images文件夹等,只需要对模板代码做小部分更改,那么它们都是可以改名、移动、甚至删除的。公共代码分析 通过预览整个模板中的各个文件,你会发现以下代码同时存在于多个文件中,这些代码分别有以下用途:if(!defined('EMLOG_ROOT')) {exit('error!');} 此行代码存在于模板目录下的每个php文件起始部分(事实上为了安全起见,该行代码也在admin目录下的几乎所有php文件起始部分存在),其作用是防止代码所在的php脚本被直接访问执行。 require_once View::getView('side'); require_once View::getView('footer'); 这两行代码存在于log_list.php、echo_log.php、page.php、t.php里面,其作用是调用模板文件夹下的side.php和footer.php的代码到当前文件的当前位置。View是emlog的模板视图控制器,View::getView('文件名','文件后缀')将返回当前模板安装路径下对应的文件。getView函数的第二个参数为缺省参数,在不传入值的情况下,将默认作为.php文件后缀返回文件路径。$curpage:当前页面表示,常用判断tag如下: $curpage== CURPAGE_HOME:首页 $curpage == CURPAGE_TW:碎语页 $curpage == CURPAGE_LOG:日志、page页 ROLE:当前访问者身份 ROLE == 'admin':管理员 ROLE == 'writer':联合撰写人 ROLE == 'vistor':未登录用户通用代码<?php if(!defined('EMLOG_ROOT')) {exit('error!');} ?>存在每个php文件头部,防止非法访问 <?php include getViews('XXXX');; ?>: 调用当前模板目录下XXXX.php文件 <?php echo EMLOG_VERSION;?>:显示当前emlog版本 <?php echo TEMPLATE_URL; ?>: 显示模板文件路径 <?php echo BLOG_URL; ?>: 显示博客Url <?php echo $blogtitle; ?>: 显示博客标题(会根据当前页面变化) <?php echo $blogname; ?>: 显示博客名称 <?php echo $bloginfo; ?>:显示博客描述 <?php echo $icp; ?>:显示备案号 <?php endforeach; ?>: 循环结束,需和<?php foreach(xxxx): ?>配对 <?php endif;?>:结束if标签,需和<?php if(xxxx): ?>配对header头部<?php /* Template Name:(模板名称 ) Description:(模板描述 ) Author:(模板作者 ) Author Url:(作者主页 ) Sidebar Amount:1(侧边栏数目,最大4 ) */ if(!defined('EMLOG_ROOT')) {exit('error!');} require_once View::getView('module'); ?>每个php文件的头部,防止非法访问<?php /* * 注释位置信息 */ if(!defined('EMLOG_ROOT')) {exit('error!');} ?>以下为通用标签<?php echo $blogtitle; ?> 标题 <?php echo $site_key; ?>关键字 <?php echo $description; ?>副标题(描叙) <?php echo BLOG_URL; ?>网站地址(路径) <?php echo TEMPLATE_URL; ?>模板地址(路径) <?php doAction('index_head'); ?>头部插件挂载点(用在<head>标签之间,如加载JS,css等) <?php echo $blogname; ?>博客名字(使用带网站连接方法如:<a href="<?php echo BLOG_URL; ?>"><?php echo $blogname; ?></a>) <?php echo $bloginfo; ?>博客副标题 <?php echo BLOG_URL.Option::get('topimg'); ?>头部图片使用方法:<img src="<?php echo BLOG_URL.Option::get('topimg'); ?>" 134" 960" />首页连接class选取<?php echo $curpage == CURPAGE_HOME ? 'current' : 'common';?>使用方法:<li class="<?php echo $curpage == CURPAGE_HOME ? 'current' : 'common';?>"><a href="<?php echo BLOG_URL; ?>">首页</a></li>说明:<?php if($istwitter == 'y'):?>函数变量开始,‘Y’决定后台是否开启,开启则显示,这里为加载碎语。<?php endif;?>为函数变量结束 <?php if($istwitter == 'y'):?><li class="<?php echo $curpage == CURPAGE_TW ? 'current' : 'common';?>"><a href="<?php echo BLOG_URL; ?>t/"> <?php echo Option::get('twnavi');?></a></li> <?php endif;?>下为header.php头部常用标签<?php foreach ($navibar as $key => $val): if ($val['hide'] == 'y'){continue;} if (empty($val['url'])){$val['url'] = Url::log($key);} ?>开始导航循环 <li class="<?php echo isset($logid) && $key == $logid ? 'current' : 'common';?>"><a href="<?php echo $val['url']; ?>" target="<?php echo $val['is_blank']; ?>"><?php echo $val['title']; ?></a></li> <?php endforeach;?>导航循环结束 <?php doAction('navbar', '左标签', '右标签'); ?>插件挂载点,用于导航栏,左右为html标签,用以控制样式,可为空(如:<?php doAction('navbar', '<li class="common">', '</li>'); ?>) <?php if(ROLE == 'admin' || ROLE == 'writer'): ?> 判断是否登陆(登陆则显示下面内容) <li class="common"><a href="<?php echo BLOG_URL; ?>admin/write_log.php">写日志</a></li> <li class="common"><a href="<?php echo BLOG_URL; ?>admin/">管理中心</a></li> <li class="common"><a href="<?php echo BLOG_URL; ?>admin/?action=logout">退出</a></li> <?php else: ?>(判断如果没有登陆则显示下面内容) <li class="common"><a href="<?php echo BLOG_URL; ?>admin/">登录</a></li> <?php endif; ?>(判断结束)footer.php<?php echo Option::EMLOG_VERSION;?>程序版本号 <?php echo $icp; ?>显示备案号 <?php doAction('index_footer'); ?>底部插件挂载点(用于统计代码等)log_list.php<?php doAction('index_loglist_top'); ?>插件挂载点,存在于首页日志列表顶部(用于公告等) <?php foreach($logs as $value): ?>开始循环输出日志列表 下面所有标签仅存在于<?php foreach($logs as $value): ?>和<?php endforeach; ?>之间 <?php topflg($value['top']); ?>置顶标志,函数存在于module.php <?php echo $value['log_title']; ?>显示日志标题 <?php echo $value['log_url']; ?>显示日志标题到正文连接 以上3个标签使用方法:<?php topflg($value['top']); ?><a href="<?php echo $value['log_url']; ?>"><?php echo $value['log_title']; ?></a> <?php blog_author($value['author']); ?> 作者,函数存在于module.php <?php echo gmdate('Y-n-j G:i l', $value['date']); ?>发布时间,格式是2010-12-11 19:05 30,格式可自行修改 <?php blog_sort($value['logid']); ?>分类,该函数存在于module.php <?php editflg($value['logid'],$value['author']); ?>显示编辑链接,函数存在于module.php <?php echo $value['log_description']; ?>显示日志摘要 <?php blog_att($value['logid']); ?>显示日志附件(图片附件不显示),函数存在于module.php <?php blog_tag($value['logid']); ?>显示日志标签,函数存在于module.php <?php echo $value['comnum']; ?>评论数,使用方法<a href="<?php echo $value['log_url']; ?>#comments">评论(<?php echo $value['comnum']; ?>)</a> <?php echo $value['tbcount']; ?>引用数,使用方法<a href="<?php echo $value['log_url']; ?>#tb">引用(<?php echo $value['tbcount']; ?>)</a> <?php echo $value['views']; ?>浏览数,使用方法<a href="<?php echo $value['log_url']; ?>">浏览(<?php echo $value['views']; ?>)</a> 以上仅存在于<?php foreach($logs as $value): ?>和<?php endforeach; ?>之间 <?php endforeach; ?>循环输出日志列表结束 <?php echo $page_url;?>显示分页 <?php include View::getView('side'); ?>调用边栏 <?php include View::getView('footer'); ?>调用底部 也可以写成 <?php include View::getView('side'); include View::getView('footer'); ?> 上为 log_list.php 首页日志列表部分常用标签echo_log.php 下为echo_log.php 阅读日志页面(内容页)常用标签<?php topflg($top); ?>置顶标志,函数存在于module.php <?php echo $log_title; ?>显示日志、page标题 <?php blog_author($author); ?>作者 <?php echo gmdate('Y-n-j G:i l', $date); ?> 发布时间 <?php blog_sort($logid); ?>分类,该函数存在于module.php <?php editflg($logid,$author); ?>显示编辑链接,函数存在于module.php <?php echo $log_content; ?>显示日志内容 <?php blog_att($logid); ?>显示日志附件(图片附件不显示),函数存在于module.php <?php blog_tag($logid); ?>显示日志标签,函数存在于module.php <?php doAction('log_related', $logData); ?>插件挂载点(用于相关日志等) <?php neighbor_log($neighborLog); ?>显示相邻日志(上一篇下一篇),函数存在于module.php <?php blog_trackback($tb, $tb_url, $allow_tb); ?>显示引用通告地址及引用,函数存在于module.php <?php blog_comments($comments); ?>显示日志评论,函数存在于module.php <?php blog_comments_post($logid,$ckname,$ckmail,$ckurl,$verifyCode,$allow_remark); ?>加载评论 page.php 下为page.php 自定义页面常用标签<?php echo $log_title; ?>页面名字 <?php echo $log_content; ?>内容 <?php blog_att($logid); ?>附件 <?php blog_comments($comments); ?>显示评论 <?php blog_comments_post($logid,$ckname,$ckmail,$ckurl,$verifyCode,$allow_remark); ?>加载评论 下为 page.php加载独立页面模板实例 <?php if($log_title =="标签" || $log_title =="标签云"):?> <?php include View::getView('tags');?> <?php elseif($log_title =="链接列表" || $log_title =="友情链接"):?> <?php include View::getView('links');?> <?php elseif($log_title =="读者排行" || $log_title =="读者墙"):?> <?php include View::getView('readers');?> <?php elseif($log_title =="文章归档" || $log_title =="文章存档"):?> <?php include View::getView('archives');?> <?php elseif($log_title =="相关服务"):?> <?php include View::getView('service');?> <?php elseif($log_title =="模版开发" || $log_title =="Emlog模版开发"):?> <?php include View::getView('tpl');?> <?php elseif($log_title =="留言板"):?> <?php include View::getView('contact');?> <?php elseif($log_title =="点赞墙" || $log_title =="点赞榜"):?> <?php include View::getView('likes');?> <?php elseif($log_title =="7天热门文章" || $log_title =="7天热门文章排行"):?> <?php include View::getView('week');?> <?php elseif($log_title =="30天热门文章" || $log_title =="30天热门文章"):?> <?php include View::getView('month');?> <?php elseif($log_title =="30天热门评论" || $log_title =="30天热门评论排行"):?> <?php include View::getView('comnum');?> <?php if ($allow_remark == 'y'){blog_comments($comments,$params);blog_comments_post($logid,$ckname,$ckmail,$ckurl,$verifyCode,$allow_remark);} ?> 根据是否允许评论显示评论和评论表单,函数存在于module.phpt.php<?php if(ROLE == 'admin' || ROLE == 'writer'): ?>判断是否登陆,登陆显示下面内容 <a href="<?php echo BLOG_URL . 'admin/twitter.php' ?>">发布碎语</a> <?php endif; ?>判断结束 <?php foreach($tws as $val): $author = $user_cache[$val['author']]['name']; $avatar = empty($user_cache[$val['author']]['avatar']) ? BLOG_URL . 'admin/views/images/avatar.jpg' : BLOG_URL . $user_cache[$val['author']]['avatar']; $tid = (int)$val['id']; ?> 开始循环输出碎语,下面为默认模板代码(循环的是<li>标签里的内容) <li class="li"> <div class="main_img"><img src="<?php echo $avatar; ?>" 32px" 32px" /></div> <p class="post1"><span><?php echo $author; ?></span><br /><?php echo $val['t'];?></p> <div class="clear"></div> <div class="bttome"> <p class="post"><a href="javascript:loadr('<?php echo DYNAMIC_BLOGURL; ?>?action=getr&tid=<?php echo $tid;?>','<?php echo $tid;?>');">回复(<span id="rn_<?php echo $tid;?>"><?php echo $val['replynum'];?></span>)</a></p> <p class="time"><?php echo $val['date'];?> </p> </div> <div class="clear"></div> <ul id="r_<?php echo $tid;?>" class="r"></ul> <div class="huifu" id="rp_<?php echo $tid;?>"> <textarea id="rtext_<?php echo $tid; ?>"></textarea> <div class="tbutton"> <div class="tinfo" style="display:<?php if(ROLE == 'admin' || ROLE == 'writer'){echo 'none';}?>"> 昵称:<input type="text" id="rname_<?php echo $tid; ?>" value="" /> <span style="display:<?php if($reply_code == 'n'){echo 'none';}?>">验证码:<input type="text" id="rcode_<?php echo $tid; ?>" value="" /><?php echo $rcode; ?></span> </div> <input class="button_p" type="button" onclick="reply('<?php echo DYNAMIC_BLOGURL; ?>index.php?action=reply',<?php echo $tid;?>);" value="回复" /> <div class="msg"><span id="rmsg_<?php echo $tid; ?>" style="color:#FF0000"></span></div> </div> </div> </li> <?php endforeach;?>循环输出碎语结束如上代码说明:<?php echo $avatar; ?>显示作者头像,使用方法: <img src="<?php echo $avatar; ?>" 32px" 32px" />这里设置了图片的高宽为32象素 <?php echo $author; ?>显示碎语发布者 <?php echo $val['t'];?>显示碎语内容 <a href="javascript:loadr('<?php echo DYNAMIC_BLOGURL; ?>?action=getr&tid=<?php echo $tid;?>','<?php echo $tid;?>');">回复(<span id="rn_<?php echo $tid;?>"><?php echo $val['replynum'];?></span>)</a>回复碎语连接使用方法 <?php echo $val['date'];?>发布碎语时间 <?php echo $tid;?>碎语ID数使用方法<ul id="r_<?php echo $tid;?>" class="r"></ul> 这里参考了官方模板 举例:如碎语ID为3(发布的第3条碎语),原代码显示结果为 <ul id="r_3" class="r"></ul> <?php echo $pageurl;?> 显示碎语分页 <?php echo $twnum; ?> 显示碎语数目 上为 t.php 碎语部分常用标签side.php<?php $widgets = !empty($options_cache['widgets1']) ? unserialize($options_cache['widgets1']) : array(); ?> 该页面要加载的widgets,中间红色1为数字,不超过header.php里设置的侧边栏数目 <?php doAction('diff_side'); ?> 插件挂载点 <?php foreach ($widgets as $val) { $widget_title = @unserialize($options_cache['widget_title']); $custom_widget = @unserialize($options_cache['custom_widget']); if(strpos($val, 'custom_wg_') === 0) { $callback = 'widget_custom_text'; if(function_exists($callback)) { call_user_func($callback, htmlspecialchars($custom_widget[$val]['title']), $custom_widget[$val]['content']); } }else{ $callback = 'widget_'.$val; if(function_exists($callback)) { preg_match("/^.*\s\((.*)\)/", $widget_title[$val], $matchs); $wgTitle = isset($matchs[1]) ? $matchs[1] : $widget_title[$val]; call_user_func($callback, htmlspecialchars($wgTitle)); } } } ?>上这一长串用于显示widgets<a href="<?php echo BLOG_URL; ?>rss.php" title="RSS订阅"> <img src="<?php echo TEMPLATE_URL; ?>images/rss.gif" alt="订阅Rss"/></a>上为RSS 订阅使用方法 module.phpfunction widget_xxxx($title)显示widgets函数,如widget_blogger($title)显示博主信息
2019年12月13日
244 阅读
0 评论
0 点赞
2019-12-10
美化Emlog的文章访问密码页面
Emlog美化只能通过直接修改代码来实现,具体的位置在include/model/log_model.php文件末尾的authPassword代码。找到以下代码: if ($pwd !== addslashes($logPwd)) { echo <<<EOT <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>emlog message</title> <style type="text/css"> <!-- body{background-color:#F7F7F7;font-family: Arial;font-size: 12px;line-height:150%;} .main{background-color:#FFFFFF;margin-top:20px;font-size: 12px;color: #666666;width:580px;margin:10px 200px;padding:10px;list-style:none;border:#DFDFDF 1px solid;} --> </style> </head> <body> <div class="main"> <form action="" method="post"> 请输入该文章的访问密码<br> <input type="password" name="logpwd" /><input type="submit" value="进入.." /> <br /><br /><a href="$url">«返回首页</a> </form> </div> </body> </html> EOT; if ($cookiePwd) { setcookie('em_logpwd_' . $logid, ' ', time() - 31536000); }替换为如下代码: if ($pwd !== addslashes($logPwd)) { ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="renderer" content="webkit"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>该文章已被加密</title> </head> <body> <div class="main"> <img class="alert" alt="文章已被加密" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIoAAACACAMAAADjwgEwAAAAOVBMVEUAAAD5dBr7dRj4dBn/cBD5cxr4cxn6chj7dBj/cBj5cxr5dBn6cxn4dBn5cxr6dRX5cxr5cxr5dBoQJfbPAAAAEnRSTlMAgD/AEPDgYEAgoLCQcFAw0J/MNdW8AAADg0lEQVR42s3b7W7iMBSEYWftxA75At//xW7VZRWnQ3WkvOKE+VmJMtjxg8Ek4Iy5e8zdmsLFSXmoz8QSrsw61CZxDJdlrsf0OVyUR5WALrDJh3SZ68uswT1rfZ3e/dpNff0lMTjnVr/yEVO01SZdWae6Z/CFNzYXxxa+kttqwTHl2ORHl95zWBrvl/BMM0e34JZ8XC+6phwWtD7ptv95uWBBdzIVMm0luGTshVYB+B5ccvt12Ubnt8Xt91Vb3JyzX/rk5Jy+cr2M3Jyzl8nMnOO6Bewc103TMee4btw5rpsmA+e4bm7O2boh57huS9twyaODc7Zu43fBR3J1bni1q0/Pv0bgHNNNl3cGzgHdyouhmqBzXLf9SZ2c01HXKsA5pptWcXJOV6hWAc5R3bQKcI7qplUcnLs3uhlV1Ln5bboZVd7rXGqdMKuoQ9ObdDOqAOeAbkYVY0fOdTOqAOeAblLFEOAdutlVbOe4bmYV4BzQzahiOId104DPrVw3uwp3zv5fdhXgHNDNqAKcs3Sbw4kqhnNAN7vK25yLhlFGFcM5pJtdBTtn65ZPVDGcY7rZVbhzpgmgitgEdQNV5DUx3UAV5pxebaCKOMd0A1WYcyoTqKJWIt1AFeSczi6rou+rQDdQBTmnEoAqzLn9cfvjYBXdmQLdQBXgnOrGq+j7PNANVAHOiW6gCnBO2idQBTunuvEqtnPoxE2rgJXJdNMqyCt8OqsnH8A5NoZ6HgScoyf5+ykZ+raGr7f97PCWwD4I6iYnquCbPa4b/0aA6OZwgo9/NwV2IEC3950YeP7GTp1DuhkBzpkDx2M7x3XTAOfMRWZn7OJwn5YETjCQbjqtw8qc47o95GHAOaTbUptswDmkm/6aPwLnsG65HpKQc/rqtvP3fRTgHNUt1kM67tx49u6RqR6SgXNIt30097mlzpXT5G+1zQD2c3zvFmV+kHM6aedgieDBz2GZyN5t2+87TGQ/131PGdu7pa7/Hs/M9nPDD2i3cCqllA3s5/bnjqKbY4bDDLXFQOiwxJaGe/BP2gcihCLQuiZKlV1f58zNDmr9lNtLSyg+C8jeKrSXbX/pCqqHxdyvwTO6j53qnvu8/nFLfgz1uGXJ9SMy/sP3A3J7fhq7Pv34f21fnkUWt3eUtDTVSzPL1u6SKGfjrV6TvtM98bhccMlMOYWXSWXpHJNLaPMXZ8oyOMxlLIsAAAAASUVORK5CYII="> <form action="" method="post" class="mk-side-form"> <h2 class="pw-tip">该文章已被加密</h2> <input type="password" name="logpwd" placeholder="请输入访问密码查看" required><button type="submit">提交</button> <?php if($postPwd): ?> <p id="pw-error">Oops!密码不对哦~</p> <script>setTimeout(function() {document.getElementById("pw-error").style.display = "none"}, 2000);</script> <?php endif; ?> </form> <a href="<?php echo $url; ?>" class="return-home" title="点击回到网站首页">- 返回首页 - </a> </div> <style type="text/css"> *{font-family:"Microsoft Yahei",微软雅黑,"Helvetica Neue",Helvetica,"Hiragino Sans GB","WenQuanYi Micro Hei",sans-serif;box-sizing:border-box;margin:0px;padding:0px;font-size:14px;-webkit-transition:.2s;-moz-transition:.2s;-ms-transition:.2s;-o-transition:.2s;transition:.2s} html,body{width:100%;height:100%} body{background-color:#F4F6F9;color:#768093} input,button{font-size:1em;border-radius:3px;-webkit-appearance:none} input{width:100%;padding:5px;box-sizing:border-box;border:1px solid #e5e9ef;background-color:#f4f5f7;resize:vertical} input:focus{background-color:#fff;outline:none} button{border:0;background:#6abd09;color:#fff;cursor:pointer;opacity:1;user-select:none} button:hover,button:focus{opacity:.9} button:active{opacity:1} .main{width:100%;max-width:500px;height:300px;padding:30px;background-color:#fff;border-radius:2px;box-shadow:0 10px 60px 0 rgba(29,29,31,0.09);transition:all .12s ease-out;position:absolute;left:0;top:0;bottom:0;right:0;margin:auto;text-align:center} .alert{width:80px} .mk-side-form{margin-bottom:28px} .mk-side-form input{float:left;padding:2px 10px;width:77%;height:37px;border:1px solid #ebebeb;border-right-color:transparent;border-radius:2px 0 0 2px;line-height:37px} .mk-side-form button{position:relative;overflow:visible;width:23%;height:37px;border-radius:0 2px 2px 0;text-transform:uppercase} .pw-tip{font-weight:normal;font-size:26px;text-align:center;margin:25px auto} #pw-error {color: red;margin-top: 15px;margin-bottom: -20px;} .return-home{text-decoration:none;color:#b1b1b1;font-size:16px} .return-home:hover{color:#1E9FFF;letter-spacing:5px} </style> </body> </html> <?php if ($cookiePwd) { setcookie('em_logpwd_' . $logid, ' ', time() - 31536000); }
2019年12月10日
282 阅读
0 评论
0 点赞
2019-12-09
Emlog插件能陪聊的Live2d版伊斯特瓦尔
最近看到很多小伙伴的博客都有《药水制作大师》里的小萝莉,甚是羡慕。想着自己页面也能设置一个Live2d的立绘看板娘。用了GitHub上的源码进行修改。在原先的基础上加上了如下功能:1.会读最新五篇emlog的微语。2.基于图灵机器人的聊天功能。3.能够随意移动并记录位置(关闭浏览器后失效)。4.能够随意唤醒或者关闭并记录状态。5.自动判断浏览器是否为IE或者手机浏览器,如果判断为true则不加载伊斯。6.给骚扰伊斯加了限制频率,不能狂骚扰伊斯了。7.增加了背景音乐播放功能,需要在后台添加背景音乐文件地址。使用方法:1.Emlog为emlog 5.3.1。2.下载安装插件。3.在图灵机器人上注册帐号。4.在图灵机器人上创建机器人。5.在设置里找到自己专属的APIkey。6.回到博客后台,设置APIkey,这样伊斯就有聊天功能啦。关于本插件:本插件仅供学习和交流使用,禁止用于商业用途。本插件用到的模型为《超次元游戏海王星》系列中的伊斯特瓦尔,动作表情则是取自Live2d官网的demo,故版权归各官方所有。原项目使用了 GPL v2 开源协议。【emlog插件】伪春菜二次开发版下载下载地址 蓝奏网盘
2019年12月09日
260 阅读
0 评论
0 点赞
2019-12-09
域名防红代码
今天分享一段QQ内打开网址提示跳转到浏览器的代码,可以域名防红。将以下代码放在网站根目录下index.php文件的顶端。 <?php $conf['qqjump']=1; if(strpos($_SERVER['HTTP_USER_AGENT'], 'QQ/')!==false && $conf['qqjump']==1){$a='http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; echo '<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>请使用浏览器打开</title> <script src="https://open.mobile.qq.com/sdk/qqapi.js?_bid=152"></script> <script type="text/javascript"> mqq.ui.openUrl({ target: 2,url: "'.$a.'"}); </script> </head> <body>请使用浏览器打开</body> </html>';exit;} ?>
2019年12月09日
360 阅读
0 评论
0 点赞
2019-12-09
Emlog通过不同域名使用不同的模板
只在Emlog根目录的 index.php 简单修改就能实现,也可以做多用户二级域名调用不同的模板。当然也可以修改模板不同域名显示不同用户的文章。$templet=Option::get('nonce_templet'); $the_host = $_SERVER['HTTP_HOST']; if ($the_host=='abc.123.cn') {////判断域名或者浏览器 UA 使用不同的前台模板 $templet='abc';//前台模板名 } define('TEMPLATE_URL', TPLS_URL.$templet.'/'); define('TEMPLATE_PATH', TPLS_PATH.$templet.'/'); //define('TEMPLATE_PATH', TPLS_PATH.Option::get('nonce_templet').'/');//前台模板路径
2019年12月09日
249 阅读
0 评论
0 点赞
1
...
7
8
9
...
13