Пример #1
0
 public function getCategory()
 {
     $category = new ICCategory("ArticleCategory");
     $data = $category->getData();
     $format = "<li> <a href='#news' onclick='news.loadList(\$catid)'>\$spacer<i class='ao-file'></i>\$name</a> </li>";
     $return = StringUtil::getTree($data, $format, 0, "&nbsp;&nbsp;&nbsp;&nbsp;", array("", "", ""));
     return $return;
 }
Пример #2
0
 public function actionCategory()
 {
     $category = OfficialdocCategory::model()->fetchAll();
     $tmp = array(array());
     $data = array_merge($tmp, $category);
     unset($data[0]);
     $params = StringUtil::getTree($data, "<li class='\$selected'><a href='#docs' onclick='docs.loadList(\$catid)'>\$spacer<i class='ao-file'></i>\$name</a></li>");
     $this->ajaxReturn($params, "JSONP");
 }
Пример #3
0
 public function actionIndex()
 {
     $op = EnvUtil::getRequest("op");
     if (!empty($op) && in_array($op, array("get"))) {
         return $this->{$op}();
     }
     $dept = DepartmentUtil::loadDepartment();
     $data = array("dept" => $dept, "tree" => StringUtil::getTree($dept, $this->selectFormat), "unit" => Ibos::app()->setting->get("setting/unit"), "license" => Ibos::app()->setting->get("setting/license"), "perAdd" => Ibos::app()->user->checkAccess("organization/department/add"), "perEdit" => Ibos::app()->user->checkAccess("organization/department/edit"), "perDel" => Ibos::app()->user->checkAccess("organization/department/del"));
     $this->setPageTitle(Ibos::lang("Department manage"));
     $this->setPageState("breadCrumbs", array(array("name" => Ibos::lang("Organization"), "url" => $this->createUrl("department/index")), array("name" => Ibos::lang("Department manage"), "url" => $this->createUrl("department/index")), array("name" => Ibos::lang("Department list"))));
     $this->render("index", $data);
 }
Пример #4
0
							</tr>
							<tr data-id='0' data-pid='0'>
								<td>
									<a href='<?php 
echo $this->createUrl("default/index", array("op" => $op));
?>
' class='org-dep-name'><i class='os-company'></i><?php 
echo isset($unit["fullname"]) ? $unit["fullname"] : "";
?>
</a>
								</td>
							</tr>
							<?php 
Yii::import("ext.Tree", true);
$str = "\n\t\t\t\t\t\t\t\t<tr data-id='\$deptid' data-pid='\$pid'>\n\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \$spacer<a href='" . $this->createUrl("default/index&op={$op}&deptid=") . "\$deptid' class='org-dep-name'><i class='os-department'></i>\$deptname</a>\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t";
$categorys = StringUtil::getTree($dept, $str);
echo $categorys;
?>
						</tbody>
					</table>
				</div>
			</li>
		</ul>
	</div>
