public function validateItem(iUmiHierarchyElement $orderItem) { if(!is_array($this->catalog_items)) { return false; } foreach($this->catalog_items as $catalogItem) { if($catalogItem->id == $orderItem->id) { return true; } } $parentId = $orderItem->getParentId(); if($parentId) { $hierarchy = umiHierarchy::getInstance(); $parents = $hierarchy->getAllParents($parentId, true); if(isset($parents[0])) unset($parents[0]); foreach($this->catalog_items as $catalogItem) { if(in_array($catalogItem->id, $parents)) { return true; } } } return false; }
private static function fillFields(antiSpamService $vaaabf0d39951f3e6c3e8a7911df524c2, iUmiHierarchyElement $v8e2dcfd7e7e24b1ca76c1193f645902b, $v5180805afcdc53d067cf7c6b96c68c9d = 'content') { $v02bd92faa38aaa6cc0ea75e59937a1ef = null; $v5891da2d64975cae48d175d1e001f5da = umiObjectsCollection::getInstance(); $vb81ca7c0ccaa77e7aa91936ab0070695 = umiHierarchy::getInstance(); $ve0d61127bd180c59c3c5a9565ade8a7e = ($ve358efa489f58062f10dd7316b65649e = $v8e2dcfd7e7e24b1ca76c1193f645902b->getValue('author_id')) ? $ve358efa489f58062f10dd7316b65649e : $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject()->getOwnerId(); $v02bd92faa38aaa6cc0ea75e59937a1ef = $v5891da2d64975cae48d175d1e001f5da->getObject($ve0d61127bd180c59c3c5a9565ade8a7e); if ($v02bd92faa38aaa6cc0ea75e59937a1ef && $v02bd92faa38aaa6cc0ea75e59937a1ef->is_registrated) { $v02bd92faa38aaa6cc0ea75e59937a1ef = $v5891da2d64975cae48d175d1e001f5da->getObject($v02bd92faa38aaa6cc0ea75e59937a1ef->user_id); } if ($v02bd92faa38aaa6cc0ea75e59937a1ef) { $ve2e42a07550863f8b67f5eb252581f6d = $v02bd92faa38aaa6cc0ea75e59937a1ef->nickname ? $v02bd92faa38aaa6cc0ea75e59937a1ef->nickname : $v02bd92faa38aaa6cc0ea75e59937a1ef->login; $v0c83f57c786a0b4a39efab23731c7ebc = $v02bd92faa38aaa6cc0ea75e59937a1ef->email ? $v02bd92faa38aaa6cc0ea75e59937a1ef->email : $v02bd92faa38aaa6cc0ea75e59937a1ef->getValue('e-mail'); $vaaabf0d39951f3e6c3e8a7911df524c2->setNick($ve2e42a07550863f8b67f5eb252581f6d); $vaaabf0d39951f3e6c3e8a7911df524c2->setEmail($v0c83f57c786a0b4a39efab23731c7ebc); } else { $vaaabf0d39951f3e6c3e8a7911df524c2->setNick(''); $vaaabf0d39951f3e6c3e8a7911df524c2->setEmail(''); } $vaaabf0d39951f3e6c3e8a7911df524c2->setContent($v8e2dcfd7e7e24b1ca76c1193f645902b->getValue($v5180805afcdc53d067cf7c6b96c68c9d)); $v2a304a1348456ccd2234cd71a81bd338 = cmsController::getInstance()->getCurrentDomain()->getHost() . $vb81ca7c0ccaa77e7aa91936ab0070695->getPathById($v8e2dcfd7e7e24b1ca76c1193f645902b->getId()); $vaaabf0d39951f3e6c3e8a7911df524c2->setLink($v2a304a1348456ccd2234cd71a81bd338); return $vaaabf0d39951f3e6c3e8a7911df524c2; }
protected function translateData(iUmiHierarchyElement $v8e2dcfd7e7e24b1ca76c1193f645902b) { $v7552cd149af7495ee7d8225974e50f80 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getId(); $v26b75b176d665f24a5fd22a2ad815763 = array(); $v8b1dc169bf460ee884fceef66c6607d6 = cmsController::getInstance(); $vb81ca7c0ccaa77e7aa91936ab0070695 = umiHierarchy::getInstance(); $v6942e8fa62b3cc9d93881a58210e2fd7 = umiHierarchyTypesCollection::getInstance(); $v0e8133eb006c0f85ed9444ae07a60842 = umiObjectTypesCollection::getInstance(); $v5891da2d64975cae48d175d1e001f5da = umiObjectsCollection::getInstance(); $vb1444fb0c07653567ad325aa25d4e37a = regedit::getInstance(); $v26b75b176d665f24a5fd22a2ad815763['@id'] = $v7552cd149af7495ee7d8225974e50f80; $v26b75b176d665f24a5fd22a2ad815763['@parentId'] = $v8e2dcfd7e7e24b1ca76c1193f645902b->getParentId(); $v26b75b176d665f24a5fd22a2ad815763['@link'] = $vb81ca7c0ccaa77e7aa91936ab0070695->getPathById($v7552cd149af7495ee7d8225974e50f80); if ($vf62baf4c4ead98d50d516eca0ac5a746 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getIsDefault()) { $v26b75b176d665f24a5fd22a2ad815763['@is-default'] = $vf62baf4c4ead98d50d516eca0ac5a746; } if ($ve1c6c9ef2fcbe75f26f815c4ef2e60b4 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getIsVisible()) { $v26b75b176d665f24a5fd22a2ad815763['@is-visible'] = $ve1c6c9ef2fcbe75f26f815c4ef2e60b4; } if ($v4264c638e0098acb172519b0436db099 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getIsActive()) { $v26b75b176d665f24a5fd22a2ad815763['@is-active'] = $v4264c638e0098acb172519b0436db099; } if ($vf49e2553045b3240a95c36854d36dddc = $v8e2dcfd7e7e24b1ca76c1193f645902b->getIsDeleted()) { $v26b75b176d665f24a5fd22a2ad815763['@is-deleted'] = $vf49e2553045b3240a95c36854d36dddc; } $v840767d63139b4dca4928d5ec734c79e = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject()->getValue("lockuser"); if ($v840767d63139b4dca4928d5ec734c79e > 0) { $v31e6b624e5c05c45b0f1e8a7f59801ba = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject()->getValue("locktime"); $vcdd638e00095e76c42db80d69dfdec30 = $v8b1dc169bf460ee884fceef66c6607d6->getModule("users")->user_id; $vd5034fb9092631c8a2869ebb11b5c591 = $vb1444fb0c07653567ad325aa25d4e37a->getVal("//settings/lock_duration"); if ($v31e6b624e5c05c45b0f1e8a7f59801ba && $v31e6b624e5c05c45b0f1e8a7f59801ba->timestamp + $vd5034fb9092631c8a2869ebb11b5c591 > time()) { if ($vcdd638e00095e76c42db80d69dfdec30 != $v840767d63139b4dca4928d5ec734c79e) { $v797bf25c165393c1aa5fd92576e0f011['user-id'] = $v840767d63139b4dca4928d5ec734c79e; $v0db00a6b60c9e7fa0cda63a96270ca2b = $v5891da2d64975cae48d175d1e001f5da->getObject($v840767d63139b4dca4928d5ec734c79e); $v797bf25c165393c1aa5fd92576e0f011['login'] = $v0db00a6b60c9e7fa0cda63a96270ca2b->getValue("login"); $v797bf25c165393c1aa5fd92576e0f011['lname'] = $v0db00a6b60c9e7fa0cda63a96270ca2b->getValue("lname"); $v797bf25c165393c1aa5fd92576e0f011['fname'] = $v0db00a6b60c9e7fa0cda63a96270ca2b->getValue("fname"); $v797bf25c165393c1aa5fd92576e0f011['father-name'] = $v0db00a6b60c9e7fa0cda63a96270ca2b->getValue("father_name"); $v797bf25c165393c1aa5fd92576e0f011['locktime'] = $v31e6b624e5c05c45b0f1e8a7f59801ba->getFormattedDate(); $v797bf25c165393c1aa5fd92576e0f011['@ts'] = $v31e6b624e5c05c45b0f1e8a7f59801ba->timestamp; $v26b75b176d665f24a5fd22a2ad815763['locked-by'] = $v797bf25c165393c1aa5fd92576e0f011; } } else { $va8cfde6331bd59eb2ac96f8911c4b666 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject(); $va8cfde6331bd59eb2ac96f8911c4b666->setValue("lockuser", null); $va8cfde6331bd59eb2ac96f8911c4b666->setValue("locktime", null); $va8cfde6331bd59eb2ac96f8911c4b666->commit(); $v8e2dcfd7e7e24b1ca76c1193f645902b->commit(); } } $v71860c77c6745379b0d44304d66b6a13 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject(); $vac89cc3bb8407b8f6f24df3d2f088752 = $v71860c77c6745379b0d44304d66b6a13->getValue("expiration_date"); $ve7e2aab29960a1faeb82a86368ea4b58 = $v71860c77c6745379b0d44304d66b6a13->getValue("publish_status"); $vdbf113427c1e27923793e77460b11ee7 = $v5891da2d64975cae48d175d1e001f5da->getObject($ve7e2aab29960a1faeb82a86368ea4b58); $v9acb44549b41563697bb490144ec6258 = array(); if ($vb1444fb0c07653567ad325aa25d4e37a->getVal("//settings/expiration_control")) { if ($vdbf113427c1e27923793e77460b11ee7) { $v9acb44549b41563697bb490144ec6258['attribute:id'] = strlen($vfa816edb83e95bf0c8da580bdfd491ef = $vdbf113427c1e27923793e77460b11ee7->getValue("publish_status_id")) ? $vfa816edb83e95bf0c8da580bdfd491ef : 'page_status_publish'; $v9acb44549b41563697bb490144ec6258['node:name'] = $vdbf113427c1e27923793e77460b11ee7->getName(); $v018e77635d40709feb0c09c6fb84ee00['status'] = $v9acb44549b41563697bb490144ec6258; if ($vac89cc3bb8407b8f6f24df3d2f088752) { $v018e77635d40709feb0c09c6fb84ee00['attribute:ts'] = $vac89cc3bb8407b8f6f24df3d2f088752->timestamp; $v018e77635d40709feb0c09c6fb84ee00['date'] = $vac89cc3bb8407b8f6f24df3d2f088752->getFormattedDate(); $v018e77635d40709feb0c09c6fb84ee00['comments'] = $v71860c77c6745379b0d44304d66b6a13->getValue("publish_comments"); } } else { $v9acb44549b41563697bb490144ec6258['@id'] = 'page_status_publish'; $v9acb44549b41563697bb490144ec6258['#name'] = getLabel('object-status-publish'); $v018e77635d40709feb0c09c6fb84ee00['status'] = $v9acb44549b41563697bb490144ec6258; $v018e77635d40709feb0c09c6fb84ee00['@ts'] = ""; } $v26b75b176d665f24a5fd22a2ad815763['expiration'] = $v018e77635d40709feb0c09c6fb84ee00; } if (!is_null(getRequest('virtuals'))) { $v08a0dea3e6dbfe263d3379b421a06959 = $vb81ca7c0ccaa77e7aa91936ab0070695->checkIsVirtual(array($v7552cd149af7495ee7d8225974e50f80 => false)); if (isset($v08a0dea3e6dbfe263d3379b421a06959[$v7552cd149af7495ee7d8225974e50f80]) && $v08a0dea3e6dbfe263d3379b421a06959[$v7552cd149af7495ee7d8225974e50f80]) { $v26b75b176d665f24a5fd22a2ad815763['virtual-copy'] = array('attribute:count' => $v08a0dea3e6dbfe263d3379b421a06959[$v7552cd149af7495ee7d8225974e50f80]); } } $v26b75b176d665f24a5fd22a2ad815763['@object-id'] = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject()->getId(); $v26b75b176d665f24a5fd22a2ad815763['@object-guid'] = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject()->getGUID(); $v26b75b176d665f24a5fd22a2ad815763['@type-id'] = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject()->getTypeId(); $v26b75b176d665f24a5fd22a2ad815763['@type-guid'] = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject()->getTypeGUID(); $v26b75b176d665f24a5fd22a2ad815763['@update-time'] = $v8e2dcfd7e7e24b1ca76c1193f645902b->getUpdatetime(); $v26b75b176d665f24a5fd22a2ad815763['@alt-name'] = $v8e2dcfd7e7e24b1ca76c1193f645902b->getAltName(); if (!is_null(getRequest('templates'))) { $v26b75b176d665f24a5fd22a2ad815763['@template-id'] = $v8e2dcfd7e7e24b1ca76c1193f645902b->getTplId(); $v26b75b176d665f24a5fd22a2ad815763['@domain-id'] = $v8e2dcfd7e7e24b1ca76c1193f645902b->getDomainId(); $v26b75b176d665f24a5fd22a2ad815763['@lang-id'] = $v8e2dcfd7e7e24b1ca76c1193f645902b->getLangId(); } if (!is_null(getRequest('childs'))) { $vadce578d04ed03c31f6ac59451fcf8e4 = $vb81ca7c0ccaa77e7aa91936ab0070695->getChildsCount($v7552cd149af7495ee7d8225974e50f80, true, true, 1); $v26b75b176d665f24a5fd22a2ad815763['childs'] = $vadce578d04ed03c31f6ac59451fcf8e4; } if (!is_null(getRequest('permissions'))) { $vfd7b7118ef3b11157505a66f465d672f = permissionsCollection::getInstance(); $v61b9295e93e2ba331ea1e6f1b79f459d = $vfd7b7118ef3b11157505a66f465d672f->isAllowedObject($vfd7b7118ef3b11157505a66f465d672f->getUserId(), $v7552cd149af7495ee7d8225974e50f80); $v26b75b176d665f24a5fd22a2ad815763['permissions'] = ($v61b9295e93e2ba331ea1e6f1b79f459d[4] ? 16 : 0) | ($v61b9295e93e2ba331ea1e6f1b79f459d[3] ? 8 : 0) | ($v61b9295e93e2ba331ea1e6f1b79f459d[2] ? 4 : 0) | ($v61b9295e93e2ba331ea1e6f1b79f459d[1] ? 2 : 0) | ($v61b9295e93e2ba331ea1e6f1b79f459d[0] ? 1 : 0); } $v0715f6d9497f93911417c9c324265771 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getTypeId(); $vb946c44d711ade3b061653732977d043 = $v6942e8fa62b3cc9d93881a58210e2fd7->getType($v0715f6d9497f93911417c9c324265771); if (!is_null(getRequest('links')) && !$v8e2dcfd7e7e24b1ca76c1193f645902b->isDeleted) { $v5cd36db381c0678623647c8c221e158e = $vb946c44d711ade3b061653732977d043->getName(); if ($v35360fb26b66092afbb3474e0dfe5c73 = $v8b1dc169bf460ee884fceef66c6607d6->getModule($v5cd36db381c0678623647c8c221e158e)) { $v807765384d9d5527da8848df14a4f02f = $v35360fb26b66092afbb3474e0dfe5c73->getEditLink($v7552cd149af7495ee7d8225974e50f80, $vb946c44d711ade3b061653732977d043->getExt()); if (is_array($v807765384d9d5527da8848df14a4f02f)) { if ($v807765384d9d5527da8848df14a4f02f[0]) { $v26b75b176d665f24a5fd22a2ad815763['create-link'] = $v807765384d9d5527da8848df14a4f02f[0]; } if ($v807765384d9d5527da8848df14a4f02f[1]) { $v26b75b176d665f24a5fd22a2ad815763['edit-link'] = $v807765384d9d5527da8848df14a4f02f[1]; } } } } if ($vb946c44d711ade3b061653732977d043 instanceof iUmiHierarchyType) { $v26b75b176d665f24a5fd22a2ad815763['basetype'] = $vb946c44d711ade3b061653732977d043; } $v26b75b176d665f24a5fd22a2ad815763['name'] = str_replace(array("<", ">"), array('<', '>'), $v8e2dcfd7e7e24b1ca76c1193f645902b->getName()); if ($this->isFull == false) { $v26b75b176d665f24a5fd22a2ad815763['xlink:href'] = "upage://" . $v7552cd149af7495ee7d8225974e50f80; return $v26b75b176d665f24a5fd22a2ad815763; } $va8cfde6331bd59eb2ac96f8911c4b666 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject(); $v6301cee35ea764a1e241978f93f01069 = $va8cfde6331bd59eb2ac96f8911c4b666->getTypeId(); $v726e8e4809d4c1b28a6549d86436a124 = $v0e8133eb006c0f85ed9444ae07a60842->getType($v6301cee35ea764a1e241978f93f01069); $v143fdbfa2afa490e521056bd5040d5fd = $v726e8e4809d4c1b28a6549d86436a124->getFieldsGroupsList(); $v26b75b176d665f24a5fd22a2ad815763['properties'] = array('nodes:group' => array()); $v865c0c0b4ab0e063e5caa3387c1a8741 = 0; foreach ($v143fdbfa2afa490e521056bd5040d5fd as $vdb0f6f37ebeb6ea09489124345af2a45) { $v03f2ce8694aef1464a97f254c78a26ae = translatorWrapper::get($vdb0f6f37ebeb6ea09489124345af2a45); $vb1a1a039830b9d5ddf71ccd5304e9e50 = $v03f2ce8694aef1464a97f254c78a26ae->translateProperties($vdb0f6f37ebeb6ea09489124345af2a45, $va8cfde6331bd59eb2ac96f8911c4b666); if (!empty($vb1a1a039830b9d5ddf71ccd5304e9e50)) { $v26b75b176d665f24a5fd22a2ad815763['properties']['nodes:group'][getRequest('jsonMode') == "force" ? $v865c0c0b4ab0e063e5caa3387c1a8741++ : ++$v865c0c0b4ab0e063e5caa3387c1a8741] = $vb1a1a039830b9d5ddf71ccd5304e9e50; } } return $v26b75b176d665f24a5fd22a2ad815763; }
/** * Установить права по умолчанию для страницы $element по отношению к пользователю $owner_id * @param umiHierarchyElement $element экземпляр страницы * @param Integer $owner_id id пользователя или группы пользователей * @return Integer уровен доступа к странице, который был выбран системой */ public function setDefaultElementPermissions(iUmiHierarchyElement $element, $owner_id) { $module = $element->getModule(); $method = $element->getMethod(); $level = 0; if ($this->isAllowedMethod($owner_id, $module, $method, true)) { $level = permissionsCollection::E_READ_ALLOWED_BIT; } if ($this->isAllowedMethod($owner_id, $module, $method . ".edit", true)) { $level = permissionsCollection::E_READ_ALLOWED_BIT + permissionsCollection::E_EDIT_ALLOWED_BIT + permissionsCollection::E_CREATE_ALLOWED_BIT + permissionsCollection::E_DELETE_ALLOWED_BIT + permissionsCollection::E_MOVE_ALLOWED_BIT; } $this->setElementPermissions($owner_id, $element->getId(), $level); return $level; }
public function calculateLastMessageId(iUmiHierarchyElement $element) { $sel = new selector('pages'); $sel->types('hierarchy-type')->name('forum', 'message'); $sel->order('publish_time')->desc(); $sel->limit(0, 1); if ($element->getMethod() == 'conf') { $lastTopics = new selector('pages'); $lastTopics->types('hierarchy-type')->name('forum', 'topic'); $lastTopics->where('hierarchy')->page($element->id)->childs(1); $lastTopics->order('last_post_time')->desc(); $lastTopics->limit(0, 1); if ($lastTopics->first) { $sel->where('hierarchy')->page($lastTopics->first->id)->childs(1); } else { return null; } } else { $sel->where('hierarchy')->page($element->id)->childs(1); } return $sel->first; }