Exemplo n.º 1
0
function renren_sync($data)
{
    $sys_config = renren_init();
    if (!$sys_config) {
        return 'renren_init is invalid';
    }
    $tid = is_numeric($data['tid']) ? $data['tid'] : 0;
    if ($tid < 1) {
        return 'tid is invalid';
    }
    $uid = is_numeric($data['uid']) ? $data['uid'] : 0;
    if ($uid < 1) {
        return 'uid is invalid';
    }
    $totid = is_numeric($data['totid']) ? $data['totid'] : 0;
    $content = $data['content'];
    if (false !== strpos($content, '[')) {
        $content = preg_replace('~\\[([^\\]]{1,6}?)\\]~', '(\\1)', $content);
    }
    $content = trim(strip_tags($content));
    $name = array_iconv($sys_config['charset'], 'UTF-8', cutstr($content, 50));
    $content = array_iconv($sys_config['charset'], 'UTF-8', $content);
    if (!$content) {
        return 'content is invalid';
    }
    $url = get_full_url($sys_config['site_url'], 'index.php?mod=topic&code=' . $tid);
    $renren_bind_info = renren_bind_info($uid);
    if (!$renren_bind_info) {
        return 'bind_info is empty';
    }
    if (!renren_has_bind($uid)) {
        return 'bind_info is invalid';
    }
    $renren_bind_topic = DB::fetch_first("select * from " . DB::table('renren_bind_topic') . " where `tid`='{$tid}'");
    if ($renren_bind_topic) {
        return 'bind_topic is invalid';
    } else {
        DB::query("insert into " . DB::table('renren_bind_topic') . " (`tid`) values ('{$tid}')");
    }
    $ret = array();
    if ($totid < 1) {
        $p = array();
        $p['access_token'] = $renren_bind_info['token'];
        $p['name'] = $name;
        $p['description'] = $content;
        $p['url'] = $url;
        $p['action_name'] = array_iconv($sys_config['charset'], 'UTF-8', '来自:' . $sys_config['site_name']);
        $p['action_link'] = $url;
        $imageid = (int) $data['imageid'];
        if ($imageid > 0 && $sys_config['renren']['is_sync_image']) {
            $topic_image = topic_image($imageid, 'original');
            if (is_image(ROOT_PATH . $topic_image)) {
                $p['image'] = $sys_config['site_url'] . '/' . $topic_image;
            }
        }
        $ret = renren_api('feed.publishFeed', $p);
    }
    $renren_id = is_numeric($ret['post_id']) ? $ret['post_id'] : 0;
    if ($renren_id > 0) {
        DB::query("UPDATE " . DB::table('renren_bind_topic') . " SET `renren_id`='{$renren_id}' WHERE `tid`='{$tid}'");
    }
    return $ret;
}
Exemplo n.º 2
0
 function _api_call($method, $p)
 {
     $ret = renren_api($method, $p, 'POST', $this->renrenOauth);
     return $ret;
 }