Exemplo n.º 1
0
 protected function beforeSave()
 {
     if ($this->isNewRecord) {
         $this->file_size = $this->demo_real->getSize();
         $this->addr = Prefs::getRealIp();
         $this->upload_time = time();
         $this->demo_file = md5(microtime() . uniqid(rand(), true)) . "_" . intval($this->bid);
     }
     return parent::beforeSave();
 }
Exemplo n.º 2
0
 /**
  * Вывод всех банов
  */
 public function actionIndex()
 {
     if (Yii::app()->request->isAjaxRequest && isset($_POST['server'])) {
         if ($_POST['server'] == 0) {
             Yii::app()->end('$("#Bans_admin_nick").html("<option value=\\"0\\">Не выбрано</option>");');
         }
         $amxadmins = Amxadmins::model()->with('servers')->findAll('`address` = :addr', array(':addr' => $_POST['server']));
         $js = "<option>Любой админ</option>";
         foreach ($amxadmins as $admin) {
             $js .= "<option value=\"{$admin->steamid}\">{$admin->nickname}</option>";
         }
         Yii::app()->end("\$('#Bans_admin_nick').html('{$js}')");
     }
     $model = new Bans('search');
     $model->unsetAttributes();
     if (isset($_GET['Bans'])) {
         $model->attributes = $_GET['Bans'];
     }
     $select = "((ban_created+(ban_length*60)) > UNIX_TIMESTAMP() OR ban_length = 0) AND `expired` = 0";
     $dataProvider = new CActiveDataProvider('Bans', array('criteria' => array('condition' => Yii::app()->config->auto_prune ? $select : null, 'order' => '`ban_created` DESC'), 'pagination' => array('pageSize' => Yii::app()->config->bans_per_page)));
     // Проверяем IP посетителя, есть ли он в активных банах
     $check = Bans::model()->count("`player_ip` = :ip AND " . $select, array(':ip' => Prefs::getRealIp()));
     $this->render('index', array('dataProvider' => $dataProvider, 'model' => $model, 'check' => $check > 0 ? true : false));
 }
Exemplo n.º 3
0
 /**
  * Вывод всех банов
  */
 public function actionIndex()
 {
     // Выборка действующих банов
     $select = "((ban_created+(ban_length*60)) > UNIX_TIMESTAMP() OR ban_length = 0) AND `expired` = 0";
     // IP адрес клиента
     $clientIp = Prefs::getRealIp();
     // Проверяем IP клиента, есть ли он в активных банах
     $check = Bans::model()->count("`player_ip` = :ip AND " . $select, array(':ip' => $clientIp));
     // Модель для поиска
     $searchModel = new Bans('search');
     // Очистка аттрибутов модели
     $searchModel->unsetAttributes();
     if (isset($_GET['Bans'])) {
         // Обработка запроса на поиск
         // Задаем модели параметры из запроса
         $searchModel->attributes = $_GET['Bans'];
         // Формируем провайдер данных
         $dataProvider = $searchModel->search();
     } else {
         // Запроса нет - выводим все баны
         if (Yii::app()->config->auto_prune) {
             // Если включено в админке вывод только активных, в критерии зададим условие
             $condition = $select;
         } else {
             // Иначе запрос не формируем и выводим все баны
             $condition = '';
         }
         // Провайдер данных для всех банов
         $dataProvider = new CActiveDataProvider('Bans', array('criteria' => array('condition' => $condition, 'order' => '`ban_created` DESC'), 'pagination' => array('pageSize' => Yii::app()->config->bans_per_page)));
     }
     $this->render('index', array('dataProvider' => $dataProvider, 'searchModel' => $searchModel, 'check' => (bool) $check, 'clientIp' => $clientIp));
 }