Esempio n. 1
0
		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('&lt;', '&gt;'), $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;
 }