/** * Displays the admin page */ public function actionIndex() { $this->layout = '//layouts/column1'; $this->pageTitle = Yii::t('sourcebans', 'controllers.admin.index.title'); $this->breadcrumbs = array(Yii::t('sourcebans', 'controllers.admin.index.title')); $this->menu = array(array('label' => Yii::t('sourcebans', 'controllers.admin.admins.title'), 'url' => array('admin/admins'), 'itemOptions' => array('class' => 'admins'), 'visible' => Yii::app()->user->data->hasPermission('ADD_ADMINS', 'DELETE_ADMINS', 'EDIT_ADMINS', 'LIST_ADMINS')), array('label' => Yii::t('sourcebans', 'controllers.admin.bans.title'), 'url' => array('admin/bans'), 'itemOptions' => array('class' => 'bans'), 'visible' => Yii::app()->user->data->hasPermission('ADD_BANS', 'IMPORT_BANS', 'BAN_APPEALS', 'BAN_REPORTS')), array('label' => Yii::t('sourcebans', 'controllers.admin.groups.title'), 'url' => array('admin/groups'), 'itemOptions' => array('class' => 'groups'), 'visible' => Yii::app()->user->data->hasPermission('ADD_GROUPS', 'DELETE_GROUPS', 'EDIT_GROUPS', 'LIST_GROUPS')), array('label' => Yii::t('sourcebans', 'controllers.admin.servers.title'), 'url' => array('admin/servers'), 'itemOptions' => array('class' => 'servers'), 'visible' => Yii::app()->user->data->hasPermission('ADD_SERVERS', 'DELETE_SERVERS', 'EDIT_SERVERS', 'LIST_SERVERS')), array('label' => Yii::t('sourcebans', 'controllers.admin.games.title'), 'url' => array('admin/games'), 'itemOptions' => array('class' => 'games'), 'visible' => Yii::app()->user->data->hasPermission('ADD_GAMES', 'DELETE_GAMES', 'EDIT_GAMES', 'LIST_GAMES')), array('label' => Yii::t('sourcebans', 'controllers.admin.settings.title'), 'url' => array('admin/settings'), 'itemOptions' => array('class' => 'settings'), 'visible' => Yii::app()->user->data->hasPermission('SETTINGS'))); $demosize = Helpers::getDirectorySize(Yii::getPathOfAlias('webroot.demos')); $this->render('index', array('demosize' => Yii::app()->format->formatSize($demosize['size']), 'total_admins' => SBAdmin::model()->count(), 'total_archived_appeals' => SBAppeal::model()->countByAttributes(array('archived' => true)), 'total_archived_reports' => SBReport::model()->countByAttributes(array('archived' => true)), 'total_bans' => SBBan::model()->count(), 'total_blocks' => SBBlock::model()->count(), 'total_appeals' => SBAppeal::model()->countByAttributes(array('archived' => false)), 'total_servers' => SBServer::model()->count(), 'total_reports' => SBReport::model()->countByAttributes(array('archived' => false)))); }
private function _rconServer($command, $id = null) { if (empty($id)) { $servers = SBServer::model()->findAll(); } else { if (is_array($id)) { $servers = SBServer::model()->findAllByPk($id); } else { $servers = array(SBServer::model()->findByPk($id)); } } $results = array(); foreach ($servers as $server) { $rcon = new ServerRcon($server->host, $server->port, $server->rcon); $result = array('id' => $server->id, 'host' => $server->host, 'port' => $server->port); if (!$rcon->auth()) { $result['error'] = array('code' => 'ERR_INVALID_PASSWORD', 'message' => Yii::t('yii', '{attribute} is invalid.', array('{attribute}' => $server->getAttributeLabel('rcon')))); } else { $result['result'] = $rcon->execute($command); } $results[] = $result; } return empty($id) || is_array($id) ? $results : $results[0]; }
<?php echo $form->label($model, 'admin_id', array('class' => 'control-label')); ?> <div class="controls"> <?php echo $form->dropDownList($model, 'admin_id', CHtml::listData(SBAdmin::model()->findAll(array('order' => 'name')), 'id', 'name'), array('empty' => '- ' . Yii::t('sourcebans', 'None') . ' -')); ?> </div> </div> <div class="control-group"> <?php echo $form->label($model, 'server_id', array('class' => 'control-label')); ?> <div class="controls"> <?php echo $form->dropDownList($model, 'server_id', CHtml::listData(SBServer::model()->enabled()->with('game')->findAll(array('order' => 'game.name, t.host, t.port')), 'id', 'address', 'game.name'), array('empty' => '- ' . Yii::t('sourcebans', 'None') . ' -')); ?> </div> </div> <div class="control-group buttons"> <div class="controls"> <?php echo CHtml::submitButton(Yii::t('sourcebans', 'Search'), array('class' => 'btn')); ?> </div> </div> <?php $this->endWidget();
/** * Displays the servers page */ public function actionServers() { $this->pageTitle = Yii::t('sourcebans', 'controllers.default.servers.title'); $this->breadcrumbs = array(Yii::t('sourcebans', 'controllers.default.servers.title')); $servers = SBServer::model()->search(); $servers->criteria->scopes = 'enabled'; $servers->pagination = false; $this->render('servers', array('servers' => $servers)); }