Массив, который содержит переменные и их значения - Глобальные ключи
Parser($mErrorReportFuncName, $mDb)
Конструктор класса, возвращает указатель.
$mErrorReportFuncName
Название функции, которая будет вызвана в случае системной ошибки. Функция должна иметь четыре входных параметра: тип ошибки, файл ошибки, сообщение об ошибке, дополнительная информация об ошибке.
Домен cookie, например 'melbis.com'. Чтобы сделать cookies видимыми для всех поддоменов, перед именем домена нужно поставить точку, например '.melbis.com'.
$mLifeTime
0
Время жизни сессионной cookie в секундах. Параметр имеет значение, только если задан домен cookie.
$mPath
/
Путь в домене, где cookie будет работать. Используйте одну косую черту ('/') для всех путей в домене. Параметр имеет значение, только если задан домен cookie.
DefineSelfConst()
Загрузка пользовательского набора "ключ -> значение" и определение их как констант. Для этого используется PHP-функция - define(). Данные берутся из таблицы self_key_value.
DefineSelfVars($mPrefix)
Загрузка пользовательского набора "ключ -> значение" в массив gVars. Данные берутся из таблицы self_key_value.
$mPrefix
Приставка, группирующая загружаемый набор данных.
DefineLazyLoader($mLazyLoader)
Определяет HTML-код который будет подставляться в шаблон для отложенной загрузки модуля (технология Lazy Loading).
$mLazyLoader
HTML-код загрузчика. По умолчанию имеет следующее значение:
<script>
var req_{ID};
if (window.XMLHttpRequest)
{
req_{ID} = new XMLHttpRequest();
}
else
{
req_{ID} = new ActiveXObject("Microsoft.XMLHTTP");
}
req_{ID}.onreadystatechange=function()
{
if (req_{ID}.readyState==4 && req_{ID}.status == 200)
{
document.getElementById("{ID}").innerHTML = req_{ID}.responseText;
var sc = document.getElementById("{ID}").getElementsByTagName("script");
for (var n = 0; n < sc.length; n++ ) eval(sc[n].innerHTML);
}
}
req_{ID}.open("POST","{SCRIPT}",true);
req_{ID}.setRequestHeader("Content-type","application/x-www-form-urlencoded");
req_{ID}.send("mod={MODULE}¶ms={PARAMS}");
</script>
<div id={ID}></div>
В коде предопределены следующие ключи:
{ID} - уникальный идентификатор модуля с учетом его входных параметров
{SCRIPT} - адрес вызываемого скрипта, который выдает содержимое модуля
{MODULE} - имя вызываемого модуля
{PARAMS} - входные параметры вызываемого модуля
DefineLazyScript($mLazyScript)
Определяет адрес скрипта, который будет вызван для получения содежимого модуля по отложенной загрузке (технология Lazy Loading).
Директория, в которой находится магазин (относительно домена).
$mTemplate
Имя группы шаблонов.
$mUnitName
Имя вызываемого модуля.
$mParamArray
Массив входных параметров для модуля.
$mCacheAllowed
Флаг, указывающий на использование режима кеширования для всех модульных скриптов, которые будут вызываться во время парсинга страницы. Возможные значения: true, false.
$mBuild
0
Номер текущей сборки магазина, определяет системный ключ1.
Запуск парсера для модульного скрипта, который был определен для отложенной загрузки (Lazy Loading). Аналогичен методу Parse, отличается форматом передачи параметров.
$mSitePath
Директория, в которой находится магазин (относительно домена).
$mTemplate
Имя группы шаблонов.
$mUnitName
Имя вызываемого модуля.
$mParamLine
Строка с входными параметрами передаваемыми модулю. Строка кодируется тем же способом, что и POST данные WWW-формы, то есть по типу контента application/x-www-form-urlencoded.
$mCacheAllowed
Флаг, указывающий на использование режима кеширования для всех модульных скриптов, которые будут вызываться во время парсинга страницы. Возможные значения: true, false.
$mBuild
0
Номер текущей сборки магазина, определяет системный ключ 1.
ResetModuleCache()
Фиксирует необходимость повторного вызова модуля. Вызов данного метода имеет смысл делать только в случае, если включено кеширование модуля. Обычно используется, когда в ходе работы модуля высняется, что что-то пошло не так как нужно (например, нельзя сохранить текущие данные) и в этом случае, необходимо запустить модуль повторно, даже если зависимые таблицы не претерпевали изменений.
Fetch()
Возвращает результат работы парсера.
Publish()
Возвращает результат работы парсера. Аналогичен методу предудущему Fetch(), но в отличи от него, не просто возращает результат, но при необходимости формирует заголовок header(), а также сразу выводит содержимое на печать.
SqlQuery($mLine, $mCommand)
Выполняет SQL-запрос к базе данных. Возвращает указатель на результат.
$mLine
Номер строки файла, из которой выполняется команда. Используется для вывода сообщения об ошибке.
$mCommand
Текст SQL-запроса
SqlGenId ($mTableName)
Счетчик. Выполняет запрос к базе данных для генерации нового значения ID для указанной таблицы.
$mTableName
Имя таблицы, для которой необходимо получить новое значение ID.
SqlLastInsertId ()
Возвращает результат выполнения SQL-запроса: SELECT LAST_INSERT_ID() AS id
SqlSelect ($mLine, $mCommand, $mCharset)
Выполняет SQL-запрос к базе данных. Возвращает двухмерный ассоциативный массив с данными типа ['строка']['название поля'] => 'значение поля'
$mLine
Номер строки файла, из которой выполняется команда. Используется для вывода сообщения об ошибке.
$mCommand
Текст SQL-запроса.
$mCharset
SHOP_CHARSET
Название кодировки, в которой будут представлены данные.
Аналогично предыдущему методу SqlSelect, выполняет SQL-запрос к базе данных. Возвращает двухмерный ассоциативный массив с данными типа ['строка']['название поля'] => 'значение поля'. Отличие состоит в том, что возвращается только часть результата.
$mLine
Номер строки файла, из которой выполняется команда. Используется для вывода сообщения об ошибке.
$mCommand
Текст SQL-запроса.
$mOffset
Количество строк из результата, которые необходимо пропустить.
$mLimit
Количество строк из результата, которые необходимо вернуть.
$mCharset
SHOP_CHARSET
Название кодировки, в которой будут представлены данные.
SqlSelectToArray ($mLine, $mCommand, $mCharset)
Выполняет SQL-запрос к базе данных. Возвращает ассоциативный массив типа "название поля -> значение поля" для первого ряда данных.
$mLine
Номер строки файла, из которой выполняется команда. Используется для вывода сообщения об ошибке.
$mCommand
Текст SQL-запроса.
$mCharset
SHOP_CHARSET
Название кодировки, в которой будут представлены данные.
Выполняет удаление записей в таблице из базы данных.
$mLine
Номер строки файла, из которой выполняется команда. Используется для вывода сообщения об ошибке.
$mTableName
Имя таблицы, в которую будут вставляться записи.
$mKeyField
Имя ключевого поля, по которому будет происходить удаление.
$mKeyValue
Значение ключевого поля.
$mCharset
SHOP_CHARSET
Название кодировки, в которой передаются данные
SqlNumRows ($mQuery)
Получить число строк из результата SQL-запроса.
$mQuery
Указатель SQL-запроса.
SqlFetchHash ($mQuery)
Возвращает ассоциативный массив типа "название поля -> значение поля" для текущего ряда из результата SQL-запроса. В случае, если рядов больше нет, то возвращает false. После выполнения запроса осуществляется переход на следующий ряд.
$mQuery
Указатель SQL-запроса.
SqlFetchRow ($mQuery)
Возвращает массив со значениями для текущего ряда из результата SQL-запроса. В случае, если рядов больше нет, то возвращает false. После выполнения запроса осуществляется переход на следующий ряд.
$mQuery
Указатель SQL-запроса.
SqlDataSeek ($mQuery, $mPos)
Перемещает текущий указатель по списку значений для заданного SQL-запроса.
$mQuery
Указатель SQL-запроса.
$mPos
Номер записи, 0 - первая запись.
SqlTableLock ($mTableName | $mArrayTablesNames)
Резервирует таблицу или таблицы для индивидуальной работы с ними. Возвращает true в случае успеха или false случае, если таблицы уже зарезервированы кем-то. Таблицы блокируются от имении системы (user_id = 0) отображается как MELBIS_SYSTEM. Данные о текущих блокировках хранятся в служебной таблице oper_block.
$mTableName
$mArrayTablesNames
Может вызываться в двух вариантах: либо имя таблицы, либо массив с именами таблиц.
SqlTableUnlock ($mTableName | $mArrayTablesNames)
Снимает резерв с таблицы или таблиц после индивидуальной работы.
$mTableName $mArrayTablesNames
Может вызываться в двух вариантах: либо имя таблицы, либо массив с именами таблиц.
TplCreate ()
Инициализирует парсер HTML-шаблонов внутри скрипта модуля. Возвращает указатель.
TplAssign ($mTpl, $mVars, $mOneKeyValue)
Добавляет в суб-парсер набор данных типа "ключ -> значение". Может вызываться в двух вариантах, например:
TplAssign($tpl, [KEY1'=>'VALUE1', 'KEY2'=>'VALUE2']) - задается сразу несколько пар данных;
TplAssign($tpl, 'KEY1', 'VALUE1') - задается одна пара данных.
$mTpl
Указатель парсера шаблонов.
$mVars
Возможно два типа значения: первый - ассоциативный массив "ключ->значение", второй - имя ключа. Во втором случае, необходимо указать третий параметр $mOneKeyValue, который должен содержать значение для ключа. Имя ключа должно быть указано без фигурных скобок. Что касается регистра, то перевод в верхний регистр происходит автоматически.
$mOneKeyValue
<пусто>
Значение ключа. Имеет смысл, только если параметр $mVars не является массивом.
TplAppend ($mTpl, $mVar, $mValue)
Модифицирует в парсере шаблонов набор данных, а именно дополняет значение одного из ключей.
$mTpl
Указатель парсера шаблонов.
$mVar
Имя ключа, без фигурных скобок.
$mValue
Текст, который будет добавлен к текущему значению ключа.
TplParse ($mTpl, $mVar, $mFileName)
Выполняет парсинг одного из HTML-шаблонов. Парсер производит поиск в HTML-шаблоне ключей и выполняет их замену на соответствующие значения. Ключи в HTML-шаблоне должны быть в верхнем регистре и окружены фигурными скобками, например: {KEY_NAME}. Набор ключей и их значений задается методом TplAssign. После выполнения парсинга полученный результат присоединяется к набору данных как пара "ключ->значение".
$mTpl
Указатель парсера шаблонов.
$mVar
Имя ключа, под которым будет сохранен результат работы суб-парсера, без фигурных скобок.
$mFileName
Имя файла HTML-шаблона, для которого будет выполняться парсинг. К имени файла в начале или конце может быть добавлен символ точки, который будет означать соединение текущего значения ключа $mVar с полученным результатом парсера. Местоположение символа точки будет определять, в начало или в конец будет присоединен результат. Например:
TplParse($tpl, 'MAIN', 'main') - парсинг файла main.htm и сохранение результата под ключем {MAIN};
TplParse($tpl, 'UNIT', '.unit') -парсинг файла unit.htm и присоединение полученного результата в конец, к текущему значению ключа {UNIT};
TplParse($tpl, 'UNIT', 'unit.') -парсинг файла unit.htm и присоединение полученного результата в начало, к текущему значению ключа {UNIT}.
TplParseVar ($mTpl, $mVar, $mVarTemplate)
Выполняет парсинг HTML-шаблона на основе содержимого ключа. В отличие от метода TplParse, за основу берется HTML-шаблон, который находится не в файле, а предварительно был загружен в один из ключей.
$mTpl
Указатель парсера шаблонов.
$mVar
Имя ключа, под которым будет сохранен результат работы суб-парсера, без фигурных скобок.
$mVarTemplate
Имя ключа в котором содержится HTML-шаблон, для которого будет выполняться парсинг. К имени файла в начале или конце может быть добавлен символ точки, который будет означать соединение текущего значения ключа $mVar с полученным результатом парсера. Местоположение символа точки будет определять, в начало или в конец будет присоединен результат, аналогично методу TplParse.
TplFetch ($mTpl, $mVarName)
Возвращает текущее значение ключа из набора парсера шаблонов.
$mTpl
Указатель парсера шаблонов.
$mVarName
Имя ключа, без фигурных скобок.
TplFree ($mTpl, $mVarName)
Возвращает текущее значение ключа из набора данных парсера шаблонов и уничтожает его указатель, высвобождая занятую память.
$mTpl
Указатель парсера шаблонов
$mVarName
Имя ключа, без фигурных скобок.
TplClear ($mTpl, $mVarName)
Удаляет ключ и соответствующее ему значение из набора данных парсера шаблонов.
$mTpl
Указатель парсера шаблонов.
$mVarName
Имя ключа, без фигурных скобок.
TplDumpVar ($mFileName, $mArray)
Выполняет запись указанной переменной в HTML-шаблон текущего модуля, используется для отладки кода (см. Средства отладки )
$mFileName
Имя файла HTML-шаблона, в который будут сохранены данные.
$mArray
Значение или массив значений, которые требуется сохранить.
DebugState ()
Возвращает true в случае если включен режим отладки скриптов. Подробнее см. Средства отладки. Удобно использовать для вывода контрольных знанчений при отладке модуля на работающем магазине.
RunTime ($mStartPoint)
Возвращает разницу во времени между текущем временем и исходым, соответственно, если исходное время не задано, то возращает текущее время.
$mStartPoint
0
Исходное время
Report()
Если был включен режим отладки, то данный метод распечатывает статистику работы парсера (см. Средства отладки).
LogOn ()
Выполняет активацию сборщика статистики работы модулей
LogOff ()
Деактивация работы сборщика статистики работы модулей.
LogUnitsList ()
Возвращает массив с именами модулей, которые были задействованы в процессе работы парсера.
LogUnitStat ($mUnitName)
Возвращает массив с собранной информацией о работе заданного модуля. Это ассоциативный массив, которые имеет следующие ключи:
cache_allow - флаг, включено ли кеширование этого модуля;
run_cnt - сколько раз выполнялся модуль;
cache_cnt - сколько раз результат работы модуля брался из кеша;
request - сколько раз модуль вызывался;
runtime_total - общее время выполнения модуля;
query_count - количество SQL-запросов в модуле;
query_count_total - общее количество выполненных SQL-запросов;
query_sum_time - суммарное время выполнения SQL-запросов;
query_max_time - время выполнения самого длительного SQL-запроса;
query_max_query - текст самого длительного SQL-запроса.
$mUnitName
Имя модуля.
LogUnitParamArray ($mUnitName)
Возвращает массив с текущими входными параметрами модуля.
$mUnitName
Имя модуля.
LogUnitTables ($mUnitName)
Возвращает массив с именами таблиц из базы данных, от которых зависит перестройка кеша модуля.
$mUnitName
Имя модуля.
LogUnitCacheTimeout ($mUnitName)
Возвращает значение таймаута - времени устаревания кеша модуля.
$mUnitName
Имя модуля.
LogUnitUseCache ($mUnitName)
Возвращает значение, включено ли кеширование заданного модуля.
$mUnitName
Имя модуля.
LogUnitLoadFromCache ($mUnitName)
Возвращает значение, был ли взят результат модуля, при его последнем вызове из кеша.
$mUnitName
Имя модуля.
LogCacheTableTime ($mTableName)
Возвращает время последнего изменения таблицы из базы данных.