/**
  * Gets news with specified type. Uses paging.
  *
  * @param int $type Id of type (rubric)
  * @param int $limit Limit for output
  * @param int $page Current page for calculate offset
  * @return array
  */
 public function getList($type, $limit, $page = 1)
 {
     $config = parse_ini_file("./config/config.ini", true);
     $page -= 1;
     $hierarchyTypeId = umiHierarchyTypesCollection::getInstance()->getTypeByName("news", "item")->getId();
     $objectTypeId = umiObjectTypesCollection::getInstance()->getBaseType("news", "item");
     $objectType = umiObjectTypesCollection::getInstance()->getType($objectTypeId);
     $publishTimeFieldId = $objectType->getFieldId('publish_time');
     $publishToAppFieldId = $objectType->getFieldId('publish_to_app');
     $sel = new umiSelection();
     $sel->addElementType($hierarchyTypeId);
     $sel->addHierarchyFilter($type, 0, true);
     if ($config["umi"]["ignore-publish-flag"] != 1) {
         $sel->addPropertyFilterEqual($publishToAppFieldId, true);
     }
     $sel->setOrderByProperty($publishTimeFieldId, false);
     $sel->addLimit($limit, $page);
     $result = umiSelectionsParser::runSelection($sel);
     $items = array();
     $size = sizeof($result);
     for ($i = 0; $i < $size; $i++) {
         $elementId = $result[$i];
         $element = umiHierarchy::getInstance()->getElement($elementId);
         if (!$element) {
             continue;
         }
         $items[] = array("id" => $elementId, "header" => $element->getValue("h1"), "date" => $element->getValue("publish_time")->getFormattedDate("d.m.Y"), "image" => "http://" . $_SERVER['HTTP_HOST'] . $element->getValue("anons_pic"), "original_link" => "http://" . $_SERVER['HTTP_HOST'] . umiHierarchy::getInstance()->getPathById($elementId));
     }
     return $items;
 }
Exemplo n.º 2
0
 public function import_comments($from, $to, $fromHTypeId, $toHTypeId)
 {
     $selection = new umiSelection();
     $selection->addElementType($fromHTypeId);
     $selection->addHierarchyFilter($from);
     $commentList = umiSelectionsParser::runSelection($selection);
     foreach ($commentList as $commentId) {
         $newCommentId = $this->makeElementFromExisting($commentId, $to, $toHTypeId);
         $this->import_comments($commentId, $newCommentId, $fromHTypeId, $toHTypeId);
     }
 }
Exemplo n.º 3
0
 public function album($path = false, $template = "default", $limit = false, $ignore_paging = false)
 {
     $curr_page = (int) getRequest('p');
     $per_page = $limit ? $limit : $this->per_page;
     if ($ignore_paging) {
         $curr_page = 0;
     }
     $element_id = $this->analyzeRequiredPath($path);
     if ($element_id === false && $path != KEYWORD_GRAB_ALL) {
         throw new publicException(getLabel('error-page-does-not-exist', null, $path));
     }
     list($template_block, $template_block_empty, $template_line) = def_module::loadTemplates("photoalbum/" . $template, "album_block", "album_block_empty", "album_block_line");
     $block_arr = array();
     $hierarchy_type_id = umiHierarchyTypesCollection::getInstance()->getTypeByName("photoalbum", "photo")->getId();
     $sel = new umiSelection();
     $sel->addElementType($hierarchy_type_id);
     if ($path != KEYWORD_GRAB_ALL) {
         $sel->addHierarchyFilter($element_id);
     }
     $sel->addPermissions();
     $sel->addLimit($per_page, $curr_page);
     $result = umiSelectionsParser::runSelection($sel);
     $total = umiSelectionsParser::runSelectionCounts($sel);
     $block_arr['id'] = $block_arr['void:album_id'] = $element_id;
     $lines = array();
     if ($total > 0) {
         foreach ($result as $photo_element_id) {
             $line_arr = array();
             $photo_element = umiHierarchy::getInstance()->getElement($photo_element_id);
             if (!$photo_element) {
                 continue;
             }
             $line_arr['attribute:id'] = $photo_element_id;
             $line_arr['attribute:link'] = umiHierarchy::getInstance()->getPathById($photo_element_id);
             $line_arr['xlink:href'] = "upage://" . $photo_element_id;
             $line_arr['node:name'] = $photo_element->getName();
             $this->pushEditable("photoalbum", "photo", $photo_element_id);
             $lines[] = self::parseTemplate($template_line, $line_arr, $photo_element_id);
         }
     } else {
         return self::parseTemplate($template_block_empty, $block_arr, $element_id);
     }
     $block_arr['subnodes:items'] = $block_arr['void:lines'] = $lines;
     $block_arr['total'] = $total;
     $block_arr['per_page'] = $per_page;
     $block_arr['link'] = umiHierarchy::getInstance()->getPathById($element_id);
     return self::parseTemplate($template_block, $block_arr, $element_id);
 }
