request->isAjax) { $data = []; $params =[]; $query = mergeParams($query,$params); $countQuery = clone $query; //分页 if(isset($_GET['limit'])){ $query->limit(intval($_GET['limit']));} if(isset($_GET['offset'])){ $query->offset(intval($_GET['offset']));} //排序 if(isset($_GET['sort'])&&isset($_GET['sortOrder'])) { $resultList = $query->orderBy([$_GET['sort']=>($_GET['sortOrder']=='asc'?SORT_ASC:SORT_DESC)])->all(); } else { $resultList = $query->orderBy(['ip_banned_id'=>SORT_ASC])->all(); } foreach($resultList as $result) { $data[] = array('ip_banned_id'=>$result->ip_banned_id,'ip'=>long2ip($result->ip),'expires'=>get_date($result->expires,'Y-m-d')); } $result = ["total"=>$countQuery->count(),"totalNotFiltered"=>$countQuery->count(),"rows"=>$data]; echo_json($result); } $this->tableTitle = array( array('field'=>'ip_banned_id','checkbox'=>false,'formatter'=>'checkboxFormatter','class'=>'col-md-2'), array('field'=>'ip','title'=>IpBanned::getAttributeName('ip'),'align'=>'center','class'=>'col-md-4'), array('field'=>'expires','title'=>IpBanned::getAttributeName('expires'),'align'=>'center','class'=>'col-md-4','sortable'=>true), array('field'=>'operate','title'=>IpBanned::getAttributeName('operate'),'align'=>'center','events'=>'window.operateEvents','formatter'=>'operateFormatter','class'=>'col-md-2'), ); $this->tableConfig = array('table'=>IpBanned::shortTableName(),'url'=>$this->createRealUrl(['admin/ipbanned/list']),'setFieldUrl'=>$this->createRealUrl(['admin/ipbanned/setfield']),'idField'=>IpBanned::modelPrimaryKey(),'checkbox'=>1,'dropmenu'=>1,'pagination'=>true,'pagesize'=>20,'refresh'=>true); return $this->render('list',array('model'=>new IpBanned())); } //添加 function actionAdd() { $model = new IpBanned(); if(Yii::$app->request->isAjax&&$model->load(Yii::$app->request->post())){ $exist = IpBanned::find()->where("ip='".ip2long($model->ip)."'")->exists(); if($exist) { $msgdata = ['error' => 1,'msg' => '已存在该IP,添加失败']; echo_json($msgdata); } $model->ip = ip2long($model->ip); $model->expires = str_to_time(strval($model->expires)); if(!$model->validate()) { $msgdata = ['error' => 1,'msg' => $model->returnFirstError()]; } else { if($model->save()) { $msgdata = ['error' => 0,'msg' => '操作成功']; } else { $msgdata = ['error' => 1,'msg' => '操作失败']; } } echo_json($msgdata); } return $this->renderAjax('add',array('model'=>$model)); } //批量删除 public function actionMultidelete() { $ids = Yii::$app->request->get('ids'); if(!empty($ids)) { IpBanned::deleteAll("ip_banned_id in(".$ids.")"); $msgdata = ['error' => 0,'msg' => '操作成功']; } else { $msgdata = ['error' => 1,'msg' => '请选择操作记录']; } echo_json($msgdata); } //删除 public function actionDel() { $id = $this->getKeyId('ip_banned_id'); $model = IpBanned::findOne($id); check_record_exists($model); if($model->delete()) { $msgdata = ['error' => 0,'msg' => '操作成功!']; } else { $msgdata = ['error' => 1,'msg' => '操作失败!']; } echo_json($msgdata); } }