Exemplo n.º 1
0
 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));
 }
Exemplo n.º 2
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();
         }
     }
 }
Exemplo n.º 3
0
 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}\"");
     }
 }
Exemplo n.º 4
0
 /**
  * @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);
 }