Пример #1
0
 public static function boot()
 {
     parent::boot();
     static::created(function (User $user) {
         $castle = $user->castle()->create(['name' => $user->caste_name ?: $user->name]);
         $cb = CommentBlock::create();
         $cb->save();
         $user->commentBlock()->associate($cb);
         $user->save();
         // Задать позицию на карте и армию по-умолчанию.
         $location = Location::freeRandom();
         if (is_null($location)) {
             throw new GameException('Нельзя добавить новый замок. Все поле уже занято.');
         }
         $location->castle()->associate($castle);
         $location->save();
         $castle->army()->create(['name' => "{$castle->name}'s army", 'size' => 15, 'level' => 1]);
         // Создаем сооружения
         $castle->createBuildings();
         // Инициализировать ресурсы в замке
         $castle->initResources();
     });
     static::updated(function (User $user) {
         $castle = $user->castle;
         $castle->name = $user->castle_name;
         $castle->save();
     });
 }
 /**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function comments($id, $page)
 {
     $block = CommentBlock::find($id);
     $comments = $block->getPage($page);
     $page_count = $block->getPageCount();
     return view('comments/comments_block', ['block' => $block, 'comments' => $comments, 'page_count' => $page_count, 'page' => $page]);
 }
Пример #3
0
 public function postUpdate()
 {
     $data = Request::all();
     $user = Auth::user();
     $avatar = Avatar::find($user->avatar_id);
     $validator = $this->validator($data);
     if ($validator->passes()) {
         $avatar->update(['mustache_id' => $data['mustache_id'], 'amulet_id' => $data['amulet_id'], 'hair_id' => $data['hair_id'], 'flag_id' => $data['flag_id']]);
         $page = Input::get('page');
         $page = isset($page) ? Input::get('page') : 1;
         $comment_block_id = $user->comment_block_id;
         $block = CommentBlock::find($comment_block_id);
         $comments = $block->getPage($page);
         $page_count = $block->getPageCount();
         $message = 'Не удалось обновить профиль';
         $is_error = true;
         if ($user->update(['name' => $data['name'], 'castle_name' => $data['castle_name']])) {
             $is_error = false;
             $message = 'Профиль успешно обновлен';
         }
         return view('user/profile', ['user' => $user, 'block' => $block, 'comments' => $comments, 'page_count' => $page_count, 'page' => $page, 'avatar' => $avatar, 'hair_url' => Hair::find($avatar->hair_id)->image_url, 'mustache_url' => Mustache::find($avatar->mustache_id)->image_url, 'amulet_url' => Amulet::find($avatar->amulet_id)->image_url, 'flag_url' => Flag::find($avatar->flag_id)->image_url, 'is_error' => $is_error, 'message' => $message]);
     }
     return view('user/profile', ['user' => $user, 'block' => $block, 'comments' => $comments, 'page_count' => $page_count, 'page' => $page, 'avatar' => $avatar, 'hair_url' => Hair::find($avatar->hair_id)->image_url, 'mustache_url' => Mustache::find($avatar->mustache_id)->image_url, 'amulet_url' => Amulet::find($avatar->amulet_id)->image_url, 'flag_url' => Flag::find($avatar->flag_id)->image_url, 'is_error' => true, 'message' => $validator->messages()->first()]);
 }
Пример #4
0
 /**
  * Create a new user instance after a valid registration.
  *
  * @param  array  $data
  * @return User
  */
 protected function create(array $data)
 {
     $avatar = Avatar::create(['mustache_id' => 1, 'amulet_id' => 1, 'hair_id' => 1, 'flag_id' => 1]);
     $cb = CommentBlock::create();
     return User::create(['name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password']), 'avatar_id' => $avatar->id, 'comment_block_id' => $cb->id]);
 }