コード例 #1
0
ファイル: PersonalController.php プロジェクト: AxelPanda/ibos
 public function actionFeed()
 {
     $feedid = intval(EnvUtil::getRequest("feedid"));
     $feedInfo = Feed::model()->get($feedid);
     if (!$feedInfo) {
         $this->error(Ibos::lang("Weibo not exists"));
     }
     if ($feedInfo["isdel"] == "1") {
         $this->error(Ibos::lang("No relate weibo"));
         exit;
     }
     if ($feedInfo["from"] == "1") {
         $feedInfo["from"] = EnvUtil::getFromClient(6, $feedInfo["module"], "3G版");
     } else {
         switch ($feedInfo["module"]) {
             case "mobile":
                 break;
             default:
                 $feedInfo["from"] = EnvUtil::getFromClient($feedInfo["from"], $feedInfo["module"]);
                 break;
         }
     }
     if ($feedInfo["type"] === "postimage") {
         $var = unserialize($feedInfo["feeddata"]);
         $feedInfo["image_body"] = $var["body"];
         if (!empty($var["attach_id"])) {
             $attach = AttachUtil::getAttachData($var["attach_id"]);
             $attachUrl = FileUtil::getAttachUrl();
             foreach ($attach as $ak => $av) {
                 $_attach = array("attach_id" => $av["aid"], "attach_name" => $av["filename"], "attach_url" => FileUtil::fileName($attachUrl . "/" . $av["attachment"]), "extension" => StringUtil::getFileExt($av["filename"]), "size" => $av["filesize"]);
                 $_attach["attach_small"] = WbCommonUtil::getThumbImageUrl($av, WbConst::ALBUM_DISPLAY_WIDTH, WbConst::ALBUM_DISPLAY_HEIGHT);
                 $_attach["attach_middle"] = WbCommonUtil::getThumbImageUrl($av, WbConst::WEIBO_DISPLAY_WIDTH, WbConst::WEIBO_DISPLAY_HEIGHT);
                 $feedInfo["attachInfo"][$ak] = $_attach;
             }
         }
     }
     $diggArr = FeedDigg::model()->checkIsDigg($feedid, Ibos::app()->user->uid);
     $data = array("diggArr" => $diggArr, "fd" => $feedInfo, "assetUrl" => Ibos::app()->assetManager->getAssetsUrl("user"), "moduleAssetUrl" => Ibos::app()->assetManager->getAssetsUrl("weibo"), "colleagues" => $this->getRelation("colleague"));
     if (!$this->getIsMe()) {
         $data["bothfollow"] = $this->getRelation("bothfollow");
         $data["secondfollow"] = $this->getRelation("secondfollow");
     }
     $this->setPageState("breadCrumbs", array(array("name" => Ibos::lang("Enterprise weibo"), "url" => $this->createUrl("home/index")), array("name" => $feedInfo["user_info"]["realname"] . Ibos::lang("sbs feed"), "url" => $this->createUrl("personal/index", array("uid" => $this->getUid()))), array("name" => Ibos::lang("Detail"))));
     $this->render("detail", $data, false, array("user.default"));
 }
コード例 #2
0
ファイル: Feed.php プロジェクト: AxelPanda/ibos
 private function parseTemplate($_data)
 {
     $user = User::model()->fetchByUid($_data["uid"]);
     $_data["data"] = unserialize($_data["feeddata"]);
     $var = $_data["data"];
     if (!empty($var["attach_id"])) {
         $var["attachInfo"] = AttachUtil::getAttach($var["attach_id"]);
         $attachUrl = FileUtil::getAttachUrl();
         foreach ($var["attachInfo"] as $ak => $av) {
             $_attach = array("attach_id" => $av["aid"], "attach_name" => $av["filename"], "attach_url" => FileUtil::fileName($attachUrl . "/" . $av["attachment"]), "extension" => StringUtil::getFileExt($av["filename"]), "size" => $av["filesize"]);
             if ($_data["type"] == "postimage") {
                 $_attach["attach_small"] = WbCommonUtil::getThumbImageUrl($av, WbConst::ALBUM_DISPLAY_WIDTH, WbConst::ALBUM_DISPLAY_HEIGHT);
                 $_attach["attach_middle"] = WbCommonUtil::getThumbImageUrl($av, WbConst::WEIBO_DISPLAY_WIDTH, WbConst::WEIBO_DISPLAY_HEIGHT);
             }
             $var["attachInfo"][$ak] = $_attach;
         }
     }
     $var["uid"] = $_data["uid"];
     $var["actor"] = "<a href='{$user["space_url"]}' data-toggle='usercard' data-param=\"uid={$user["uid"]}\">{$user["realname"]}</a>";
     $var["actor_uid"] = $user["uid"];
     $var["actor_uname"] = $user["realname"];
     $var["feedid"] = $_data["feedid"];
     if (!empty($_data["rowid"])) {
         empty($_data["table"]) && ($_data["table"] = "feed");
         $var["sourceInfo"] = Source::getSourceInfo($_data["table"], $_data["rowid"], false, $_data["module"]);
     } else {
         $var["sourceInfo"] = null;
     }
     $feedTemplateAlias = "application.modules.message.config.feed.{$_data["type"]}Feed";
     $file = Ibos::getPathOfAlias($feedTemplateAlias);
     if (!file_exists($file . ".php")) {
         $feedTemplateAlias = "application.modules.message.config.feed.postFeed";
     }
     $feedXmlContent = Ibos::app()->getController()->renderPartial($feedTemplateAlias, $var, true);
     $s = simplexml_load_string($feedXmlContent);
     if (!$s) {
         return false;
     }
     $result = $s->xpath("//feed[@type='" . StringUtil::filterCleanHtml($_data["type"]) . "']");
     $actions = (array) $result[0]->feedAttr;
     $return["content"] = $var["content"];
     if (isset($var["attach_id"])) {
         $return["attach_id"] = $var["attach_id"];
     }
     $return["userInfo"] = $user;
     $return["title"] = trim((string) $result[0]->title);
     $return["body"] = trim((string) $result[0]->body);
     $return["info"] = trim((string) $result[0]["info"]);
     $return["body"] = StringUtil::parseHtml($return["body"]);
     $return["api_source"] = $var["sourceInfo"];
     $return["actions"] = $actions["@attributes"];
     if (!$this->notDel($_data["module"], $_data["type"], $_data["rowid"])) {
         $return["body"] = Ibos::lang("Info already delete", "message.default");
     }
     return $return;
 }