Exemple #1
0
function infinate($arr, $level = 0, $access = null)
{
    //无限极分类
    $res = array();
    for ($i = 0; $i < count($arr); $i++) {
        if (is_array($access)) {
            $arr[$i]['checked'] = in_array($arr[$i]['id'], $access);
        } else {
            $arr[$i]['checked'] = false;
        }
        if ($arr[$i]['pid'] == $level) {
            $arr[$i]['child'] = infinate($arr, $arr[$i]['id'], $access);
            array_push($res, $arr[$i]);
        }
    }
    return $res;
}
Exemple #2
0
 public function permissionAction()
 {
     //权限管理
     $did = intval($this->dispatcher->getParam(0));
     if (!$did) {
         $this->view->disable();
         echo "<script>alert('选择部门出错');history.back();</script>";
     }
     if ($this->request->isPost()) {
         $this->modelsManager->executeQuery("delete from Backend\\Models\\Permission where did=:did:", array('did' => $did));
         foreach ($_POST['app'] as $v) {
             $model = new Permission();
             $model->setAid($v);
             $model->setDid($did);
             $model->create();
         }
     }
     $perm = App::find('active=1');
     $arr = array();
     $acc = Permission::find('did=' . $did);
     if ($acc) {
         foreach ($acc as $v) {
             array_push($arr, $v->aid);
         }
     }
     $list = infinate($perm->toArray(), 0, $arr);
     $this->view->list = $list;
 }