| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 | <?phpnamespace Admin\Model;use Think\Model;/** * 权限模型 * @author   Devil * @blog     http://gong.gg/ * @version  0.0.1 * @datetime 2016-12-01T21:51:08+0800 */class PowerModel extends CommonModel{	// 数据自动校验	protected $_validate = array(				// 添加,编辑		array('name', 'CheckName', '{%power_name_format}', 1, 'callback', 3),		array('control', 'CheckControl', '{%power_control_format}', 1, 'callback', 3),		array('action', 'CheckAction', '{%power_action_format}', 1, 'callback', 3),		array('pid', 'CheckPid', '{%power_level_format}', 2, 'callback', 3),		array('sort', 'CheckSort', '{%common_sort_error}', 1, 'function', 3),		array('icon', 'CheckIcon', '{%power_icon_format}', 1, 'callback', 3),		array('pid', 'CheckMyPid', '{%common_pid_eq_myid_format}', 1, 'callback', 2),		// 删除		array('id', 'CheckPowerIsExist', '{%power_no_exist_tips}', 1, 'callback', 5),		array('id', 'CheckPowerIsItem', '{%power_exist_item_tips}', 1, 'callback', 5),	);	/**	 * [CheckIcon 图标class校验]	 * @author   Devil	 * @blog     http://gong.gg/	 * @version  0.0.1	 * @datetime 2016-12-13T19:29:30+0800	 */	public function CheckIcon()	{		$len = Utf8Strlen(I('icon'));		return ($len <= 60);	}	/**	 * [CheckName 权限名称校验]	 * @author   Devil	 * @blog     http://gong.gg/	 * @version  0.0.1	 * @datetime 2016-12-13T19:29:30+0800	 */	public function CheckName()	{		$len = Utf8Strlen(I('name'));		return ($len >= 2 && $len <= 16);	}	/**	 * [CheckAction 方法校验]	 * @author   Devil	 * @blog     http://gong.gg/	 * @version  0.0.1	 * @datetime 2016-12-13T15:12:32+0800	 */	public function CheckAction()	{		return (preg_match('/'.L('common_regex_action').'/', I('action')) == 1) ? true : false;	}	/**	 * [CheckControl 控制器校验]	 * @author   Devil	 * @blog     http://gong.gg/	 * @version  0.0.1	 * @datetime 2016-12-13T15:12:32+0800	 */	public function CheckControl()	{		return (preg_match('/'.L('common_regex_control').'/', I('control')) == 1) ? true : false;	}	/**	 * [CheckPid pid校验]	 * @author   Devil	 * @blog     http://gong.gg/	 * @version  0.0.1	 * @datetime 2016-12-13T19:32:40+0800	 */	public function CheckPid()	{		$pid = intval(I('pid'));		if($pid > 0)		{			$id = $this->db(0)->where(array('id'=>$pid))->getField('id');			return !empty($id);		}		return true;	}	/**	 * [CheckMyPid pid是否是当前节点校验]	 * @author   Devil	 * @blog     http://gong.gg/	 * @version  0.0.1	 * @datetime 2016-12-13T19:32:40+0800	 */	public function CheckMyPid()	{		return (I('id') != I('pid'));	}	/**	 * [CheckPowerIsExist 校验权限是否存在]	 * @author   Devil	 * @blog     http://gong.gg/	 * @version  0.0.1	 * @datetime 2016-12-10T14:09:40+0800	 */	public function CheckPowerIsExist()	{		$id = $this->db(0)->where(array('id'=>I('id')))->getField('id');		return !empty($id);	}	/**	 * [CheckPowerIsItem 校验权限是否存在子级]	 * @author   Devil	 * @blog     http://gong.gg/	 * @version  0.0.1	 * @datetime 2016-12-10T14:09:40+0800	 */	public function CheckPowerIsItem()	{		$count = $this->db(0)->where(array('pid'=>I('id')))->count();		return ($count <= 0);	}}?>
 |