星之宇 发布于2018-3-14 9:53

Emlog修改版(PHP7版本)

最近对自己的博客代码,主题,以及后台等等进行了大面积的优化,所以心血来潮做了这个emlog 5.3.1 XZY修改版,主要是针对PHP7的支持做了修改。

Github的项目地址:https://github.com/myxzy/emlog


修改内容:

by 2018-3-14

修改版1.0

1、安装文件的环境检测PHP和MySql版本,PHP最低为5.6,MySql最低为5.0

2、自动加载函数autoload改为spl_autoload_register,毕竟新版本PHP不建议用autoload

3、加密解密函数使用PHP新函数password_hash,不兼容老用户数据阅读全文

更新emlog的编辑器为新版本的kindeditor,这个不是插件,请不要使用插件的安装方式。

浏览器FireFox,IE8、9,Chrome等测试编辑器一切正常。

 

1.8版本开始的安装方法:下载解压百度网盘中的文件,把解压文件夹中文件editor文件夹,替换到博客程序中admin文件夹下的editor文件夹(覆盖)。

卸载方法:删掉admin文件夹中的editor,找官网程序中admin文件夹下的editor放到admin文件夹下(覆盖的话也是可以,但是会产生多余的文件)。阅读全文

PHP5.5之后新加了两个密码相关的函数:password_hash(加密)和password_verify(验证)。

string password_hash ( string $password , integer $algo [, array $options ] )

boolean password_verify ( string $password , string $hash )

想到emlog使用的是passwordhash类来实现加密和解密的,正好使用这2个新函数来改造emlog程序。(该修改仅用于测试)


修改方法如下:

1、在include/lib/function.base.php添加加密函数阅读全文

星之宇 发布于2016-1-21 0:19

PHP7下安装Emlog5.3.1


PHP7出来一段时间了,据说PHP7可以性能翻倍。而且我的服务器上也已经开通了PHP7,就开始折腾下Emlog5.3.1。


直接在php7安装emlog5.3.1各种报错。emlog5.3.1虽然已经出了使用mysqli连接类,但是为了兼容性还是默认是使用了mysql。因为PHP7已经不支持mysql扩展了,但是支持mysqli和pdo_mysql。所以这里还是介绍如何使用mysqli来安装emlog。


以下是修改emlog安装程序,无报错安装。如果是实际环境请在本地环境模拟后成功后再更换。

1、修改include\lib\option.php,大概11行修改为mysqli阅读全文

今天论坛有人说评论有BUG,我看了一下,无意中注意到isLogCanComment函数。

	function isLogCanComment($blogId) {
		if (Option::get('iscomment') == 'n') {
			return false;
		}
		$query = $this->db->query("SELECT allow_remark FROM ".DB_PREFIX."blog WHERE gid=$blogId");
		$show_remark = $this->db->fetch_array($query);
		if ($show_remark['allow_remark'] == 'n' || $show_remark === false) {
			return false;
		}else {
			return true;
		}
	}

阅读全文

文件缓存型时间轴归档,后台更新缓存或者发布新文章的时候会自动更新。

本站这个代码是使用缓存系统的,是需要修改内核文件的。慎用!


1、修改cache.php文件,添加归档缓存函数(路径include/lib)

private $logalias_cache;
之后添加
private $loglists_cache;
阅读全文

emlog文章连接使用gid自增号作为文章的ID,但是由于后台有删除文章的功能,一旦删除文章那么gid自增就会出现断号。

其实断号问题解决很方便,只要在添加文章的时候判断gid之前的有没有断号问题,有的话直接插入,没有的话自增。

我这里的解决方法是这样的,我把gid自增段顺序读取作为值写入数组,自增段是从1开始的,但是数组键值是0开始的,那么先把数组($gidarr[0]='0')赋值掉,然后把$gidarr[]=gid,然后只要发现$gidarr键和键值不等就是断号了。

找到我们的addlog添加文章和页面函数。路径在include/model/log_model.php。

原始代码:阅读全文

Markdown for emlog这是一个由星知苑出品的hack emlog编辑器的代码(不是插件)。

安装方法:

解压本站的Markdown for emlog代码包,用FTP把代码包里的admin和include文件夹上传到emlog安装的根目录,提示覆盖选择全部覆盖即可。

源码下载:

Github项目主页:https://github.com/myxzy/markdown-for-emlog

百度网盘分流下载:http://pan.baidu.com/s/1sjHLv0D阅读全文

看到emlog BBS有人需要这个代码(emlog统计指定时间内发表的文章数量),所以简单的写一下。

通过log_model.php中的模块函数getLogNum不用自己费力的去写函数了,直接构造数据库查询语句就可以使用这个函数来读取emlog文章数量了。

PS:只要你去研究emlog的核心代码,很多代码都是可以通过emlog自带的核心代码来实现效果的,不用费力不讨好的自己去写数据库查询函数。还能不破坏emlog速度和稳定性。


以下是这段代码,你可以在模版文件的任何地方使用,这个只是简单写一下,当然这个还可以写成函数的格式。建议使用的时候自己改写成函数形式来使用。阅读全文

ueditor for emlog这是一个由星知苑出品的hack emlog编辑器的代码(不是插件)。

安装方法】:解压本站的ueditor for emlog代码包,用FTP把代码包里的admin文件夹上传到emlog根目录,提示覆盖选择全部覆盖即可。(有覆盖提示的就是正确安装的,没有就是路径错误),这时可以看看后台是否是ueditor编辑器了。(出现错误删掉浏览器的缓存即可)。

注意:覆盖前请先备份自己的博客。

卸载方法】:使用emlog这5个原始文件add_log.php,add_page.php,edit_log.php,edit_page.php,js/common.js,替换到admin/views下,操作完成后,请更新本地浏览器的缓存。阅读全文

提交
订阅