Exemplo n.º 4
0
 public function lastlents($elementPath, $template = "default", $per_page = false, $ignore_paging = false)
 {
     if (!$per_page) {
         $per_page = $this->per_page;
     }
     list($template_block, $template_block_empty, $template_line, $template_archive) = def_module::loadTemplates("news/" . $template, "listlents_block", "listlents_block_empty", "listlents_item", "listlents_archive");
     $curr_page = (int) getRequest('p');
     if ($ignore_paging) {
         $curr_page = 0;
     }
     $parent_id = $this->analyzeRequiredPath($elementPath);
     if ($parent_id === false) {
         throw new publicException(getLabel('error-page-does-not-exist', null, $elementPath));
     }
     $hierarchy_type_id = umiHierarchyTypesCollection::getInstance()->getTypeByName("news", "rubric")->getId();
     $sel = new umiSelection();
     $sel->addElementType($hierarchy_type_id);
     $sel->addHierarchyFilter($parent_id, 0, true);
     $sel->addPermissions();
     $sel->addLimit($per_page, $curr_page);
     $result = umiSelectionsParser::runSelection($sel);
     $total = umiSelectionsParser::runSelectionCounts($sel);
     if (($sz = sizeof($result)) > 0) {
         $block_arr = array();
         $lines = array();
         for ($i = 0; $i < $sz; $i++) {
             $line_arr = array();
             $element_id = $result[$i];
             $element = umiHierarchy::getInstance()->getElement($element_id);
             $line_arr['attribute:id'] = $element_id;
             $line_arr['attribute:link'] = umiHierarchy::getInstance()->getPathById($element_id);
             $line_arr['xlink:href'] = "upage://" . $element_id;
             $line_arr['void:header'] = $lines_arr['name'] = $element->getName();
             $line_arr['node:name'] = $element->getName();
             $lines[] = self::parseTemplate($template_line, $line_arr, $element_id);
             $this->pushEditable("news", "rubric", $element_id);
         }
         if (is_array($parent_id)) {
             list($parent_id) = $parent_id;
         }
         $block_arr['subnodes:items'] = $block_arr['void:lines'] = $lines;
         $block_arr['total'] = $total;
         $block_arr['per_page'] = $per_page;
         return self::parseTemplate($template_block, $block_arr, $parent_id);
     } else {
         return $template_block_empty;
     }
 }
Exemplo n.º 5
0
 public function getMessageLink($element_id = false)
 {
     $element_id = $this->analyzeRequiredPath($element_id);
     $per_page = $this->per_page;
     $curr_page = (int) getRequest('p');
     $element = umiHierarchy::getInstance()->getElement($element_id, true);
     if (!$element) {
         throw new publicException(getLabel('error-page-does-not-exist', null, ''));
     }
     $parent_id = $element->getParentId();
     $parent_element = umiHierarchy::getInstance()->getElement($parent_id);
     if (!$parent_element) {
         throw new publicException(getLabel('error-parent-does-not-exist', null, ''));
     }
     if ($element->getValue("publish_time")) {
         $publish_time = $element->getValue("publish_time")->getFormattedDate("U");
     }
     $sel = new umiSelection();
     $sel->setLimitFilter();
     $sel->addLimit($per_page, $curr_page);
     $sel->setElementTypeFilter();
     $topic_hierarchy_type_id = umiHierarchyTypesCollection::getInstance()->getTypeByName("forum", "message")->getId();
     $sel->addElementType($topic_hierarchy_type_id);
     $sel->setHierarchyFilter();
     $sel->addHierarchyFilter($parent_id);
     $object_type_id = umiObjectTypesCollection::getInstance()->getBaseType("forum", "message");
     $object_type = umiObjectTypesCollection::getInstance()->getType($object_type_id);
     $publish_time_field_id = $object_type->getFieldId('publish_time');
     $sel->setOrderFilter();
     $sel->setOrderByProperty($publish_time_field_id, true);
     $sel->setPropertyFilter();
     $sel->addPropertyFilterLess($publish_time_field_id, $publish_time);
     $sel->setPermissionsFilter();
     $sel->addPermissions();
     $total = umiSelectionsParser::runSelectionCounts($sel);
     $p = floor(($total - 1) / $this->per_page);
     if ($p < 0) {
         $p = 0;
     }
     return umiHierarchy::getInstance()->getPathById($parent_id) . "?p={$p}#" . $element_id;
 }
Exemplo n.º 6
0
 public function search_do($template = "default", $search_string = "", $search_types = "", $search_branches = "", $per_page = 0)
 {
     list($template_block, $template_line, $template_empty_result, $template_line_quant) = self::loadTemplates("search/" . $template, "search_block", "search_block_line", "search_empty_result", "search_block_line_quant");
     // поисковая фраза :
     if (!$search_string) {
         $search_string = (string) getRequest('search_string');
     }
     $block_arr = array();
     $block_arr['last_search_string'] = $search_string;
     $search_string = urldecode($search_string);
     $search_string = htmlspecialchars($search_string);
     $search_string = str_replace(".", " ", $search_string);
     $search_string = trim($search_string, " \t\r\n%");
     $search_string = str_replace(array('"', "'"), "", $search_string);
     $orMode = (bool) getRequest('search-or-mode');
     if (!$search_string) {
         return $this->insert_form($template);
     }
     // если запрошен поиск только по определенным веткам :
     $arr_search_by_rels = array();
     if (!$search_branches) {
         $search_branches = (string) getRequest('search_branches');
     }
     $search_branches = trim(rawurldecode($search_branches));
     if (strlen($search_branches)) {
         $arr_branches = preg_split("/[\\s,]+/", $search_branches);
         foreach ($arr_branches as $i_branch => $v_branch) {
             $arr_branches[$i_branch] = $this->analyzeRequiredPath($v_branch);
         }
         $arr_branches = array_map('intval', $arr_branches);
         $arr_search_by_rels = array_merge($arr_search_by_rels, $arr_branches);
         $o_selection = new umiSelection();
         $o_selection->addHierarchyFilter($arr_branches, 100, true);
         $o_result = umiSelectionsParser::runSelection($o_selection);
         $sz = sizeof($o_result);
         for ($i = 0; $i < $sz; $i++) {
             $arr_search_by_rels[] = intval($o_result[$i]);
         }
     }
     // если запрошен поиск только по определенным типам :
     if (!$search_types) {
         $search_types = (string) getRequest('search_types');
     }
     $search_types = rawurldecode($search_types);
     if (strlen($search_types)) {
         $search_types = preg_split("/[\\s,]+/", $search_types);
         $search_types = array_map('intval', $search_types);
     }
     $lines = array();
     $result = searchModel::getInstance()->runSearch($search_string, $search_types, $arr_search_by_rels, $orMode);
     $p = (int) getRequest('p');
     $total = sizeof($result);
     // если запрошена нетипичная постраничка
     if (!$per_page) {
         $per_page = intval(getRequest('per_page'));
     }
     if (!$per_page) {
         $per_page = $this->per_page;
     }
     $result = array_slice($result, $per_page * $p, $per_page);
     $i = $per_page * $p;
     foreach ($result as $num => $element_id) {
         $line_arr = array();
         $element = umiHierarchy::getInstance()->getElement($element_id);
         if (!$element) {
             continue;
         }
         $line_arr['void:num'] = ++$i;
         $line_arr['attribute:id'] = $element_id;
         $line_arr['attribute:name'] = $element->getName();
         $line_arr['attribute:link'] = umiHierarchy::getInstance()->getPathById($element_id);
         $line_arr['xlink:href'] = "upage://" . $element_id;
         $line_arr['node:context'] = searchModel::getInstance()->getContext($element_id, $search_string);
         $line_arr['void:quant'] = $num < count($result) - 1 ? self::parseTemplate($template_line_quant, array()) : "";
         $lines[] = self::parseTemplate($template_line, $line_arr, $element_id);
         $this->pushEditable(false, false, $element_id);
         umiHierarchy::getInstance()->unloadElement($element_id);
     }
     $block_arr['subnodes:items'] = $block_arr['void:lines'] = $lines;
     $block_arr['total'] = $total;
     $block_arr['per_page'] = $per_page;
     return self::parseTemplate($total > 0 ? $template_block : $template_empty_result, $block_arr);
 }
