Addon Facebook profile info cache - Bộ nhớ cache thông tin hồ sơ Facebook

PVS

Super Moderator
Thành viên BQT
Code hoặc hướng dẫn này được sử dụng trên phiên bản Xenforo cũ đã quá hạn sử dụng. Bạn hãy click để tìm bản mới hơn
Facebook profile info cache - Bộ nhớ cache thông tin hồ sơ Facebook

Rất đơn giản, chỉnh sửa để thêm bộ nhớ đệm cho chức năng facebook getUserInfo, mà làm cho các trang tốn thời gian dài để nạp khi có rất nhiều facebook profile được trả về.

library/XenForo/Helper/Facebook.php

Mã:
    public static function getUserInfo($accessToken, $path = 'me')
    {
        try
        {
            if(empty($accessToken) && $path != 'me'){
                $cache = XenForo_Application::getCache();
                $cacheResult = $cache->load("facebook_profile_{$path}");      
            }
            if(empty($cacheResult)){
                $client = XenForo_Helper_Http::getClient('https://graph.facebook.com/' . $path);
                if ($accessToken)
                {
                    $client->setParameterGet('access_token', $accessToken);
                }

                $response = $client->request('GET');
                $cacheResult = json_decode($response->getBody(), true);
              
                if(empty($accessToken) && $path != 'me'){              
                    $cache->save($cacheResult, "facebook_profile_{$path}", array(), 86400*3);              
                }
            }
            return $cacheResult;
        }
        catch (Zend_Http_Client_Exception $e)
        {
            XenForo_Error::logException($e);
            return false;
        }
    }

Chúc các bạn thành công.


Nguồn: xenforo.com​
 
mình nghĩ là thay thế, nhưng không biết có hỗ trợ xen 1.5 không nữa ^^
 
Mình không rõ đoạn mã này tác dụng như thế nào?
Nếu get thông tin thì thông tin chứa ở đâu nhỉ?
Nếu cache để tăng tốc độ login = fb thì mặc định các trình duyệt lưu thông tin rồi mà ta (nếu người sử dụng check ghi nhớ đăng nhập)?
 
Back
Top