/** * Действие для управления настройками */ public function action_index() { $settings = \Model_Striker::find('first'); $seasons = \Model_Season::get_seasons_for_select(); if (\Input::method() == 'POST') { $settings->show = \Input::post('show', 0); $settings->season_id = \Input::post('season_id'); $settings->save(); \Session::set_flash('success', 'Настройки обновлены.'); \Response::redirect_back('admin/competitions/strikers'); } \View::set_global('seasons', $seasons); \View::set_global('settings', $settings); $this->template->content = \View::forge('competitions/strikers/index', array('settings' => $settings)); }
/** * Действие для отображения бомбардиров */ public function action_strikers() { // Извлекаем настройки из БД $data['settings'] = \Model_Striker::find('first'); if ($data['settings']->show == 1) { // Считаем голы игроков $data['season'] = \Model_Season::find($data['settings']->season_id); \Config::load('my_config'); $team_id = \Config::get('main_team_id'); $sql = "SELECT COUNT(`m_e`.`player`) AS `goals`, `m_e`.`player` AS `player`\n FROM `matches_events` AS `m_e` \n LEFT JOIN `matches` AS `m` ON (`m_e`.`match_id` = `m`.`id`) \n WHERE `m_e`.`event_id` = 1 \n AND `m`.`status_id` = 2 \n AND `m_e`.`team_id` = {$team_id}\n AND (`m`.`team_1_id` = {$team_id} OR `m`.`team_2_id` = {$team_id})\n AND `m`.`season_id` = {$data['settings']->season_id} \n GROUP BY `m_e`.`player`\n ORDER BY `goals` DESC\n LIMIT 5"; $data['goals'] = \DB::query($sql)->execute(); } return \View::forge('widgets/strikers', $data, FALSE)->render(); }