Class Structure

[Строка 15]

Размещен: /Structure/Structure.class.php

Описание

Система управления сайтом HostCMS v. 5.xx

Copyright © 2005-2010 ООО "Хостмэйк" (Hostmake LLC), http://www.hostcms.ru

Класс модуля "Структура".

Файл: /modules/Structure/Structure.class.php

author

Hostmake LLC

version

5.x


Свойства класса

  • $a_count_property =
    Ассоциативный массив-Кэш количества свойств для разных сайтов
  • $cache_structure_property = array()
    Двумерный массив для хранения св-в структуры. Первый элемент - ID структуры.
  • $level =
    Максимальный уровень структуры
  • $menu_id =
    Идентификатор раздела меню
  • $parent_id =
    Идентификатор родительского узла элемента структуры
  • $separator =  ''
    Разделитель для уровней
  • $StructureMass = array ()
    Массив с элементами структуры
  • $StructureParentMass = array ()
    Массив родительских разделов
  • $structure_propertys_list =
    Хранит результат запроса на выборку дополнительных свойств структуры

Константы класса


Унаследованные константы класса


Унаследованные свойства класса


Методы

  • void ClearStructure()
    Метод очистки кэша($this->structure_mass)
  • mixed CopyStructure()
    Копирование узла структуры
  • mixed CopyStructureProperty()
    Копирование дополнительного свойства узлов структуры
  • resource DeletePropertyValue()
    Метод для удаления значения свойства узла структуры
  • mixed DeleteStructure()
    Метод для удлаения узла структуры с его дочерними узлами
  • boolean delete_page()
    Устаревший метод удаления страницы. Рекомендуется использовать $this->DeleteStructure($structure_id);
  • истина DelStructurePropertys()
    Метод удаления дополнительного свойства
  • bool DelStructurePropertysValue()
    Метод удаления значений дополнительных свойств из таблицы связи
  • string GenXML4InfSys()
    Внутренний метод генерации XML для отображения элементов и групп элементов инфосистем при отображении структуры. В своей работе использует массивы $this->MassIG, $this->MassII.
  • string GenXML4Shop()
    Внутренний метод построения XML для групп товаров и товаров интернет-магазина при отображении структуры. Использует в своей работе $this->MassShopGroups, $this->MassShopItems
  • string GenXml4StructureLevelMass()
    Внутренний метод генерации части XML-а для записей указанного уровня
  • resource GetAllStructure()
    Метод для получения списка всех узлов структуры сайта
  • resource GetAllStructureProperties()
    Метод для получения списка всех доп. свойств структуры
  • resource GetAllStructurePropertyValuesOfProperty()
    Метод для получения списка всех значений доп. свойств структуры по идентификатору свойства
  • mixed GetCountProperty4Structure()
    Метод, возвращающий число свойств раздела сайта или false, если свойства отсутствуют
  • array GetPropertyACountProperty()
    Получение количества свойств для разных сайтов
  • int GetPropertyLevel()
    Получение информации о максимальном уровне($this->level)
  • int GetPropertyMenuId()
    Получение информации о текущем разделе меню($this->menu_id)
  • string GetPropertySeparator()
    Получение информации о разделителе($this->separator)
  • array GetPropertyStructureMass()
    Получение информации об элементах структуры
  • array GetPropertyStructureParentMass()
    Получение информации о родительских разделах элемента структуры($this->StructureParentMass)
  • resource GetPropertyStructurePropertysList()
    Получение дополнительных свойств структуры
  • array GetPropertyValue()
    Метод для получения информации о значении свойства структуры
  • array GetStructure()
    Метод выборки всех страниц структуры
  • int GetStructureAccess()
    Получение информации о доступе к узлу элементов структуры
  • string GetStructureFilesPath()
    Получение пути к директории lib
  • boolean GetStructureForParent()
    Получение дочерних узлов структуры для узла структуры.
  • mixed GetStructureItem()
    Получение данных об элементе структуры. Идентификатор текущего узла структуры содержится в константе CURRENT_STRUCTURE_ID
  • mixed GetStructureItemDir()
    Получение пути хранения файлов узла структуры
  • mixed GetStructurePath()
    Определение полного пути к странице
  • array GetStructurePathArray()
    Получение пути от текущего узла к корневому
  • array GetStructureProperty()
    Метод возвращает заполненные св-ва узлов структуры
  • mixed GetStructurePropertyValue()
    Получение значения свойства узла структуры по идентификатору узла структуры и идентификатору свойства
  • string GetStructureXml()
    XML для узла структуры. Перед вызовом очистите $Structure->XmlDataFromGenXml4StructureLevelMass
  • string GetXml4StructurePropertys()
    Получение XML для свойств структуры. Перед вызовом метода необходимо вызвать $this->GetStructureProperty(array()); и передать массив ID узлов, для которых геренируются св-ва
  • array IndexationStructure()
    Метод индексации элементов структуры
  • mixed InsertStructure()
    Метод добавления/редактирования узла структуры
  • int InsertStructurePropertys()
    Метод вставки и редактирования дополнительного свойства для структуры
  • int InsertStructurePropertysValue()
    Метод вставки и редактирования значения дополнительного свойства в таблице связи
  • mixed IssetPath()
    Метод определения наличия пути
  • boolean NodeIsParent()
    Метод определения принадлежности узла структуры вышестоящему родителю
  • array SearchIndexing()
    Функция обратного вызова для поисковой индексации данных модуля
  • resource SelectStructureForParent()
    Получение информации об узлах структуры конкрентного уровня
  • resource SelectStructurePropertys()
    Метод выбора дополнительного свойства структуры определенного сайта(false - выбор всех)
  • boolean ShowStructure()
    Метод для отображения структуры в клиентском разделе сайта
  • array SortStructureMass()
    Метод сортирует массив StructureMass, возвращает отсортированный массив в соответствии с иерархией
  • void UpdateSubDir()
    Метод обновления идентификатора меню у подразделов определенного раздела
  • string _CallbackSearch()
    Функция обратного вызова, используется модулем поисковой системы при выводе результатов поиска

