Exemple #1
0
 public function actionIndex()
 {
     $op = EnvUtil::getRequest("op");
     if (!in_array($op, array("personal"))) {
         $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;
         $condition = "FIND_IN_SET('{$uid}',shareuid) AND uid NOT IN({$uid}) AND diarytime={$time}";
         $paginationData = Diary::model()->fetchAllByPage($condition);
         $params = array("dateWeekDay" => DiaryUtil::getDateAndWeekDay(date("Y-m-d", strtotime($date))), "pagination" => $paginationData["pagination"], "data" => ICDiary::processShareListData($uid, $paginationData["data"]), "dashboardConfig" => $this->getDiaryConfig(), "attentionSwitch" => $this->issetAttention());
         $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->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("index", $params);
     } else {
         $this->{$op}();
     }
 }
Exemple #2
0
 public static function processDefaultShowData($diary)
 {
     $dashboardConfig = Yii::app()->setting->get("setting/diaryconfig");
     $lockday = $dashboardConfig["lockday"] ? intval($dashboardConfig["lockday"]) : 0;
     $todayTime = (int) strtotime(date("Y-m-d", time()));
     $diaryTime = (int) $diary["diarytime"];
     $diffDay = ($todayTime - $diaryTime) / (24 * 60 * 60);
     if (0 < $lockday && $lockday < $diffDay) {
         $diary["editIsLock"] = 1;
     } else {
         $diary["editIsLock"] = 0;
     }
     $diary["addtime"] = date("Y-m-d H:i:s", $diary["addtime"]);
     $diary["originalDiarytime"] = $diary["diarytime"];
     $diary["diarytime"] = DiaryUtil::getDateAndWeekDay(date("Y-m-d", $diary["diarytime"]));
     $diary["nextDiarytime"] = DiaryUtil::getDateAndWeekDay(date("Y-m-d", $diary["nextdiarytime"]));
     $diary["realname"] = User::model()->fetchRealnameByUid($diary["uid"]);
     $diary["departmentName"] = Department::model()->fetchDeptNameByUid($diary["uid"]);
     $diary["shareuid"] = StringUtil::wrapId($diary["shareuid"]);
     return $diary;
 }
 public function actionIndex()
 {
     $op = EnvUtil::getRequest("op");
     if (empty($op) || !in_array($op, array("default", "personal"))) {
         $op = "default";
     }
     if ($op == "default") {
         $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);
         $params = array("dateWeekDay" => DiaryUtil::getDateAndWeekDay(date("Y-m-d", strtotime($date))), "pagination" => $paginationData["pagination"], "data" => ICDiary::processShareListData($uid, $paginationData["data"]), "shareCommentSwitch" => $this->issetSharecomment(), "attentionSwitch" => $this->issetAttention());
         $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->setPageTitle(Ibos::lang("Attention 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("Attention diary"))));
         $this->render("index", $params);
     } else {
         $this->{$op}();
     }
 }
Exemple #4
0
 public function actionAdd()
 {
     $todayDate = date("Y-m-d");
     if (array_key_exists("diaryDate", $_GET)) {
         $todayDate = $_GET["diaryDate"];
         if (strtotime(date("Y-m-d")) < strtotime($todayDate)) {
             $this->error(Ibos::lang("No new permissions"), $this->createUrl("default/index"));
         }
     }
     $todayTime = strtotime($todayDate);
     $uid = Ibos::app()->user->uid;
     if (Diary::model()->checkDiaryisAdd($todayTime, $uid)) {
         $this->ajaxReturn(array("msg" => "今天已经提交过日志!"), "JSONP");
     }
     $diaryRecordList = DiaryRecord::model()->fetchAllByPlantime($todayTime);
     $originalPlanList = $outsidePlanList = array();
     foreach ($diaryRecordList as $diaryRecord) {
         if ($diaryRecord["planflag"] == 1) {
             $originalPlanList[] = $diaryRecord;
         } else {
             $outsidePlanList[] = $diaryRecord;
         }
     }
     $dashboardConfig = Yii::app()->setting->get("setting/diaryconfig");
     $params = array("diary" => array("diaryid" => 0, "uid" => $uid, "diarytime" => DiaryUtil::getDateAndWeekDay($todayDate), "nextDiarytime" => DiaryUtil::getDateAndWeekDay(date("Y-m-d", strtotime("+1 day", $todayTime))), "content" => ""), "data" => array("originalPlanList" => $originalPlanList, "outsidePlanList" => $outsidePlanList, "tomorrowPlanList" => ""), "dashboardConfig" => $dashboardConfig);
     $this->ajaxReturn($params, "JSONP");
 }
Exemple #5
0
 private function showdiary()
 {
     $diaryid = intval($_GET["diaryid"]);
     $isShowDiarytime = EnvUtil::getRequest("isShowDiarytime");
     $fromController = EnvUtil::getRequest("fromController");
     $uid = Ibos::app()->user->uid;
     if (empty($diaryid)) {
         $this->error(Ibos::lang("Parameters error", "error"), $this->createUrl("default/index"));
     }
     $diary = Diary::model()->fetchByPk($diaryid);
     if (empty($diary)) {
         $this->error(Ibos::lang("No data found", "error"), $this->createUrl("default/index"));
     }
     if (!ICDiary::checkScope($uid, $diary)) {
         $this->ajaxReturn(array("isSuccess" => false, "msg" => Ibos::lang("You do not have permission to view the log")));
     }
     Diary::model()->addReaderuidByPK($diary, $uid);
     $data = Diary::model()->fetchDiaryRecord($diary);
     $data["tomorrowPlanList"] = $this->handelRemindTime($data["tomorrowPlanList"]);
     $attachs = array();
     if (!empty($diary["attachmentid"])) {
         $attachs = AttachUtil::getAttach($diary["attachmentid"], true, true, false, false, true);
     }
     $readers = array();
     if (!empty($diary["readeruid"])) {
         $readerArr = explode(",", $diary["readeruid"]);
         $readers = User::model()->fetchAllByPk($readerArr);
     }
     $stampUrl = "";
     if ($diary["stamp"] != 0) {
         $stamp = Stamp::model()->fetchStampById($diary["stamp"]);
         $stampUrl = FileUtil::fileName(Stamp::STAMP_PATH) . $stamp;
     }
     $diary["diarytime"] = DiaryUtil::getDateAndWeekDay(date("Y-m-d", $diary["diarytime"]));
     $diary["nextdiarytime"] = DiaryUtil::getDateAndWeekDay(date("Y-m-d", $diary["nextdiarytime"]));
     $diary["addtime"] = ConvertUtil::formatDate($diary["addtime"], "u");
     $params = array("lang" => Ibos::getLangSource("diary.default"), "diaryid" => $diaryid, "diary" => $diary, "uid" => $uid, "data" => $data, "attachs" => $attachs, "readers" => $readers, "stampUrl" => $stampUrl, "fromController" => $fromController, "isShowDiarytime" => $isShowDiarytime, "allowComment" => $this->getIsAllowComment($fromController, $uid, $diary));
     $detailAlias = "application.modules.diary.views.detail";
     $detailView = $this->renderPartial($detailAlias, $params, true);
     $this->ajaxReturn(array("data" => $detailView, "isSuccess" => true));
 }
Exemple #6
0
 public function actionIndex()
 {
     $op = EnvUtil::getRequest("op");
     $option = empty($op) ? "default" : $op;
     $routes = array("default", "show", "showdiary", "getsubordinates", "getStampIcon");
     if (!in_array($option, $routes)) {
         $this->error(Ibos::lang("Can not find the path"), $this->createUrl("default/index"));
     }
     if ($option == "default") {
         $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);
         }
         $uid = Ibos::app()->user->uid;
         $getSubUids = EnvUtil::getRequest("uid");
         if (!empty($getSubUids)) {
             $subUidArr = explode(",", $getSubUids);
             foreach ($subUidArr as $subUid) {
                 if (!UserUtil::checkIsSub($uid, $subUid)) {
                     $this->error(Ibos::lang("Have not permission"), $this->createUrl("default/index"));
                 }
             }
         } else {
             $subUidArr = User::model()->fetchSubUidByUid($uid);
         }
         $params = array();
         $subUids = implode(",", $subUidArr);
         if (0 < count($subUidArr)) {
             $condition = "uid IN({$subUids}) AND diarytime={$time}";
             $paginationData = Diary::model()->fetchAllByPage($condition);
             $recordUidArr = $noRecordUidArr = $noRecordUserList = array();
             foreach ($paginationData["data"] as $diary) {
                 $recordUidArr[] = $diary["uid"];
             }
             if (0 < count($recordUidArr)) {
                 foreach ($subUidArr as $subUid) {
                     if (!in_array($subUid, $recordUidArr)) {
                         $noRecordUidArr[] = $subUid;
                     }
                 }
             } else {
                 $noRecordUidArr = $subUidArr;
             }
             if (0 < count($noRecordUidArr)) {
                 $noRecordUserList = User::model()->fetchAllByPk($noRecordUidArr);
             }
             $params = array("pagination" => $paginationData["pagination"], "data" => ICDiary::processReviewListData($uid, $paginationData["data"]), "noRecordUserList" => $noRecordUserList);
         } else {
             $params = array("pagination" => new CPagination(0), "data" => array(), "noRecordUserList" => array());
         }
         $params["date"] = $date;
         $params["dateWeekDay"] = DiaryUtil::getDateAndWeekDay($date);
         $params["dashboardConfig"] = $this->getDiaryConfig();
         $params["subUids"] = $subUids;
         $params["stamp"] = CJSON::encode($this->getStamp());
         $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->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 diary"))));
         $this->render("index", $params);
     } else {
         $this->{$option}();
     }
 }