Exemplo n.º 7
0
 public function collectAllChanges($module, $method, $parentElementId = false)
 {
     $endTime = time();
     $beginTime = $endTime - 3600 * 24 * 30;
     $hierarchy_type_id = umiHierarchyTypesCollection::getInstance()->getTypeByName($module, $method)->getId();
     $object_type_id = umiObjectTypesCollection::getInstance()->getBaseType($module, $method);
     $object_type = umiObjectTypesCollection::getInstance()->getType($object_type_id);
     $publish_time_field_id = $object_type->getFieldId('publish_time');
     $sel = new umiSelection();
     $sel->setElementTypeFilter();
     $sel->addElementType($hierarchy_type_id);
     $sel->setPermissionsFilter();
     $sel->addPermissions();
     $sel->setOrderFilter();
     $sel->setOrderByProperty($publish_time_field_id, false);
     $sel->setPropertyFilter();
     $sel->addPropertyFilterBetween($publish_time_field_id, $beginTime, $endTime);
     if ($parentElementId !== false) {
         if (!is_numeric($parentElementId)) {
             $parentElementId = umiHierarchy::getInstance()->getIdByPath($parentElementId);
         }
         $sel->setHierarchyFilter();
         $sel->addHierarchyFilter($parentElementId);
     }
     $result = umiSelectionsParser::runSelection($sel);
     $total = umiSelectionsParser::runSelectionCounts($sel);
     $res = array();
     foreach ($result as $elementId) {
         $childs = sizeof(umiHierarchy::getInstance()->getChilds($elementId));
         $res[] = array("id" => $elementId, "childs" => $childs);
     }
     return array("result" => $res, "total" => $total);
 }
Exemplo n.º 8
0
	public function category($template = "default", $element_path = false, $limit = false, $ignore_paging = false, $order = true) {
		if(!$template) $template = "default";
		list($template_block, $template_block_empty, $template_line) = def_module::loadTemplates("faq/".$template, "questions_block", "questions_block_empty", "questions_block_line");

		$category_id = $this->analyzeRequiredPath($element_path);

		$hierarchy_type_id = umiHierarchyTypesCollection::getInstance()->getTypeByName("faq", "question")->getId();

		$per_page = ($limit) ? $limit : $this->per_page;
		$curr_page = (int) getRequest('p');
		if($ignore_paging) $curr_page = 0;


		$sel = new umiSelection;
		$sel->addElementType($hierarchy_type_id);
		$sel->addHierarchyFilter($category_id);
		$sel->addLimit($per_page, $curr_page);
		$sel->addPermissions();
		$sel->setOrderByOrd((bool) $order);
		$result = umiSelectionsParser::runSelection($sel);
		$total = umiSelectionsParser::runSelectionCounts($sel);

		if(($sz = sizeof($result)) > 0) {
			$block_arr = Array();
			$block_arr['total'] = $total;
			$block_arr['per_page'] = $per_page;
			$lines = Array();
			for($i = 0; $i < $sz; $i++) {
				if ($i < $limit || $limit === false) {
					$element_id = $result[$i];
					$element = umiHierarchy::getInstance()->getElement($element_id);

					if(!$element) continue;

					$line_arr = Array();
					$line_arr['attribute:id'] = $element_id;
					$line_arr['attribute:name'] = $line_arr['void:text'] = $element->getName();
					$line_arr['void:alt_name'] = $element->getAltName();
					$line_arr['attribute:link'] = umiHierarchy::getInstance()->getPathById($element_id);
					$line_arr['xlink:href'] = "upage://" . $element_id;
					$line_arr['question'] = nl2br($element->getValue("question"));
					$line_arr['answer'] = ($answer = $element->getValue("answer")) ? nl2br($answer) : nl2br($element->getValue("content"));
					$this->pushEditable("faq", "question", $element_id);

					$lines []= self::parseTemplate($template_line, $line_arr, $element_id);
				}
			}

			$block_arr['subnodes:items'] = $block_arr['void:lines'] = $lines;

			return self::parseTemplate($template_block, $block_arr, $category_id);
		} else {
			return $template_block_empty;
		}
	}
Exemplo n.º 9
0
 public function getSelectionObject()
 {
     $hierarchy_type_id = umiHierarchyTypesCollection::getInstance()->getTypeByName("catalog", "object")->getId();
     $sel = new umiSelection();
     $sel->setElementTypeFilter();
     $sel->addElementType($hierarchy_type_id);
     $sel->setHierarchyFilter();
     $sel->addHierarchyFilter($this->catalogId, 1);
     $sel->setPermissionsFilter();
     $sel->addPermissions();
     //add custom filters
     kFilters::getInstance($this->catalogId)->applyCustomCountFilters($sel);
     return $sel;
 }
