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]); }
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()]); }
/** * 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]); }