Ejemplo n.º 1
0
 function sync_reply()
 {
     $qqwb = jconf::get('qqwb');
     if (!$qqwb['is_syncreply_tojishigou']) {
         return;
     }
     $tid = jget('tid', 'int');
     if ($tid < 1) {
         return;
     }
     $info = DB::fetch_first("select * from " . TABLE_PREFIX . "qqwb_bind_topic where `tid`='{$tid}'");
     if (!$info || !$info['qqwb_id']) {
         return;
     }
     if ($qqwb['syncweibo_tojishigou_time'] > 0 && $info['last_read_time'] + $qqwb['syncweibo_tojishigou_time'] > TIMESTAMP) {
         return;
     }
     if (!($topic_info = DB::fetch_first("select * from " . TABLE_PREFIX . "topic where `tid`='{$tid}'"))) {
         return;
     }
     $uid = (int) $topic_info['uid'];
     if ($uid < 1) {
         return;
     }
     $qqwb_bind_info = qqwb_bind_info($uid);
     if (!$qqwb_bind_info) {
         return;
     }
     if (!qqwb_bind($uid)) {
         return;
     }
     if (!qqwb_syncreply_tojishigou($uid)) {
         return;
     }
     require_once ROOT_PATH . 'include/ext/qqwb/qqoauth.php';
     $QQAuth = new QQOAuth($qqwb['app_key'], $qqwb['app_secret'], $qqwb_bind_info['token'], $qqwb_bind_info['tsecret']);
     $rs = $QQAuth->tReList($info['qqwb_id']);
     $datas = $rs['data']['info'];
     if ($datas) {
         krsort($datas);
         $TopicLogic = jlogic('topic');
         foreach ($datas as $data) {
             $qqwb_id = $data['idstr'] ? $data['idstr'] : ($data['qqwb_id'] ? $data['qqwb_id'] : $data['id']);
             $qqwb_username = $data['name'];
             $_type = 2 == $data['type'] ? 'forward' : 'reply';
             if ($qqwb_id && ($bind_info = DB::fetch_first("select * from " . TABLE_PREFIX . "qqwb_bind_info where `qqwb_username`='{$qqwb_username}'")) && !DB::fetch_first("select * from " . TABLE_PREFIX . "qqwb_bind_topic where `qqwb_id`='{$qqwb_id}'") && ($content = trim(strip_tags(array_iconv('utf-8', $this->Config['charset'], $data['origtext'] . (2 == $data['type'] && isset($data['source']['origtext']) ? " /" . "/@{$data['source']['name']}: {$data['source']['origtext']}" : "")))))) {
                 DB::query("insert into " . TABLE_PREFIX . "qqwb_bind_topic (`qqwb_id`) values ('{$qqwb_id}')");
                 $_t = $data['timestamp'] ? $data['timestamp'] : TIMESTAMP;
                 $add_datas = array('totid' => $tid, 'content' => $content, 'from' => 'qqwb', 'type' => $_type, 'uid' => $bind_info['uid'], 'timestamp' => $_t);
                 $add_result = $TopicLogic->Add($add_datas);
                 if (is_array($add_result) && count($add_result)) {
                     $_tid = max(0, (int) $add_result['tid']);
                     if ($_tid > 0) {
                         DB::query("replace into " . DB::table('qqwb_bind_topic') . " (`tid`, `qqwb_id`) values ('{$_tid}', '{$qqwb_id}')");
                         if ($qqwb['is_syncimage_tojishigou'] && $data['image']) {
                             $TopicLogic->_parse_url_image($add_result, $this->_img($data['image']));
                         }
                     }
                 }
             }
         }
     }
     DB::query("update `" . TABLE_PREFIX . "qqwb_bind_topic` set `last_read_time`='" . TIMESTAMP . "' where `tid`='{$tid}'");
     exit;
 }
Ejemplo n.º 2
0
 function _syn_to_qqwb($data = array())
 {
     if ($GLOBALS['_J']['config']['qqwb_enable'] && $data['uid'] > 0 && $data['tid'] > 0 && 'qqwb' != $data['from'] && ($qqwb_config = qqwb_init()) && qqwb_bind($data['uid']) && !$GLOBALS['imjiqiren_sys_config']['imjiqiren']['qqwb_update_disable']) {
         if ($data['totid'] > 0 && $qqwb_config['qqwb']['is_syncreply_toweibo'] && qqwb_synctoqq($data['uid']) || $data['totid'] < 1 && $qqwb_config['qqwb']['is_synctopic_toweibo'] && jget('syn_to_qqwb')) {
             if (TRUE === IN_JISHIGOU_INDEX || TRUE === IN_JISHIGOU_AJAX || TRUE === IN_JISHIGOU_ADMIN) {
                 $result = jsg_schedule($data, 'syn_to_qqwb');
             } else {
                 @extract($data);
                 include ROOT_PATH . 'include/ext/qqwb/to_qqwb.inc.php';
             }
         }
     }
 }
Ejemplo n.º 3
0
function qqwb_bind_icon($uid = 0)
{
    $return = '';
    $uid = max(0, (int) ($uid ? $uid : MEMBER_ID));
    if ($uid > 0 && ($sys_config = qqwb_enable())) {
        $return = "<img src='{$sys_config['site_url']}/images/qqwb/qqwb_off.gif' alt='未绑定腾讯微博' />";
        if (qqwb_bind($uid)) {
            $return = "<img src='{$sys_config['site_url']}/images/qqwb/qqwb_on.gif' alt='已经绑定腾讯微博' />";
            if ($sys_config['qqwb']['is_synctopic_tojishigou'] && qqwb_syncweibo_tojishigou($uid)) {
                $return .= "<img src='{$sys_config['site_url']}/index.php?mod=qqwb&code=sync_weibo&uid={$uid}' width='0' height='0' style='display:none' />";
            }
            if ($sys_config['qqwb']['is_syncreply_tojishigou'] && 'topic' == jget('mod') && is_numeric(jget('code')) && ($tid = jget('code')) > 0 && ($qbt = qqwb_bind_topic($tid)) && $qbt['last_read_time'] + $sys_config['qqwb']['syncweibo_tojishigou_time'] < TIMESTAMP) {
                $return .= "<img src='{$sys_config['site_url']}/index.php?mod=qqwb&code=sync_reply&tid={$tid}' width='0' height='0' style='display:none' />";
            }
        }
        if (MEMBER_ID > 0) {
            $return = "<a href='#' title='腾讯微博绑定设置' onclick=\"window.location.href='{$sys_config['site_url']}/index.php?mod=account&code=qqwb';return false;\">{$return}</a>";
        }
    }
    return $return;
}