public static function updateFavoris($db_name, $pseudo) { $twitter = Tweet::where('name_id', '=', $db_name->id)->orderBy('id_str', 'desc')->first(); $req_twitter = Twitter::getFavorites(array('since_id' => $twitter->id_str, 'screen_name' => $pseudo, 'format' => 'object')); if (isset($req_twitter->errors)) { echo 'Trop de requete, veuillez patienter.'; exit; } if (!$req_twitter) { $t = Tweet::where('name_id', '=', $db_name->id)->orderBy('id_str', 'desc')->paginate(20); return $t; } else { echo 'pas pareil ' . $twitter->id_str . ' // ' . $req_twitter[0]->id; TwitterFav::addFavoris($req_twitter, $db_name); $t = Tweet::where('name_id', '=', $db_name->id)->orderBy('id_str', 'desc')->paginate(20); return $t; } return; }
public function update() { $pseudos = Name::all(); $name = Input::get('pseudo'); $db_name = Name::where('screen_name', '=', $name)->first(); if (isset($db_name->screen_name) && strtolower($name) == strtolower($db_name->screen_name)) { // Le pseudo existe déjà dans la BDD, on affiche directement $twitter = Tweet::where('name_id', '=', $db_name->id)->paginate(20); return View::make('twitter', compact('twitter', 'pseudos'))->with(['name' => $name]); } else { $author = Twitter::getUserTimeline(array('screen_name' => $name, 'count' => 1)); if (isset($author->errors)) { $erreur = 'Il n\'existe pas d\'utilisateur au nom de ' . $name; return View::make('twitter')->with(['name' => $name, 'erreur' => $erreur]); } else { // Le pseudo n'existe pas dans la base de donnée, on créé une entrée et on récupère ses tweets favoris TwitterFav::createUser($author); $name_id = Name::where('screen_name', '=', $author[0]->user->screen_name)->first(); $req_twitter = Twitter::getFavorites(array('screen_name' => $name, 'count' => 200, 'format' => 'object')); if (isset($req_twitter->errors)) { echo 'Trop de requetes, veuillez patienter.'; exit; } while ($req_twitter != 0) { // On ajoute les tweets favoris en BDD $max_id = TwitterFav::addFavoris($req_twitter, $name_id); $req_twitter = Twitter::getFavorites(array('max_id' => $max_id, 'screen_name' => $name, 'count' => 200, 'format' => 'object')); if (isset($req_twitter->errors)) { echo 'Trop de requetes, veuillez patienter.'; exit; } sleep(10); } $twitter = Tweet::where('name_id', '=', $name_id->id)->paginate(25); $pseudos = Name::all(); return View::make('twitter', compact('twitter', 'pseudos'))->with(['name' => $name]); } } }