Ejemplo n.º 1
0
 /**
  * Действие для создания игрока
  */
 public function action_create()
 {
     if (\Input::method() == 'POST') {
         $val = \Model_Player::validate('create');
         if ($val->run()) {
             // Валидация для фото
             $config = array('path' => DOCROOT . 'assets/img/players', 'randomize' => true, 'ext_whitelist' => array('img', 'jpg', 'jpeg', 'gif', 'png'));
             \Upload::process($config);
             if (\Upload::is_valid() or \Upload::get_errors()[0]['errors'][0]['error'] == 4) {
                 $player = \Model_Player::forge(array('player_name' => \Input::post('player_name'), 'is_core_player' => \Input::post('is_core_player', 0), 'position_id' => \Input::post('position_id'), 'birthdate' => strtotime(\Input::post('birthdate')), 'data' => \Input::post('data')));
                 if (!\Upload::get_errors()) {
                     // Сохраняем файл на диск
                     \Upload::save();
                     // Меняем размер изображения на 350px * 466px
                     $files = \Upload::get_files();
                     $path = $files[0]['saved_to'] . $files[0]['saved_as'];
                     \Image::load($path)->resize(350, 466, true)->save($path);
                     $player->image_uri = $files[0]['saved_as'];
                 }
                 // Пишем инфу в БД
                 if ($player and $player->save()) {
                     \Session::set_flash('success', 'Игрок создан.');
                     \Response::redirect_back('admin/players');
                 } else {
                     \Session::set_flash('error', 'Could not save Player.');
                 }
             }
         } else {
             \Session::set_flash('error', $val->error());
         }
         // Если есть ошибки при сохранении файла
         foreach (\Upload::get_errors() as $file) {
             if (isset($file['errors'][0]) and $file['errors'][0]['error'] != 4) {
                 \Session::set_flash('error', $file['errors'][0]['message']);
             }
         }
     }
     $this->template->content = \View::forge('players/create');
 }