Example #1
0
function s_user_by_uid($uid, $sample = true)
{
    if (s_bad_id($uid)) {
        return false;
    }
    $key = "user_by_uid#" . $uid;
    if (false === ($ret = s_memcache($key))) {
        if (false === ($ret = s_weibo_http("https://api.weibo.com/2/users/show.json", array('uid' => $uid)))) {
            return s_err_sdk();
        }
        //由于不包括经常更换的数据,所以存储时间为1天
        s_memcache($key, $ret, 24 * 3600);
    }
    //规范标准输出
    $ret['uid'] = $ret['id'];
    $ret['uname'] = $ret['screen_name'];
    $ret['a50'] = $ret['profile_image_url'];
    $ret['a180'] = $ret['avatar_large'];
    $ret['purl'] = $ret['profile_url'];
    unset($ret['avatar_large']);
    unset($ret['profile_image_url']);
    if ($sample === true) {
        //删除一些多余的数据
        unset($ret['status']);
    }
    return $ret;
}
Example #2
0
function s_user_by_uid($uid)
{
    if (s_bad_id($uid)) {
        return false;
    }
    $key = "user_by_uid#" . $uid;
    if (false === ($user = s_memcache($key))) {
        if (false === ($ret = s_weibo_http("https://api.weibo.com/2/users/show.json", array('uid' => $uid)))) {
            return s_err_sdk();
        }
        //只缓存少数数据:头像、昵称、
        $user = array();
        $user['id'] = $ret['id'];
        $user['name'] = $ret['screen_name'];
        $user['purl'] = $ret['profile_image_url'];
        $user['wurl'] = $ret['profile_url'];
        $user['domain'] = $ret['domain'];
        $user['location'] = $ret['location'];
        $user['province'] = $ret['province'];
        $user['city'] = $ret['city'];
        //存储memcache中
        s_memcache($key, $user);
    }
    return $user;
}
Example #3
0
function s_weibo_by_wid($wid)
{
    if (s_bad_id($wid)) {
        return s_err_arg();
    }
    $key = 'weibo_by_wid#' . $wid;
    if (false === ($data = s_memcache($key))) {
        if (false === ($data = s_weibo_http('https://api.weibo.com/2/statuses/show.json', array('id' => $wid)))) {
            return s_err_sdk();
        }
        //缓存
        s_memcache($key, $data);
    }
    return $data;
}
Example #4
0
function s_badge_new($uid, $bid, $username, $password)
{
    if (s_bad_id($uid) || s_bad_string($username) || s_bad_string($password)) {
        return s_err_arg();
    }
    $key = "badge_new_by#uid={$uid}&bid={$bid}&user={$username}&password={$password}";
    if (false === ($data = s_memcache($key))) {
        $data = array('badge_id' => $bid, 'uids' => $uid, '_username' => $username, '_password' => $password);
        if (false === ($data = s_badge_http('http://api.t.sina.com.cn/badges/app/issue.json?source=' . APP_KEY, $data, 'post'))) {
            return s_err_sdk();
        }
        //缓存一小时
        s_memcache($key, $data, 300);
    }
    return $data;
}
Example #5
0
function s_badge_new($uid, $bid, $username, $password)
{
    if (s_bad_id($uid) || s_bad_string($username) || s_bad_string($password)) {
        return s_err_arg();
    }
    $key = "badge_new_by#uid={$uid}&bid={$bid}&user={$username}&password={$password}";
    if (false === ($data = s_memcache($key))) {
        $data = array('badge_id' => $bid, 'uids' => $uid, '_username' => $username, '_password' => $password);
        //if (false === ( $data = s_badge_http('http://api.weibo.com/2/proxy/badges/issue.json', $data, 'post') )) {
        if (false === ($data = s_badge_http('http://i2.api.weibo.com/2/proxy/badges/issue.json', $data, 'post'))) {
            return s_err_sdk();
        }
        //缓存五分钟
        s_memcache($key, $data, 300);
    }
    return $data;
}
Example #6
0
function s_live_now(&$user, $type = 1, $page = 1, $max = 10)
{
    if (s_bad_array($user) || s_bad_id($page) || s_bad_id($type)) {
        return s_err_arg();
    }
    $key = 'live_list_by#' . $page . $type . $max;
    if (false === ($data = s_memcache($key))) {
        $data = array('uid' => $user['uid'], 'type' => $type, 'page' => $page, 'pagesize' => $max);
        if (false === ($data = s_live_http('http://i.service.t.sina.com.cn/sapps/live/getlivelist.php', $data))) {
            return s_err_sdk();
        }
        //缓存60秒
        s_memcache($key, $data, 60);
    }
    return $data;
}
Example #7
0
function s_weibo_notice(&$uids, $tid, $keys = false, $url = false, $noticeid = false)
{
    if (s_bad_array($uids) || s_bad_string($tid)) {
        return false;
    }
    $_keys = false;
    $_uids = implode(',', $uids);
    if ($keys) {
        $_keys = array_values($keys);
        $_keys = implode('&', $keys);
    }
    $mkey = '!!weibo_notice_by_uids#uids=' . $_uids . 'tid=' . $tid . 'keys=' . $_keys . 'url=' . $url . 'noticeid' . $noticeid;
    if (false === ($data = s_memcache($mkey))) {
        $data = array('uids' => $_uids, 'tpl_id' => $tid);
        if ($url) {
            //如果是有url添加
            $data['action_url'] = $url;
        }
        if ($keys) {
            //合并模板数据
            $data = array_merge($data, $keys);
        }
        if ($noticeid) {
            //通知需要用新的APP_KEY
            $data['_APP_KEY'] = $noticeid;
        }
        if (false === ($data = s_weibo_http('http://api.weibo.com/2/notification/send.json', $data, 'post'))) {
            return s_err_sdk();
        }
        //缓存一小时
        //s_memcache($mkey, $data, 3600);
    }
    return $data;
}
Example #8
0
function s_weibo_notice(&$uids, $tid, $keys = false, $url = false, $noticeid = false)
{
    if (s_bad_array($uids) || s_bad_string($tid)) {
        return false;
    }
    $_keys = false;
    $_uids = implode(',', $uids);
    if ($keys) {
        $_keys = array_values($keys);
        $_keys = implode('&', $keys);
    }
    $data = array('uids' => $_uids, 'tpl_id' => $tid);
    if ($url) {
        //如果是有url添加
        $data['action_url'] = $url;
    }
    if ($keys) {
        //合并模板数据
        $data = array_merge($data, $keys);
    }
    if ($noticeid) {
        //通知需要用新的APP_KEY
        $data['_APP_KEY'] = $noticeid;
    }
    if (false === ($data = s_weibo_http('http://i2.api.weibo.com/2/notification/send.json', $data, 'post'))) {
        return s_err_sdk();
    }
    return $data;
}