/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { ///非admin用户,可查看所属业务组内的任务 $svr_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)->asArray()->all(); $app_con = "app_id in (0"; foreach ($query as $item) { $app_con .= "," . $item['app_id']; } $app_con .= ")"; $query = DcmdService::find()->where($app_con)->asArray()->all(); $svr_con = "svr_id in (0"; foreach ($query as $item) { $svr_con .= "," . $item['svr_id']; } $svr_con .= ")"; } $query = DcmdTaskHistory::find()->where($svr_con)->orderBy('task_id desc'); $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pagesize' => 20]]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['task_id' => $this->task_id, 'depend_task_id' => $this->depend_task_id, 'svr_id' => $this->svr_id, 'update_env' => $this->update_env, 'update_tag' => $this->update_tag, 'state' => $this->state, 'freeze' => $this->freeze, 'valid' => $this->valid, 'pause' => $this->pause, 'concurrent_rate' => $this->concurrent_rate, 'timeout' => $this->timeout, 'auto' => $this->auto, 'process' => $this->process, 'utime' => $this->utime, 'ctime' => $this->ctime, 'opr_uid' => $this->opr_uid]); $query->andFilterWhere(['like', 'task_name', $this->task_name])->andFilterWhere(['like', 'task_cmd', $this->task_cmd])->andFilterWhere(['like', 'depend_task_name', $this->depend_task_name])->andFilterWhere(['like', 'svr_name', $this->svr_name])->andFilterWhere(['like', 'svr_path', $this->svr_path])->andFilterWhere(['like', 'tag', $this->tag])->andFilterWhere(['like', 'err_msg', $this->err_msg])->andFilterWhere(['like', 'task_arg', $this->task_arg])->andFilterWhere(['like', 'comment', $this->comment]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { ///应用组用户只可查看所在组的应用 $svr_pool_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)->asArray()->all(); $svr_pool_con = "app_id in (0"; foreach ($query as $item) { $svr_pool_con .= "," . $item['app_id']; } $svr_pool_con .= ")"; } $query = DcmdServicePool::find()->where($svr_pool_con)->orderBy('svr_pool'); $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pagesize' => 20]]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['svr_pool_id' => $this->svr_pool_id, 'svr_id' => $this->svr_id, 'app_id' => $this->app_id, 'utime' => $this->utime, 'ctime' => $this->ctime, 'opr_uid' => $this->opr_uid]); $query->andFilterWhere(['like', 'svr_pool', $this->svr_pool])->andFilterWhere(['like', 'repo', $this->repo])->andFilterWhere(['like', 'env_ver', $this->env_ver])->andFilterWhere(['like', 'comment', $this->comment]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params, $pagesize = 20) { ///应用组用户只可查看所在组的应用的模板 $task_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)->asArray()->all(); $task_con = "app_id in (0"; foreach ($query as $item) { $task_con .= "," . $item['app_id']; } $task_con .= ")"; } $query = DcmdTaskTemplate::find()->where($task_con)->orderBy('task_tmpt_name'); $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pagesize' => $pagesize]]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['task_tmpt_id' => $this->task_tmpt_id, 'task_cmd_id' => $this->task_cmd_id, 'svr_id' => $this->svr_id, 'app_id' => $this->app_id, 'update_env' => $this->update_env, 'concurrent_rate' => $this->concurrent_rate, 'timeout' => $this->timeout, 'process' => $this->process, 'auto' => $this->auto, 'utime' => $this->utime, 'ctime' => $this->ctime, 'opr_uid' => $this->opr_uid]); $query->andFilterWhere(['like', 'task_tmpt_name', $this->task_tmpt_name])->andFilterWhere(['like', 'task_cmd', $this->task_cmd])->andFilterWhere(['like', 'svr_name', $this->svr_name])->andFilterWhere(['like', 'task_arg', $this->task_arg])->andFilterWhere(['like', 'comment', $this->comment]); return $dataProvider; }
/** * 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]); }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = DcmdUserGroup::find()->andWhere(['gid' => $params['gid']]); $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pagesize' => 20]]); /*if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere([ 'id' => $this->id, 'uid' => $this->uid, 'gid' => $this->gid, 'utime' => $this->utime, 'ctime' => $this->ctime, 'opr_uid' => $this->opr_uid, ]);*/ return $dataProvider; }
/** * Displays a single DcmdUser model. * @param integer $id * @return mixed */ public function actionView($id) { if (Yii::$app->user->getIdentity()->admin != 1) { Yii::$app->getSession()->setFlash('success', NULL); Yii::$app->getSession()->setFlash('error', "对不起, 你没有权限!"); return $this->redirect(array('index')); } $query = DcmdUserGroup::find()->andWhere("uid=" . $id)->asArray()->all(); $gids = "gid in (0"; ///array(0,); foreach ($query as $item) { $gids = $gids . "," . $item['gid']; } ////array_push($gids ,$item['gid']); $gids = $gids . ")"; $searchModel = new DcmdGroupSearch(); $dataProvider = $searchModel->search(array(), $gids); return $this->render('view', ['model' => $this->findModel($id), 'searchModel' => $searchModel, 'dataProvider' => $dataProvider]); }
/** * Creates a new DcmdUserGroup model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate($gid) { if (Yii::$app->user->getIdentity()->admin != 1 || Yii::$app->user->getIdentity()->sa != 1) { Yii::$app->getSession()->setFlash('success', NULL); Yii::$app->getSession()->setFlash('error', "对不起,你没有权限!"); return $this->redirect(array('dcmd-group/index', ['id' => $gid])); } $query = DcmdUserGroup::find()->andWhere(["gid" => $gid])->asArray()->all(); $uids = "uid not in (0"; foreach ($query as $item) { $uids .= "," . $item['uid']; } $uids .= ")"; $query = DcmdGroup::findOne($gid); if ($query['gtype'] == 1) { $uids .= " and admin = 1"; } else { $uids .= " and admin = 0"; } $searchModel = new DcmdUserSearch(); $dataProvider = $searchModel->search(array(), $uids); return $this->render('create', ['gid' => Yii::$app->request->queryParams['gid'], 'gname' => Yii::$app->request->queryParams['gname'], 'searchModel' => $searchModel, 'dataProvider' => $dataProvider]); }
/** * 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, $qstr = NULL) { ///非系统用户只能查看授权的操作 if (Yii::$app->user->getIdentity()->admin != 1) { $gstr = " gid in (0"; $query = DcmdUserGroup::find()->andWhere(['uid' => Yii::$app->user->getId()])->asArray()->all(); if ($query) { foreach ($query as $item) { $gstr .= "," . $item['gid']; } } $gstr .= ")"; $query = DcmdGroupCmd::find()->where($gstr)->asArray()->all(); if ($qstr == NULL) { $qstr = " opr_cmd_id in (0"; } else { $qstr .= " and opr_cmd_id in (0"; } foreach ($query as $item) { $qstr .= "," . $item['opr_cmd_id']; } $qstr .= ")"; } if ($qstr) { $query = DcmdOprCmd::find()->andWhere($qstr)->orderBy('opr_cmd'); } else { $query = DcmdOprCmd::find(); } $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pagesize' => 20]]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['opr_cmd_id' => $this->opr_cmd_id, 'timeout' => $this->timeout, 'utime' => $this->utime, 'ctime' => $this->ctime, 'opr_uid' => $this->opr_uid]); $query->andFilterWhere(['like', 'opr_cmd', $this->opr_cmd])->andFilterWhere(['like', 'ui_name', $this->ui_name])->andFilterWhere(['like', 'run_user', $this->run_user])->andFilterWhere(['like', 'script_md5', $this->script_md5])->andFilterWhere(['like', 'comment', $this->comment]); return $dataProvider; }
public function actionCreateByCmd($task_cmd_id) { if (Yii::$app->request->post()) { ///提交新建任务 #var_dump(Yii::$app->request->post()); exit ; $dcmd_task = new DcmdTask(); $post_task = Yii::$app->request->post()['DcmdTask']; $dcmd_task->task_name = Yii::$app->request->post()['task_cmd_prv'] . '-' . $post_task['task_name']; $dcmd_task->task_cmd = $post_task['task_cmd']; $dcmd_task->depend_task_id = 0; $dcmd_task->depend_task_name = "NULL"; $dcmd_task->app_id = $post_task['app_id']; $dcmd_app = DcmdApp::findOne($post_task['app_id']); $dcmd_task->app_name = $dcmd_app->app_name; $dcmd_task->svr_id = $post_task['svr_id']; $dcmd_svr = DcmdService::findOne($post_task['svr_id']); $dcmd_task->svr_name = $dcmd_svr->svr_name; /// $post_task['svr_name']; $dcmd_task->svr_path = $dcmd_svr->svr_path; ///$post_task['svr_path']; $dcmd_task->node_multi_pool = $dcmd_svr->node_multi_pool; $dcmd_task->err_msg = ' '; $dcmd_task->tag = $post_task['tag']; $dcmd_task->update_env = $post_task['update_env']; $dcmd_task->update_tag = $post_task['update_tag']; $dcmd_task->state = 0; $dcmd_task->freeze = 0; $dcmd_task->valid = 1; $dcmd_task->pause = 0; $dcmd_task->concurrent_rate = $post_task['concurrent_rate']; $dcmd_task->timeout = $post_task['timeout']; $dcmd_task->auto = $post_task['auto']; $dcmd_task->process = $post_task['process']; $dcmd_task->utime = date('Y-m-d H:i:s'); $dcmd_task->ctime = $dcmd_task->utime; $dcmd_task->opr_uid = Yii::$app->user->getId(); $dcmd_task->comment = $post_task['comment']; $arg = array(); $opr_log = new DcmdOprLog(); $opr_log->log_table = "dcmd_task"; $opr_log->opr_type = 1; $opr_log->sql_statement = "insert task:" . $dcmd_task->task_name; $opr_log->ctime = date('Y-m-d H:i:s'); $opr_log->opr_uid = Yii::$app->user->getId(); $opr_log->save(); foreach (Yii::$app->request->post() as $k => $v) { if (substr($k, 0, 3) == "Arg") { $arg[substr($k, 3)] = $v; } } $dcmd_task->task_arg = arrToXml($arg); if ($dcmd_task->save()) { ///设备池默认属性 $svr_pool_attr_def = array(); $tmp_query = DcmdServicePoolAttrDef::find()->asArray()->all(); foreach ($tmp_query as $item) { $svr_pool_attr_def[$item['attr_name']] = $item['def_value']; } ///保存服务池子信息 if (array_key_exists("selection", Yii::$app->request->post())) { $svr_pool = Yii::$app->request->post()["selection"]; foreach ($svr_pool as $k => $svr_pool_id) { $svr_query = DcmdService::findOne($dcmd_task->svr_id); $svr_pool_query = DcmdServicePool::findOne($svr_pool_id); $svr_pool_node_query = DcmdServicePoolNode::find()->andWhere(['svr_pool_id' => $svr_pool_id])->asArray()->all(); $dcmd_task_service_pool = new DcmdTaskServicePool(); $dcmd_task_service_pool->task_id = $dcmd_task->task_id; $dcmd_task_service_pool->task_cmd = $dcmd_task->task_cmd; $dcmd_task_service_pool->svr_pool = $svr_pool_query['svr_pool']; $dcmd_task_service_pool->svr_pool_id = $svr_pool_id; $dcmd_task_service_pool->env_ver = $svr_pool_query['env_ver']; $dcmd_task_service_pool->repo = $svr_pool_query['repo']; $dcmd_task_service_pool->run_user = $svr_query['run_user']; $dcmd_task_service_pool->undo_node = count($svr_pool_node_query); $dcmd_task_service_pool->doing_node = 0; $dcmd_task_service_pool->finish_node = 0; $dcmd_task_service_pool->fail_node = 0; $dcmd_task_service_pool->ignored_fail_node = 0; $dcmd_task_service_pool->ignored_doing_node = 0; $dcmd_task_service_pool->state = 0; $dcmd_task_service_pool->utime = date('Y-m-d H:i:s'); $dcmd_task_service_pool->ctime = $dcmd_task_service_pool->utime; $dcmd_task_service_pool->opr_uid = Yii::$app->user->getId(); if (!$dcmd_task_service_pool->save()) { Yii::$app->getSession()->setFlash('error', "保存服务池子失败"); } else { $tm = date('Y-m-d H:i:s'); ///保存服务池属性 $svr_pool_attr = array(); $tmp_query = DcmdServicePoolAttr::find()->andWhere(['svr_pool_id' => $svr_pool_id])->asArray()->all(); foreach ($tmp_query as $item) { $svr_pool_attr[$item['attr_name']] = $item['attr_value']; } foreach ($svr_pool_attr_def as $name => $value) { $dcmd_task_service_pool_attr = new DcmdTaskServicePoolAttr(); $dcmd_task_service_pool_attr->task_id = $dcmd_task->task_id; $dcmd_task_service_pool_attr->app_id = $dcmd_task->app_id; $dcmd_task_service_pool_attr->svr_id = $dcmd_task->svr_id; $dcmd_task_service_pool_attr->svr_pool_id = $svr_pool_id; $dcmd_task_service_pool_attr->attr_name = $name; if (array_key_exists($name, $svr_pool_attr)) { $dcmd_task_service_pool_attr->attr_value = $svr_pool_attr[$name]; } else { $dcmd_task_service_pool_attr->attr_value = $value; } $dcmd_task_service_pool_attr->utime = $tm; $dcmd_task_service_pool_attr->ctime = $tm; $dcmd_task_service_pool_attr->opr_uid = Yii::$app->user->getId(); $dcmd_task_service_pool_attr->save(); } } } } } ///选择服务池子 return $this->redirect(array('select-service-pool-node', 'task_id' => $dcmd_task->task_id)); } else { ///添加新任务 ///获取改用户可以操作的产品列表 $group = "select app_id, app_name from dcmd_app where "; $query = DcmdUserGroup::find()->andWhere(['uid' => Yii::$app->user->getId()])->all(); if (Yii::$app->user->getIdentity()->admin == 1) { $group .= " sa_gid in (0"; } else { $group .= " svr_gid in (0"; } if ($query) { foreach ($query as $item) { $group .= "," . $item->gid; } } $group .= ")"; $query = DcmdApp::findBySql($group)->all(); $app = array("" => ""); if ($query) { foreach ($query as $item) { $app[$item->app_id] = $item->app_name; } } $task_cmd = DcmdTaskCmd::findOne($task_cmd_id); $model = new DcmdTask(); $model->depend_task_id = 0; $model->depend_task_name = ""; $model->task_cmd = $task_cmd->task_cmd; $task_cmd_prv = $task_cmd->ui_name . '-' . date("YmdHis"); $args = $this->showTaskArg(arrToXml(array()), $task_cmd_id); return $this->render('create_by_cmd', ['model' => $model, 'app' => $app, 'task_cmd_prv' => $task_cmd_prv, 'args' => $args]); } echo "未知错误!"; exit; }
/** * Creates a new DcmdNodeGroup model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { if (Yii::$app->user->getIdentity()->admin != 1) { Yii::$app->getSession()->setFlash('success', NULL); Yii::$app->getSession()->setFlash('error', "对不起, 你没有权限!!"); return $this->redirect(array('index')); } $model = new DcmdNodeGroup(); $sys_group = $this->getGroups(); $query = DcmdUserGroup::find()->andWhere(['uid' => Yii::$app->user->getId()])->asArray()->all(); $groups = array(); foreach ($query as $item) { $groups[$item['gid']] = $sys_group[$item['gid']]; } if (Yii::$app->request->post()) { $model->utime = date('Y-m-d H:i:s'); $model->ctime = date('Y-m-d H:i:s'); $model->opr_uid = Yii::$app->user->getId(); } if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->ngroup_id]); } else { return $this->render('create', ['model' => $model, 'groups' => $groups]); } }
/** * Creates a new DcmdTaskTemplate model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { ///只有管理员可以 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/index')); } $model = new DcmdTaskTemplate(); if (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(1, "insert task template:" . $model->task_tmpt_name); return $this->redirect(['view', 'id' => $model->task_tmpt_id]); } } ///获取admin用户所在系统组的产品 $temp = DcmdUserGroup::find()->andWhere(['uid' => Yii::$app->user->getId()])->asArray()->all(); $sys_ar = array(); foreach ($temp as $item) { $sys_ar[$item['gid']] = $item['gid']; } ///获取产品信息 $query = DcmdApp::find()->asArray()->all(); $app = array("" => ""); foreach ($query as $item) { if (array_key_exists($item['sa_gid'], $sys_ar)) { $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['ui_name']; } } return $this->render('create', ['model' => $model, 'app' => $app, 'task_cmd' => $task_cmd]); }
/** * Updates an existing DcmdApp model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($id) { $model = $this->findModel($id); ///判断用户所属的系统组是否和该应用相同 $query = DcmdUserGroup::findOne(['uid' => Yii::$app->user->getId(), 'gid' => $model['sa_gid']]); if ($query == NULL) { Yii::$app->getSession()->setFlash('success', NULL); Yii::$app->getSession()->setFlash('error', "对不起, 你没有权限!"); return $this->redirect(array('dcmd-app/view', 'id' => $id)); } $depart = $this->getDepart(); $user_group = $this->getUserGroup(); $sys_user_group = array(); $sys_tmp = $user_group["sys"]; $svr_user_group = $user_group["svr"]; ///仅仅可以创建所属系统组的应用 $query = DcmdUserGroup::find()->andWhere(['uid' => Yii::$app->user->getId()])->asArray()->all(); foreach ($query as $item) { if (array_key_exists($item['gid'], $sys_tmp)) { $sys_user_group[$item['gid']] = $sys_tmp[$item['gid']]; } } if (Yii::$app->request->post()) { $model->utime = date('Y-m-d H:i:s'); $model->opr_uid = Yii::$app->user->getId(); if ($model->load(Yii::$app->request->post()) && $model->save()) { $this->oprlog(2, "update app:" . $model->app_name); Yii::$app->getSession()->setFlash('success', '修改成功!'); return $this->redirect(['view', 'id' => $model->app_id, 'sys_user_group' => $sys_user_group, 'svr_user_group' => $svr_user_group, 'depart' => $depart]); } $err_str = ""; foreach ($model->getErrors() as $k => $v) { $err_str .= $k . ":" . $v[0] . "<br>"; } Yii::$app->getSession()->setFlash('error', "添加失败:" . $err_str); } return $this->render('update', ['model' => $model, 'sys_user_group' => $sys_user_group, 'svr_user_group' => $svr_user_group, 'depart' => $depart]); }
public function actionRun($id, $ips = "") { ///判断用户权限 if (Yii::$app->user->getIdentity()->admin != 1) { $gstr = " gid in (0"; $query = DcmdUserGroup::find()->andWhere(['uid' => Yii::$app->user->getId()])->asArray()->all(); foreach ($query as $item) { $gstr .= "," . $item['gid']; } $gstr .= ")"; $query = DcmdGroupRepeatCmd::find()->where($gstr)->asArray()->all(); if (count($query) == 0) { Yii::$app->getSession()->setFlash('error', '对不起, 你没有权限!'); return $this->redirect(['dcmd-opr-cmd-repeat-exec/index']); } } $opr = $this->findModel($id); $change = true; if ($opr->arg_mutable == "0") { $change = false; } $arg = $this->getArg($opr->arg, $change, $opr->opr_cmd); if ($opr->ip_mutable == "1" && $ips != "") { $opr->ip = $ips; } return $this->render('run', ['opr' => $opr, 'arg' => $arg]); }
public function actionRun($opr_cmd_id, $ips = "") { ///判断用户权限 if (Yii::$app->user->getIdentity()->admin != 1) { $query = DcmdUserGroup::find()->andWhere(['uid' => Yii::$app->user->getId()])->asArray()->all(); $gstr = " opr_cmd_id = " . $opr_cmd_id . " and gid in (0"; foreach ($query as $item) { $gstr .= "," . $item['gid']; } $gstr .= ")"; $query = DcmdGroupCmd::find()->where($gstr)->asArray()->all(); if (count($query) == 0) { Yii::$app->getSession()->setFlash('error', '对不起, 你没有权限!'); return $this->redirect(['dcmd-opr-cmd/index']); } } $opr = $this->findModel($opr_cmd_id); $arg = $this->showTaskArg($opr_cmd_id); return $this->render('run', ['opr' => $opr, 'arg' => $arg, 'ips' => $ips]); }