class module extends module_template{

advertisement
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){
Download