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}(); } }
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}(); } }
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"); }
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)); }
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}(); } }
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; }