源代码修改错,导致ecshop后台管理员权限显示空白
2015-10-18 16:22
489 查看
经过上一篇安装好ecshop后,在后台闲逛时,又发现一个异常,在导航栏上点击设置导航栏,然后点击管理员列表,随便选一个管理员点分派权限,你会发现权限名称全部没有,后来在admin\templates\privilege_allot.htm中找到{$lang[$priv.action_code]}改成{$lang.$priv.action_code},还有{$lang[$list.action_code]}改成{$lang.$list.action_code},搞定
后来经我问了群里的朋友,都说{$lang[$priv.action_code]}这样的语法是正确的,那就奇怪了,我就重新再安装了ecshop,发现权限名都有显示,那看来是我把源代码修改坏了。
经过我不断的调试,我终于发现了在includes\cls_templates.php里面的555行附近
原来是
$val = preg_replace("/\[([^\[\]]*)\]/eis", "'.'.str_replace('$','\$','\\1')", $val);
一开始我是这样修改
$val=preg_replace_callback("/\[([^\[\]]*)\]/is", function($r) { return '.'.str_replace('$','\$',$r[1]); }, $val);
最后经过调试得修改成这样
$val=preg_replace_callback("/\[([^\[\]]*)\]/is", function($r) { return '.'.$r[1]; }, $val);
这样就行了。
后来经我问了群里的朋友,都说{$lang[$priv.action_code]}这样的语法是正确的,那就奇怪了,我就重新再安装了ecshop,发现权限名都有显示,那看来是我把源代码修改坏了。
经过我不断的调试,我终于发现了在includes\cls_templates.php里面的555行附近
原来是
$val = preg_replace("/\[([^\[\]]*)\]/eis", "'.'.str_replace('$','\$','\\1')", $val);
一开始我是这样修改
$val=preg_replace_callback("/\[([^\[\]]*)\]/is", function($r) { return '.'.str_replace('$','\$',$r[1]); }, $val);
最后经过调试得修改成这样
$val=preg_replace_callback("/\[([^\[\]]*)\]/is", function($r) { return '.'.$r[1]; }, $val);
这样就行了。
相关文章推荐
- ecshop后台编辑器替换成ueditor编辑器
- ecshop 批量上传(加入自定义属性)
- ecshop实现smtp发送邮件
- 给ECShop添加最新评论
- ecshop 2.72如何修改后台访问地址
- ECSHOP在PHP5.5及高版本上报错的解决方法
- 完整删除ecshop中获取店铺信息的API
- 分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
- ECSHOP全版本注入0DAY
- ECSHOP全版本注入漏洞(二次注入)
- ECSHOP商品库存数量显示在网站商城首页
- ECSHOP商品分类筛选自定义价格区间
- ECSHOP购物车结算页面显示商品品牌
- ecshop 如何去掉Powered by ECShop版权
- 怎样添加ECSHOP广告位置
- ECSHOP 商品详情页 购物车页 添加购买数量加减按钮
- ECSHOP首页flash幻灯片修改为循环图片(可以自己添加jq,js效果)
- 修改后台重新登陆或超时问题 SESSION 过期时间
- ecshop自己添加的页面如何修改分页链接
- ecshop中循环出1、2、3、4等数字的方法