<?php namespace app\controllers; use app\components\Collection; use app\models\Host; use Yii; use yii\filters\AccessControl; use yii\web\Controller; use yii\web\Response; use yii\filters\VerbFilter; use app\models\LoginForm; use app\models\ContactForm; use yii\web\View; class SiteController extends Controller { /** * {@inheritdoc} */ public function behaviors() { return [ 'access' => [ 'class' => AccessControl::className(), 'rules' => [ [ 'actions' => ['index', 'logout'], 'allow' => true, 'roles' => ['@'], ], ], ], 'verbs' => [ 'class' => VerbFilter::className(), 'actions' => [ 'logout' => ['post'], ], ], ]; } /** * {@inheritdoc} */ public function actions() { return [ 'error' => [ 'class' => 'yii\web\ErrorAction', ], 'captcha' => [ 'class' => 'yii\captcha\CaptchaAction', 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null, ], ]; } /** * Displays homepage. * * @return string */ public function actionIndex() { //var_dump(Yii::$app->user->isGuest); //var_dump(Yii::$app->user->identity); $statistics = ['csv_date' => '', 'whois_status'=>[], 'itx_status'=>[], 'domain_count'=>0, 'domain_filtred'=>0, 'domain_whois'=>0, 'domain_tix'=>0]; $statistics['whois_status'] = (new yii\db\Query()) ->select(['COUNT(*) AS cnt', 'wis_status', 'status']) ->from('{{%host}}') ->groupBy(['wis_status', 'status']) ->all(); $statistics['itx_status'] = (new yii\db\Query()) ->select(['COUNT(*) AS cnt', 'tix_status', 'status']) ->from('{{%host}}') ->groupBy(['tix_status', 'status']) ->all(); $statistics['itx_status_pure'] = (new yii\db\Query()) ->select(['COUNT(*) AS cnt', 'tix_status', 'status']) ->from('{{%host}}') ->where( [ 'wis_status'=>Host::STATUS_WIS_FREE ] ) ->groupBy(['tix_status', 'status']) ->all(); $csv = Host::find()->select(['csv_date'])->orderBy('csv_date ASC')->one(); if ($csv) $statistics['csv_date'] = $csv['csv_date']; $cnt_domain = (new yii\db\Query()) ->select(['COUNT(`id`) AS cnt']) ->from('{{%host}}') ->one(); if ($cnt_domain && isset($cnt_domain['cnt'])) $statistics['domain_count'] = $cnt_domain['cnt']; unset($cnt_domain); $cnt_domain = (new yii\db\Query()) ->select(['COUNT(`id`) AS cnt']) ->from('{{%host}}') ->where(['status'=>Host::STATUS_ON]) ->one(); if ($cnt_domain && isset($cnt_domain['cnt'])) $statistics['domain_filtred'] = $cnt_domain['cnt']; unset($cnt_domain); $cnt_domain_wis = (new yii\db\Query()) ->select(['COUNT(`id`) AS cnt']) ->from('{{%host}}') ->where('wis_status<>:wis_status', array(':wis_status'=>Host::STATUS_WIS_NONE )) ->one(); if ($cnt_domain_wis && isset($cnt_domain_wis['cnt'])) $statistics['domain_whois'] = $cnt_domain_wis['cnt']; unset($cnt_domain_wis); $cnt_domain_wis = (new yii\db\Query()) ->select(['COUNT(`id`) AS cnt']) ->from('{{%host}}') ->where(['tix_status'=>Host::STATUS_TIX_CHECK]) ->one(); if ($cnt_domain_wis && isset($cnt_domain_wis['cnt'])) $statistics['domain_tix'] = $cnt_domain_wis['cnt']; unset($cnt_domain_wis); return $this->render('index', ['statistics'=>$statistics]); } }