Файл xpdkmain.php – содержит функции, отвечающие за идентификацию и аутентификацию пользователя, а также за работу с шаблонами.
user_check() – проверка данных пользователя и определение его уровня доступа. Возвращаемое значение: хеш с данными пользователя, извлеченными из таблицы user.
main_process() – подключение указанного модуля, а также определение шаблона и выполнение перечисленных в нем функций. Возвращаемое значение: нет.
is_submitted() – проверка, имеются ли переданные данные формы (производится по наличию переменной sbm). Возвращаемое значение: true – если переменная sbm не пуста, false – в противном случае.
main_action() – выполнение основного действия, указанного в переменной a. Возвращаемое значение: нет.
Файл xpdklib.php
Файл xpdklib.php – содержит функции, отвечающие за различные вспомогательные действия: подготовку форм, списков и меню, высокоуровневые функции для работы с БД и т.п.
getvar($name) – получение значение переменной из параметров запроса. $name – имя параметра. Возвращаемое значение: значение параметра, в котором произведено экранирование кавычек в данном значении с помощью функции db_addslashes().
build_select($sql,$value="") - формирование опций (options) поля ввода «выпадающий список» (select) на основании данных, полученных при выполнении запроса, указанного в $sql. При этом в первом поле, возвращаемом в данном запросе, должно быть значение варианта (option value), а во втором – текст его описания. $value – значение, которое должно быть выставлено в качестве выбранного в
build_sql($prefix) – построение SQL-запроса на основе полей формы, начинающихся с префикса $prefix, не содержащих __ (двойной прочерк). Возвращаемое значение: часть SQL-запроса, которая может быть помещена в UPDATE или INSERT после SET.
build_sql_all($prefix) – построение SQL-запроса на основе полей формы, начинающихся с префикса $prefix, вне зависимости от того, имеется ли в них __ (двойной прочерк). Возвращаемое значение: часть SQL-запроса, которая может быть помещена в UPDATE или INSERT после SET.
check($expr) – функция выводит строку «checked» в том случае, если $expr равно true и false в противном случае. Используется при установке начальных значений форм (в частности, переключателей вида checkbox и radiobutton). Возвращаемое значение: нет.
set_select($select,$value) – установка начального значения выпадающего меню (select), HTML-код которого указан в $select, а значение, которое требуется выбрать – в $value. Возвращаемое значение: строка с исходным значением $select, в котором добавлено слово selected после указанного пункта.
build_pages($count,$start,$perpage,$ref) – формирование ссылок для отображения списка элементов с разбиением на страницы. Параметры: $count – общее число элементов, $start – номер элемента, с которого требуется начать вывод (если требуется вывести все элементы, то он равен «all»), $perpage – количество элементов на одной странице, $ref – начальная часть ссылки для перехода на нужную страницу. Возвращаемое значение: строка с HTML-кодом ссылок для перехода на страницы, при этом текущая страница ссылкой не является. Номер страницы передается как параметр st.
build_date_field($field,$time) – формирование полей для ввода даты. Параметры: $field – префикс имени полей, $time – начальное значение даты (в формате Unix timestamp). Возвращаемое значение: строка с HTML-кодом полей для ввода даты.
get_date_field($field) – получение даты из полей, сформированных с помощью build_date_field. Параметры: $field – тот же префикс, что был указан и для функции build_date_field. Вовзращаемое значение: дата в формате Unix timestamp.
iptonum($ip) – преобразование IP-адреса из обычного формата (строка из четырех чисел, разделенных точками) в 32-разрядное беззнаковое число. Параметры: $ip – IP-адрес в строковом формате. Возвращаемое значение: 32-разрядное беззнаковое число, соответствующее IP-адресу.
numtoip($num) – преобразование IP-адреса из числового формата в обычный (строку из четырех чисел, разделенных точками). Параметры: $num – IP-адрес в числовом формате. Возвращаемое значение: IP-адрес в строковом формате.
textarea($text) – обработка текста для вывода его в области редактирования textarea (в частности, замена HTML-спецсимволов их кодами). Параметры: $text – текст для вывода. Возвращаемое значение: текст с кодами вместо спецсимволов.
sql_array($sql) – выполнение SQL-запроса и извлечение всех результатов в двухмерный массив. Параметры: $sql – текст запроса. Возвращаемое значение: двухмерный массив с результатами, по первому измерению индексом является номер строки, по второму – символьное имя столбца.
get_text($text) – выполнение замены констант, определенных с помощью define на их значения. Параметры: $text – строка, в которой могут содержаться константы. Возвращаемое значение: строка, переданная в $text, в которой все константы заменены на их значения.
build_form($name,$data,$title,$sbmtext,$extdata=array()) – формирование HTML-формы и заполнение ее исходными данными. Параметры: $name – имя формы (по которому производится выборка списка полей формы из базы данных), $data – хеш-массив с исходными данными формы, ключи которого соответствуют полям формы, $title – заголовок формы, $sbmtext – текст кнопки отправки формы. Параметр $extdata используется в том случае, если в форме присутствуют поля типа выпадающее меню (select) или переключатель (radio), список значений которых требуется сгенерировать динамически (например, на основе данных другой таблицы). В этом случае такой список генерируется до вызова функции build_form (например, с помощью set_select) и помещается в хеш-массив $extdata, причем ключ в этом массиве должен соответствовать имени поля. Возвращаемое значение: строка, содержащая HTML и JavaScript-код сгенерированной формы.
db_insert($table,$data,$prefix="") – вставка данных из хеш-массива в таблицу. Параметры: $table – имя таблицы БЕЗ префикса, $data – хеш-массив с данными, $prefix – префикс, с которого должны начинаться имена ключей хеш-массива, которые будут помещены в БД. Возвращаемое значение: идентификатор вставленной записи в том случае, если в таблице имеется столбец типа AUTO_INCREMENT и 0 в противном случае.
process_form($name) – получение данных, отправленных в форме, которая была сгенерирована с помощью build_form, и выполнение проверки допустимости этих данных. Параметры: $name – имя формы, по которому осуществляется ее поиск в БД. Возвращаемое значение: хеш-массив со значением полей формы, ключами которого являются имена этих полей.
db_update($table,$data,$condition,$prefix="") замена данных из хеш-массива в строках таблицы, соответствующих заданному условию. Параметры: $table – имя таблицы БЕЗ префикса, $data – хеш-массив с данными, $condition – строка, содержащая условие замены записанное в соответствии с правилами языка SQL (оно будет вставлено в SQL-оператор после WHERE), $prefix – префикс, с которого должны начинаться имена ключей хеш-массива, которые будут помещены в БД. Возвращаемое значение: количество строк, для которых была выполнена замена.
build_list($name,$data,$idname,$textname,$title,$defaction="",$chtext="",$morefields=NULL) – формирование таблицы, содержащей список элементов. Параметры: $name – имя списка, по которому производится его поиск в БД, $data – двумерный массив данных, по первому измерению индексом является номер строки, по второму – символьное имя столбца, $idname – имя ключевого столбца, который используется в URL для передачи данных о том, для какого элемента списка выбрано действие, $textname – имя столбца, данные из которого выводятся в качестве названия элемента списка, $title – заголовок списка, $defaction – этот параметр нужен только для списков с возможностью множественной выборки, в данном параметре задается имя действия, которое обрабатывает множественную выборку, $chtext – текст на кнопке отправки множественной выборки, $morefields – массив содержащий имена дополнительных столбцов, которые требуется вывести в списке. Возвращаемое значение: HTML-код таблицы со списком.
build_horiz_menu($name,$tag=0,$level=0,$prefix="",$postfix="",$separator="") – формирование горизонтального меню. Параметры: $name – имя меню, по которому осуществляется его поиск в базе данных, $tag – тег, используемый для выборочного вывода (в случае, если он не равен нулю, производится выбор общих пунктов меню с тегом 0 и выбор пунктов меню с тегом, значение которых совпадает с указанным), $level – уровень доступа, для которого осуществляется выборка пунктов меню, $prefix – часть HTML-кода, который выводится перед каждого пункта, $postfix – часть HTML-кода, которая выводится после каждого пункта, $separator – HTML-код, который выводится между пунктами меню. Возвращаемое значение: HTML-код таблицы с меню.
build_vert_menu($name,$tag=0,$level=0,$prefix="",$postfix="",$separator="") – формирование вертикального меню. Параметры: $name – имя меню, по которому осуществляется его поиск в базе данных, $tag – тег, используемый для выборочного вывода (в случае, если он не равен нулю, производится выбор общих пунктов меню с тегом 0 и выбор пунктов меню с тегом, значение которых совпадает с указанным), $level – уровень доступа, для которого осуществляется выборка пунктов меню, $prefix – часть HTML-кода, который выводится перед каждого пункта, $postfix – часть HTML-кода, которая выводится после каждого пункта, $separator – HTML-код, который выводится между пунктами меню. Возвращаемое значение: HTML-код таблицы с меню.
build_button($action,$title,$params,$module="") - формирование формы, состоящей из кнопки и множества скрытых полей. Параметры: $action – действие, которое будет вызвано по нажатию кнопки, $title – текст кнопки, $params – хеш-массив с параметрами формы, которые будут добавлены в форму в виде скрытых полей, $module – имя модуля, в котором описано указанное действие. Возвращаемое значение HTML-код формы с кнопкой.