repost() 공개 메소드

可加评论。为防止重复,发布的信息与最新信息一样话,将会被忽略。
对应API:{@link http://open.weibo.com/wiki/2/statuses/repost statuses/repost}
public repost ( integer $sid, string $text = NULL, integer $is_comment ) : array
$sid integer 转发的微博ID
$text string 添加的评论信息。可选。
$is_comment integer 是否在转发的同时发表评论,0:否、1:评论给当前微博、2:评论给原微博、3:都评论,默认为0。
리턴 array
예제 #1
0
<?php

session_start();
include_once '../class/config.php';
include_once '../class/saetv2.ex.class.php';
header("Content-type: text/html; charset=utf-8");
$c = new SaeTClientV2(WB_AKEY, WB_SKEY, $_SESSION['weibo_token']['access_token']);
//评论功能
if (isset($_POST['pinglunid']) && isset($_POST['neirong'])) {
    $c->send_comment($_POST['pinglunid'], $_POST['neirong']);
}
//转发功能
if (isset($_POST['zhuanfaid']) && isset($_POST['zhuanfa'])) {
    $c->repost($_POST['zhuanfaid'], $_POST['zhuanfa']);
}
$pl = $c->get_comments_by_sid($_POST['weibomid']);
//获取评论列表
$bq = $c->emotions();
//读取表情
?>

<div class="submit_comment">
	<form action="">
		<textarea name="" class="comment_text" cols="30" rows="10"></textarea>
		<div class="comment_button" alt="">评论</div>
	</form>
	
	<div class="comment_biaoqing">
		<span class="comment_biaoqing_trigger"></span>
	</div>
	<div class="comment_biaoqing_floatbox hide">
예제 #2
0
     delay_jump(3, $msg, $to_url, $to_name);
 }
 // 已经更新了task中的数据,现在做任务
 // 先获取任务信息
 $sql = "select sina_wid, base_price, screen_name from task join task_info_sina_repost using(task_id) where task_id = {$task_id}";
 $sql_res = $dbo->getRow($sql);
 // error control need upgrade
 if (!$sql_res) {
     $dbo->close();
     $err_msg = '读数据库出错,FILE: ' . __FILE__ . '; LINE: ' . __LINE__ . ';SQL: ' . $sql;
     debug($err_msg, __FILE__, __LINE__, TRUE, 'fatal');
 }
 $sina_wid = $sql_res['sina_wid'];
 $base_price = $sql_res['base_price'];
 $task_owner_name = $sql_res['screen_name'];
 $task_res = $c->repost($sina_wid);
 //	if_weiboapi_fail($task_res, __FILE__, __LINE__);
 // 没做成功,回滚task表中finish_amount数据
 if (isset($task_res['error_code'])) {
     echo '某处出了错误:' . $task_res['error'] . "。您未能完成任务,请<a href=\"{$_SERVER['HTTP_REFERER']}\">点此返回</a>";
     $sql = "update task set finish_amount = finish_amount - 1 where task_id = {$task_id} limit 1";
     $dbo->exeUpdate($sql);
     $dbo->close();
     exit;
 }
 // 做成功了,写数据库,写SESSION
 // 写do_task表
 $db_level_price = price_base_to_level($base_price, $_SESSION['slevel']);
 //	$sql = "insert do_task (task_id, user_id, status, repost_mid, time)values($task_id, {$_SESSION['uid']}, '11', {$task_res['retweeted_status']['mid']}, now())";
 //  此处应注意,retweeted_status['mid']是原微博的mid,而非转发产生的mid
 $sql = "insert do_task (task_id, user_id, status, task_type, owner_name, income, repost_mid, time)values({$task_id}, {$_SESSION['uid']}, 11, 1, '{$task_owner_name}', '{$db_level_price}', '{$task_res['mid']}', now())";
