public function getBindedPage($formId = false) { if ($formId === false) { $formId = ($tmp = getRequest('param0')) ? $tmp : $formId; } if (!$formId) { return array('page' => array('attribute:id' => 0)); } $hType = umiHierarchyTypesCollection::getInstance()->getTypeByName('webforms', 'page'); $typeId = umiObjectTypesCollection::getInstance()->getTypeByHierarchyTypeId($hType->getId()); $type = umiObjectTypesCollection::getInstance()->getType($typeId); $sel = new umiSelection(); $sel->addElementType($hType->getId()); $sel->addActiveFilter(true); $sel->addPropertyFilterEqual($type->getFieldId('form_id'), $formId); $result = umiSelectionsParser::runSelection($sel); if (!empty($result)) { return array('page' => array('attribute:id' => $result[0], 'attribute:href' => umiHierarchy::getInstance()->getPathById($result[0]))); } $sel = new umiSelection(); $sel->addElementType($hType->getId()); $sel->addActiveFilter(false); $sel->addPropertyFilterEqual($type->getFieldId('form_id'), $formId); $result = umiSelectionsParser::runSelection($sel); if (!empty($result)) { return array('page' => array('attribute:id' => $result[0], 'attribute:href' => umiHierarchy::getInstance()->getPathById($result[0]))); } return array('page' => array('attribute:id' => 0)); }
public function cronUnpublishPage($oEvent) { $object_type = umiObjectTypesCollection::getInstance()->getTypeByGUID('root-pages-type'); $field_id = $object_type->getFieldId("expiration_date"); $sel = new umiSelection(); $sel->addPropertyFilterLess($field_id, time()); $sel->addPropertyFilterNotEqual($field_id, 0); $sel->addActiveFilter(true); $sel->forceHierarchyTable(true); $result = umiSelectionsParser::runSelection($sel); $res = array(); foreach ($result as $key => $page_id) { $ePage = umiHierarchy::getInstance()->getElement($page_id, true); $ePage->setIsActive(false); $pageObject = $ePage->getObject(); $pageObject->setValue("publish_status", $this->getPageStatusIdByStatusSid("page_status_unpublish")); $pageObject->commit(); $ePage->commit(); if (!($publishComments = $ePage->getValue("publish_comments"))) { $publishComments = "Отсутствуют."; } $user_id = $ePage->getObject()->getOwnerId(); $oUser = umiObjectsCollection::getInstance()->getObject($user_id); if ($oUser instanceof umiObject && ($user_email = $oUser->getValue("e-mail"))) { //Составляем и посылаем сообщение пользователю $mail_message = new umiMail(); $from = regedit::getInstance()->getVal("//settings/email_from"); $mail_message->setFrom($from); $mail_message->setPriorityLevel("high"); $mail_message->setSubject(getLabel('label-notification-expired-mail-header')); list($body) = def_module::loadTemplatesForMail("mail/expired", "body"); $block['notify_header'] = getLabel('label-notification-expired-mail-header'); $block['page_header'] = $ePage->getName(); $block['publish_comments'] = $publishComments; $domain = domainsCollection::getInstance()->getDomain($ePage->getDomainId()); $page_host = "http://" . $domain->getHost() . umiHierarchy::getInstance()->getPathById($page_id); $block['page_link'] = $page_host; $mail_html = def_module::parseTemplateForMail($body, $block, $page_id); $mail_message->addRecipient($user_email); $mail_message->setContent($mail_html); $mail_message->commit(); $mail_message->send(); } } }
public function getFilteredPages($v94757cae63fd3e398c0811a976dd6bbe, $vdfc394bd05a4b48161c790034af522a8, $v2063c1608d6e0baf80249c42e2be5804, $v9d85c254b5062e518a134a61950999c3 = 10, $v66f6181bcb4cff4cd38fbc804a036db6 = "default", $v126424c808da347218ba631a78feaf04 = false, $v3aabf39f2d943fa886d86dcbbee4d910 = false, $v375a52cb87b22005816fe7a418ec6660 = true) { $ve1ba980ce14a8c0d7e2779f895ab8695 = getRequest('p'); if ($v126424c808da347218ba631a78feaf04) { $ve1ba980ce14a8c0d7e2779f895ab8695 = 0; } list($v364f9b183bd2dd9e0beb45c754830a6c, $ve6a2fd7211958cfe50efa4d14bd332f5, $v28d65bb7a643774ada22f54ca0679289) = def_module::loadTemplates("filtered_pages/" . $v66f6181bcb4cff4cd38fbc804a036db6, "pages_block", "pages_block_line", "pages_block_empty"); $v599dcce2998a6b40b1e38e8c6006cb0a = umiObjectTypesCollection::getInstance()->getType($v94757cae63fd3e398c0811a976dd6bbe); if ($v599dcce2998a6b40b1e38e8c6006cb0a instanceof umiObjectType) { if ($vf8a30f899e9d691c760031d60ea0f3a2 = $v599dcce2998a6b40b1e38e8c6006cb0a->getFieldId($vdfc394bd05a4b48161c790034af522a8)) { $v8be74552df93e31bbdd6b36ed74bdb6a = new umiSelection(); $v8be74552df93e31bbdd6b36ed74bdb6a->forceHierarchyTable(true); $v8be74552df93e31bbdd6b36ed74bdb6a->addObjectType($v94757cae63fd3e398c0811a976dd6bbe); $v06e3d36fa30cea095545139854ad1fb9 = umiFieldsCollection::getInstance()->getField($vf8a30f899e9d691c760031d60ea0f3a2); if ($v051369818a8073bba5feeb0e957eb308 = $v06e3d36fa30cea095545139854ad1fb9->getGuideId()) { if (!is_numeric($v2063c1608d6e0baf80249c42e2be5804)) { $vd47c20d305d6a44856735d5fe5c086ca = umiObjectsCollection::getInstance()->getGuidedItems($v051369818a8073bba5feeb0e957eb308); $v2063c1608d6e0baf80249c42e2be5804 = array_search($v2063c1608d6e0baf80249c42e2be5804, $vd47c20d305d6a44856735d5fe5c086ca); } } $v8be74552df93e31bbdd6b36ed74bdb6a->addPropertyFilterEqual($vf8a30f899e9d691c760031d60ea0f3a2, $v2063c1608d6e0baf80249c42e2be5804); $v8be74552df93e31bbdd6b36ed74bdb6a->addPermissions(); $v8be74552df93e31bbdd6b36ed74bdb6a->addLimit($v9d85c254b5062e518a134a61950999c3, $ve1ba980ce14a8c0d7e2779f895ab8695); $v8be74552df93e31bbdd6b36ed74bdb6a->addActiveFilter(true); if ($v3aabf39f2d943fa886d86dcbbee4d910) { $v8be74552df93e31bbdd6b36ed74bdb6a->setOrderByProperty($v3aabf39f2d943fa886d86dcbbee4d910, $v375a52cb87b22005816fe7a418ec6660); } else { $v8be74552df93e31bbdd6b36ed74bdb6a->setOrderByObjectId($v375a52cb87b22005816fe7a418ec6660); } $result = umiSelectionsParser::runSelection($v8be74552df93e31bbdd6b36ed74bdb6a); $vfbb44b4487415b134bce9c790a27fe5e = umiSelectionsParser::runSelectionCounts($v8be74552df93e31bbdd6b36ed74bdb6a); $vfca1bff8ad8b3a8585abfb0ad523ba42 = array(); if ($vfbb44b4487415b134bce9c790a27fe5e > 0) { $v691d502cfd0e0626cd3b058e5682ad1c = array(); $v12a673c3eb40ea95d992c775443b8709 = umiHierarchy::getInstance(); foreach ($result as $v7057e8409c7c531a1a6e9ac3df4ed549) { $v8e2dcfd7e7e24b1ca76c1193f645902b = $v12a673c3eb40ea95d992c775443b8709->getElement($v7057e8409c7c531a1a6e9ac3df4ed549); if ($v8e2dcfd7e7e24b1ca76c1193f645902b instanceof umiHierarchyElement) { $v691d502cfd0e0626cd3b058e5682ad1c[] = def_module::parseTemplate($ve6a2fd7211958cfe50efa4d14bd332f5, array('attribute:id' => $v8e2dcfd7e7e24b1ca76c1193f645902b->id, 'attribute:link' => $v8e2dcfd7e7e24b1ca76c1193f645902b->link, 'node:name' => $v8e2dcfd7e7e24b1ca76c1193f645902b->name)); } } $vfca1bff8ad8b3a8585abfb0ad523ba42['subnodes:items'] = $v691d502cfd0e0626cd3b058e5682ad1c; $v66f6181bcb4cff4cd38fbc804a036db6 = $v364f9b183bd2dd9e0beb45c754830a6c; } else { $v66f6181bcb4cff4cd38fbc804a036db6 = $v28d65bb7a643774ada22f54ca0679289; } $vfca1bff8ad8b3a8585abfb0ad523ba42['total'] = $vfbb44b4487415b134bce9c790a27fe5e; $vfca1bff8ad8b3a8585abfb0ad523ba42['per_page'] = $v9d85c254b5062e518a134a61950999c3; return def_module::parseTemplate($v66f6181bcb4cff4cd38fbc804a036db6, $vfca1bff8ad8b3a8585abfb0ad523ba42); } else { throw new publicException("Type \"" . $v599dcce2998a6b40b1e38e8c6006cb0a->getName() . "\" doesn't have property \"{$vdfc394bd05a4b48161c790034af522a8}\""); } } else { throw new publicException("Wrong type id \"{$v94757cae63fd3e398c0811a976dd6bbe}\""); } }
/** * @desc Выводит список черновиков текущего пользователя * @param Int $blogId Идентификатор блога * @param String $template Имя файла шаблона для вывода * @return string|array */ public function draughtsList($blogId = false, $template = 'default', $limit = false) { list($sTemplateBlock, $sTemplateLine) = self::loadTemplates('blogs20/' . $template, 'posts_list_block', 'posts_list_line'); $page = (int) getRequest('p'); $oBlog = null; $oHierarchy = umiHierarchy::getInstance(); if ($blogId === false) { $iTmp = getRequest('param0'); if ($iTmp) { $blogId = (int) $iTmp; } } $hierarchyTypes = umiHierarchyTypesCollection::getInstance(); $blogHierachyTypeId = $hierarchyTypes->getTypeByName("blogs20", "blog")->getId(); $sel = new umiSelection(); $hierarchy_type_id = $hierarchyTypes->getTypeByName("blogs20", "post")->getId(); $sel->addElementType($hierarchy_type_id); $typesCollection = umiObjectTypesCollection::getInstance(); $typeId = $typesCollection->getTypeByHierarchyTypeId($hierarchy_type_id); $postType = $typesCollection->getType($typeId); $userId = cmsController::getInstance()->getModule('users')->user_id; $sel->addOwnerFilter(array($userId)); if ($blogId !== false) { $oBlog = $oHierarchy->getElement($blogId); if ($oBlog && $oBlog->getHierarchyType() == $blogHierachyTypeId) { $sel->addHierarchyFilter($blogId); } } $sel->addActiveFilter(false); $sel->setOrderByProperty($postType->getFieldId('publish_time'), false); $sel->addLimit($limit ? $limit : $this->posts_per_page, $page); self::applyTimeRange($sel, $postType); $result = umiSelectionsParser::runSelection($sel); $total = umiSelectionsParser::runSelectionCounts($sel); $aLines = array(); foreach ($result as $iPostId) { $oPost = $oHierarchy->getElement($iPostId); if (!$oPost) { continue; } if (!$oBlog) { $oBlog = $oHierarchy->getElement($oPost->getRel()); } if (!$oBlog) { continue; } $sPostLink = '/blogs20/postView/' . $iPostId . '/'; $sBlogLink = $oHierarchy->getPathById($oBlog->getId(), true); $aLineParam = array(); $aLineParam['attribute:id'] = $iPostId; $aLineParam['attribute:author_id'] = $oPost->getObject()->getOwnerId(); $aLineParam['node:name'] = $oPost->getName(); $aLineParam['post_link'] = $sPostLink; $aLineParam['blog_link'] = $sBlogLink; $aLineParam['bid'] = $oBlog->getId(); $aLineParam['blog_title'] = $oBlog->getValue('title'); $aLineParam['title'] = $oPost->getValue('title'); $aLineParam['content'] = $oPost->getValue('content'); $aLineParam['cut'] = $this->prepareCut($aLineParam['content'], $sPostLink, $template); $aLineParam['subnodes:tags'] = $this->prepareTags($oPost->getValue('tags')); $aLineParam['comments_count'] = $oHierarchy->getChildsCount($iPostId, false); $this->pushEditable("blogs20", "post", $iPostId); $aLines[] = self::parseTemplate($sTemplateLine, $aLineParam, $iPostId); } $aBlockParam = array(); $aBlockParam['void:lines'] = $aBlockParam['subnodes:items'] = $aLines; $aBlockParam['bid'] = $blogId; $aBlockParam['per_page'] = $limit ? $limit : $this->posts_per_page; $aBlockParam['total'] = $total; return self::parseTemplate($sTemplateBlock, $aBlockParam); }