Exemplo n.º 10
0
 public function getObjectsList($template = "default", $path = false, $limit = false, $ignore_paging = false, $i_need_deep = -1, $field_id = false, $asc = true)
 {
     if (!$template) {
         $template = "default";
     }
     if (!$i_need_deep) {
         $i_need_deep = intval(getRequest('param4'));
     }
     if (!$i_need_deep) {
         $i_need_deep = 0;
     }
     $i_need_deep = intval($i_need_deep);
     if ($i_need_deep === -1) {
         $i_need_deep = 100;
     }
     $hierarchy = umiHierarchy::getInstance();
     list($template_block, $template_block_empty, $template_block_search_empty, $template_line) = def_module::loadTemplates("catalog/" . $template, "objects_block", "objects_block_empty", "objects_block_search_empty", "objects_block_line");
     $hierarchy_type_id = umiHierarchyTypesCollection::getInstance()->getTypeByName("catalog", "object")->getId();
     $category_id = $this->analyzeRequiredPath($path);
     if ($category_id === false && $path != KEYWORD_GRAB_ALL) {
         throw new publicException(getLabel('error-page-does-not-exist', null, $path));
     }
     $category_element = $hierarchy->getElement($category_id);
     $per_page = $limit ? $limit : $this->per_page;
     $curr_page = getRequest('p');
     if ($ignore_paging) {
         $curr_page = 0;
     }
     $sel = new umiSelection();
     $sel->setElementTypeFilter();
     $sel->addElementType($hierarchy_type_id);
     if ($path != KEYWORD_GRAB_ALL) {
         $sel->setHierarchyFilter();
         $sel->addHierarchyFilter($category_id, $i_need_deep);
     }
     $sel->setPermissionsFilter();
     $sel->addPermissions();
     $hierarchy_type = umiHierarchyTypesCollection::getInstance()->getType($hierarchy_type_id);
     $type_id = umiObjectTypesCollection::getInstance()->getBaseType($hierarchy_type->getName(), $hierarchy_type->getExt());
     if ($path === KEYWORD_GRAB_ALL) {
         $curr_category_id = cmsController::getInstance()->getCurrentElementId();
     } else {
         $curr_category_id = $category_id;
     }
     if ($path != KEYWORD_GRAB_ALL) {
         $type_id = $hierarchy->getDominantTypeId($curr_category_id, $i_need_deep, $hierarchy_type_id);
     }
     if (!$type_id) {
         $type_id = umiObjectTypesCollection::getInstance()->getBaseType($hierarchy_type->getName(), $hierarchy_type->getExt());
     }
     if ($type_id) {
         $this->autoDetectOrders($sel, $type_id);
         $this->autoDetectFilters($sel, $type_id);
         if ($this->isSelectionFiltered) {
             $template_block_empty = $template_block_search_empty;
             $this->isSelectionFiltered = false;
         }
     } else {
         $sel->setOrderFilter();
         $sel->setOrderByName();
     }
     if ($curr_page !== "all") {
         $curr_page = (int) $curr_page;
         $sel->setLimitFilter();
         $sel->addLimit($per_page, $curr_page);
     }
     if ($field_id) {
         if (is_numeric($field_id)) {
             $sel->setOrderByProperty($field_id, $asc);
         } else {
             if ($type_id) {
                 $field_id = umiObjectTypesCollection::getInstance()->getType($type_id)->getFieldId($field_id);
                 if ($field_id) {
                     $sel->setOrderByProperty($field_id, $asc);
                 } else {
                     $sel->setOrderByOrd($asc);
                 }
             } else {
                 $sel->setOrderByOrd($asc);
             }
         }
     } else {
         $sel->setOrderByOrd($asc);
     }
     $result = umiSelectionsParser::runSelection($sel);
     $total = umiSelectionsParser::runSelectionCounts($sel);
     if (($sz = sizeof($result)) > 0) {
         $block_arr = array();
         $lines = array();
         for ($i = 0; $i < $sz; $i++) {
             $element_id = $result[$i];
             $element = umiHierarchy::getInstance()->getElement($element_id);
             if (!$element) {
                 continue;
             }
             $line_arr = array();
             $line_arr['attribute:id'] = $element_id;
             $line_arr['attribute:alt_name'] = $element->getAltName();
             $line_arr['attribute:link'] = umiHierarchy::getInstance()->getPathById($element_id);
             $line_arr['xlink:href'] = "upage://" . $element_id;
             $line_arr['node:text'] = $element->getName();
             $lines[] = self::parseTemplate($template_line, $line_arr, $element_id);
             $this->pushEditable("catalog", "object", $element_id);
             umiHierarchy::getInstance()->unloadElement($element_id);
         }
         $block_arr['subnodes:lines'] = $lines;
         $block_arr['numpages'] = umiPagenum::generateNumPage($total, $per_page);
         $block_arr['total'] = $total;
         $block_arr['per_page'] = $per_page;
         $block_arr['category_id'] = $category_id;
         if ($type_id) {
             $block_arr['type_id'] = $type_id;
         }
         return self::parseTemplate($template_block, $block_arr, $category_id);
     } else {
         $block_arr['numpages'] = umiPagenum::generateNumPage(0, 0);
         $block_arr['lines'] = "";
         $block_arr['total'] = 0;
         $block_arr['per_page'] = 0;
         $block_arr['category_id'] = $category_id;
         return self::parseTemplate($template_block_empty, $block_arr, $category_id);
     }
 }
