public static function processDefaultListData($data) { $dashboardConfig = Yii::app()->setting->get("setting/diaryconfig"); $lockday = $dashboardConfig["lockday"] ? intval($dashboardConfig["lockday"]) : 0; $return = array(); foreach ($data as $value) { $readeruid = $value["readeruid"]; if (empty($readeruid)) { $value["readercount"] = 0; } else { $value["readercount"] = count(explode(",", trim($readeruid, ","))); } $todayTime = (int) strtotime(date("Y-m-d", time())); $diaryTime = (int) $value["diarytime"]; $diffDay = ($todayTime - $diaryTime) / (24 * 60 * 60); if (0 < $lockday && $lockday < $diffDay) { $value["editIsLock"] = 1; } else { $value["editIsLock"] = 0; } $value["content"] = StringUtil::cutStr(strip_tags($value["content"]), 255); $value["diarytime"] = DiaryUtil::getDateAndWeekDay(date("Y-m-d", $value["diarytime"])); $value["addtime"] = ConvertUtil::formatDate($value["addtime"], "u"); if ($value["stamp"] != 0) { $path = Stamp::model()->fetchIconById($value["stamp"]); $value["stampPath"] = FileUtil::fileName(Stamp::STAMP_PATH . $path); } $return[] = $value; } return $return; }
public function getStamp() { static $stamp = array(); if (empty($stamp)) { $enableStamp = DiaryUtil::getEnableStamp(); $stampIds = implode(",", array_keys($enableStamp)); $stamp = Stamp::model()->fetchAllSortByPk("id", array("condition" => "FIND_IN_SET(id,'{$stampIds}')", "order" => "sort ASC")); } return $stamp; }
public static function handleListData($data) { $reminds = AssignmentRemind::model()->fetchAllByUid(Ibos::app()->user->uid); foreach ($data as $k => $assignment) { $data[$k] = self::handleShowData($assignment); $aid = $assignment["assignmentid"]; $data[$k]["remindtime"] = in_array($aid, array_keys($reminds)) ? $reminds[$aid] : 0; if ($assignment["stamp"] != 0) { $path = Stamp::model()->fetchIconById($assignment["stamp"]); $data[$k]["stampPath"] = FileUtil::fileName(Stamp::STAMP_PATH . $path); } } return $data; }
private function handleIconUrl($reports, $returnUserInfo = false) { $stampPath = FileUtil::fileName(Stamp::STAMP_PATH); foreach ($reports as $k => $report) { if ($returnUserInfo) { $reports[$k]["userInfo"] = User::model()->fetchByUid($report["uid"]); } if ($report["stamp"] != 0) { $stamp = Stamp::model()->fetchIconById($report["stamp"]); $reports[$k]["iconUrl"] = $stampPath . $stamp; } else { $reports[$k]["iconUrl"] = ""; } } return $reports; }
public function actionIndex() { $formSubmit = EnvUtil::submitCheck("stampSubmit"); $stampPath = Stamp::STAMP_PATH; if ($formSubmit) { if (isset($_POST["stamps"])) { foreach ($_POST["stamps"] as $id => $stamp) { if (FileUtil::fileExists($stamp["stamp"])) { Stamp::model()->delImg($id, "stamp"); $stamp["stamp"] = DashboardUtil::moveTempFile($stamp["stamp"], $stampPath); } if (FileUtil::fileExists($stamp["icon"])) { Stamp::model()->delImg($id, "icon"); $stamp["icon"] = DashboardUtil::moveTempFile($stamp["icon"], $stampPath); } Stamp::model()->modify($id, $stamp); } } if (isset($_POST["newstamps"])) { foreach ($_POST["newstamps"] as $value) { if (!empty($value["stamp"])) { $value["stamp"] = DashboardUtil::moveTempFile($value["stamp"], $stampPath); } if (!empty($value["icon"])) { $value["icon"] = DashboardUtil::moveTempFile($value["icon"], $stampPath); } Stamp::model()->add($value); } } if (!empty($_POST["removeId"])) { $removeIds = explode(",", trim($_POST["removeId"], ",")); Stamp::model()->deleteByIds($removeIds); } clearstatcache(); $this->success(Ibos::lang("Save succeed", "message")); } else { if (EnvUtil::getRequest("op") === "upload") { $fakeUrl = $this->imgUpload("stamp"); $realUrl = FileUtil::fileName($fakeUrl); return $this->ajaxReturn(array("fakeUrl" => $fakeUrl, "url" => $realUrl)); } $data = array("stampUrl" => $stampPath, "list" => Stamp::model()->fetchAll(), "maxSort" => Stamp::model()->getMaxSort()); $this->render("index", $data); } }
public function actionIndex() { $config = Yii::app()->setting->get("setting/reportconfig"); $stampDetails = $config["stampdetails"]; $stamps = array(); if (!empty($stampDetails)) { $stampidArr = explode(",", trim($stampDetails)); if (0 < count($stampidArr)) { foreach ($stampidArr as $stampidStr) { list($stampId, $score) = explode(":", $stampidStr); $stamps[$score] = intval($stampId); } } } $stampIds = Stamp::model()->fetchAllIds(); $diffStampIds = array_diff($stampIds, $stamps); $this->render("index", array("config" => $config, "stamps" => $stamps, "diffStampIds" => $diffStampIds)); }
public static function handelListData($reports) { $return = array(); foreach ($reports as $report) { $report["cutSubject"] = StringUtil::cutStr(strip_tags($report["subject"]), 60); $report["user"] = User::model()->fetchByUid($report["uid"]); $readeruid = $report["readeruid"]; $report["readercount"] = empty($readeruid) ? 0 : count(explode(",", trim($readeruid, ","))); $report["content"] = StringUtil::cutStr(strip_tags($report["content"]), 255); $report["addtime"] = ConvertUtil::formatDate($report["addtime"], "u"); if ($report["stamp"] != 0) { $path = Stamp::model()->fetchIconById($report["stamp"]); $report["stampPath"] = FileUtil::fileName(Stamp::STAMP_PATH . $path); } $return[] = $report; } return $return; }
protected function afterAdd($data, $sourceInfo) { if (isset($data["type"])) { if ($data["type"] == "reply") { $this->setParseView("comment", self::REPLY_PARSE_VIEW, "parse"); } else { $this->setParseView("comment", self::COMMENT_PARSE_VIEW, "parse"); } } if (isset($data["stamp"])) { $diaryid = $sourceInfo["diaryid"]; $allStamp = Stamp::model()->fetchAll(array("select" => "id")); $stampArr = ConvertUtil::getSubByKey($allStamp, "id"); $stamp = in_array($data["stamp"], $stampArr) ? intval($data["stamp"]) : 0; if ($stamp == 0) { Diary::model()->modify($diaryid, array("isreview" => 1)); } else { Diary::model()->modify($diaryid, array("isreview" => 1, "stamp" => $stamp)); $uid = Diary::model()->fetchUidByDiaryId($diaryid); DiaryStats::model()->scoreDiary($diaryid, $uid, $stamp); } } }
public function actionShow() { $diaryid = intval(EnvUtil::getRequest("diaryid")); $uid = Ibos::app()->user->uid; if (empty($diaryid)) { $this->error(Ibos::lang("Parameters error", "error"), $this->createUrl("share/index")); } $diary = Diary::model()->fetchByPk($diaryid); if (empty($diary)) { $this->error(Ibos::lang("No data found"), $this->createUrl("share/index")); } if (!ICDiary::checkScope($uid, $diary)) { $this->error(Ibos::lang("You do not have permission to view the log"), $this->createUrl("share/index")); } Diary::model()->addReaderuidByPK($diary, $uid); $data = Diary::model()->fetchDiaryRecord($diary); $params = array("diary" => ICDiary::processDefaultShowData($diary), "prevAndNextPK" => Diary::model()->fetchPrevAndNextPKByPK($diary["diaryid"]), "data" => $data); if (!empty($diary["attachmentid"])) { $params["attach"] = AttachUtil::getAttach($diary["attachmentid"], true, true, false, false, true); $params["count"] = 0; } $params["allowComment"] = $this->issetSharecomment() || UserUtil::checkIsSub($uid, $diary["uid"]) ? 1 : 0; if (!empty($diary["readeruid"])) { $readerArr = explode(",", $diary["readeruid"]); $params["readers"] = User::model()->fetchAllByPk($readerArr); } else { $params["readers"] = ""; } if (!empty($diary["stamp"])) { $params["stampUrl"] = Stamp::model()->fetchStampById($diary["stamp"]); } $params["sharecomment"] = $this->issetSharecomment(); $this->setPageTitle(Ibos::lang("Show 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("Show share diary")))); $this->render("show", $params); }
</th> </tr> </thead> <tbody> <tr> <td> <div id="stamp_item_box" class="stamp-item-box"> <?php foreach ($diffStampIds as $key => $diffStampId) { ?> <div class="stamp-item" data-node-type="stampItem" data-stamp-id="<?php echo $diffStampId; ?> "> <img src="<?php echo FileUtil::fileName('data/stamp/' . Stamp::model()->fetchIconById($diffStampId)); ?> " alt="" width="60" height="24"> </div> <?php } ?> </div> </td> </tr> </tbody> </table> </div> </div> </div> </div>
public function actionShow() { $diaryid = EnvUtil::getRequest("id"); $diaryDate = EnvUtil::getRequest("diarydate"); if (empty($diaryid) && empty($diaryDate)) { $this->ajaxReturn(array(), "JSONP"); } $diary = array(); $uid = Ibos::app()->user->uid; if (!empty($diaryid)) { $diary = Diary::model()->fetchByPk($diaryid); } else { $diary = Diary::model()->fetch("diarytime=:diarytime AND uid=:uid", array(":diarytime" => strtotime($diaryDate), ":uid" => $uid)); } if (empty($diary)) { $this->ajaxReturn(array(), "JSONP"); } Diary::model()->addReaderuidByPK($diary, $uid); $data = Diary::model()->fetchDiaryRecord($diary); $params = array("diary" => ICDiary::processDefaultShowData($diary), "prevAndNextPK" => Diary::model()->fetchPrevAndNextPKByPK($diary["diaryid"]), "data" => $data); if (!empty($diary["attachmentid"])) { $params["attach"] = AttachUtil::getAttach($diary["attachmentid"], true, true, false, false, true); $params["count"] = 0; } if (!empty($diary["readeruid"])) { $readerArr = explode(",", $diary["readeruid"]); $params["readers"] = User::model()->fetchAllByPk($readerArr); } else { $params["readers"] = ""; } if (!empty($diary["stamp"])) { $params["stampUrl"] = Stamp::model()->fetchStampById($diary["stamp"]); } $this->ajaxReturn($params, "JSONP"); }
</td> <td> <a href="<?php echo Yii::app()->urlManager->createUrl('diary/review/show', array('diaryid' => $review['diaryid'])); ?> "><?php echo $review['user']['realname'] . ' ' . $review['diarytime']; ?> </a> </td> <td width="60"> <?php if ($review['stamp'] != 0) { ?> <?php $iconUrl = Stamp::model()->fetchIconById($review['stamp']); ?> <img src="<?php echo FileUtil::fileName(Stamp::STAMP_PATH) . $iconUrl; ?> " alt=""> <?php } ?> </td> </tr> <?php } ?> </tbody> </table>
<span class="fss ilsep">|</span> <a href="javascript:;" data-node-type="showReader" class="fss" data-id="<?php echo $diary['diaryid']; ?> "><?php echo $lang['Read']; ?> <em><?php echo $diary['readercount']; ?> </em></a> <?php if ($diary['stamp'] > 0) { ?> <?php $iconUrl = Stamp::model()->fetchIconById($diary['stamp']); ?> <img width="60" height="24" src="<?php echo $stampPath . $iconUrl; ?> "/> <?php } ?> </div> </div> </div> <div class="da-detail" style="display:none;" data-id="<?php echo $diary['diaryid']; ?> "></div>
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; }
protected function getStamp() { $config = $this->getReportConfig(); if ($config["stampenable"]) { $stampDetails = $config["stampdetails"]; $stamps = array(); if (!empty($stampDetails)) { $stampidArr = explode(",", trim($stampDetails)); if (0 < count($stampidArr)) { foreach ($stampidArr as $stampidStr) { list($stampId, $score) = explode(":", $stampidStr); if ($stampId != 0) { $stamps[$score] = intval($stampId); } } } } $stampList = Stamp::model()->fetchAll(); $temp = array(); foreach ($stampList as $stamp) { $stampid = $stamp["id"]; $temp[$stampid]["title"] = $stamp["code"]; $temp[$stampid]["stamp"] = $stamp["stamp"]; $temp[$stampid]["value"] = $stamp["id"]; $temp[$stampid]["path"] = FileUtil::fileName(Stamp::STAMP_PATH . $stamp["icon"]); } $result = array(); if (!empty($stamps)) { foreach ($stamps as $score => $stampid) { $result[$score] = $temp[$stampid]; $result[$score]["point"] = $score; } } $ret = CJSON::encode(array_values($result)); } else { $ret = CJSON::encode(""); } return $ret; }
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 actionShow() { $repid = EnvUtil::getRequest("repid"); $uid = Ibos::app()->user->uid; if (empty($repid)) { $this->error(Ibos::lang("Parameters error", "error"), $this->createUrl("default/index")); } $report = Report::model()->fetchByPk($repid); if (empty($report)) { $this->error(Ibos::lang("File does not exists", "error"), $this->createUrl("default/index")); } if ($report["uid"] != $uid) { $this->error(Ibos::lang("Request tainting", "error"), $this->createUrl("default/index")); } $record = ReportRecord::model()->fetchAllRecordByRep($report); $attachs = $readers = array(); if (!empty($report["attachmentid"])) { $attachments = AttachUtil::getAttach($report["attachmentid"], true, true, false, false, true); $attachs = array_values($attachments); } if (!empty($report["readeruid"])) { $readerArr = explode(",", $report["readeruid"]); $readers = User::model()->fetchAllByPk($readerArr); } $stampUrl = ""; if (!empty($report["stamp"])) { $stampUrl = Stamp::model()->fetchStampById($report["stamp"]); } $params = array("report" => $report, "preAndNextRep" => Report::model()->fetchPreAndNextRep($report), "orgPlanList" => $record["orgPlanList"], "outSidePlanList" => $record["outSidePlanList"], "nextPlanList" => $record["nextPlanList"], "attachs" => $attachs, "readers" => $readers, "stampUrl" => $stampUrl, "realname" => User::model()->fetchRealnameByUid($report["uid"]), "departmentName" => Department::model()->fetchDeptNameByUid($report["uid"]), "isInstallCalendar" => ModuleUtil::getIsEnabled("calendar")); if (!empty($params["nextPlanList"])) { $reportType = ReportType::model()->fetchByPk($report["typeid"]); $firstPlan = $params["nextPlanList"][0]; $params["nextSubject"] = ICReport::handleShowSubject($reportType, $firstPlan["begindate"], $firstPlan["enddate"], 1); } $this->setPageTitle(Ibos::lang("Show report")); $this->setPageState("breadCrumbs", array(array("name" => Ibos::lang("Personal Office")), array("name" => Ibos::lang("Work report"), "url" => $this->createUrl("default/index")), array("name" => Ibos::lang("Show report")))); $this->render("show", $params); }
private function getStampIcon() { if (Ibos::app()->request->isAjaxRequest) { $repid = $_GET["repid"]; $report = Report::model()->fetchByPk($repid); if ($report["stamp"] != 0) { $icon = Stamp::model()->fetchIconById($report["stamp"]); $this->ajaxReturn(array("isSuccess" => true, "icon" => $icon)); } } }
protected function stamp($assignmentId) { $assignment = Assignment::model()->fetchByPk($assignmentId); if ($assignment["status"] == 2) { $stamp = intval(EnvUtil::getRequest("stamp")); Assignment::model()->modify($assignmentId, array("stamp" => $stamp, "status" => 3)); $chargeuid = explode(",", $assignment["chargeuid"]); $participantuid = explode(",", $assignment["participantuid"]); $uidArr = array_merge($participantuid, $chargeuid); $this->sendNotify($assignmentId, $assignment["subject"], $uidArr, "assignment_appraisal_message"); $stampInfo = Stamp::model()->fetchByPk($stamp); $this->addStepComment($assignmentId, Ibos::lang("Stamp the assignment") . "-" . $stampInfo["code"]); AssignmentLog::model()->addLog($assignmentId, "stamp", Ibos::lang("Stamp the assignment") . "-" . $stampInfo["code"]); $this->ajaxReturn(array("isSuccess" => true, "msg" => Ibos::lang("Operation succeed", "message"))); } else { $this->ajaxReturn(array("isSuccess" => false, "msg" => Ibos::lang("Assignment has not been finished"))); } }
public function getStamps() { $stamps = array(); foreach ($this->_stamps as $id) { $stamp = Stamp::model()->fetchByPk($id); $stamps[] = array("path" => FileUtil::fileName(stamp::STAMP_PATH . $stamp["icon"]), "stamp" => $stamp["stamp"], "title" => $stamp["code"], "value" => $id); } return $stamps; }