Ejemplo n.º 1
0
 public function run()
 {
     $request = Yii::$app->getRequest();
     $user = User::findOne(['screen_name' => $request->get('screen_name')]);
     if (!$user) {
         throw new NotFoundHttpException(Yii::t('app', 'Could not find user'));
     }
     // リスト表示モード切替
     if ($request->get('v') != '') {
         $view = $request->get('v');
         if ($view === 'simple' || $view === 'standard') {
             Yii::$app->response->cookies->add(new Cookie(['name' => 'battle-list', 'value' => $view, 'expire' => time() + 86400 * 366]));
         }
         $next = $_GET;
         unset($next['v']);
         $next[0] = 'show/user';
         $this->controller->redirect(Url::to($next));
         return;
     }
     $battle = Battle::find()->with(['lobby', 'rule', 'rule.mode', 'map', 'weapon', 'weapon.subweapon', 'weapon.special', 'rank', 'rankAfter']);
     $filter = new BattleFilterForm();
     $filter->load($_GET);
     $filter->screen_name = $user->screen_name;
     if ($filter->validate()) {
         $battle->filter($filter);
     }
     $summary = $battle->summary;
     $permLink = Url::to(array_merge(['show/user', 'screen_name' => $user->screen_name], $filter->hasErrors() ? [] : $filter->toPermLink()), true);
     $isPjax = $request->isPjax;
     $template = $this->viewMode === 'simple' ? 'user.simple.tpl' : 'user.tpl';
     return $this->controller->render($template, array_merge(['user' => $user, 'battleDataProvider' => new ActiveDataProvider(['query' => $battle, 'pagination' => ['pageSize' => 100]]), 'summary' => $summary, 'filter' => $filter, 'permLink' => $permLink], $this->makeFilterFormData($user)));
 }
Ejemplo n.º 2
0
 public function run()
 {
     $request = Yii::$app->getRequest();
     $user = User::findOne(['screen_name' => $request->get('screen_name')]);
     if (!$user) {
         throw new NotFoundHttpException(Yii::t('app', 'Could not find user'));
     }
     $filter = new BattleFilterForm();
     $filter->load($_GET);
     $filter->screen_name = $user->screen_name;
     $filter->validate();
     return $this->controller->render('user-stat-by-map-rule.tpl', array_merge(['user' => $user, 'filter' => $filter], $this->getData($user, $filter), $this->makeFilterFormData($user)));
 }
Ejemplo n.º 3
0
 public function run()
 {
     $request = Yii::$app->getRequest();
     $user = User::findOne(['screen_name' => $request->get('screen_name')]);
     if (!$user) {
         throw new NotFoundHttpException(Yii::t('app', 'Could not find user'));
     }
     $battle = $user->getBattles()->with(['rule', 'map', 'weapon', 'weapon.subweapon', 'weapon.special']);
     $filter = new BattleFilterForm();
     $filter->load($_GET);
     $filter->screen_name = $user->screen_name;
     if ($filter->validate()) {
         $battle->filter($filter);
     }
     $isPjax = $request->isPjax;
     return $this->controller->render('user.tpl', ['user' => $user, 'battleDataProvider' => new ActiveDataProvider(['query' => $battle, 'pagination' => ['pageSize' => 100]]), 'filter' => $filter, 'rules' => $isPjax ? [] : $this->makeRulesList(), 'maps' => $isPjax ? [] : $this->makeMapsList(), 'weapons' => $isPjax ? [] : $this->makeWeaponsList(), 'results' => ['' => Yii::t('app', 'Won / Lost'), 'win' => Yii::t('app', 'Won'), 'lose' => Yii::t('app', 'Lost')]]);
 }
Ejemplo n.º 4
0
 public function run()
 {
     $filter = new BattleFilterForm();
     $filter->load($_GET);
     $filter->validate();
     $data = [];
     $modes = GameMode::find()->orderBy('id')->all();
     foreach ($modes as $mode) {
         $tmpData = [];
         foreach ($mode->rules as $rule) {
             $tmpData[] = (object) ['key' => $rule->key, 'name' => Yii::t('app-rule', $rule->name), 'data' => $this->makeData($rule, $filter)];
         }
         usort($tmpData, function ($a, $b) {
             return strcmp($a->name, $b->name);
         });
         $data = array_merge($data, $tmpData);
     }
     return $this->controller->render('kd-win.tpl', ['rules' => $data, 'maps' => $this->maps, 'weapons' => $this->weapons, 'filter' => $filter]);
 }