php ifp,人人商城微擎的ifp ife ifpp的作用
ifp 当前用户是否有 控制器--方法 的权限 包括add edit del send view等 方法必带
ifpp 当前用户是否有 插件 的权限
ife 当前用户是否有 控制器--方法 的权限 编辑或添加 第二个参数是当前的数据数组 如果数组包含id 则验证edit方法 如果数组不包含 则验证add方法 第二个参数如果不带 完全等于ifp
ife是ifp的简化用法
下面是思路
先去搜索这几个函数的解析
$str = preg_replace('/{ifp\\s+(.+?)}/', '<?php if(cv($1)) { ?>', $str);
$str = preg_replace('/{ifpp\\s+(.+?)}/', '<?php if(cp($1)) { ?>', $str);
$str = preg_replace('/{ife\\s+(\\S+)\\s+(\\S+)}/', '<?php if( ce($1 ,$2) ) { ?>', $str);
function cv($permtypes = '') {
$perm = com_run('perm::check_perm', $permtypes);
return $perm;
}
if (!function_exists('cp')) {
function cp($pluginname = '') {
$perm = com('perm');
if ($perm) {
return $perm->check_plugin($pluginname);
}
return true;
}
}
function ce($permtype = '', $item = NULL) {
$perm = com_run('perm::check_edit', $permtype, $item);
return $perm;
}
cv为例子
com_run 的意思 com(perm) 类 执行check_perm
com(perm) = $model = EWEI_SHOPV2_CORE . 'com/' . strtolower($name) . '.php';
也就是Perm_EweiShopV2ComModel类
的check_perm 方法
这个方法 根据& 和| 来拆分参数 并调用check
check再往下看 调用了用户角色表 那应该就是校检权限
ifp和ife的区别在于check_perm和check_edit
看check_edit函数里面的一段
if (!($this->check_perm($permtype)))
{
return false;
}
if (empty($item['id']))
{
$add_perm = $permtype . '.add';
if (!($this->check($add_perm)))
{
return false;
}
return true;
}
$edit_perm = $permtype . '.edit';
if (!($this->check($edit_perm)))
{
return false;
}
核心区别是 check_edit 会自动转化为edit或add
其他就跟check_perm一样了
所以结论
ifp 当前用户是否有 控制器--方法 的权限 包括add edit del 可能有查看吧 方法必带
ifpp 当前用户是否有 插件 的权限
ife 当前用户是否有 控制器--方法 的权限 编辑或添加 第二个参数是当前的数据数组 如果数组包含id 则验证edit方法 如果数组不包含 则验证add方法
ife是ifp的简化用法
上面是跟下代码的大概推论 去验证了下
ife
比如{ife 'goods' $item} 后面的item参数 是用来验证是否要验证add还是验证edit方法
{ife 'merch.user' $item} ife的写法都是这样 控制器+model(不加add/edit/del/..方法) +当前的实际数组
ifp
{ifp 'messages.delete'}
{ifp 'meeting.live.notice.send'}
一定是 控制器+model+具体方法(add/edit/del/send..方法)
ifpp没见到用
所以猜测基本正确
php ifp,人人商城微擎的ifp ife ifpp的作用相关推荐
- 微擎的ifp ife ifpp
结论 ifp 当前用户是否有 控制器--方法 的权限 包括add edit del send view等 方法必带 ifpp 当前用户是否有 插件 的权限 ife 当前用户是否有 控制器--方法 ...
- 如何评价微擎?怎么看待微擎模块应用?
你的疑问:微擎是干嘛用的?有使用教程吗? 专家解答:微擎是一套PHP + MySql的开源系统,主要应用于微信公众号和小程序的托管,有活跃的第三方应用开发者.微擎官方网站有安装使用教程,如果是购买了微 ...
- 微擎的人人商城是如何对接微信支付的?
1.首先,要注册微信公众号,并且开通微信支付.(如下图) 2.登录微信支付平台,进入"账户中心->API安全",安装操作证书并且设置API秘钥(保存好API秘钥,后面要用) ...
- 人人商城(分销版)1.11.7微擎原版,提示“抱歉,您无权进行该操作,请先登录!”只因为一个字母,我苦找了9个多小时。
人人商城(分销版)1.11.7微擎原版,提示"抱歉,您无权进行该操作,请先登录!" 话说,当时这个项目迁移服务器,我把项目迁移到一台windows 服务器后,用IIS部署. 前负责 ...
- 微擎php页面跳转,登录微擎后台直接跳转到人人商城后台首页
登陆微擎直接跳转安装模块的后台,而不是微擎的管理页面. 修改路径 web\source\user\login.ctrl.php line 134 function _login($forward = ...
- 微擎人人商城 后台开启WAP访问后 微信浏览器 跳过授权 手机号密码登录
公众号未认证 人人商城后台开启了WAP访问可以在普通浏览器里面用手机号密码登录 不过在微信里浏览器里访问url提示需要认证号认证登录 首先判断微信环境下访问返回false 然后在 ewei_shopv ...
- 微擎人人商城定位不精确问题处理办法
近期在使用人人商城进行二开时,使用的是自己编写通过js调用微信授权获取用户经纬度,计算出附近一定距离内的商家位置并进行排序.但是距离一直不精确,偏差还很大,经过几次折腾还是使用人人商城系统的高德地图和 ...
- 关于微擎人人商城互动直播通信服务的笔记
第一.准备 1.PHP版本建议使用PHP5.6. 2.开放9501端口. 第二.组件 1.Redis[宝塔面板在php扩展中点击安装下]. 2.Swoole[一般需手动安装php5.6安装swoole ...
- 微赞config.修改php,微信公众号第三方平台 微赞WZ_V100.0版20170612整合包 整合人人商城V2新版+一键升级...
php+mysql php版本5.3或者以上,OPENSSL必需开启,这是本程序与微信公众号通讯的需求. 我们建议您用云主机!Windows或者Linux皆可,windows主机不推荐用IIS环境,可 ...
最新文章
- Java--图片浏览器
- L - 土拨鼠掷鼬鼠(二分查找)
- OPC的数据访问方法分别有同步访问、异步访问和订阅式
- MTK DDR不能兼容分析
- OpenCASCADE可视化:3D演示之图形基元
- Linux系统安装Apache 2.4.6
- E20171214-sl
- 红旗linux安装oracle,Redflag Linux安装Oracle 10gR2 RAC记事
- 与计算机技术发展密切相关的科学家,关于计算机科学与技术的发展趋势探究
- 我喜欢的歌-FOREVER
- 统计过程控制图SPC(2)
- 2021_IJCAI_Graph Learning based Recommender Systems: A Review—(IJCAI, 2021)
- 利用支付宝短信服务接口 实现手机号 验证码登录Demo
- C++知识讲解(一)
- 土豪聪要请客(stol)
- wps免费下载 wps文档怎么转成加密的PDF文档呢?
- Qiyuan-python接小球游戏2.0
- 流畅的python第二章, 列表和元组和数组
- Windows11安卓子系统安装软件方法
- STM32初识及运用—GPIO
热门文章
- 剑指 Offer 10- I. 斐波那契数列
- MH(梦幻)型电子配线架使用说明书
- java三个数排序从小到大,键盘输入三个数,实现从小到大排序,键盘输入从小到大...
- useradd 无法打开 /etc/passwd
- Linux下的软件安装方式+源码安装软件cmatrix代码雨
- 昨日关注:Herb Sutter:告别免费午餐时代,迎接20年来最大编程变革
- 贪吃蛇大作战ai_当玩家发现《贪吃蛇大作战》是单机游戏后 世界都炸了
- 计算机在通风网络中的应用,计算机在矿井通风中应用.doc
- js 高德地图,地图上落点,并点击地图上的图片可进行切换图片
- Kahan求和公式原理