/** * Lists all DcmdServicePoolNode models. * @return mixed */ public function actionIndex() { $params = array(); if (array_key_exists('DcmdServicePoolNodeSearch', Yii::$app->request->queryParams)) { $params['DcmdServicePoolNodeSearch'] = Yii::$app->request->queryParams['DcmdServicePoolNodeSearch']; if ($params['DcmdServicePoolNodeSearch']['app_id'] == "") { $params['DcmdServicePoolNodeSearch']['svr_id'] = ""; } if ($params['DcmdServicePoolNodeSearch']['svr_id'] == "") { $params['DcmdServicePoolNodeSearch']['svr_pool_id'] = ""; } } ///应用足用户只可查看所在组的应用 $app_con = ""; if (Yii::$app->user->getIdentity()->admin != 1) { $app_con = "svr_gid in (0"; $query = DcmdUserGroup::find()->andWhere(['uid' => Yii::$app->user->getId()])->asArray()->all(); if ($query) { foreach ($query as $item) { $app_con .= "," . $item['gid']; } } $app_con .= ")"; } $query = DcmdApp::find()->where($app_con)->orderBy('app_name')->asArray()->all(); $app = array(); foreach ($query as $item) { $app[$item['app_id']] = $item['app_alias']; } $svr = array(); if (array_key_exists('DcmdServicePoolNodeSearch', $params) && array_key_exists('app_id', $params['DcmdServicePoolNodeSearch'])) { $query = DcmdService::find()->andWhere(['app_id' => $params['DcmdServicePoolNodeSearch']['app_id']])->asArray()->all(); if ($query) { foreach ($query as $item) { $svr[$item['svr_id']] = $item['svr_name']; } } if (!array_key_exists($params['DcmdServicePoolNodeSearch']['svr_id'], $svr)) { $params['DcmdServicePoolNodeSearch']['svr_id'] = ""; } } $svr_pool = array(); if (array_key_exists('DcmdServicePoolNodeSearch', $params) && array_key_exists('svr_id', $params['DcmdServicePoolNodeSearch']) && array_key_exists($params['DcmdServicePoolNodeSearch']['svr_id'], $svr)) { $query = DcmdServicePool::find()->andWhere(['svr_id' => $params['DcmdServicePoolNodeSearch']['svr_id']])->asArray()->all(); if ($query) { foreach ($query as $item) { $svr_pool[$item['svr_pool_id']] = $item['svr_pool']; } } } if (array_key_exists('DcmdServicePoolNodeSearch', $params)) { if (!array_key_exists($params['DcmdServicePoolNodeSearch']['svr_pool_id'], $svr_pool)) { $params['DcmdServicePoolNodeSearch']['svr_pool_id'] = ""; } } $searchModel = new DcmdServicePoolNodeSearch(); $dataProvider = $searchModel->search($params); return $this->render('index', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'app' => $app, 'svr' => $svr, 'svr_pool' => $svr_pool]); }
/** * Lists all DcmdService models. * @return mixed */ public function actionIndex() { ///应用足用户只可查看所在组的应用 $app_con = ""; if (Yii::$app->user->getIdentity()->admin != 1) { $app_con = "svr_gid in (0"; $query = DcmdUserGroup::find()->andWhere(['uid' => Yii::$app->user->getId()])->asArray()->all(); if ($query) { foreach ($query as $item) { $app_con .= "," . $item['gid']; } } $app_con .= ")"; } $query = DcmdApp::find()->where($app_con)->orderBy('app_name')->asArray()->all(); $app = array(); foreach ($query as $item) { $app[$item['app_id']] = $item['app_name']; } $searchModel = new DcmdServiceSearch(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); return $this->render('index', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'app' => $app]); }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { ///应用足用户只可查看所在组的应用 $app_con = ""; if (Yii::$app->user->getIdentity()->admin != 1) { $app_con = "svr_gid in (0"; $query = DcmdUserGroup::find()->andWhere(['uid' => Yii::$app->user->getId()])->asArray()->all(); if ($query) { foreach ($query as $item) { $app_con .= "," . $item['gid']; } } $app_con .= ")"; } $query = DcmdApp::find()->where($app_con)->orderBy('app_name'); $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pagesize' => 20]]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['app_id' => $this->app_id, 'sa_gid' => $this->sa_gid, 'svr_gid' => $this->svr_gid, 'depart_id' => $this->depart_id, 'utime' => $this->utime, 'ctime' => $this->ctime, 'opr_uid' => $this->opr_uid]); $query->andFilterWhere(['like', 'app_name', $this->app_name])->andFilterWhere(['like', 'app_alias', $this->app_alias])->andFilterWhere(['like', 'comment', $this->comment]); return $dataProvider; }
/** * Updates an existing DcmdTaskTemplate model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($id) { ///只有管理员可以操作 if (Yii::$app->user->getIdentity()->admin != 1) { Yii::$app->getSession()->setFlash('success', NULL); Yii::$app->getSession()->setFlash('error', "对不起,你没有权限!"); return $this->redirect(array('dcmd-task-template/view', 'id' => $id)); } $model = $this->findModel($id); if ($model->load(Yii::$app->request->post())) { $model->load(Yii::$app->request->post()); $query = DcmdService::findOne($model->svr_id); $model->svr_name = $query['svr_name']; $query = DcmdTaskCmd::findOne($model->task_cmd_id); ////Yii::$app->request->post()['task_cmd_id']); $model->task_cmd = $query['task_cmd']; $model->utime = date('Y-m-d H:i:s'); $model->ctime = $model->utime; $model->opr_uid = Yii::$app->user->getId(); $arg = array(); foreach (Yii::$app->request->post() as $k => $v) { if (substr($k, 0, 3) == "Arg") { $arg[substr($k, 3)] = $v; } } $model->task_arg = arrToXml($arg); if ($model->save()) { Yii::$app->getSession()->setFlash('success', "修改成功"); $this->oprlog(2, "update task template:" . $model->task_tmpt_name); return $this->redirect(['view', 'id' => $model->task_tmpt_id]); } } ///获取产品信息 $query = DcmdApp::find()->asArray()->all(); $app = array("" => ""); if ($query) { foreach ($query as $item) { $app[$item['app_id']] = $item['app_name']; } } ///获取任务脚本 $query = DcmdTaskCmd::find()->asArray()->all(); $task_cmd = array("" => ""); if ($query) { foreach ($query as $item) { $task_cmd[$item['task_cmd_id']] = $item['task_cmd']; } } $arg_content = $this->actionGetTaskTypeArg($model->task_cmd_id, xmltoarray($model->task_arg)); return $this->render('update', ['model' => $model, 'app' => $app, 'task_cmd' => $task_cmd, 'svr' => array($model->svr_id => $model->svr_name), 'arg_content' => $arg_content]); }