Ejemplo n.º 1
0
 public function indexAction()
 {
     $_request = new Request();
     $title = MetaHelper::setPageTitle('Главная(admin)');
     $login_form = new LoginForm($_request);
     $errors = array();
     if ($_request->isPost()) {
         if ($login_form->validate()) {
             $user = new UserModel();
             $login = $_request->post('login');
             $hash_password = new Password($_request->post('password'));
             $res = $user->getUser($login, $hash_password);
             if (!$res) {
                 $msg = "No such user";
             } else {
                 Session::set('user', $res);
                 $msg = "You have successfully logged in!";
             }
             Session::setFlash($msg);
         } else {
             $errors = $login_form->showErrors();
         }
     }
     $model = new WeatherModel();
     $data = $model->getSourcelist();
     $args = ['errors' => $errors, 'data' => $data, 'page_title' => $title];
     return $this->render('index.phtml', $args, 'admin');
 }
Ejemplo n.º 2
0
 public function indexAction()
 {
     $msg = '';
     $title = MetaHelper::setPageTitle('Погода');
     $request = new Request();
     $model = new WeatherModel();
     /*
      * Getting Yandex weather data xml file
      * Getting default values
      */
     $yandex_xml = $model->getXmlYandexForecast();
     $yandex_default_values = $model->getDefaultYandexValues();
     if ($request->get('submit')) {
         $result = $model->searchByCityName($request->get('city_search'));
         if ($result) {
             $city_id = $result['city_id'];
             Cookie::set('city_id', $city_id);
         } else {
             $city_id = $yandex_default_values['default_value'];
             $msg = 'Город не найден в списке';
         }
     } else {
         $city_id = Cookie::get('city_id') ? Cookie::get('city_id') : $yandex_default_values['default_value'];
     }
     /*
      * Yandex xml data parsing
      */
     $weather = new Weather($yandex_xml['weather_source'], $city_id);
     $data = $weather->xmlProcessing();
     $city_name = array_shift($data);
     /*
      * Getting Yandex cities data
      */
     $yandex_cities_xml = $model->getXmlYandexCities();
     $countries = simplexml_load_file($yandex_cities_xml['cities_source'] . '.xml');
     /*
      * Getting Yandex data informer
      */
     $informer = $model->getInformerData();
     $args = ['page_title' => $title, 'data' => $data, 'countries' => $countries, 'city_name' => $city_name, 'informer' => $informer, 'msg' => $msg];
     /*
      * Rendering starting page
      */
     return $this->render("index.phtml", $args);
 }
Ejemplo n.º 3
0
 public function saveCitiesFromXmlAction()
 {
     $title = MetaHelper::setPageTitle('Загрузить города');
     $request = new Request();
     $model = new WeatherModel();
     $msg = '';
     if ($request->isPost()) {
         if ($request->post('submit')) {
             $data = Weather::parseXmlCitiesList($request->post('cities_source'));
             ini_set('max_execution_time', 900);
             foreach ($data as $value) {
                 $model->saveCitiesInDb($value['id'], $value, $value['country']);
             }
             if ($model == true) {
                 $msg = 'Загружено';
             } else {
                 $msg = 'Ошибка загрузки';
             }
         }
     }
     $args = ['page_title' => $title, 'msg' => $msg];
     return $this->render('saveCitiesFromXml.phtml', $args, 'admin');
 }