/** * 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]); }
/** * Displays a single DcmdServicePool model. * @param integer $id * @return mixed */ public function actionView($id) { $searchModel = new DcmdServicePoolNodeSearch(); $con = array(); $con['DcmdServicePoolNodeSearch'] = array('svr_pool_id' => $id); if (array_key_exists('DcmdServicePoolNodeSearch', Yii::$app->request->queryParams)) { $con = array_merge($con, Yii::$app->request->queryParams); } $con['DcmdServicePoolNodeSearch']['svr_pool_id'] = $id; $dataProvider = $searchModel->search($con, false); $show_div = "dcmd-service-pool-node"; if (array_key_exists("show_div", Yii::$app->request->queryParams)) { $show_div = Yii::$app->request->queryParams['show_div']; } ///获取属性 $self_attr = DcmdServicePoolAttr::find()->andWhere(['svr_pool_id' => $id])->asArray()->all(); $def_attr = DcmdServicePoolAttrDef::find()->asArray()->all(); $attr_str = '<div id="w1" class="grid-view"> <table class="table table-striped table-bordered"><thead> <tr><th>属性名</th><th>值</th><th>操作</th></tr> </thead><tbody>'; $attr = array(); foreach ($self_attr as $item) { $attr_str .= '<tr><td>' . $item['attr_name'] . '</td><td>' . $item['attr_value'] . '</td><td><a href="/ducter/index.php?r=dcmd-service-pool-attr/update&id=' . $item['id'] . '&svr_pool_id=' . $id . '">修改</a></td></tr>'; $attr[$item['attr_name']] = $item['attr_name']; } foreach ($def_attr as $item) { if (array_key_exists($item['attr_name'], $attr)) { continue; } $attr_str .= '<tr><td>' . $item['attr_name'] . '</td><td>' . $item['def_value'] . '</td><td><a href="/ducter/index.php?r=dcmd-service-pool-attr/update&id=0&attr_id=' . $item['attr_id'] . '&svr_pool_id=' . $id . '">修改</a></td></tr>'; } $attr_str .= "</tbody></table></div>"; return $this->render('view', ['svr_pool_id' => $id, 'model' => $this->findModel($id), 'searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'show_div' => $show_div, 'attr_str' => $attr_str]); }