public function showIndex() { if (!Auth::check()) { return View::make('login', array('title' => 'edison')); } $category_names = array('ent' => 'エンターテイメント', 'music' => '音楽', 'sing' => '歌ってみた', 'play' => '演奏してみた', 'dance' => '踊ってみた', 'vocaloid' => 'VOCALOID', 'nicoindies' => 'ニコニコインディーズ', 'animal' => '動物', 'cooking' => '料理', 'nature' => '自然', 'travel' => '旅行', 'sport' => 'スポーツ', 'lecture' => 'ニコニコ動画講座', 'drive' => '車載動画', 'history' => '歴史', 'politics' => '政治', 'science' => '科学', 'tech' => 'ニコニコ技術部', 'handcraft' => 'ニコニコ手芸部', 'make' => '作ってみた', 'anime' => 'アニメ', 'game' => 'ゲーム', 'toho' => '東方', 'imas' => 'アイドルマスター', 'radio' => 'ラジオ', 'draw' => '描いてみた', 'are' => '例のアレ', 'diary' => '日記', 'other' => 'その他', 'r18' => 'R-18', 'original' => 'オリジナル', 'portrait' => '似顔絵', 'character' => 'キャラクター'); $all_items = Item::orderBy('created_at', 'desc')->take(10)->get(); foreach ($all_items as &$item) { $item['user'] = User::where('id', '=', $item->user_id)->get()[0]; $item['star_count'] = Starmap::where('item_id', '=', $item->id)->count(); $item['comment_count'] = Comment::where('item_id', '=', $item->id)->count(); if ($item->category_id != 0) { $item['category'] = Category::where('id', '=', $item->category_id)->get()[0]->content; } } $recent_works = Work::orderBy('created_at', 'desc')->take(10)->get(); foreach ($recent_works as &$work) { $item = Item::where('id', '=', $work->item_id)->get()[0]; $work['item'] = $item; $work['user'] = User::where('id', '=', $work->user_id)->get()[0]; $work['item_poster_screen_name'] = User::where('id', '=', $item->user_id)->get()[0]->screen_name; if ($item->category_id != 0) { $work['item_category'] = Category::where('id', '=', $item->category_id)->get()[0]->content; } } $user = User::where('screen_name', '=', Auth::user()->screen_name)->get()[0]; $data = array('title' => 'edison', 'user' => $user, 'all_items' => $all_items, 'recent_works' => $recent_works, 'categories' => $category_names, 'star_count' => Starmap::where('user_id', '=', $user->id)->count(), 'work_count' => Work::where('user_id', '=', Auth::user()->id)->count()); return View::make('index', $data); }
public function run() { $now = date('Y-m-d H:i:s'); for ($i = 0; $i < 8; $i++) { Starmap::create(array('user_id' => mt_rand(1, 4), 'item_id' => mt_rand(1, 8), 'watched_flag' => 0, 'created_at' => $now, 'updated_at' => $now)); } }
public function getStars($screen_name) { $user = User::where('screen_name', '=', $screen_name)->first(); $star_lists = Starmap::where('user_id', '=', $user->id)->orderby('created_at', 'desc')->take(10)->get(); $star_items = array(); foreach ($star_lists as &$star_list) { $star_list['item'] = Item::where('id', '=', $star_list->item_id)->get()[0]; $star_list['item']['user'] = User::where('id', '=', $star_list->item->user_id)->get()[0]; $star_list['item']['star_count'] = Starmap::where('id', '=', $star_list->item_id)->count(); $star_list['item']['comment_count'] = Comment::where('id', '=', $star_list->item_id)->count(); $star_list['category_name'] = Category::where('id', '=', $star_list->item->category_id)->first()->content; } return $star_lists; }
public function create($item_id) { $data = Input::all(); $item = Item::where('id', '=', $item_id)->get()[0]; $screen_name = User::where('id', '=', $item->user_id)->first()['attributes']['screen_name']; $now = date("Y-m-d H:i:s"); if ($item['type'] == 'video') { $reg = '/^http:\\/\\/www\\.nicovideo\\.jp\\/watch\\/(sm[0-9]+)/'; } else { $reg = '/^http:\\/\\/seiga\\.nicovideo\\.jp\\/seiga\\/im([0-9]+)/'; } preg_match($reg, $data['url'], $match); $nico_content = $match ? $match[1] : 0; if ($item['type'] == 'video') { $Niconico = new Niconico(); $ret = $Niconico->getThumbInfo($nico_content); $title = $ret->title; $thumbnail_url = $ret->thumbnail_url; } else { $title = ''; $thumbnail_url = "http://lohas.nicoseiga.jp/thumb/{$nico_content}q"; } if ($nico_content) { $work = new Work(); $work->item_id = $item_id; $work->user_id = Auth::user()->id; $work->url = $data['url']; $work->title = $title; $work->thumbnail_url = $thumbnail_url; $work->comment = nl2br(htmlspecialchars($data['comment'])); $work->created_at = date("Y-m-d H:i:s"); $work->updated_at = date("Y-m-d H:i:s"); $work->save(); Starmap::where('item_id', '=', $item_id)->update(array('notice_flag' => 1)); return Redirect::to("/{$screen_name}/items/{$item_id}"); } else { echo "その作品はあかん"; } }
public function postWatched() { $login_user_id = Auth::user()->id; Starmap::where('user_id', '=', $login_user_id)->where('item_id', '=', $_POST['item_id'])->update(array('watched_flag' => 1)); }
private function getStarStatus($auth_id, $item_id) { if (Starmap::where('user_id', '=', $auth_id)->where('item_id', '=', $item_id)->first() != NULL) { return true; } return false; }