request->param('current', '/'); $direct = $this->request->param('direct', 0); $dic_arr = [ 'host', 'y', 'date', // 'd', 'url', ]; $current_arr = explode('/',$current); if($current == '/' || $current == ''){ $current_arr = [ '/' ]; } $current_arr[0] = '/'; //向下层取数据 $field_name = $dic_arr[count($current_arr)-1]; if($field_name == 'url'){ $field_str = $field_name.',name,type,size ,0 as isDirectory,update_time,id'; }else{ $field_str = $field_name.' as name ,1 as isDirectory'; } $conition = []; $current_arr_1 = $current_arr; if(count($current_arr_1)>1){ unset($current_arr_1[count($current_arr_1)-1]); $current_arr_1[0] = ''; } $pre_current = implode('/',$current_arr_1); $_op = $this->field($field_str); //获取该id下的所有的域名 $siteModel = new Site(); $hosts_str = $siteModel->where('id',SITE_ID)->find(); $host_arr = []; if($current == '' || $current == '/'){ if($hosts_str['host']){ $host_arr = explode(',',$hosts_str['host']); } if(count($host_arr)==0){ $host_arr[] = $_SERVER['host']; } $_op->whereIn('host',$host_arr); }else{ $conition['host'] = $current_arr[1]; } //年 if(isset($current_arr[2]) && $current_arr[2]!=''){ $conition['Y'] = $current_arr[2]; } // //月 // if(isset($current_arr[3]) &&$current_arr[3]!='' ){ // $conition['m'] = $current_arr[3]; // } // //日 // if(isset($current_arr[4]) && $current_arr[4]!=''){ // $conition['d'] = $current_arr[4]; // } //日期 if(isset($current_arr[3]) && $current_arr[3]!=''){ $conition['date'] = $current_arr[3]; } $_op->distinct(true); $_op->where($conition); $data = parent::parentLists(!empty($_op) ? $_op : '',1,0); $count = $this->field($field_name)->where($conition)->group($field_name)->count(); $data['page_total'] = $count; $returnData = []; // $data['current'] = $current; // $data['pre_current'] = $pre_current; // $returnData['data'] = $data; // $returnData['page_total'] = $data['page_total']; return $data; } public function getLists(){ //执行通用查询 return parent::parentLists(); } public function getStorgaeImagesLists(){ $type = $this->request->param('type', 0); $_op = $this; if($type){ $_op->where('type',$type); } //执行通用查询 return parent::parentLists(); } /** * 读取后 * @param Model $model * @return bool|void */ public static function onAfterRead(Model $model) { if (in_array(request()->action(), ['edit', 'delete', 'status'])) { return true; } $model->offsetSet('action_ip', long2ip((int)$model->getAttr('action_ip'))); } /** * 新增前 * @param Model $model * @return mixed|void */ public static function onBeforeInsert(Model $model) { if (!in_array(request()->action(), ['add'])) { return true; } //密码加密 $m = $model->getAttr('m'); $d = $model->getAttr('d'); $model->setAttr('date', $m.$d); } }