Exemplo n.º 11
0
 public function getObjectsList($template = "default", $path = false, $limit = false, $ignore_paging = false, $i_need_deep = 0, $field_id = false, $asc = true)
 {
     // шаблон для tpl шаблонизатора
     if (!$template) {
         $template = "default";
     }
     // глубина поиска
     if (!$i_need_deep) {
         $i_need_deep = intval(getRequest('param4'));
     }
     if (!$i_need_deep) {
         $i_need_deep = 0;
     }
     $i_need_deep = intval($i_need_deep);
     if ($i_need_deep === -1) {
         $i_need_deep = 100;
     }
     $hierarchy = umiHierarchy::getInstance();
     list($template_block, $template_block_empty, $template_block_search_empty, $template_line) = def_module::loadTemplates("catalog/" . $template, "objects_block", "objects_block_empty", "objects_block_search_empty", "objects_block_line");
     // идентификатор объектов для поиска
     $hierarchy_type_id = umiHierarchyTypesCollection::getInstance()->getTypeByName("catalog", "object")->getId();
     // идшник каталога в котором производиться отбор
     $category_id = $this->analyzeRequiredPath($path);
     // не задан каталог или патс не задан исключение
     if ($category_id === false && $path != KEYWORD_GRAB_ALL) {
         throw new publicException(getLabel('error-page-does-not-exist', null, $path));
     }
     // получть каталог
     $category_element = $hierarchy->getElement($category_id);
     // количество для выбора
     $per_page = $limit ? $limit : $this->per_page;
     $curr_page = getRequest('p');
     if ($ignore_paging) {
         $curr_page = 0;
     }
     // задаёться выборка
     $sel = new umiSelection();
     $sel->setElementTypeFilter();
     $sel->addElementType($hierarchy_type_id);
     if ($path != KEYWORD_GRAB_ALL) {
         $sel->setHierarchyFilter();
         $sel->addHierarchyFilter($category_id, $i_need_deep);
     }
     $sel->setPermissionsFilter();
     $sel->addPermissions();
     // полуить тип по айд
     $hierarchy_type = umiHierarchyTypesCollection::getInstance()->getType($hierarchy_type_id);
     // Получить тип данных, связанный с базовым типом МОДУЛЬ МЕТОД
     $type_id = umiObjectTypesCollection::getInstance()->getBaseType($hierarchy_type->getName(), $hierarchy_type->getExt());
     if ($path === KEYWORD_GRAB_ALL) {
         $curr_category_id = cmsController::getInstance()->getCurrentElementId();
     } else {
         $curr_category_id = $category_id;
     }
     if ($path != KEYWORD_GRAB_ALL) {
         // Определить id типа данных, которому принадлежат больше всего дочерних страниц для указанной страницы
         $type_id = $hierarchy->getDominantTypeId($curr_category_id, $i_need_deep, $hierarchy_type_id);
     }
     if (!$type_id) {
         $type_id = umiObjectTypesCollection::getInstance()->getBaseType($hierarchy_type->getName(), $hierarchy_type->getExt());
     }
     if ($type_id) {
         $this->autoDetectOrders($sel, $type_id);
         $this->autoDetectFilters($sel, $type_id);
         if ($this->isSelectionFiltered) {
             $template_block_empty = $template_block_search_empty;
             $this->isSelectionFiltered = false;
         }
     } else {
         $sel->setOrderFilter();
         $sel->setOrderByName();
     }
     if ($curr_page !== "all") {
         $curr_page = (int) $curr_page;
         $sel->setLimitFilter();
         $sel->addLimit($per_page, $curr_page);
     }
     if ($field_id) {
         if (is_numeric($field_id)) {
             $sel->setOrderByProperty($field_id, $asc);
         } else {
             if ($type_id) {
                 $field_id = umiObjectTypesCollection::getInstance()->getType($type_id)->getFieldId($field_id);
                 if ($field_id) {
                     $sel->setOrderByProperty($field_id, $asc);
                 } else {
                     $sel->setOrderByOrd($asc);
                 }
             } else {
                 $sel->setOrderByOrd($asc);
             }
         }
     } else {
         $sel->setOrderByOrd($asc);
     }
     $result = umiSelectionsParser::runSelection($sel);
     $total = umiSelectionsParser::runSelectionCounts($sel);
     // формируется результат
     if (($sz = sizeof($result)) > 0) {
         $block_arr = array();
         $lines = array();
         for ($i = 0; $i < $sz; $i++) {
             $element_id = $result[$i];
             $element = umiHierarchy::getInstance()->getElement($element_id);
             if (!$element) {
                 continue;
             }
             $line_arr = array();
             $line_arr['attribute:id'] = $element_id;
             $line_arr['attribute:alt_name'] = $element->getAltName();
             $line_arr['attribute:link'] = umiHierarchy::getInstance()->getPathById($element_id);
             $line_arr['xlink:href'] = "upage://" . $element_id;
             $line_arr['node:text'] = $element->getName();
             $lines[] = self::parseTemplate($template_line, $line_arr, $element_id);
             $this->pushEditable("catalog", "object", $element_id);
             umiHierarchy::getInstance()->unloadElement($element_id);
         }
         $block_arr['subnodes:lines'] = $lines;
         $block_arr['numpages'] = umiPagenum::generateNumPage($total, $per_page);
         $block_arr['total'] = $total;
         $block_arr['per_page'] = $per_page;
         $block_arr['category_id'] = $category_id;
         if ($type_id) {
             $block_arr['type_id'] = $type_id;
         }
         return self::parseTemplate($template_block, $block_arr, $category_id);
     } else {
         $block_arr['numpages'] = umiPagenum::generateNumPage(0, 0);
         $block_arr['lines'] = "";
         $block_arr['total'] = 0;
         $block_arr['per_page'] = 0;
         $block_arr['category_id'] = $category_id;
         return self::parseTemplate($template_block_empty, $block_arr, $category_id);
     }
 }
