예제 #1
0
function kaixin_sync($data)
{
    $sys_config = kaixin_init();
    if (!$sys_config) {
        return 'kaixin_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 = array_iconv($sys_config['charset'], 'UTF-8', trim(strip_tags($content)));
    if (!$content) {
        return 'content is invalid';
    }
    $content .= " " . get_full_url($sys_config['site_url'], 'index.php?mod=topic&code=' . $tid);
    $kaixin_bind_info = kaixin_bind_info($uid);
    if (!$kaixin_bind_info) {
        return 'bind_info is empty';
    }
    if (!kaixin_has_bind($uid)) {
        return 'bind_info is invalid';
    }
    $kaixin_bind_topic = DB::fetch_first("select * from " . DB::table('kaixin_bind_topic') . " where `tid`='{$tid}'");
    if ($kaixin_bind_topic) {
        return 'bind_topic is invalid';
    } else {
        DB::query("insert into " . DB::table('kaixin_bind_topic') . " (`tid`) values ('{$tid}')");
    }
    $ret = array();
    if ($totid < 1) {
        $p = array();
        $p['access_token'] = $kaixin_bind_info['token'];
        $p['content'] = $content;
        $imageid = (int) $data['imageid'];
        if ($imageid > 0 && $sys_config['kaixin']['is_sync_image']) {
            $topic_image = topic_image($imageid, 'original');
            if (is_image(ROOT_PATH . $topic_image)) {
                $p['picurl'] = $sys_config['site_url'] . '/' . $topic_image;
                $p['save_to_album'] = 1;
            }
        }
        $ret = kaixin_api('records/add', $p);
    }
    $kaixin_id = is_numeric($ret['rid']) ? $ret['rid'] : 0;
    if ($kaixin_id > 0) {
        DB::query("UPDATE " . DB::table('kaixin_bind_topic') . " SET `kaixin_id`='{$kaixin_id}' WHERE `tid`='{$tid}'");
    }
    return $ret;
}
예제 #2
0
 function _api_call($method, $p)
 {
     $ret = kaixin_api($method, $p, 'GET', $this->kaixinOauth);
     return $ret;
 }