admin/goods.php,修改ecshop后台admin目录为任意目录名

ecshop有个地方配置admin的目录名

data/config.php

$admin_dir = “admin”;

但是直接改不行,因为很多地方,这个目录名字被硬编码进去了,直接改会有很多地方报错。

网上搜到一篇文章,整理了一些需要修改的地方,内容转帖如下:

1.修改data/config.php

1. $admin_dir = "admin";

修改成

1. $admin_dir = "新目录名";

2.修改admin/index.php

1. //货号

2. require_once(ROOT_PATH . 'admin/includes/lib_goods.php');

修改成

1. require_once(ROOT_PATH . $admin_dir.'/includes/lib_goods.php');

3.修改admin/database.php

1. require_once(ROOT_PATH . 'admin/includes/cls_sql_dump.php');

修改成

1. require_once(ROOT_PATH . $admin_dir.'/includes/cls_sql_dump.php');

4.修改admin/get_password.php

1. $reset_email = $ecs->url() . 'admin/get_password.php?act=reset_pwd&uid='.$admin_id.'&code='.$code;

2. 修改成

3. $reset_email = $ecs->url() . $admin_dir.'/get_password.php?act=reset_pwd&uid='.$admin_id.'&code='.$code;

5.修改admin/goods.php

1. require_once(ROOT_PATH . '/admin/includes/lib_goods.php');

2. 修改成

3. require_once(ROOT_PATH . $admin_dir.'/includes/lib_goods.php');

6.修改admin/check_file_priv.php

1. $dir[] = 'admin';

2. 修改成

3. $dir[] = $admin_dir;

7.修改admin/includes/init.php

1. if (file_exists(ROOT_PATH . 'data/config.php'))

2. {

3. include(ROOT_PATH . 'data/config.php');

4. }

5. else

6. {

7. include(ROOT_PATH . 'includes/config.php');

8. }

9. 修改成下面代码,并将代码移至“/* 取得当前ecshop所在的根目录 */”注释之前。

10. if (file_exists('../data/config.php'))

11. {

12. include('../data/config.php');

13. }

14. else

15. {

16. include('../includes/config.php');

17. }

1. define('ROOT_PATH', str_replace('admin/includes/init.php', '', str_replace('\\', '/', __FILE__)));

2. 修改成

3. define('ROOT_PATH', str_replace($admin_dir.'/includes/init.php', '', str_replace('\\', '/', __FILE__)));

1. require(ROOT_PATH . 'admin/includes/lib_main.php');

2. 修改成

3. require(ROOT_PATH . $admin_dir.'/includes/lib_main.php');

1. require(ROOT_PATH . 'admin/includes/cls_exchange.php');

2. 修改成

3. require(ROOT_PATH . $admin_dir.'/includes/cls_exchange.php');

1. $smarty->template_dir = ROOT_PATH . 'admin/templates';

2. 修改成

3. $smarty->template_dir = ROOT_PATH . $admin_dir.'/templates';

1. $admin_path = preg_replace('/:\d+/', '', $ecs->url()) . 'admin';

2. 修改成

3. $admin_path = preg_replace('/:\d+/', '', $ecs->url()) . $admin_dir;

8.修改include/lib_main.php

1. include_once(ROOT_PATH . 'admin/includes/lib_template.php');

修改成

1.

2. global $admin_dir;

3. include_once(ROOT_PATH . $admin_dir.'/includes/lib_template.php');

9.修改include/cls_ecshop.php

1. $curr = strpos(PHP_SELF, 'admin/') !== false ?

2. preg_replace('/(.*)(admin)(\/?)(.)*/i', '\1', dirname(PHP_SELF)) :

3. dirname(PHP_SELF);

修改成

1. global $admin_dir;

2. $curr = strpos(PHP_SELF, $admin_dir.'/') !== false ?

3. preg_replace('/(.*)('.$admin_dir.')(\/?)(.)*/i', '\1', dirname(PHP_SELF)) :

4. dirname(PHP_SELF);

10.如果担心$admin_dir变量注入安全问题可以在data/config.php文件中define('EC_CHARSET','utf-8');后增加

1. define('ADMIN_DIR','新目录名');

然后将所有修改的$admin_dir变量修改成ADMIN_DIR,例如:

1. require_once(ROOT_PATH . $admin_dir.'/includes/lib_goods.php');

2. 修改成

3. require_once(ROOT_PATH . ADMIN_DIR.'/includes/lib_goods.php');

11.根据pjb126 网友提示修改/admin/picture_batch.php

1. include_once(ROOT_PATH . '/admin/includes/lib_goods.php');

2. 修改成

3. include_once(ROOT_PATH .$admin_dir.'/includes/lib_goods.php');

12.新增修改quotation.php

1. include_once(ROOT_PATH . 'admin/includes/lib_main.php');

修改成

1.

2. global $admin_dir;

3. include_once(ROOT_PATH . $admin_dir.'/includes/lib_main.php');

但是,我改过这些之后,还发现可能还有三个文件需要修改

admin/filecheck.php:

api/client/includes/lib_api.php

ecshopfiles.md5

关键字 ‘admin’

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值