Example #1
0
/**
 * Refresh the Instagram cache
 */
function ikit_social_remote_fetch_instagram_feed()
{
    global $g_options;
    $instagram_user_id = null;
    if (isset($g_options[IKIT_PLUGIN_OPTION_INSTAGRAM_USER_ID])) {
        $instagram_user_id = $g_options[IKIT_PLUGIN_OPTION_INSTAGRAM_USER_ID];
    }
    if ($instagram_user_id != null) {
        $curl_list_request = curl_init();
        // Fetch recent media for specified user
        curl_setopt($curl_list_request, CURLOPT_URL, IKIT_SOCIAL_INSTAGRAM_API_URL . "/users/" . $instagram_user_id . '/media/recent?access_token=' . IKIT_SOCIAL_INSTAGRAM_ACCESS_TOKEN);
        curl_setopt($curl_list_request, CURLOPT_RETURNTRANSFER, true);
        $curl_list_response = curl_exec($curl_list_request);
        curl_close($curl_list_request);
        $cache = FileCache::GetInstance(IKIT_SOCIAL_INSTAGRAM_FEED_CACHE_SECS, IKIT_DIR_FILE_CACHE);
        $cache->delete(IKIT_SOCIAL_INSTAGRAM_FEED_CACHE_KEY);
        // Deletes if older than the expiry time
        $cache->cache(IKIT_SOCIAL_INSTAGRAM_FEED_CACHE_KEY, json_decode($curl_list_response));
    }
}
/**
 * Returns a list of the latest facebook status messages as objects
 * safe to call multiple times, cacheing is taken care of,
 */
function ikit_social_get_facebook_feed_items()
{
    $cache = FileCache::GetInstance(IKIT_SOCIAL_FACEBOOK_FEED_CACHE_SECS, IKIT_DIR_FILE_CACHE);
    $cache_contents = $cache->cache(IKIT_SOCIAL_FACEBOOK_FEED_CACHE_KEY);
    if ($cache_contents != null) {
        $messages = json_decode($cache->cache(IKIT_SOCIAL_FACEBOOK_FEED_CACHE_KEY));
        if (isset($messages->data)) {
            return $messages->data;
        }
    }
    return array();
}