</div>
<script>
	(function() {
		var deptid = "<?php 
echo EnvUtil::getRequest("deptid");
?>
",
Пример #5
0
 protected function getCategoryOption()
 {
     $category = new ICArticleCategory("ArticleCategory");
     $categoryData = $category->getAjaxCategory($category->getData(array("order" => "sort ASC")));
     return StringUtil::getTree($categoryData, "<option value='\$catid' \$selected>\$spacer\$name</option>");
 }
Пример #6
0
 public function autoProcessor($item, $readOnly)
 {
     $field = $item["data-field"];
     $width = isset($item["data-width"]) ? $item["data-width"] : "200";
     $autoValue = "";
     $value = $this->getValue($item);
     $hourTime = date("H:i:s", TIMESTAMP);
     $date = date("Y-m-d");
     $time = $date . " " . $hourTime;
     $isTextAuto = substr($field, 0, 8) !== "sys_list";
     $lang = Ibos::getLangSource("workflow.default");
     if ($isTextAuto) {
         switch ($field) {
             case "sys_date":
                 $autoValue = $date;
                 break;
             case "sys_date_cn":
                 $autoValue = ConvertUtil::formatDate(TIMESTAMP, "Y" . $lang["Year"] . "m" . $lang["Month"] . "d" . $lang["Chinese day"]);
                 break;
             case "sys_date_cn_short1":
                 $autoValue = ConvertUtil::formatDate(TIMESTAMP, "Y" . $lang["Year"] . "m" . $lang["month"]);
                 break;
             case "sys_date_cn_short2":
                 $autoValue = ConvertUtil::formatDate(TIMESTAMP, "m" . $lang["Month"] . "d" . $lang["Chinese day"]);
                 break;
             case "sys_date_cn_short3":
                 $autoValue = ConvertUtil::formatDate(TIMESTAMP, "Y" . $lang["Year"]);
                 break;
             case "sys_date_cn_short4":
                 $autoValue = date("Y", TIMESTAMP);
                 break;
             case "sys_time":
                 $autoValue = $hourTime;
                 break;
             case "sys_datetime":
                 $autoValue = $time;
                 break;
             case "sys_week":
                 $autoValue = WfCommonUtil::getWeek();
                 break;
             case "sys_userid":
                 $autoValue = Ibos::app()->user->uid;
                 break;
             case "sys_realname":
                 $autoValue = Ibos::app()->user->realname;
                 break;
             case "sys_userpos":
                 $autoValue = Ibos::app()->user->posname;
                 break;
             case "sys_realname_date":
                 $autoValue = Ibos::app()->user->realname . " " . $date;
                 break;
             case "sys_realname_datetime":
                 $autoValue = Ibos::app()->user->realname . " " . $time;
                 break;
             case "sys_deptname":
                 $autoValue = Department::model()->fetchDeptNameByDeptId(Ibos::app()->user->alldeptid);
                 break;
             case "sys_deptname_short":
                 $autoValue = Ibos::app()->user->deptname;
                 break;
             case "sys_formname":
                 $autoValue = $this->form->formname;
                 break;
             case "sys_runname":
                 $autoValue = $this->inDebug ? "" : $this->run->name;
                 break;
             case "sys_rundate":
                 $autoValue = $this->inDebug ? "" : ConvertUtil::formatDate($this->run->begintime, "d");
                 break;
             case "sys_rundatetime":
                 $autoValue = $this->inDebug ? "" : ConvertUtil::formatDate($this->run->begintime);
                 break;
             case "sys_runid":
                 $autoValue = $this->inDebug ? "" : $this->run->runid;
                 break;
             case "sys_autonum":
                 $autoValue = $this->inApp ? $this->flow->autonum : "";
                 break;
             case "sys_ip":
                 $autoValue = EnvUtil::getClientIp();
                 break;
             case "sys_sql":
                 $sql = $item["data-src"];
                 $tempopt = array("uid" => Ibos::app()->user->uid, "deptid" => Ibos::app()->user->deptid, "positionid" => Ibos::app()->user->positionid, "runid" => $this->inDebug ? "" : $this->run->runid);
                 $autoValue = $this->execSysSql($sql, $tempopt, false);
                 break;
             case "sys_manager1":
                 $main = Ibos::app()->user->deptid;
                 $deptCache = DepartmentUtil::loadDepartment();
                 $managerID = $deptCache[$main]["manager"];
                 if ($managerID != 0) {
                     $autoValue = User::model()->fetchRealnameByUid($managerID);
                 }
                 break;
             case "sys_manager2":
                 $main = Ibos::app()->user->deptid;
                 $deptCache = DepartmentUtil::loadDepartment();
                 $upid = $deptCache[$main]["upid"];
                 if ($upid != 0) {
                     if ($deptCache[$upid]["manager"] != 0) {
                         $autoValue = User::model()->fetchRealnameByUid($deptCache[$upid]["manager"]);
                     }
                 }
                 break;
             case "sys_manager3":
                 $main = Ibos::app()->user->deptid;
                 $deptCache = DepartmentUtil::loadDepartment();
                 $dept_str = Department::model()->queryDept($main);
                 $temp = explode(",", $dept_str);
                 $count = count($temp);
                 $dept = $temp[$count - 2];
                 if ($deptCache[$dept]["manager"] != 0) {
                     $autoValue = User::model()->fetchRealnameByUid($deptCache[$dept]["manager"]);
                 }
                 break;
             default:
                 break;
         }
         if ($value == "" && !$readOnly || $this->flow->isFixed() && $readOnly && StringUtil::findIn($this->process->processitemauto, $item["data-title"]) && $this->rp->opflag) {
             $eleout = "\t\t\t\t<input type=\"text\" style=\"width:{$width} px;\" name=\"data_{$item["itemid"]}\" value=\"{$autoValue}\" title=\"{$item["data-title"]}\" />";
         } else {
             $eleout = "\t\t\t\t<input type=\"text\" style=\"width:{$width} px;\" name=\"data_{$item["itemid"]}\" value=\"{$value}\" title=\"{$item["data-title"]}\" />";
         }
         $hidden = isset($item["data-hide"]) ? $item["data-hide"] : "0";
         if ($hidden == "1") {
             $eleout = str_ireplace("type=\"text\"", "type=\"hidden\"", $eleout);
         }
         if (!$readOnly) {
             if ($this->inApp && $this->flow->isFixed() && StringUtil::findIn($this->process->processitemauto, $item["data-title"])) {
                 $readOnly = true;
             } else {
                 $eleout = str_ireplace("<input", "<input data-orig-value=\"{$autoValue}\" data-focus=\"restore\"", $eleout);
             }
         }
         if ($readOnly) {
             $this->setCommonReadOnly($item, $eleout, "input");
         }
     } else {
         $autoValue = "<option value=\"\"";
         if ($value == "") {
             $autoValue .= " selected";
         }
         $autoValue .= "></option>\n";
         switch ($field) {
             case "sys_list_dept":
                 $cache = DepartmentUtil::loadDepartment();
                 $str = StringUtil::getTree($cache, "<option value='\$deptid' \$selected>\$spacer\$deptname</option>", $value);
                 $autoValue .= $str;
                 break;
             case "sys_list_user":
                 foreach (UserUtil::loadUser() as $user) {
                     $selected = $value == $user["uid"] ? "selected" : "";
                     $autoValue .= "<option {$selected} value='" . $user["uid"] . "'>" . $user["realname"] . "</option>";
                 }
                 break;
             case "sys_list_pos":
                 foreach (PositionUtil::loadPosition() as $pos) {
                     $selected = $value == $pos["positionid"] ? "selected" : "";
                     $autoValue .= "<option {$selected} value='" . $pos["positionid"] . "'>" . $pos["posname"] . "</option>";
                 }
                 break;
             case "sys_list_prcsuser1":
                 $autoValue .= $this->getProcessUserList($this->flow->flowid, 0, $value);
                 break;
             case "sys_list_prcsuser2":
                 $autoValue .= $this->getProcessUserList($this->flow->flowid, $this->process->processid, $value, true);
                 break;
             case "sys_list_sql":
                 $sql = $item["data-src"];
                 $tempopt = array("uid" => Ibos::app()->user->uid, "deptid" => Ibos::app()->user->deptid, "positionid" => Ibos::app()->user->positionid, "runid" => $this->inDebug ? "" : $this->run->runid);
                 $autoValue = $this->execSysSql($sql, $tempopt);
                 $autoValue .= $this->arrayTolist($autoValue, $value);
                 break;
             case "sys_list_manager1":
                 $main = Ibos::app()->user->deptid;
                 $autoValue .= $this->getManagerList($main, $value);
                 break;
             case "sys_list_manager2":
                 $main = Ibos::app()->user->deptid;
                 $deptCache = DepartmentUtil::loadDepartment();
                 $upid = $deptCache[$main]["upid"];
                 if ($upid != 0) {
                     $autoValue .= $this->getManagerList($main, $value);
                 }
                 break;
             case "sys_list_manager3":
                 $main = Ibos::app()->user->deptid;
                 $deptCache = DepartmentUtil::loadDepartment();
                 $dept_str = Department::model()->queryDept($main);
                 $temp = explode(",", $dept_str);
                 $count = count($temp);
                 $dept = $temp[$count - 2];
                 $autoValue .= $this->getManagerList($dept, $value);
                 break;
         }
         $eleout = "\t\t\t\t\t<select title=\"{$item["data-title"]}\" name=\"data_{$item["itemid"]}\">\r\n\t\t\t\t\t{$autoValue}\r\n\t\t\t\t\t</select>";
         if ($readOnly) {
             $this->setCommonReadOnly($item, $eleout, "select");
         }
     }
     return $eleout;
 }
Пример #7
0
 public function actionEdit()
 {
     $id = EnvUtil::getRequest("id");
     if (EnvUtil::submitCheck("posSubmit")) {
         if (isset($_POST["posname"])) {
             $data["posname"] = $_POST["posname"];
             $data["sort"] = $_POST["sort"];
             $data["catid"] = intval(EnvUtil::getRequest("catid"));
             $data["goal"] = $_POST["goal"];
             $data["minrequirement"] = $_POST["minrequirement"];
             Position::model()->modify($id, $data);
         }
         if (isset($_POST["responsibility"])) {
             foreach ($_POST["responsibility"] as $rId => $value) {
                 $data = array("positionid" => $id, "responsibility" => $value, "criteria" => $_POST["criteria"][$rId]);
                 PositionResponsibility::model()->modify($rId, $data);
             }
         }
         if (isset($_POST["newResponsibility"])) {
             $this->addResponsibility($id, $_POST["newResponsibility"], $_POST["newCriteria"]);
         }
         if (!empty($_POST["resDelId"])) {
             $delId = trim($_POST["resDelId"], ",");
             PositionResponsibility::model()->deleteByPk(explode(",", $delId));
         }
         if (isset($_POST["nodes"])) {
             $this->updateAuthItem($id, $_POST["nodes"], $_POST["data-privilege"]);
         }
         if (isset($_POST["member"])) {
             UserUtil::setPosition($id, $_POST["member"]);
         } else {
             OrgUtil::update();
         }
         PositionUtil::cleanPurvCache($id);
         $this->success(Ibos::lang("Save succeed", "message"), $this->createUrl("position/index"));
     } else {
         $pos = Position::model()->fetchByPk($id);
         $related = NodeRelated::model()->fetchAllByPosId($id);
         $relateCombine = PositionUtil::combineRelated($related);
         $responsibility = PositionResponsibility::model()->fetchAllByPosId($id);
         $data["id"] = $id;
         $data["pos"] = $pos;
         $catData = PositionUtil::loadPositionCategory();
         $data["category"] = StringUtil::getTree($catData, $this->selectFormat, $pos["catid"]);
         $data["related"] = $relateCombine;
         $data["responsibility"] = $responsibility;
         $authItem = AuthUtil::loadAuthItem();
         $data["authItem"] = $authItem;
         $uids = User::model()->fetchUidByPosId($id, false);
         if (!empty($uids)) {
             $data["uids"] = $uids;
             $data["uidString"] = "";
             foreach ($uids as $uid) {
                 $data["uidString"] .= "'u_" . $uid . "',";
             }
             $data["uidString"] = trim($data["uidString"], ",");
         }
         $this->setPageTitle(Ibos::lang("Edit position"));
         $this->setPageState("breadCrumbs", array(array("name" => Ibos::lang("Organization"), "url" => $this->createUrl("department/index")), array("name" => Ibos::lang("Position manager"), "url" => $this->createUrl("position/index")), array("name" => Ibos::lang("Edit position"))));
         $this->render("edit", $data);
     }
 }
Пример #8
0
 private function companyInit()
 {
     if (Ibos::app()->request->isAjaxRequest) {
         $postData = array();
         $keys = array("phone", "fullname", "shortname", "fax", "zipcode", "address", "adminemail", "systemurl");
         foreach ($keys as $key) {
             if (isset($_POST[$key])) {
                 $postData[$key] = StringUtil::filterCleanHtml($_POST[$key]);
             } else {
                 $postData[$key] = "";
             }
         }
         Setting::model()->updateSettingValueByKey("unit", $postData);
         CacheUtil::update(array("setting"));
         $depts = EnvUtil::getRequest("depts");
         $isSuccess = $this->handleDept($depts);
         if ($isSuccess) {
             $uid = Ibos::app()->user->uid;
             User::model()->modify($uid, array("newcomer" => 0));
             $deptCache = Ibos::app()->setting->get("cache/department");
             $posCache = Ibos::app()->setting->get("cache/position");
             $selectFormat = "<option value='\$deptid' \$selected>\$spacer\$deptname</option>";
             $res["isSuccess"] = true;
             $res["depts"] = StringUtil::getTree($deptCache, $selectFormat);
             $res["positions"] = $posCache;
         } else {
             $res["isSuccess"] = false;
             $res["msg"] = Ibos::lang("Add department fail");
         }
         $this->ajaxReturn($res);
     }
 }