예제 #3
0
include_once 'saetv2.ex.class.php';
if (isset($_REQUEST['username']) && isset($_REQUEST['password']) && isset($_REQUEST['id'])) {
    //获得OAuth2.0 Access Token
    $o = new SaeTOAuthV2(WB_AKEY, WB_SKEY);
    $keys = array();
    $keys['username'] = $_REQUEST['username'];
    $keys['password'] = $_REQUEST['password'];
    try {
        $token = $o->getAccessToken('password', $keys);
    } catch (OAuthException $e) {
        echo json_encode(array('error' => $e->getMessage()));
    }
    if ($token) {
        $c = new SaeTClientV2(WB_AKEY, WB_SKEY, $token['access_token']);
        //转发一条微博信息
        //id:要转发的微博ID,必需。
        //API:{@link http://open.weibo.com/wiki/2/statuses/repost}
        if (isset($_REQUEST['status'])) {
            $msg = $c->repost($_REQUEST['id'], substr($_REQUEST['status'] . date(' Y-n-j H:i:s'), 0, 139));
        } else {
            $msg = $c->repost($_REQUEST['id']);
        }
        if (isset($msg[error])) {
            echo json_encode($msg);
        } else {
            //构造json
            $new_msg = array('time' => $msg[created_at], 'id' => $msg[id]);
            echo json_encode($new_msg);
        }
    }
}
예제 #4
0
 public function transmit()
 {
     $post = $this->__get_post();
     if (empty($post['W_U_id'])) {
         echo $this->fun->json_encode(array('error' => -1, 'msg' => '新浪微博账号不存在'));
         exit;
     }
     if (empty($post['content'])) {
         echo $this->fun->json_encode(array('error' => -2, 'msg' => '转发信息不能为空'));
         exit;
     }
     //10分钟转发一次
     if ($time = $this->db->select_to_1Array("select time from award_wb where W_U_id='{$post['W_U_id']}' order by id desc limit 1;")) {
         if ($time['time'] + 600 > time()) {
             $time = ceil(($time['time'] + 600 - time()) / 60);
             echo $this->fun->json_encode(array('error' => -3, 'msg' => '操作过快,请 ' . $time . ' 分钟后在转发'));
             exit;
         }
     }
     $c = new SaeTClientV2(WB_AKEY, WB_SKEY, $_SESSION['token']['access_token']);
     //是否在转发的同时发表评论,0:否、1:评论给当前微博、2:评论给原微博、3:都评论,默认为0。
     $ret = $c->repost($post['wbID'], $post['content'], 3);
     $friends = false;
     if ($post['friends']) {
         $friends = $this->friends_add($post['friends']);
     }
     //var_dump($friends);exit;
     //提交成功
     if (isset($ret['error_code']) && $ret['error_code'] > 0) {
         echo $this->fun->json_encode(array('error' => -5, 'msg' => '转发不成功,请过会操作'));
         exit;
     } else {
         $array = array();
         $array['W_U_id'] = $post['W_U_id'];
         $array['W_U_name'] = $post['W_U_name'];
         $array['W_U_info_id'] = $ret['idstr'];
         $array['W_U_info'] = $post['content'];
         $array['W_U_ip'] = $this->userIP;
         $array['time'] = time();
         $array['is_friends'] = $friends ? 1 : 0;
         if ($tab = $this->db->select_to_2Array("select * from award order by taxis asc")) {
             $this->load_file('award', '', false);
             $award = new award();
             $keys = $award->exec($tab);
             $array['aid'] = $keys['id'];
             $Ks = strtoupper($this->fun->rand_string(16));
             $Ks = substr($Ks, 0, 4) . ' - ' . substr($Ks, 4, 4) . ' - ' . substr($Ks, 8, 4) . ' - ' . substr($Ks, 12, 4);
             $array['key'] = $Ks;
             $this->db->insert('award_wb', $array);
             $id = $this->db->get_id();
             echo $this->fun->json_encode(array('error' => '0', 'info' => array('msg' => str_replace('{{key}}', $Ks, $keys['views']), 'shareID' => $id, 'share' => $keys['share'])));
             exit;
         } else {
             echo $this->fun->json_encode(array('error' => -4, 'msg' => '程序处理错误,请与管理员联系'));
             exit;
         }
     }
 }