Exemplo n.º 12
0
 public function getPrevious($vd6fe1d0be6347b8ef2427fa629c04485, $v66f6181bcb4cff4cd38fbc804a036db6 = "default", $vdfc394bd05a4b48161c790034af522a8 = "", $v70a17ffa722a3985b86d30b034ad06d7 = 0)
 {
     if (!$v66f6181bcb4cff4cd38fbc804a036db6) {
         $v66f6181bcb4cff4cd38fbc804a036db6 = "default";
     }
     $v7057e8409c7c531a1a6e9ac3df4ed549 = def_module::analyzeRequiredPath($vd6fe1d0be6347b8ef2427fa629c04485);
     if ($v7057e8409c7c531a1a6e9ac3df4ed549 === false) {
         throw new publicException(getLabel('error-page-does-not-exist', null, $vd6fe1d0be6347b8ef2427fa629c04485));
     }
     $v8e2dcfd7e7e24b1ca76c1193f645902b = umiHierarchy::getInstance()->getElement($v7057e8409c7c531a1a6e9ac3df4ed549);
     $v6be379826b20cc58475f636e33f4606b = $v8e2dcfd7e7e24b1ca76c1193f645902b->getParentId();
     if ($vdfc394bd05a4b48161c790034af522a8) {
         $v8be74552df93e31bbdd6b36ed74bdb6a = new umiSelection();
         $v8be74552df93e31bbdd6b36ed74bdb6a->addHierarchyFilter($v6be379826b20cc58475f636e33f4606b);
         $v8be74552df93e31bbdd6b36ed74bdb6a->addActiveFilter(true);
         $v8be74552df93e31bbdd6b36ed74bdb6a->addPermissions();
         $v87306dd4235ed712ebc07fe169b76f83 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject()->getTypeId();
         $v7ae7003da59ae71dcc9f8638ef50593d = umiObjectTypesCollection::getInstance()->getType($v87306dd4235ed712ebc07fe169b76f83);
         $va1b28424d5a1e1b259a214fddb9465cb = $v7ae7003da59ae71dcc9f8638ef50593d->getFieldId($vdfc394bd05a4b48161c790034af522a8);
         if (!$va1b28424d5a1e1b259a214fddb9465cb) {
             throw new publicException(getLabel('error-prop-not-found', null, $vdfc394bd05a4b48161c790034af522a8));
         }
         $v8be74552df93e31bbdd6b36ed74bdb6a->setOrderByProperty($va1b28424d5a1e1b259a214fddb9465cb, $v70a17ffa722a3985b86d30b034ad06d7);
         $v476b583e3acc46dcf196c34a1a5f93ab = umiSelectionsParser::runSelection($v8be74552df93e31bbdd6b36ed74bdb6a);
     } else {
         $v476b583e3acc46dcf196c34a1a5f93ab = umiHierarchy::getInstance()->getChilds($v6be379826b20cc58475f636e33f4606b, false);
         $v476b583e3acc46dcf196c34a1a5f93ab = array_keys($v476b583e3acc46dcf196c34a1a5f93ab);
     }
     $v36c78ef23c280041d34976b38ef4406c = false;
     foreach ($v476b583e3acc46dcf196c34a1a5f93ab as $vb80bb7740288fda1f201890375a60c8f) {
         if ($vb80bb7740288fda1f201890375a60c8f == $v7057e8409c7c531a1a6e9ac3df4ed549) {
             break;
         } else {
             $v36c78ef23c280041d34976b38ef4406c = $vb80bb7740288fda1f201890375a60c8f;
         }
     }
     list($v4f2afc9c4099ee1f39c9f551123e54bd, $vd10a92a0a9d6587947ee1fd7d3e4aa42) = def_module::loadTemplates("content/slider/" . $v66f6181bcb4cff4cd38fbc804a036db6, "previous", "previous_first");
     if ($v36c78ef23c280041d34976b38ef4406c !== false) {
         $vfca1bff8ad8b3a8585abfb0ad523ba42 = array();
         $vfca1bff8ad8b3a8585abfb0ad523ba42['id'] = $v36c78ef23c280041d34976b38ef4406c;
         $vfca1bff8ad8b3a8585abfb0ad523ba42['link'] = umiHierarchy::getInstance()->getPathById($v36c78ef23c280041d34976b38ef4406c);
         return def_module::parseTemplate($v4f2afc9c4099ee1f39c9f551123e54bd, $vfca1bff8ad8b3a8585abfb0ad523ba42, $v36c78ef23c280041d34976b38ef4406c);
     } else {
         return def_module::isXSLTResultMode() ? "" : $vd10a92a0a9d6587947ee1fd7d3e4aa42;
     }
 }
Exemplo n.º 13
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);
 }
