예제 #1
0
파일: ICDiary.php 프로젝트: AxelPanda/ibos
 public static function processShareListData($uid, $data)
 {
     $result = array();
     $attentions = DiaryAttention::model()->fetchAllByAttributes(array("uid" => $uid));
     $auidArr = ConvertUtil::getSubByKey($attentions, "auid");
     foreach ($data as $diary) {
         $diary["content"] = StringUtil::cutStr(strip_tags($diary["content"]), 255);
         $diary["realname"] = User::model()->fetchRealnameByUid($diary["uid"]);
         $diary["addtime"] = ConvertUtil::formatDate($diary["addtime"], "u");
         $isattention = in_array($diary["uid"], $auidArr);
         $diary["isattention"] = $isattention ? 1 : 0;
         $diary["user"] = User::model()->fetchByUid($diary["uid"]);
         $result[] = $diary;
     }
     return $result;
 }
예제 #2
0
 public function actionAttention()
 {
     $date = "yesterday";
     if (array_key_exists("date", $_GET)) {
         $date = $_GET["date"];
     }
     if ($date == "today") {
         $time = strtotime(date("Y-m-d"));
         $date = date("Y-m-d");
     } elseif ($date == "yesterday") {
         $time = strtotime(date("Y-m-d")) - 24 * 60 * 60;
         $date = date("Y-m-d", $time);
     } else {
         $time = strtotime($date);
         $date = date("Y-m-d", $time);
     }
     $uid = Ibos::app()->user->uid;
     $attentions = DiaryAttention::model()->fetchAllByAttributes(array("uid" => $uid));
     $auidArr = ConvertUtil::getSubByKey($attentions, "auid");
     $hanAuidArr = $this->handleAuid($uid, $auidArr);
     $subUidStr = implode(",", $hanAuidArr["subUid"]);
     $auidStr = implode(",", $hanAuidArr["aUid"]);
     $condition = "(FIND_IN_SET(uid, '{$subUidStr}') OR (FIND_IN_SET('{$uid}', shareuid) AND FIND_IN_SET(uid, '{$auidStr}') ) ) AND diarytime={$time}";
     $paginationData = Diary::model()->fetchAllByPage($condition, 100);
     $params = array("dateWeekDay" => DiaryUtil::getDateAndWeekDay(date("Y-m-d", strtotime($date))), "pagination" => $paginationData["pagination"], "data" => ICDiary::processShareListData($uid, $paginationData["data"]), "shareCommentSwitch" => 0, "attentionSwitch" => 1);
     $params["prevAndNextDate"] = array("prev" => date("Y-m-d", strtotime($date) - 24 * 60 * 60), "next" => date("Y-m-d", strtotime($date) + 24 * 60 * 60), "prevTime" => strtotime($date) - 24 * 60 * 60, "nextTime" => strtotime($date) + 24 * 60 * 60);
     $this->ajaxReturn($params, "JSONP");
 }
예제 #3
0
 public function actionPersonal()
 {
     $uid = Ibos::app()->user->uid;
     $getUid = intval(EnvUtil::getRequest("uid"));
     if (!UserUtil::checkIsSub($uid, $getUid)) {
         $this->error(Ibos::lang("Have not permission"), $this->createUrl("review/index"));
     }
     if (EnvUtil::getRequest("param") == "search") {
         $this->search();
     }
     $this->_condition = DiaryUtil::joinCondition($this->_condition, "uid = {$getUid}");
     $paginationData = Diary::model()->fetchAllByPage($this->_condition);
     $supUid = UserUtil::getSupUid($getUid);
     $attention = DiaryAttention::model()->fetchAllByAttributes(array("uid" => $uid, "auid" => $getUid));
     $data = array("pagination" => $paginationData["pagination"], "data" => ICDiary::processDefaultListData($paginationData["data"]), "diaryCount" => Diary::model()->count($this->_condition), "commentCount" => Diary::model()->countCommentByReview($getUid), "user" => User::model()->fetchByUid($getUid), "supUid" => $supUid, "dashboardConfig" => $this->getDiaryConfig(), "isattention" => empty($attention) ? 0 : 1);
     $this->setPageTitle(Ibos::lang("Review subordinate diary"));
     $this->setPageState("breadCrumbs", array(array("name" => Ibos::lang("Personal Office")), array("name" => Ibos::lang("Work diary"), "url" => $this->createUrl("default/index")), array("name" => Ibos::lang("Subordinate personal diary"))));
     $this->render("personal", $data);
 }
예제 #4
0
 private function personal()
 {
     $getUid = intval(EnvUtil::getRequest("uid"));
     $uid = Ibos::app()->user->uid;
     if (EnvUtil::getRequest("param") == "search") {
         $this->search();
     }
     $condition = "uid='{$getUid}' AND FIND_IN_SET('{$uid}',shareuid) AND uid NOT IN({$uid})";
     $this->_condition = DiaryUtil::joinCondition($this->_condition, $condition);
     $paginationData = Diary::model()->fetchAllByPage($this->_condition);
     $attention = DiaryAttention::model()->fetchAllByAttributes(array("uid" => $uid, "auid" => $getUid));
     $data = array("pagination" => $paginationData["pagination"], "data" => ICDiary::processDefaultListData($paginationData["data"]), "diaryCount" => Diary::model()->count($this->_condition), "commentCount" => Diary::model()->countCommentByUid($getUid), "user" => User::model()->fetchByUid($getUid), "dashboardConfig" => $this->getDiaryConfig(), "isattention" => empty($attention) ? 0 : 1);
     $this->setPageTitle(Ibos::lang("Share diary"));
     $this->setPageState("breadCrumbs", array(array("name" => Ibos::lang("Personal Office")), array("name" => Ibos::lang("Work diary"), "url" => $this->createUrl("default/index")), array("name" => Ibos::lang("Share diary"))));
     $this->render("personal", $data);
 }
예제 #5
0
 private function unattention()
 {
     if (Yii::app()->request->isAjaxRequest) {
         $auid = EnvUtil::getRequest("auid");
         $uid = Ibos::app()->user->uid;
         DiaryAttention::model()->removeAttention($uid, $auid);
         $this->ajaxReturn(array("isSuccess" => true, "info" => Ibos::lang("Unattention succeed")));
     }
 }
예제 #6
0
 public static function getIsAttention($attentionUid)
 {
     $aUids = DiaryAttention::model()->fetchAuidByUid(Ibos::app()->user->uid);
     return in_array($attentionUid, $aUids);
 }