Exemple #7
0
 public function renderIndex()
 {
     $return = array();
     $viewAlias = "application.modules.diary.views.indexapi.diary";
     $today = date("Y-m-d");
     $uid = Ibos::app()->user->uid;
     $data = array("diary" => Diary::model()->fetch("diarytime = :diarytime AND uid = :uid", array(":diarytime" => strtotime($today), ":uid" => $uid)), "calendar" => $this->loadCalendar(), "dateWeekDay" => DiaryUtil::getDateAndWeekDay($today), "lang" => Ibos::getLangSource("diary.default"), "assetUrl" => Ibos::app()->assetManager->getAssetsUrl("diary"));
     if (!empty($data["diary"]) && $data["diary"]["stamp"] != 0) {
         $data["stampUrl"] = Stamp::model()->fetchStampById($data["diary"]["stamp"]);
     }
     $data["preDiary"] = Diary::model()->fetchPreDiary(strtotime($today), $uid);
     if (!empty($data["preDiary"]) && $data["preDiary"]["stamp"] != 0) {
         $stampPath = FileUtil::fileName(Stamp::STAMP_PATH);
         $iconUrl = Stamp::model()->fetchIconById($data["preDiary"]["stamp"]);
         $data["preStampIcon"] = $stampPath . $iconUrl;
     }
     $subUidArr = User::model()->fetchSubUidByUid($uid);
     $data["subUids"] = implode(",", $subUidArr);
     if (!empty($subUidArr)) {
         $uids = implode(",", $subUidArr);
         $yesterday = strtotime(date("Y-m-d", strtotime("-1 day")));
         $yestUnReviewCount = Diary::model()->count("uid IN({$uids}) AND diarytime={$yesterday} AND isreview='0'");
         if (0 < $yestUnReviewCount) {
             $time = $yesterday;
         } else {
             $time = strtotime(date("Y-m-d"));
         }
         $data["reviewInfo"] = array("reviewedCount" => Diary::model()->count("uid IN({$uids}) AND diarytime={$time} AND isreview='1'"), "count" => Diary::model()->count("uid IN({$uids}) AND diarytime={$time}"));
         $paginationData = Diary::model()->fetchAllByPage("uid IN({$uids}) AND diarytime={$time}");
         $recordUidArr = $noRecordUidArr = $noRecordUserList = array();
         foreach ($paginationData["data"] as $diary) {
             $recordUidArr[] = $diary["uid"];
         }
         if (0 < count($recordUidArr)) {
             foreach ($subUidArr as $subUid) {
                 if (!in_array($subUid, $recordUidArr)) {
                     $noRecordUidArr[] = $subUid;
                 }
             }
         } else {
             $noRecordUidArr = $subUidArr;
         }
         if (0 < count($noRecordUidArr)) {
             $newUidArr = array_slice($noRecordUidArr, 0, 3);
             $noRecordUserList = User::model()->fetchAllByUids($newUidArr);
         }
         $data["noRecordUserList"] = $noRecordUserList;
         $reviewData = array();
         $noReviewData = array();
         foreach ($paginationData["data"] as $record) {
             $record["user"] = User::model()->fetchByUid($record["uid"]);
             $record["diarytime"] = ConvertUtil::formatDate($record["diarytime"], "d");
             if ($record["isreview"] == "1") {
                 $reviewData[] = $record;
             } else {
                 $noReviewData[] = $record;
             }
         }
         $data["reviewRecordList"] = $reviewData;
         $data["noReviewRecordList"] = $noReviewData;
     }
     foreach ($this->_indexTab as $tab) {
         $data["tab"] = $tab;
         if ($tab == "diaryPersonal") {
             $return[$tab] = Ibos::app()->getController()->renderPartial($viewAlias, $data, true);
         } else {
             if ($tab == "diaryAppraise" && 0 < count($subUidArr)) {
                 $return[$tab] = Ibos::app()->getController()->renderPartial($viewAlias, $data, true);
             }
         }
     }
     return $return;
 }