public function getLastPageAdded($idiom, $limit = 4)
 {
     $where = strtolower($idiom);
     $var_cache = 'lastFacebookPageAdded' . ucfirst($where) . $limit;
     if (!Cache::has($var_cache)) {
         $ranking = FacebookPage::take($limit)->orderBy('id_page', 'DESC');
         switch ($where) {
             case 'all':
                 $ranking->whereParent(0)->orWhereRaw('id_page = parent');
                 break;
             default:
                 $country_idiom = FacebookCountry::whereIdiom($where)->first();
                 if ($country_idiom) {
                     $ranking->whereIdiom($where)->where(function ($query) {
                         $query->whereParent(0)->orWhereRaw('id_page = parent');
                     });
                 } else {
                     return 'Invalid method';
                 }
         }
         $ranking = $ranking->get(['fb_id', 'username', 'name']);
         $pages = array();
         foreach ($ranking as $key => $value) {
             $cache = NULL;
             $cache['username'] = strtolower($value['username']);
             $cache['name'] = $value['name'];
             $cache['picture'] = 'https://graph.facebook.com/' . $value['fb_id'] . '/picture?type=large';
             $pages[] = $cache;
         }
         Cache::put($var_cache, $pages, 1440);
     }
     return Cache::get($var_cache);
 }
 public function getRankingPageGrow($idiom)
 {
     $where = ucfirst($idiom);
     $var_cache = 'rankingGrowLikes' . $where;
     if (!Cache::has($var_cache)) {
         $ranking = FacebookPage::take(4)->orderBy('likes_grow_30', 'DESC');
         switch ($where) {
             case 'All':
                 $ranking->whereParent(0)->orWhereRaw('id_page = parent');
                 break;
             case 'Es':
                 $ranking->whereIdiom('es')->whereParent(0)->orWhereRaw('id_page = parent');
                 break;
                 /*case 'It':
                   $ranking->whereIdiom('it')->whereParent(0)->orWhereRaw('id_page = parent');
                   break;*/
             /*case 'It':
               $ranking->whereIdiom('it')->whereParent(0)->orWhereRaw('id_page = parent');
               break;*/
             default:
                 return 'Invalid method';
         }
         $ranking = $ranking->get(['fb_id', 'username', 'name', 'likes', 'likes_grow_30']);
         $pages = array();
         foreach ($ranking as $key => $value) {
             $cache = NULL;
             $cache['username'] = strtolower($value['username']);
             $cache['name'] = $value['name'];
             $cache['picture'] = 'https://graph.facebook.com/' . $value['fb_id'] . '/picture?type=large';
             $cache['percent'] = 0;
             if ($value['likes'] - $value['likes_grow_30'] > 0) {
                 $cache['percent'] = $this->owlooFormatPorcent($value['likes_grow_30'], $value['likes'] - $value['likes_grow_30']);
             }
             $cache['grow_30'] = $this->owloo_number_format($value['likes_grow_30']);
             $pages[] = $cache;
         }
         Cache::put($var_cache, $pages, 1440);
     }
     return Cache::get($var_cache);
 }
 public function getRankingPageDev($where, $category, $page = 1)
 {
     $where = ucfirst($where);
     if (!Cache::has('rankingLikes' . $where . 'PageCat' . $category . '_' . ($page - 1) * 20)) {
         if ($where != 'World' && $where != 'Hispanic') {
             $ranking = FacebookPageLocalFans::take(20)->skip(($page - 1) * 20)->orderBy('likes_local_fans', 'DESC')->orderBy('likes', 'DESC');
         } else {
             $ranking = FacebookPage::take(20)->skip(($page - 1) * 20)->orderBy('likes', 'DESC')->orderBy('talking_about', 'DESC');
         }
         switch ($where) {
             case 'World':
                 $ranking->whereParent(0);
                 break;
             case 'Hispanic':
                 $ranking->whereIdiom('es')->whereParent(0);
                 break;
             default:
                 if (FacebookPage::whereCode(strtolower($where))) {
                     $ranking->where('country_code', strtoupper($where));
                 } else {
                     return 'Invalid method';
                 }
         }
         if ($category != 'all' && is_numeric($category)) {
             $ranking->where('Category_id', $category);
         }
         if ($where != 'World' && $where != 'Hispanic') {
             $ranking = $ranking->get(['fb_id', 'username', 'name', 'is_verified', 'likes', 'likes_grow_7', 'talking_about', 'likes_local_fans']);
         } else {
             $ranking = $ranking->get(['fb_id', 'username', 'name', 'is_verified', 'likes', 'likes_grow_7', 'talking_about', 'country_code', 'first_country_code']);
         }
         foreach ($ranking as $key => $value) {
             $cache = NULL;
             $cache['position'] = ($page - 1) * 20 + $key + 1;
             $cache['username'] = strtolower($value['username']);
             $cache['name'] = $value['name'];
             $cache['picture'] = 'http://graph.facebook.com/' . $value['fb_id'] . '/picture?height=50&type=normal&width=50';
             $cache['is_verified'] = $value['is_verified'];
             $cache['likes'] = $this->owloo_number_format($value['likes']);
             $cache['grow_7'] = $value['likes_grow_7'];
             $cache['pta'] = 0;
             if ($value['likes'] > 0) {
                 $cache['pta'] = $this->owlooFormatPorcent($value['talking_about'], $value['likes']);
             }
             if ($where != 'World' && $where != 'Hispanic') {
                 $cache['likes_local_fans'] = $this->owloo_number_format($value['likes_local_fans']);
             } else {
                 $cache['country'] = strtolower(!empty($value['country_code']) ? $value['country_code'] : $value['first_country_code']);
             }
             $var = 'rankingLikes' . $where . 'PageCat' . $category . '_' . (($page - 1) * 20 + $key);
             Cache::put($var, $cache, 1440);
         }
     }
     $from = ($page - 1) * 20;
     $to = $page * 20 - 1;
     $foo = array();
     for ($from; $from <= $to; $from++) {
         $var = 'rankingLikes' . $where . 'PageCat' . $category . '_' . $from;
         $foo[$from] = Cache::get($var);
     }
     return $foo;
 }