Exemplo n.º 14
0
 public function moveBefore($v7057e8409c7c531a1a6e9ac3df4ed549, $vd5d4bb9b2c282937ee64b1fb0495ef08, $v37b7e5e846e31d9da322c6e743ce3b3c = false)
 {
     $this->disableCache();
     if (!$this->isExists($v7057e8409c7c531a1a6e9ac3df4ed549)) {
         return false;
     }
     $v8e2dcfd7e7e24b1ca76c1193f645902b = umiHierarchy::getInstance()->getElement($v7057e8409c7c531a1a6e9ac3df4ed549);
     $v78e6dd7a49f5b0cb2106a3a434dd5c86 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getLangId();
     $v662cbf1253ac7d8750ed9190c52163e5 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getDomainId();
     $v41a1470180f8488ba6040c5ff7dc6833 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getRel();
     $v7057e8409c7c531a1a6e9ac3df4ed549 = (int) $v7057e8409c7c531a1a6e9ac3df4ed549;
     $vd5d4bb9b2c282937ee64b1fb0495ef08 = (int) $vd5d4bb9b2c282937ee64b1fb0495ef08;
     $v8e2dcfd7e7e24b1ca76c1193f645902b->setRel($vd5d4bb9b2c282937ee64b1fb0495ef08);
     $v46a8df3f1b0f374830be2497076b9446 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getTplId();
     $v3568678a69e0e639e9c3163b2d10ceba = templatesCollection::getInstance()->getTemplatesList($v662cbf1253ac7d8750ed9190c52163e5, $v78e6dd7a49f5b0cb2106a3a434dd5c86);
     $vf07440bfac87b2aa38a59a0109b6cd38 = true;
     foreach ($v3568678a69e0e639e9c3163b2d10ceba as $vcfc7e0dcf6883d635b928f1e31f7694d) {
         if ($vcfc7e0dcf6883d635b928f1e31f7694d->getId() == $v46a8df3f1b0f374830be2497076b9446) {
             $vf07440bfac87b2aa38a59a0109b6cd38 = false;
             break;
         }
     }
     if ($vf07440bfac87b2aa38a59a0109b6cd38) {
         $v84b4de448609c5297d79dbec08101fbd = templatesCollection::getInstance()->getDefaultTemplate($v662cbf1253ac7d8750ed9190c52163e5, $v78e6dd7a49f5b0cb2106a3a434dd5c86);
         if ($v84b4de448609c5297d79dbec08101fbd) {
             $v8c3112e89e491f40ed057b32883c646c = $v84b4de448609c5297d79dbec08101fbd->getId();
             $v770c309c1aed0fbfabad24a3d5933129 = new umiSelection();
             $v770c309c1aed0fbfabad24a3d5933129->addHierarchyFilter($v7057e8409c7c531a1a6e9ac3df4ed549, 100);
             $v4650086681d0c3d7660463e94b1156a5 = umiSelectionsParser::runSelection($v770c309c1aed0fbfabad24a3d5933129);
             $v4650086681d0c3d7660463e94b1156a5[] = $v7057e8409c7c531a1a6e9ac3df4ed549;
             $v18e7588ee516318bc8ae9c8c0ff7c917 = implode(",", $v4650086681d0c3d7660463e94b1156a5);
             $vac5c74b64b4b8352ef2f181affb5ac2a = "UPDATE cms3_hierarchy SET tpl_id = '{$v8c3112e89e491f40ed057b32883c646c}' WHERE id IN (" . $v18e7588ee516318bc8ae9c8c0ff7c917 . ")";
         }
     }
     if ($v37b7e5e846e31d9da322c6e743ce3b3c) {
         $v37b7e5e846e31d9da322c6e743ce3b3c = (int) $v37b7e5e846e31d9da322c6e743ce3b3c;
         $vac5c74b64b4b8352ef2f181affb5ac2a = "SELECT ord FROM cms3_hierarchy WHERE id = '{$v37b7e5e846e31d9da322c6e743ce3b3c}'";
         $result = l_mysql_query($vac5c74b64b4b8352ef2f181affb5ac2a, true);
         if (list($v8bef1cc20ada3bef55fdf132cb2a1cb9) = mysql_fetch_row($result)) {
             $v8bef1cc20ada3bef55fdf132cb2a1cb9 = (int) $v8bef1cc20ada3bef55fdf132cb2a1cb9;
             $vac5c74b64b4b8352ef2f181affb5ac2a = "UPDATE cms3_hierarchy SET ord = (ord + 1) WHERE rel = '{$vd5d4bb9b2c282937ee64b1fb0495ef08}' AND lang_id = '{$v78e6dd7a49f5b0cb2106a3a434dd5c86}' AND domain_id = '{$v662cbf1253ac7d8750ed9190c52163e5}' AND ord >= {$v8bef1cc20ada3bef55fdf132cb2a1cb9}";
             l_mysql_query($vac5c74b64b4b8352ef2f181affb5ac2a);
             $v8e2dcfd7e7e24b1ca76c1193f645902b->setOrd($v8bef1cc20ada3bef55fdf132cb2a1cb9);
             $this->rewriteElementAltName($v7057e8409c7c531a1a6e9ac3df4ed549);
             $this->rebuildRelationNodes($v7057e8409c7c531a1a6e9ac3df4ed549);
             $this->addUpdatedElementId($v7057e8409c7c531a1a6e9ac3df4ed549);
             $v8e2dcfd7e7e24b1ca76c1193f645902b->commit();
             return true;
         } else {
             return false;
         }
     } else {
         $vac5c74b64b4b8352ef2f181affb5ac2a = "SELECT MAX(ord) FROM cms3_hierarchy WHERE rel = '{$vd5d4bb9b2c282937ee64b1fb0495ef08}' AND lang_id = '{$v78e6dd7a49f5b0cb2106a3a434dd5c86}' AND domain_id = '{$v662cbf1253ac7d8750ed9190c52163e5}'";
         $result = l_mysql_query($vac5c74b64b4b8352ef2f181affb5ac2a);
         if (list($v8bef1cc20ada3bef55fdf132cb2a1cb9) = mysql_fetch_row($result)) {
             ++$v8bef1cc20ada3bef55fdf132cb2a1cb9;
         } else {
             $v8bef1cc20ada3bef55fdf132cb2a1cb9 = 1;
         }
         $vac5c74b64b4b8352ef2f181affb5ac2a = "UPDATE cms3_hierarchy SET ord = '{$v8bef1cc20ada3bef55fdf132cb2a1cb9}', rel = '{$vd5d4bb9b2c282937ee64b1fb0495ef08}' WHERE id = '{$v7057e8409c7c531a1a6e9ac3df4ed549}'";
         l_mysql_query($vac5c74b64b4b8352ef2f181affb5ac2a);
         $this->rewriteElementAltName($v7057e8409c7c531a1a6e9ac3df4ed549);
         $this->rebuildRelationNodes($v7057e8409c7c531a1a6e9ac3df4ed549);
         $this->addUpdatedElementId($v7057e8409c7c531a1a6e9ac3df4ed549);
         return true;
     }
 }
