Example #1
0
/**
 * 递归排序
 * @author 罗江涛
 * @DateTime 2016-02-29T15:28:56+0800
 * @param    [type]                   $arr [传入树状数组]
 * @return   [type]                        [返回排序好的数组]
 */
function resortPermissions($array, $parentId = 0, $level = 0)
{
    $new_array = array();
    foreach ($array as $key => $value) {
        if ($value['parentId'] == $parentId) {
            $value['html'] = str_repeat(' |-', $level);
            $new_array[] = $value;
            $new_array = array_merge($new_array, resortPermissions($array, $value['permissionsId'], $level + 1));
        }
    }
    return $new_array;
}
 /**
  * 权限节点列表
  * @author 罗江涛
  * @DateTime 2016-01-12T15:18:22+0800
  */
 public function permissionsList()
 {
     $permissionsId = I('permissionsId');
     $keyword = I('keyword');
     //这个是为了防止搜索条件都为空的情况
     $where = "1=1 ";
     //如果传有关键字,找出标题,摘要,内容
     if ($keyword) {
         $where .= " AND (permissionsName LIKE '%{$keyword}%' or chineseName LIKE '%{$keyword}%')";
     }
     //定义数据模型
     $db = M("permissions");
     $permissions = $db->where($where)->select();
     // 如果输入了关键字,则不进行排序
     if (!$keyword) {
         $permissions = resortPermissions($permissions);
     }
     // 分配变量
     $this->assign("permissions", $permissions);
     $this->display();
 }