class module extends module_template{ // var $settings; //общие настройки $SETTINGS // var $params; //параметры модуля var $config; //описание модуля //========================= // ОПИСАНИЕ МОДУЛЯ //========================= // head: - массив // name - имя модуля // path - путь к модулю // cur_path - текущий путь к модулю // descr - описание модуля // table - название таблицы // admin_write_access (true,false) - редактируется все только админом // error_page - куда переходить при ошибках // print_version (true,false) - есть ли версия для печати // child - модуль с детьми // name - имя модуля // table - имя таблицы // parent_field - поле для хранения родителя // path - путь к модулю // delete (true/false) - удалять при удалении // show_count (true/false) - показывать кол-во записей // parent - модуль с родителем // name - имя модуля // path - путь к модулю // descr - описание модуля // table - название таблицы // key (true,false) - есть ключ // change (true,false) - идет смена родителя // field - текущее поле для хранения родителя // field_name - поле в таблице родителя для взятия имени // access_full (true,false) - разграничение доступа по подразделам // tree - древовидная структура // field - текущее поле для хранения родителя // field_name - поле для взятия имени // dop_field_names - дополнительные поля для взятия // access_full (true,false) - разграничение доступа по подразделам первого уровня // show_count (true/false) - показывать кол-во записей // key (true,false) - есть ключ // key_auto - поле по которому будет браться ключ, если не установлен, default=первое поле // sequence (true,false) - используется сиквенс // pos (true,false) - есть позиция // link_client_page - показывать ли в админке ссылку на страницу в клиенте (скрипт обработчик) // // ext_edit_form - путь к форме дополнительных парметров редактирования // вся обработка выноситься в обрабатывающий модуль, нужно для вызова из основной формы // // pref_def - параметры по умолчанию // type - parent, key, lang, int, string // ключ - определяет имя // parent - родитель // key (true,false) - ключ // lang (true,false) - язык // page=int - страницы значение по умолчанию // sort=int - сортировка значение по умолчанию // direct=int - направление сортировки значение по умолчанию // // всегда первичным ключом является поле id // // pref-data: - массив с ключом = полю в таблице // name - наименование // type - тип // pos - позиция // int - целое // double - дробное // string - простая строка // len - максимальная длинна, 0 - без ограничений // strip_tags - какие теги оставить (пусто-убрать все,null-оставить все из админки) // subtype - подтип // password - пароль // email - email // url - url // text - текстовое поле // тоже что и для string // editor (true,false) - редактор подключить // img_store - стягивать картинки со сторонних сайтов (default=true) // fkey - ключ для сохранения картинок // editor_params - параметры редактора (смотреть найтройки редактора) // __showFiles - показывать ли файлы (default=false) // width, height // templates - html_шаблоны // bool - флажок // link (true,false) - ставить ли ссылку // date - дата // form (true,false) - select'ом // min_year - минимальный год // format - формат вывода // datetime - дата+время // form (true,false) - select'ом // min_year - минимальный год // format - формат вывода // time - время // form (true,false) - select'ом // format - формат вывода // set - список (select) // external (true,false) - внешний // true // set_obj - объект для связи // set_key - ключ // false // values - массив значений // multi (true,false) - 1 to m // save_table - имя таблицы для хранения // id_name - текущее имя // val_name - имя значений // file - файл // fkey - ключ для сохранения // size - максимальный размер в Кб // stype (img,img_pr,file) // types - разрешенные для сохранения типы // selector (true,false) - ограничитель запроса // must (true,false) - обязательное поле // default - значение по умолчанию // noedit (true,false) - не редактируемое поле // admin_write_access (true,false) - редактируется только админом // noduble (true,false) - проверка на дублирование // link - есть ссылка из просмотра на другой модуль // url - ссылка // field - поле которое добавить // sql_calc - вычисляемое поле // help_label - подпись помощи // help_label_get_view - (true) подпись помощи показывать и в get // // show - отображение // // actions - действия которые могут быть // ключ add,edit,show,del,save,cbool - имя акшена // функция // // actions_show - отображаемые кнопки под действия, по умолчанию их достаточно // top - в заголовке таблицы // show - для каждой записи в таблице // get - для текущей записе в таблице // access_write - требуется ли проверка на запись // img - какую картинку отображать // alt - подпись для картинки // url - на какой url перейти (out_url) // question - задать вопрос // field_name - какой параметр ключевой (id) // field - какое значение параметра ключевое (id) //========================= function init_default(){ //установка значений по умолчанию для описания //и проверка что установленных парметров достаточно для работы function get_set_values($pref){ //взятие массива значений для set function access_descr(){ //Вывод подразделов function set_default(){ //Установка значений по умолчанию function key_get(){ //взятие по ключу function parent_get(){ //взятие родителя function parent_get_all(){ //взятие всех родителей function tree_get(){ //взятие древовидной структуры function params_get(){ //установка пришедших параметров function out_url($url_key=false){ //url для перехода function get_params_name($name){ //выводит имя параметра function adapt(){ //Подготовка данных к занесению в базу function is_duble($name){ //проверка поля $name на дублирование function pos_max(){ //Взятие максимальной позиции function part_access_write($key){ //функция проверяет можно ли перейти на ребенка function action_edit(){ //вывод формы на редактирование function action_show(){ //вывод объекта function action_default(){ //вывод всех объектов по умолчанию class pref extends module{ function pref(){ parent::module(); $head=array(); $head["name"]="pref"; $head["descr"]="Настройки"; $head["cur_path"]="/admin"; $head["key"]=true; $parent=array(); $parent["name"]="pref_parts"; $parent["descr"]="Настройки"; $parent["field"]="parent"; $parent["access_full"]=true; $parent["key"]=true; $head["parent"]=$parent; $field=array(); $field["name"]="Значение"; $field["type"]="string"; $field["must"]=true; $pref["value"]=$field; $field=array(); $field["name"]="Описание"; $field["type"]="text"; $pref["descr"]=$field; $show=array(); $show[]="id"; $show[]="tkey"; $show[]="value"; $show[]="descr"; $this->init($head,$pref,"",$show); } function pref_get($pkey,$tkey){ function preferense($pkey,$tkey){