Exemplo n.º 15
0
 public function autoDetectAllFilters(umiSelection $v8be74552df93e31bbdd6b36ed74bdb6a, $v38bceec7c944e9431e65bb5bb50cc5fa = false)
 {
     $v6a8e3fc043747ec4b0e60aed6b7023ed = getRequest('rel');
     $vf99eaf9123d0eb944e4a40f8c8b73404 = (int) getRequest('depth');
     $v8ef57923ab3049b18fb75541ff476ff7 = getRequest('domain_id');
     $v99deeeb03d58e86bd63af257b5b74888 = getRequest('lang_id');
     if (!$vf99eaf9123d0eb944e4a40f8c8b73404) {
         $vf99eaf9123d0eb944e4a40f8c8b73404 = 0;
     }
     $vb81ca7c0ccaa77e7aa91936ab0070695 = umiHierarchy::getInstance();
     $v9b81909fd0da3add2602a8d0ede0e4e7 = umiObjectTypesCollection::getInstance();
     $v1723bdd4ee51910267a625cae41ced8a = umiHierarchyTypesCollection::getInstance();
     if (is_null(getRequest('or-mode')) == false) {
         $v8be74552df93e31bbdd6b36ed74bdb6a->setConditionModeOr();
     }
     if (isset($v8ef57923ab3049b18fb75541ff476ff7[0])) {
         $v8be74552df93e31bbdd6b36ed74bdb6a->setDomainId($v8ef57923ab3049b18fb75541ff476ff7[0]);
     }
     if (isset($v99deeeb03d58e86bd63af257b5b74888[0])) {
         $v8be74552df93e31bbdd6b36ed74bdb6a->setLangId($v99deeeb03d58e86bd63af257b5b74888[0]);
     }
     if (is_array($v6a8e3fc043747ec4b0e60aed6b7023ed) && count($v6a8e3fc043747ec4b0e60aed6b7023ed)) {
         foreach ($v6a8e3fc043747ec4b0e60aed6b7023ed as $vc600dd3e8efd757e388daedf1a383638) {
             $v558363dde110ad2b3af09518966e0197 = intval($vc600dd3e8efd757e388daedf1a383638);
             if (is_numeric($v558363dde110ad2b3af09518966e0197)) {
                 $v8be74552df93e31bbdd6b36ed74bdb6a->addHierarchyFilter(intval($vc600dd3e8efd757e388daedf1a383638), $vf99eaf9123d0eb944e4a40f8c8b73404, true);
             }
         }
     }
     $v0e8133eb006c0f85ed9444ae07a60842 = array_extract_values($v8be74552df93e31bbdd6b36ed74bdb6a->getObjectTypeConds());
     $vdad8db09124c43be9156ca0e7596fc04 = array_extract_values($v8be74552df93e31bbdd6b36ed74bdb6a->getElementTypeConds());
     $vc4feb6f9b5b1aa42ea49f74ecab346f9 = array_extract_values($v8be74552df93e31bbdd6b36ed74bdb6a->getHierarchyConds(), $vacbd18db4cc2f85cedef654fccc4a4d8, true);
     $v0132bb0bf9821bce1103f4db6ced0a5f = getRequest('search-all-text');
     $v0132bb0bf9821bce1103f4db6ced0a5f = array_extract_values($v0132bb0bf9821bce1103f4db6ced0a5f);
     $v00ef6e359e66ade0706b8305550f7ea2 = getRequest('fields_filter');
     $v00ef6e359e66ade0706b8305550f7ea2 = array_extract_values($v00ef6e359e66ade0706b8305550f7ea2, $vacbd18db4cc2f85cedef654fccc4a4d8, true);
     if (sizeof($vdad8db09124c43be9156ca0e7596fc04)) {
         $vd663178671639336ce153c008ff6acef = $vdad8db09124c43be9156ca0e7596fc04[sizeof($vdad8db09124c43be9156ca0e7596fc04) - 1];
     } else {
         $vd663178671639336ce153c008ff6acef = false;
     }
     if (sizeof($v0e8133eb006c0f85ed9444ae07a60842)) {
         reset($v0e8133eb006c0f85ed9444ae07a60842);
         $v5f694956811487225d15e973ca38fbab = current($v0e8133eb006c0f85ed9444ae07a60842);
     } else {
         if (sizeof($vc4feb6f9b5b1aa42ea49f74ecab346f9)) {
             reset($vc4feb6f9b5b1aa42ea49f74ecab346f9);
             $v5f694956811487225d15e973ca38fbab = $vb81ca7c0ccaa77e7aa91936ab0070695->getDominantTypeId(current($vc4feb6f9b5b1aa42ea49f74ecab346f9));
         } else {
             if (sizeof($vdad8db09124c43be9156ca0e7596fc04) && (!empty($v0132bb0bf9821bce1103f4db6ced0a5f) || sizeof($vdad8db09124c43be9156ca0e7596fc04) == 1)) {
                 reset($vdad8db09124c43be9156ca0e7596fc04);
                 $v5f694956811487225d15e973ca38fbab = $v9b81909fd0da3add2602a8d0ede0e4e7->getTypeByHierarchyTypeId(array_pop($vdad8db09124c43be9156ca0e7596fc04));
             } else {
                 $v5f694956811487225d15e973ca38fbab = $v9b81909fd0da3add2602a8d0ede0e4e7->getTypeIdByGUID('root-pages-type');
             }
         }
     }
     if (empty($vc4feb6f9b5b1aa42ea49f74ecab346f9) && !empty($vdad8db09124c43be9156ca0e7596fc04) && empty($v0132bb0bf9821bce1103f4db6ced0a5f) && empty($v00ef6e359e66ade0706b8305550f7ea2)) {
         $v8be74552df93e31bbdd6b36ed74bdb6a->optimize_root_search_query = true;
     } else {
         if (!empty($v00ef6e359e66ade0706b8305550f7ea2)) {
             if ($vd663178671639336ce153c008ff6acef) {
                 $v5f694956811487225d15e973ca38fbab = $v9b81909fd0da3add2602a8d0ede0e4e7->getTypeByHierarchyTypeId($vd663178671639336ce153c008ff6acef);
             }
         }
     }
     if ($v5f694956811487225d15e973ca38fbab) {
         $this->autoDetectFilters($v8be74552df93e31bbdd6b36ed74bdb6a, $v5f694956811487225d15e973ca38fbab);
         $this->autoDetectOrders($v8be74552df93e31bbdd6b36ed74bdb6a, $v5f694956811487225d15e973ca38fbab);
     }
     if (!$v38bceec7c944e9431e65bb5bb50cc5fa) {
         $v8be74552df93e31bbdd6b36ed74bdb6a->excludeNestedPages = true;
     }
     if (sizeof($vc4feb6f9b5b1aa42ea49f74ecab346f9) && sizeof($vdad8db09124c43be9156ca0e7596fc04)) {
         $v0715f6d9497f93911417c9c324265771 = $v1723bdd4ee51910267a625cae41ced8a->getTypeByName("comments", "comment")->getId();
         $v8be74552df93e31bbdd6b36ed74bdb6a->addElementType($v0715f6d9497f93911417c9c324265771);
     }
     if (getRequest('import')) {
         quickCsvImporter::autoImport($v8be74552df93e31bbdd6b36ed74bdb6a, $v38bceec7c944e9431e65bb5bb50cc5fa, (bool) getRequest('force-hierarchy'));
     }
     if (getRequest('export')) {
         quickCsvExporter::autoExport($v8be74552df93e31bbdd6b36ed74bdb6a, (bool) getRequest('force-hierarchy'));
     }
     return true;
 }