Унаследованные методы


Описания методов

    Structure::ClearStructure

    ClearStructure( );

    Описание

    Метод очистки кэша($this->structure_mass)

    [ Наверх ]


    Structure::CopyStructure

    CopyStructure( int $structure_id, [int $site_id = false], [ $new_structure_id = false], [array $array_document_ids = array ()], [int $array_menu_ids = array()], [array $array_datatemplate_ids = array()], [array $array_template_ids = array()], [ $is_assign_arr = array()], [ $shop_assign_arr = array()] );

    Описание

    Копирование узла структуры

    Принимаемые параметры

    $structure_id

    идентификатор копируемого узла структуры

    $site_id

    идентификатор сайта, в который нужно скопировать структуру (если False, то в текущий сайт)

    $array_document_ids

    Массив с идентификаторами старых и новых документов

    • int $array_document_ids['old_id'] = $new_id Идентификатор документа, который необходимо сопоставить со скопированной структурой (по умолчанию в соответствие ставится идентификатор документа копируемого узла структуры)

    $array_menu_ids

    Массив соответствий старых и новых идентификаторов меню, к которым необходимо отнести скопированный узел структуры (если не передан, то к тому же, что и копируемый узел)

    $array_datatemplate_ids

    Массив соответствий старых и новых идентификаторов шаблонов, с которыми необходимо связать скопированный узел структуры (если не передан, то к тому же, что и копируемый узел)

    $array_template_ids

    Массив соответствий старых и новых идентификаторов макетов, с которыми необходимо связать скопированный узел структуры (если не передан, то к тому же, что и копируемый узел)

    1.  <?php
    2.  $Structure = new Structure();
    3.  
    4.  $structure_id = 22;
    5.  
    6.  $newid $Structure->CopyStructure($structure_id);
    7.  
    8.  // Распечатаем результат
    9.  echo $newid;
    10.  ?>

    $new_structure_id

    $is_assign_arr

    $shop_assign_arr

    Возвращает

    идентификатор копии узла структуры в случае успешного выполнения, false - в противном случае

    [ Наверх ]


    Structure::CopyStructureProperty

    CopyStructureProperty( $structure_property_id $structure_property_id, [ $site_id = CURRENT_SITE] );

    Описание

    Копирование дополнительного свойства узлов структуры

    Принимаемые параметры

    $structure_property_id

    $site_id

    Возвращает

    идентификатор копии дополнительного свойства узлов структуры в случае успешного выполнения, false - в противном случае

    [ Наверх ]


    Structure::DeletePropertyValue

    DeletePropertyValue( int $structure_propertys_values_id, [array $param = array ()] );

    Описание

    Метод для удаления значения свойства узла структуры

    Принимаемые параметры

    $structure_propertys_values_id

    идентификатор значения свойства, которое нужно удалить

    $param

    массив дополнительных параметров

    • $param['del_big_image'] параметр, определяющий удалять файл большого изображения или нет(true - удалять (по умолчанию), false - не удалять)
    • $param['del_small_image'] параметр, определяющий удалять файл малого изображения или нет(true - удалять (по умолчанию), false - не удалять)
      Пример использования:
      1.  <?php
      2.  $structure = new Structure();
      3.  
      4.  // Идентификатор удаляемого значения свойства узла структуры
      5.  $structure_property_value_id = 133;
      6.  
      7.  $result $structure->DeletePropertyValue($structure_property_value_id);
      8.  
      9.  if ($result)
      10.  {
      11.      echo "Удаление выполнено успешно";
      12.  }
      13.  else
      14.  {
      15.      echo "Ошибка удаления";
      16.  }
      17.  ?>

    Возвращает

    результат выполнения запроса

    [ Наверх ]


    Structure::DeleteStructure

    DeleteStructure( int $structure_id );

    Описание

    Метод для удлаения узла структуры с его дочерними узлами

    Принимаемые параметры

    $structure_id

    идентификатор узла структуры
    Пример использования:

    1.  <?php
    2.  $structure = new Structure();
    3.  
    4.  // Идентификатор удаляемого узла структуры
    5.  $structure_id = 82;
    6.  
    7.  $result $structure->DeleteStructure($structure_id);
    8.  
    9.  if ($result)
    10.  {
    11.      echo "Удаление выполнено успешно";
    12.  }
    13.  else
    14.  {
    15.      echo "Ошибка удаления";
    16.  }
    17.  ?>

    Возвращает

    результат выполнения запроса

    [ Наверх ]


    Structure::delete_page

    delete_page( int $structure_id );

    Описание

    Устаревший метод удаления страницы. Рекомендуется использовать $this->DeleteStructure($structure_id);

    Принимаемые параметры

    $structure_id

    идентификатор страницы

    Возвращает

    истина при удачном удалении, ложь - в обратном случае

    see

    Structure::DeleteStructure()

    [ Наверх ]


    Structure::DelStructurePropertys

    DelStructurePropertys( int $structure_propertys_id );

    Описание

    Метод удаления дополнительного свойства

    Принимаемые параметры

    $structure_propertys_id

    идентификатор удаляемого дополнительного свойства
    Пример использования:

    1.  <?php
    2.  $structure = new Structure();
    3.  
    4.  // Идентификатор удаляемого дополнительного свойства структуры
    5.  $structure_propertys_id = 8;
    6.  
    7.  $result $structure->DelStructurePropertys($structure_propertys_id);
    8.  
    9.  if ($result)
    10.  {
    11.      echo "Удаление выполнено успешно";
    12.  }
    13.  else
    14.  {
    15.      echo "Ошибка удаления";
    16.  }
    17.  ?>

    Возвращает

    при удачном удалении, ложь - в обратном случае

    [ Наверх ]


    Structure::DelStructurePropertysValue

    DelStructurePropertysValue( int $structure_id );

    Описание

    Метод удаления значений дополнительных свойств из таблицы связи

    Принимаемые параметры

    $structure_id

    идентификатор раздела структуры
    Пример использования:

    1.  <?php
    2.  $structure = new Structure();
    3.  
    4.  // Идентификатор структуры для удаляемых дополнительных свойств
    5.  $structure_id = 84;
    6.  
    7.  $result $structure->DelStructurePropertysValue($structure_id);
    8.  
    9.  if ($result)
    10.  {
    11.      echo "Удаление выполнено успешно";
    12.  }
    13.  else
    14.  {
    15.      echo "Ошибка удаления";
    16.  }
    17.  ?>

    Возвращает

    истина при удачном удалении, ложь - в обратном случае

    [ Наверх ]


    Structure::GenXML4InfSys

    GenXML4InfSys( int $inf_sys_id, int $menu_id, int $level, int $inf_group_id, string $full_path, [array $param = array ()] );

    Описание

    Внутренний метод генерации XML для отображения элементов и групп элементов инфосистем при отображении структуры. В своей работе использует массивы $this->MassIG, $this->MassII.

    Принимаемые параметры

    $inf_sys_id

    идентификатор информационной системы

    $menu_id

    идентификатор меню

    $level

    текущий уровень вложенности

    $inf_group_id

    идентификатор группы элементов информационной системы

    $full_path

    полный путь к текущей группе элементов информационной системы

    $param

    ассоциативный массив включающий следующие параметры: $param['show_groups'] - отображать ли группы элементов инфосистемы $param['show_items'] - отображать ли элементы инфосистемы $param['hidden_groups'] - массив групп информационных систем, скрытых для показа в текущем меню

    Возвращает

    XML для отображения элементов и групп элементов инфосистем при отображении структуры

    [ Наверх ]


    Structure::GenXML4Shop

    GenXML4Shop( int $shop_shops_id, int $menu_id, int $level, int $shop_groups_id, string $full_path, [array $param = array ()] );

    Описание

    Внутренний метод построения XML для групп товаров и товаров интернет-магазина при отображении структуры. Использует в своей работе $this->MassShopGroups, $this->MassShopItems

    Принимаемые параметры

    $shop_shops_id

    $menu_id

    $level

    $shop_groups_id

    $full_path

    $param

    Возвращает

    XML для отображения элементов и групп элементов инфосистем при отображении структуры

    [ Наверх ]


    Structure::GenXml4StructureLevelMass

    GenXml4StructureLevelMass( int $parent_id, array $access, [int $level = 0], [array $param = array ()] );

    Описание

    Внутренний метод генерации части XML-а для записей указанного уровня

    Принимаемые параметры

    $parent_id

    идентификатор родительского раздела

    $access

    массив с правами доступа

    $level

    текущий уровень, по умолчанию 0

    $param

    ассоциативный массив включающий следующие параметры:

    • $param['show_groups'] - отображать ли группы элементов инфосистемы
    • $param['show_items'] - отображать ли элементы инфосистемы
    • $param['hidden_groups'] - массив групп информационных элементов, скрытых для показа в текущем меню
    • $param['hidden_groups_shop'] - массив групп магазинов, скрытых для показа в текущем меню
    • $param['show_shop_groups'] - отображать ли группы товаров
    • $param['show_shop_items'] - отображать ли товары
    • $param['hidden_shop_groups'] - массив групп, скрытых для показа в текущем меню
    • $param['show_document_content'] - отображать содержимое статичной страницы, по умолчанию false
    • $param['xml_show_structure_property'] разрешает указание в XML значений свойств узлов структуры, по умолчанию true

    Возвращает

    часть XML-а для записей указанного уровня

    [ Наверх ]


    Structure::GetAllStructure

    GetAllStructure( [int $site_id = false] );

    Описание

    Метод для получения списка всех узлов структуры сайта

    Принимаемые параметры

    $site_id

    идентификатор сайта, которому принадлежит узел структуры, если false - учитываются все сайты
    Пример использования:

    1.  <?php
    2.  $structure = new Structure();
    3.  // Идентификатор сайта
    4.  $site_id = 1;
    5.  $resource $structure->GetAllStructure($site_id);
    6.  // Распечатаем результат
    7.  while($row mysql_fetch_assoc($resource))
    8.  {
    9.      print_r($row);
    10.  }
    11.  ?>

    Возвращает

    с информацией об узлах структуры

    [ Наверх ]


    Structure::GetAllStructureProperties

    GetAllStructureProperties( [int $site_id = false] );

    Описание

    Метод для получения списка всех доп. свойств структуры

    Принимаемые параметры

    $site_id

    идентификатор сайта, которому принадлежит свойство, если false - учитываются все сайты
    Пример использования:

    1.  <?php
    2.  $structure = new Structure();
    3.  
    4.  // Идентификатор сайта
    5.  $site_id = 1;
    6.  
    7.  $resource $structure->GetAllStructureProperties($site_id);
    8.  
    9.  while($row mysql_fetch_assoc($resource))
    10.  {
    11.      print_r($row);
    12.  }
    13.  ?>

    Возвращает

    с информацией о свойстве

    [ Наверх ]


    Structure::GetAllStructurePropertyValuesOfProperty

    GetAllStructurePropertyValuesOfProperty( [int $structure_propertys_id = false] );

    Описание

    Метод для получения списка всех значений доп. свойств структуры по идентификатору свойства

    Принимаемые параметры

    $structure_propertys_id

    свойства, которому принадлежит значение свойства, если false-учитываются все свойства
    Пример использования:

    1.  <?php
    2.  $structure = new Structure();
    3.  
    4.  // Идентификатор свойства
    5.  $structure_propertys_id = 7;
    6.  
    7.  $resource $structure->GetAllStructurePropertyValuesOfProperty($structure_propertys_id);
    8.  
    9.  // Распечатаем результат
    10.  while($row mysql_fetch_assoc($resource))
    11.  {
    12.      print_r($row);
    13.  }
    14.  ?>

    Возвращает

    с информацией о значениях свойств

    [ Наверх ]


    Structure::GetCountProperty4Structure

    GetCountProperty4Structure( int $site_id );

    Описание

    Метод, возвращающий число свойств раздела сайта или false, если свойства отсутствуют

    Принимаемые параметры

    $site_id

    идентификатор сайта
    Пример использования:

    1.  <?php
    2.  $structure = new Structure();
    3.  
    4.  // Идентификатор сайта
    5.  $site_id = 1;
    6.  
    7.  $count $structure->GetCountProperty4Structure($site_id);
    8.  
    9.  // Распечатаем результат
    10.  echo $count;
    11.  ?>

    Возвращает

    число свойств раздела сайта или false, если свойства отсутствуют

    [ Наверх ]


    Structure::GetPropertyACountProperty

    GetPropertyACountProperty( );

    Описание

    Получение количества свойств для разных сайтов

    Возвращает

    ассоциативный массив-Кэш количества свойств для разных сайтов

    [ Наверх ]


    Structure::GetPropertyLevel

    GetPropertyLevel( );

    Описание

    Получение информации о максимальном уровне($this->level)

    Возвращает

    значение максимального уровня

    [ Наверх ]


    Structure::GetPropertyMenuId

    GetPropertyMenuId( );

    Описание

    Получение информации о текущем разделе меню($this->menu_id)

    Возвращает

    идентификатор текущего раздела

    [ Наверх ]


    Structure::GetPropertySeparator

    GetPropertySeparator( );

    Описание

    Получение информации о разделителе($this->separator)

    Возвращает

    разделитель для уровней

    [ Наверх ]


    Structure::GetPropertyStructureMass

    GetPropertyStructureMass( );

    Описание

    Получение информации об элементах структуры

    Возвращает

    массив с элементами структуры

    [ Наверх ]


    Structure::GetPropertyStructureParentMass

    GetPropertyStructureParentMass( );

    Описание

    Получение информации о родительских разделах элемента структуры($this->StructureParentMass)

    Возвращает

    информация о родительских разделах

    [ Наверх ]


    Structure::GetPropertyStructurePropertysList

    GetPropertyStructurePropertysList( );

    Описание

    Получение дополнительных свойств структуры

    Возвращает

    результат запроса на выборку дополнительных свойств структуры

    [ Наверх ]


    Structure::GetPropertyValue

    GetPropertyValue( int $structure_propertys_values_id );

    Описание

    Метод для получения информации о значении свойства структуры

    Принимаемые параметры

    $structure_propertys_values_id

    идентификатор значения свойства
    Пример использования:

    1.  <?php
    2.  $structure = new Structure();
    3.  
    4.  // Идентификатор значения свойства структуры сайта
    5.  $structure_propertys_values_id = 9;
    6.  
    7.  $row $structure->GetPropertyValue($structure_propertys_values_id);
    8.  
    9.  // Распечатаем результат
    10.  print_r($row);
    11.  ?>

    Возвращает

    с информацией о значении свойства или false

    [ Наверх ]


    Structure::GetStructure

    GetStructure( string $separator, int $site_id, int $menu_id, int $level, int $parent_id, [int $edit_id = false], [array $param = false] );

    Описание

    Метод выборки всех страниц структуры

    Принимаемые параметры

    $separator

    разделитель для уровней

    $menu_id

    идентификатор раздела меню(если не задан - все разделы меню)

    $level

    максимальный уровень

    $parent_id

    идентификатор родительского узла

    $edit_id

    идентификатор редактируемой записи(необязательный параметр), для того, чтобы убрать редактируемую запись из списка возможных род. разделов

    $param

    массив дополнительных параметров

    • $param['select_structure_property'] разрешает заполнение кэша значений свойств узлов структуры, по умолчанию true
      Пример использования:
      1.  <?php
      2.  $structure = new Structure();
      3.  
      4.  $separator '&nbsp';
      5.  $menu_id = 1;
      6.  $level = 0;
      7.  $parent_id = 0;
      8.  $site_id = 1;
      9.  
      10.  $array $structure->GetStructure($separator$site_id$menu_id$level$parent_id);
      11.  
      12.  // Распечатаем результат
      13.  print_r($array);
      14.  ?>

    $site_id

    or boolean $site_id идентификатор сайта, если равен 0 или false - то сайт игнорируется

    Возвращает

    информация об узлах структуры сайта

    [ Наверх ]


    Structure::GetStructureAccess

    GetStructureAccess( int $structure_id );

    Описание

    Получение информации о доступе к узлу элементов структуры

    Принимаемые параметры

    $structure_id

    идентификатор страницы структуры
    Пример использования:

    1.  <?php
    2.  $structure = new Structure();
    3.  
    4.  $structure_id = CURRENT_STRUCTURE_ID;
    5.  
    6.  $result $structure->GetStructureAccess($structure_id);
    7.  
    8.  // Распечатаем результат
    9.  echo $result;
    10.  ?>

    Возвращает

    ID группы пользователей сайта, которой доступен узел.

    1. - доступно всем, -1 - узел (или один из родительских узлов) не найден.

    [ Наверх ]


    Structure::GetStructureFilesPath

    GetStructureFilesPath( int $lib_id );

    Описание

    Получение пути к директории lib

    Принимаемые параметры

    $lib_id

    Идентификатор типовой динамической страницы

    Возвращает

    путь к файлу

    [ Наверх ]


    Structure::GetStructureForParent

    GetStructureForParent( int $parent_id, string $separator, int $current_level );

    Описание

    Получение дочерних узлов структуры для узла структуры.

    Результирующий массив размещается в $this->StructureMass Перед вызовом метода должен быть заполнен $this->StructureParentMass с помощью метода $this->GetStructure()

    Принимаемые параметры

    $parent_id

    идентификатор родительского раздела

    $separator

    разделитель для уровней

    $current_level

    текущий уровень вложенности. Для корневого раздела указывается 0.

    Возвращает

    формирует массив с информацией о подразделах, а в случае ошибки возвращает ложь

    see

    Structure::GetStructure()

    [ Наверх ]


    Structure::GetStructureItem

    GetStructureItem( int $structure_id, [array $param = array ()] );

    Описание

    Получение данных об элементе структуры. Идентификатор текущего узла структуры содержится в константе CURRENT_STRUCTURE_ID

    Принимаемые параметры

    $structure_id

    идетификатор структуры

    $param

    ассоциативный массив параметров

    • bool $param['cache_off'] - если параметр установлен - данные не кэшируются
      Пример использования:
      1.  <?php
      2.  $structure = new Structure();
      3.  
      4.  // Воспользуемся Идентификатором текущего узла структуры сайта
      5.  $structure_id = CURRENT_STRUCTURE_ID;
      6.  
      7.  $row $structure->GetStructureItem($structure_id);
      8.  
      9.  // Распечатаем результат
      10.  print_r($row);
      11.  ?>

    Возвращает

    ассоциативный массив с данными об узле структуры или false, если узел не найден

    [ Наверх ]


    Structure::GetStructureItemDir

    GetStructureItemDir( $structure_id $structure_id );

    Описание

    Получение пути хранения файлов узла структуры

    Принимаемые параметры

    $structure_id

    идентификатор узла структуры

    Возвращает

    путь к узлу структуры или ложь, если такого узла структуры не существует

    [ Наверх ]


    Structure::GetStructurePath

    GetStructurePath( int $structure_id, [int $type = 0], [mixed $path = ''] );

    Описание

    Определение полного пути к странице

    Принимаемые параметры

    $structure_id

    идентификатор раздела, для него определяется полный пути снизу вверх

    $type

    тип результата(строка -- 0 или масссив -- 1). по умолчанию 0

    $path

    переменная, в которую возвращается результат(строка, либо массив)
    Пример использования:

    1.  <?php
    2.  $structure = new Structure();
    3.  
    4.  $structure_id = CURRENT_STRUCTURE_ID;
    5.  $type = 0;
    6.  $path $structure->GetStructurePath($structure_id$type);
    7.  
    8.  // Распечатаем результат
    9.  echo $path;
    10.  ?>

    Возвращает

    полный путь к странице(в виде строки или массива)

    [ Наверх ]


    Structure::GetStructurePathArray

    GetStructurePathArray( integer $dir_id, [boolean $first_call = true] );

    Описание

    Получение пути от текущего узла к корневому

    Принимаемые параметры

    $dir_id

    идентификатор текущего узла

    $first_call

    первый ли это вызов функции
    Пример использования:

    1.  <?php
    2.  $structure = new Structure();
    3.  
    4.  //Идентификатор текущего узла структуры сайта
    5.  $dir_id = 86;
    6.  
    7.  $row $structure->GetStructurePathArray($dir_id);
    8.  
    9.  // Распечатаем результат
    10.  print_r($row);
    11.  ?>

    Возвращает

    массив данных

    [ Наверх ]


    Structure::GetStructureProperty

    GetStructureProperty( array $propertylist );

    Описание

    Метод возвращает заполненные св-ва узлов структуры

    (также метод заполняет значение кэша $this->cache_structure_property)

    Принимаемые параметры

    $propertylist

    массив ID узлов структуры, например $propertylist[] = 80;
    Пример использования:

    1.  <?php
    2.  $structure = new Structure();
    3.  
    4.  $propertylist = array();
    5.  $propertylist[= 80;
    6.  
    7.  $row $structure->GetStructureProperty($propertylist);
    8.  
    9.  // Распечатаем результат
    10.  print_r($row);
    11.  ?>

    Возвращает

    массив свойств элемента

    [ Наверх ]


    Structure::GetStructurePropertyValue

    GetStructurePropertyValue( int $structure_id, int $structure_propertys_id );

    Описание

    Получение значения свойства узла структуры по идентификатору узла структуры и идентификатору свойства

    Принимаемые параметры

    $structure_id

    идентификатор узла структуры

    $structure_propertys_id

    идентификатор дополнительного свойства
    Пример использования:

    1.  <?php
    2.  $structure = new Structure();
    3.  
    4.  $structure_id = CURRENT_STRUCTURE_ID;
    5.  $structure_propertys_id = 10;
    6.  
    7.  $row $structure->GetStructurePropertyValue($structure_id$structure_propertys_id);
    8.  
    9.  // Распечатаем результат
    10.  print_r($row);
    11.  ?>

    Возвращает

    ассоциативный массив с информацией о значении дополнительного свойства узла структуры в случае успешного выполнения, false - в противном случае

    [ Наверх ]


    Structure::GetStructureXml

    GetStructureXml( $structure_id $structure_id, [$param $param = array()] );

    Описание

    XML для узла структуры. Перед вызовом очистите $Structure->XmlDataFromGenXml4StructureLevelMass

    Принимаемые параметры

    $structure_id

    идентификатор узла структуры

    $param

    - $param['level'] уровень вложенности, который необходимо генерировать

    Возвращает

    XML

    [ Наверх ]


    Structure::GetXml4StructurePropertys

    GetXml4StructurePropertys( int $structure_id );

    Описание

    Получение XML для свойств структуры. Перед вызовом метода необходимо вызвать $this->GetStructureProperty(array()); и передать массив ID узлов, для которых геренируются св-ва

    Принимаемые параметры

    $structure_id

    идентификатор раздела структуры
    Пример использования:

    1.  <?php
    2.  $structure = new Structure();
    3.  
    4.  $structure_id = CURRENT_STRUCTURE_ID;
    5.  
    6.  $xml $structure->GetXml4StructurePropertys($structure_id);
    7.  
    8.  // Распечатаем результат
    9.  echo htmlspecialchars($xml);
    10.  ?>

    Возвращает

    XML для свойств структуры

    [ Наверх ]


    Structure::IndexationStructure

    IndexationStructure( int $limit, int $on_step, [array $parameters = array ()] );

    Описание

    Метод индексации элементов структуры

    Принимаемые параметры

    $limit

    ограничение(по сколько элементов индексировать)

    $on_step

    шаг для индексации

    $parameters

    массив дополнительных параметров

    • $parameters['document_id'] - идентификатор индексируемого документа при событийной индексации
    • $parameters['structure_id'] - идентификатор индексируемого узла структуры при событийной индексации
      Пример использования:
      1.  <?php
      2.  $structure = new Structure();
      3.  
      4.  $limit = 5;
      5.  $on_step = 10;
      6.  
      7.  $row $structure->IndexationStructure($limit$on_step);
      8.  
      9.  // Распечатаем результат
      10.  print_r($row);
      11.  ?>

    Возвращает

    массив с данными о проиндексированных элементах

    [ Наверх ]


    Structure::InsertStructure

    InsertStructure( array $param );

    Описание

    Метод добавления/редактирования узла структуры

    Принимаемые параметры

    $param

    массив параметров

    • int $param['structure_id'] идентификатор узла структуры
    • int $param['menu_id'] идентификатор раздела меню
    • int $param['templates_id'] идентификатор макета
    • int $param['data_templates_id'] идентификатор шаблона страниц
    • int $param['site_id'] идентификатор сайта
    • int $param['documents_id'] идентификатор документа
    • int $param['structure_parent_id'] идентификатор родительского раздела
    • int $param['structure_show'] флаг вывода элемента структуры
    • string $param['structure_menu_name'] название раздела в меню
    • string $param['structure_title'] заголовок для раздела
    • string $param['structure_description'] описание раздела
    • string $param['structure_keywords'] ключевые фразы
    • string $param['structure_external_link'] внешняя ссылка для раздела
    • int $param['structure_order'] порядок сортировки
    • string $param['structure_path_name'] название раздела
    • int $param['structure_type'] тип раздела. 0 - Страница, 1 - Динамическая страница, 2 - Типовая динамическая страница
    • string $param['module'] значение для динамической страницы
    • string $param['module_config'] нстройки для динамической страницы
    • int $param['structure_activity'] параметр, определяющий активность узла структуры(1 по умолчанию) - узел активен, 0 - неактивен)
    • int $param['structure_access'] параметр, определяющий группу пользователей сайта, имеющих право доступа к узлу структуры.
    Значения 0 (узел доступен всем, по умолчанию), -1 - как у родителя, другое значение - идентификатор группы пользователей сайта)
    • int $param['structure_access_protocol'] параметр, определяющий протокол, используемый для доступа к узлу структуры. 0 - HTTP, 1 - HTTPS
    • int $param['structure_allow_indexation'] параметр, определяющий индексировать узел структуры или нет(1 по умолчанию) - индексировать, 0 - не индексировать)
    • int $param['users_id'] идентификатор пользователя, если false - берется текущий пользователь.
    • int $param['lib_id'] идентификатор типовой динамической страницы
      Пример использования:
      1.  <?php
      2.  $structure = new Structure();
      3.  
      4.  $param = array();
      5.  
      6.  $param['structure_id''';
      7.  $param['menu_id'= 1;
      8.  $param['templates_id'= 1;
      9.  $param['data_templates_id']= 1;
      10.  $param['site_id'= 1;
      11.  $param['documents_id'= 55;
      12.  $param['structure_parent_id'= 0;
      13.  $param['structure_show'= 1;
      14.  $param['structure_menu_name''Название в меню';
      15.  $param['structure_title''SEO - заголовок';
      16.  $param['structure_description''SEO - описание';
      17.  $param['structure_keywords''SEO - ключевые слова';
      18.  $param['structure_order'= 50;
      19.  $param['structure_path_name''page';
      20.  $param['structure_type'= 2;
      21.  $param['module''';
      22.  $param['module_config''';
      23.  $param['structure_access'= 0;
      24.  $param['structure_activity'= 1;
      25.  $param['structure_allow_indexation'= 1;
      26.  $param['lib_id'= 9;
      27.  
      28.  $new_structure_id $structure->InsertStructure($param);
      29.  
      30.  // Распечатаем результат
      31.  echo $new_structure_id;
      32.  ?>

    Возвращает

    идентификатор добавленного/измененного узла структуры в случае успешного выполнения, false - в противном случае

    [ Наверх ]


    Structure::InsertStructurePropertys

    InsertStructurePropertys( int $type, int $structure_propertys_id, int $site_id, string $structure_propertys_name, int $structure_propertys_type, int $structure_propertys_order, string $structure_propertys_define_value, string $structure_propertys_xml_name, int $structure_propertys_lists_id, int $structure_propertys_information_systems_id, [int $users_id = false] );

    Описание

    Метод вставки и редактирования дополнительного свойства для структуры

    Принимаемые параметры

    $type

    тип действия 0 - вставка, 1 - обновление

    $structure_propertys_id

    идентификатор дополнительного свойства

    $site_id

    идентификатор сайта

    $structure_propertys_name

    наименование дополнительного свойства

    $structure_propertys_type

    тип дополнительного свойства

    $structure_propertys_order

    порядок сортировки

    $structure_propertys_define_value

    значение по умолчанию для дополнительного свойства

    $structure_propertys_xml_name

    имя xml тега для дополнительного свойства

    $structure_propertys_lists_id

    идентификатор списка(если тип свойства - список)

    $structure_propertys_information_systems_id

    идентификатор информационной системы(для типа информационная система)

    $users_id

    идентификатор пользователя, если false - берется текущий пользователь.
    Пример использования:

    1.  <?php
    2.  $structure = new Structure();
    3.  
    4.  $type = 0;
    5.  $structure_propertys_id '';
    6.  $site_id = 1;
    7.  $structure_propertys_name 'свойство';
    8.  $structure_propertys_type = 0;
    9.  $structure_propertys_order = 50;
    10.  $structure_propertys_define_value '';
    11.  $structure_propertys_xml_name 'myname';
    12.  $structure_propertys_lists_id '';
    13.  $structure_propertys_information_systems_id = 0;
    14.  
    15.  $new_structure_propertys_id $structure->InsertStructurePropertys($type$structure_propertys_id$site_id$structure_propertys_name$structure_propertys_type$structure_propertys_order$structure_propertys_define_value$structure_propertys_xml_name$structure_propertys_lists_id$structure_propertys_information_systems_id);
    16.  
    17.  // Распечатаем результат
    18.  echo $new_structure_propertys_id;
    19.  ?>

    Возвращает

    идентификатор отредактированного(вставленного) дополнительного свойства

    [ Наверх ]


    Structure::InsertStructurePropertysValue

    InsertStructurePropertysValue( int $type, int $structure_propertys_values_id, int $structure_id, int $structure_propertys_id, string $structure_propertys_values_value, [ $structure_propertys_values_file = ''], [ $structure_propertys_values_value_small = ''], [ $structure_propertys_values_file_small = ''] );

    Описание

    Метод вставки и редактирования значения дополнительного свойства в таблице связи

    Принимаемые параметры

    $type

    тип действия 0 - вставка, 1 - обновление

    $structure_propertys_values_id

    идентификатор значения дополнительного свойства

    $structure_id

    идентификатор раздела структуры

    $structure_propertys_id

    идентификатор дополнительного свойства

    $structure_propertys_values_value

    значение дополнительного свойства

    $structure_propertys_values_file

    $structure_propertys_values_value_small

    $structure_propertys_values_file_small

    Возвращает

    идентификатор отредактированной(добавленной) записи

    [ Наверх ]


    Structure::IssetPath

    IssetPath( array $path_array, int $menu_id );

    Описание

    Метод определения наличия пути

    Принимаемые параметры

    $path_array

    массив с элементами пути, ID меню

    $menu_id

    идентификатор раздела меню

    Возвращает

    идентификатор родительского раздела - при наличии у данного меню страницы с аналогичным путем, false при ее отсутствии

    [ Наверх ]


    Structure::NodeIsParent

    NodeIsParent( int $children_node_id, int $parent_node_id );

    Описание

    Метод определения принадлежности узла структуры вышестоящему родителю

    Принимаемые параметры

    $children_node_id

    идентификатор дочернего узла

    $parent_node_id

    идетификатор узла - возможного родителя
    Пример использования:

    1.  <?php
    2.  $structure = new Structure();
    3.  
    4.  $children_node_id = 88;
    5.  $parent_node_id = 80;
    6.  
    7.  if ($structure->NodeIsParent($children_node_id$parent_node_id))
    8.  {
    9.      echo "Узел {$children_node_id} является дочерним для узла {$parent_node_id}\n";
    10.  }
    11.  else
    12.  {
    13.      echo "Узел {$children_node_id} не является дочерним для узла {$parent_node_id}\n";
    14.  }
    15.  ?>

    Возвращает

    истина, если узел принадлежит родителю, иначе ложь

    [ Наверх ]


    Structure::SearchIndexing

    SearchIndexing( $limit $limit, $on_step $on_step );

    Описание

    Функция обратного вызова для поисковой индексации данных модуля

    Принимаемые параметры

    $limit

    текущая позиция

    $on_step

    шаг

    [ Наверх ]


    Structure::SelectStructureForParent

    SelectStructureForParent( int $structure_parent_id, [int $menu_id = false], [int $site_id = false] );

    Описание

    Получение информации об узлах структуры конкрентного уровня

    Принимаемые параметры

    $structure_parent_id

    идентификатор родительского раздела

    $menu_id

    идентификатор меню

    $site_id

    идентификатор сайта

    Возвращает

    Ответ базы

    [ Наверх ]


    Structure::SelectStructurePropertys

    SelectStructurePropertys( int $site_id, [int $structure_propertys_id = false] );

    Описание

    Метод выбора дополнительного свойства структуры определенного сайта(false - выбор всех)

    Принимаемые параметры

    $site_id

    идентификатор сайта

    $structure_propertys_id

    идентификатор дополнительного свойства
    Пример использования:

    1.  <?php
    2.  $structure = new Structure();
    3.  
    4.  $site_id = 1;
    5.  $structure_propertys_id = 10;
    6.  
    7.  $resource $structure->SelectStructurePropertys($site_id$structure_propertys_id);
    8.  
    9.  while($row mysql_fetch_assoc($resource))
    10.  {
    11.      print_r($row);
    12.  }
    13.  ?>

    Возвращает

    результат выборки информации о дополнительном свойстве(обо всех дополнительных свойствах)

    [ Наверх ]


    Structure::ShowStructure

    ShowStructure( int $menu_id, string $xsl, [array $param = array ()], [array $external_propertys = array ()] );

    Описание

    Метод для отображения структуры в клиентском разделе сайта

    Принимаемые параметры

    $menu_id

    ID меню для отображения

    $xsl

    имя XSL шаблона для отображения

    $param

    содержит дополнительные параметры

    • $param['parent_id'] - ID родительского узла
    • $param['cache'] - разрешение кэширования, по умолчанию true
    • $param['show_groups'] - отображать ли группы элементов инфосистемы, по умолчанию false
    • $param['show_items'] - отображать ли элементы инфосистемы, может принимать значение true, false или массив идентификаторов элементов, подлежащих отображению. по умолчанию false
    • $param['level'] - уровень, до которого выбирать узлы в дереве структуры. по умолчанию равен -1.
    • $param['show_information_systems'] - отображать ли элементы указанных инфосистемы(массив)
    • $param['do_not_show_information_systems'] - отображать ли элементы указанных инфосистемы(массив)
    • $param['hidden_groups'] - массив групп инфосистем, скрытых для показа в текущем меню
    • $param['hidden_groups_shop'] - массив групп товаров, скрытых для показа в текущем меню
    • $param['site_id'] - ID сайта, для которого отображается структура, по умолчанию равен текущему сайту
    • $param['show_shop_groups'] - отображать ли группы товаров, по умолчанию false
    • $param['show_shop_items'] - отображать ли товары, может принимать значение true, false или массив идентификаторов товаров, подлежащих отображению. по умолчанию false
    • $param['show_shops'] - массив идентификаторов магазинов, подлежащих отображению
    • $param['do_not_show_shops'] - массив идентификаторов магазинов, исключаемых из отображения
    • $param['xml_show_structure_property'] разрешает указание в XML значений свойств узлов структуры, по умолчанию true
    • $param['external_xml'] - внешний XML в документ. Внешний XML отличается от параметров $external_propertys тем, что добавляется блоком в начало документа

    $external_propertys

    многомерный массив дополнительных свойств для включения в исходный XML код
    Пример использования:

    1.  <?php
    2.  $structure = new Structure();
    3.  
    4.  $xsl 'Картасайта';
    5.  $menu_id = false;
    6.  
    7.  // Необязательные параметры
    8.  $param = array();
    9.  $param['parent_id'= 0;
    10.  
    11.  // Внешние параметры для передачи в XML
    12.  $external_propertys = array();
    13.  $external_propertys['некий_внешний_параметр'"некое значение";
    14.  
    15.  $structure->ShowStructure($menu_id$xsl$param$external_propertys);
    16.  ?>

    Возвращает

    истину при успешном отображении меню

    [ Наверх ]


    Structure::SortStructureMass

    SortStructureMass( int $parent_id, [array $mass = array ()] );

    Описание

    Метод сортирует массив StructureMass, возвращает отсортированный массив в соответствии с иерархией

    Принимаемые параметры

    $parent_id

    идентификатор родительского раздела

    $mass

    массив с элементами структуры
    Пример использования:

    1.  <?php
    2.  $Structure = new Structure();
    3.  
    4.  $parent_id = 0;
    5.  
    6.  $row $Structure->SortStructureMass($parent_id$mass=array());
    7.  
    8.  // Распечатаем результат
    9.  print_r ($row);
    10.  ?>

    Возвращает

    отсортированный массив

    [ Наверх ]


    Structure::UpdateSubDir

    UpdateSubDir( int $structure_id, int $menu_id );

    Описание

    Метод обновления идентификатора меню у подразделов определенного раздела

    Принимаемые параметры

    $structure_id

    идентификатор раздела структуры

    $menu_id

    идентификатор раздела меню


    Пример использования:

    1.  <?php
    2.  $structure = new Structure();
    3.  
    4.  $structure_id = CURRENT_STRUCTURE_ID;
    5.  $menu_id = 2;
    6.  
    7.  $structure->UpdateSubDir($structure_id$menu_id);
    8.  ?>

    [ Наверх ]


    Structure::_CallbackSearch

    _CallbackSearch( array $row );

    Описание

    Функция обратного вызова, используется модулем поисковой системы при выводе результатов поиска

    Принимаемые параметры

    $row

    массив с информацией о странице

    Возвращает

    дополнительный XML, включаемый в результат поиска

    [ Наверх ]



Описания переменных

  • $a_count_property = [Строка 75]
  • Data type: array
  • Описание

    Ассоциативный массив-Кэш количества свойств для разных сайтов


  • $cache_structure_property = array() [Строка 63]
  • Data type: array
  • Описание

    Двумерный массив для хранения св-в структуры. Первый элемент - ID структуры.


  • $level = [Строка 27]
  • Data type: int
  • Описание

    Максимальный уровень структуры


  • $menu_id = [Строка 39]
  • Data type: int
  • Описание

    Идентификатор раздела меню


  • $parent_id = [Строка 21]
  • Data type: int
  • Описание

    Идентификатор родительского узла элемента структуры


  • $separator =  '' [Строка 33]
  • Data type: string
  • Описание

    Разделитель для уровней


  • $StructureMass = array () [Строка 57]
  • Data type: array
  • Описание

    Массив с элементами структуры


  • $StructureParentMass = array () [Строка 51]
  • Data type: array
  • Описание

    Массив родительских разделов


  • $structure_propertys_list = [Строка 69]
  • Data type: resource
  • Описание

    Хранит результат запроса на выборку дополнительных свойств структуры



Описание констант класса