コード例 #1
0
ファイル: IWWeiboComment.php プロジェクト: AxelPanda/ibos
 private function updateToComment($data, $sourceInfo, $lessUids)
 {
     $commentInfo = Source::getSourceInfo($data["module_table"], $data["module_rowid"], false, $data["module"]);
     $oldInfo = isset($commentInfo["sourceInfo"]) ? $commentInfo["sourceInfo"] : $commentInfo;
     $c["module"] = $data["module"];
     $c["table"] = "feed";
     $c["moduleuid"] = !empty($oldInfo["source_user_info"]["uid"]) ? $oldInfo["source_user_info"]["uid"] : $oldInfo["uid"];
     $c["content"] = $data["content"];
     $c["rowid"] = !empty($oldInfo["sourceInfo"]) ? $oldInfo["sourceInfo"]["source_id"] : $oldInfo["source_id"];
     if ($data["module"]) {
         $c["rowid"] = $oldInfo["feedid"];
     }
     $c["from"] = EnvUtil::getVisitorClient();
     Comment::model()->addComment($c, false, false, $lessUids);
 }
コード例 #2
0
ファイル: Comment.php プロジェクト: AxelPanda/ibos
 private function escapeData($data)
 {
     $add["module"] = $data["module"];
     $add["table"] = $data["table"];
     $add["rowid"] = intval($data["rowid"]);
     $add["uid"] = Ibos::app()->user->uid;
     $add["moduleuid"] = intval($data["moduleuid"]);
     $add["content"] = StringUtil::pregHtml($data["content"]);
     $add["tocid"] = isset($data["tocid"]) ? intval($data["tocid"]) : 0;
     $add["touid"] = isset($data["touid"]) ? intval($data["touid"]) : 0;
     $add["data"] = serialize(isset($data["data"]) ? $data["data"] : array());
     $add["ctime"] = TIMESTAMP;
     $add["from"] = isset($data["from"]) ? intval($data["from"]) : EnvUtil::getVisitorClient();
     $add["attachmentid"] = isset($data["attachmentid"]) ? $data["attachmentid"] : "";
     return $add;
 }
コード例 #3
0
ファイル: Feed.php プロジェクト: AxelPanda/ibos
 public function shareFeed($data, $from = "share", $lessUids = null)
 {
     $return = array("isSuccess" => false, "data" => "转发失败");
     if (empty($data["sid"])) {
         return $return;
     }
     $type = StringUtil::filterCleanHtml($data["type"]);
     $table = isset($data["table"]) ? $data["table"] : $type;
     $module = isset($data["module"]) ? $data["module"] : "weibo";
     $forApi = isset($data["forApi"]) && $data["forApi"] ? true : false;
     if (!($oldInfo = Source::getSourceInfo($table, $data["sid"], $forApi, $data["module"]))) {
         $return["data"] = "此信息不可以被转发";
         return $return;
     }
     $d["content"] = isset($data["content"]) ? str_replace(Ibos::app()->setting->get("siteurl"), "[SITE_URL]", $data["content"]) : "";
     $d["body"] = str_replace(Ibos::app()->setting->get("siteurl"), "[SITE_URL]", $data["body"]);
     $feedType = "repost";
     if (!empty($oldInfo["feedType"]) && !in_array($oldInfo["feedType"], array("post", "postimage"))) {
         $feedType = $oldInfo["feedType"];
     }
     $d["sourceInfo"] = !empty($oldInfo["sourceInfo"]) ? $oldInfo["sourceInfo"] : $oldInfo;
     $isOther = $from == "comment" ? false : true;
     $d["curid"] = $data["curid"];
     if ($oldInfo["rowid"] == 0) {
         $id = $oldInfo["source_id"];
         $table = $oldInfo["source_table"];
     } else {
         $id = $oldInfo["rowid"];
         $table = $oldInfo["table"];
     }
     $d["from"] = isset($data["from"]) ? intval($data["from"]) : 0;
     $res = $this->put(Ibos::app()->user->uid, $module, $feedType, $d, $id, $table, null, $lessUids, $isOther, 1);
     if ($res) {
         if (isset($data["comment"])) {
             $c["module"] = $module;
             $c["moduleuid"] = $data["curid"];
             $c["table"] = "feed";
             $c["uid"] = $oldInfo["uid"];
             $c["content"] = !empty($d["body"]) ? $d["body"] : $d["content"];
             $c["rowid"] = !empty($oldInfo["sourceInfo"]) ? $oldInfo["sourceInfo"]["source_id"] : $id;
             $c["from"] = EnvUtil::getVisitorClient();
             $notCount = $from == "share" ? $data["comment"] == 1 ? false : true : false;
             Comment::model()->addComment($c, false, $notCount, $lessUids);
         }
         FeedTopic::model()->addTopic(html_entity_decode($d["body"], ENT_QUOTES), $res["feedid"], $feedType);
         $rdata = $res;
         $rdata["feedid"] = $res["feedid"];
         $rdata["rowid"] = $data["sid"];
         $rdata["table"] = $data["type"];
         $rdata["module"] = $module;
         $rdata["isrepost"] = 1;
         switch ($module) {
             case "mobile":
                 break;
             default:
                 $rdata["from"] = EnvUtil::getFromClient($from, $module);
                 break;
         }
         $return["data"] = $rdata;
         $return["isSuccess"] = true;
         if ($module == "weibo" && $type == "feed") {
             $this->updateCounters(array("repostcount" => 1), "feedid = " . $data["sid"]);
             $this->cleanCache($data["sid"]);
             if ($data["curid"] != $data["sid"] && !empty($data["curid"])) {
                 $this->updateCounters(array("repostcount" => 1), "feedid = " . $data["curid"]);
                 $this->cleanCache($data["curid"]);
             }
         }
     } else {
         $return["data"] = $this->getError("putFeed");
     }
     return $return;
 }