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); } } } } }