很多程序在写的时候涉及到权限的设计,今天就以开单大师为例来谈谈当程序中含有多个部门、岗位、层级的时候,我们如何去进行相关的函数设计(一)
权限函数开始:
function bumen_option($selected,$node_id){
$x = $node_id ? _rbac_lists_where($node_id,0) : "null";
$tree = new \Org\Util\Tree();
$parentid = $selected;
$result = M('bumen')->order(array("sort" => "ASC"))->select();
foreach ($result as $key => $r) {
$r['selected'] = $r['id'] == $parentid ? 'selected' : '';
if ($x && $x != "all" && $x != "me" && $x != "null") {
$b = explode(",",$x);
if (in_array($r['id'],$b)) {
$array[] = $r;
}
}elseif($x == 'me' || $x == false){
$array = "";
}elseif($x == 'all' || $x == 'null'){
$array[] = $r;
}
}
$a = 0;
$l = 999;
if ($x && $x != "all" && $x != "me" && $x != "null") {
foreach ($array as $key => $value) {
if ($value['level']
$a = $value['parentid'];
$l = $value['level'];
}
}
}
$str = "\$spacer \$bmming";
$tree->init($array);
$select_categorys = $tree->get_tree($a, $str);
return $select_categorys;
}
/**
* 二维数组排序
* @param $arr
* @param $keys
* @param string $type
* @return array
*/
function array_sort($arr, $keys, $type = 'desc') {
$key_value = $new_array = array();
foreach ($arr as $k => $v) {
$key_value[$k] = $v[$keys];
}
if ($type == 'asc') {
asort($key_value);
} else {
arsort($key_value);
}
reset($key_value);
foreach ($key_value as $k => $v) {
$new_array[$k] = $arr[$k];
}
return $new_array;
}
*请认真填写需求信息,我们会在24小时内与您取得联系。