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))); }
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))); }
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')]]); }
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]); }