示例#1
0
 public function soc()
 {
     $types = array('facebook', 'twitter');
     foreach ($types as $type) {
         $tokens = Access_token::getAllByType($type);
         $values_array = array();
         foreach ($tokens as $_token) {
             $user_id = (int) $_token->user_id;
             $profiles = $_token->social_group->get();
             foreach ($profiles as $profile) {
                 $profile_id = $profile->id;
                 // Queue_Item::add('tasks/social_reports_task/statistic',  $args);
                 $this->load->library('Socializer/socializer');
                 if (!isset($values_array[$type])) {
                     $values_array[$type] = array();
                 }
                 if (!isset($values_array[$type][$user_id][$profile_id])) {
                     $values_array[$type][$user_id][$profile_id] = 0;
                 }
                 if ($type == 'twitter') {
                     /* @var Socializer_Twitter $twitter */
                     $twitter = Socializer::factory('Twitter', $user_id, $_token);
                     $values_array[$type][$user_id][$profile_id] += $twitter->get_followers_count();
                 } elseif ($type == 'facebook') {
                     /* @var Socializer_Facebook $facebook */
                     $facebook = Socializer::factory('Facebook', $user_id, $_token);
                     $values_array[$type][$user_id][$profile_id] += $facebook->get_page_likes_count();
                 }
             }
         }
         foreach ($values_array as $type => $values) {
             foreach ($values as $user_id => $value) {
                 foreach ($value as $profile_id => $_value) {
                     $this->_save_values($user_id, $profile_id, $_value, $type);
                 }
             }
         }
     }
 }