Icode - это модуль ядра, позволяющий работать с типами данных json файлов в адимнистративной панели и публичной части сайта.
Дл подключения используйте:
use Foton\Module\Icode;
В отличии от обычных интерфейсов данный интерфейс имеет жестко заданные параметры начальных полей json объекта.
Задаются параметры свойством ArrPropertyFile которое содержит массив: array('TYPE', 'VALUE', 'NAME', 'ID')
Данный интерфейс реализован к обычный mvc шаблон, вы можете самостоятельно создать свой интерфейс для работы:
Важно!!! Интерфейс требует наличия глобальной переменной, указывающей где будут хранится файлы интерфейса, по умолчанию в core/setting/custom.php это
$arr['ifile'] = '/app/controller/'.$arr['admindir'].'/file';
Название справочника может содержать любые символы разрешенные в именовании файлов вашей ОС.
Для корректной работы необходимо наличие хотя бы одного справочника.
ifileCreate($file) – метод создает файл по вышеуказанному пути в формате $file.'.txt' и заполняет его начальной структурой, метод ничего не возвращает.
ifileStart($file) — присваивает значение аргумента статической переменной ifile, метод ничего не возвращает.
$file – абсолютный путь к справочнику.
ifileUpdate($arr) – обновляет запись
$arr – массив содержащий поля структуры и значения, ID – содержит id элемента для его обновления, например:
$arr = array('TYPE'=>'html', 'VALUE'=>'test value', 'NAME'=>'code', 'ID'=>2);
В случае успеха возвращает true, в случае ошибок выводит лог ошибок log
ifileInsert($arr) — создает запись
$arr – массив содержащий поля структуры и значения, ID – содержит id элемента содержит count('ID') так как инкремента в данной системе не предусмотрено, его нужно получить самостоятельно на стороне интерфейса, например:
$arr = array('TYPE'=>'html', 'VALUE'=>'test value', 'NAME'=>'code', 'ID'=>3);
В случае успеха возвращает id записи, которую создали, должен совпадать с вашим переданным id, в случае ошибок выводит лог ошибок log.
ifileDelete($id) – удаляет запись по ее id
$id – элемент в структуре ['ID']
В случае успеха возвращает true, в случае ошибок выводит лог ошибок log.
ifileDrop() - удаляет справочник,
если не найдена статическая переменная $ifile выдает лог ошибки, если файл успешно удален возвращает true, при ошибки удаления возвращает false.
ifileArr() - если не найдена статическая переменная $ifile возвращает false, если найдена возвращает массив справочника.
ifileList($default_name='Значение',$select = array('TYPE','NAME','VALUE')) – выводит обработанный методом ядра f_echo_type тип элемента.
Если не найдена статическая переменная $ifile выдает лог ошибки.
icode($code,$file) – возвращает значение элемента файлового интерфейса по его коду.
$code – название кода элемента
$file – имя справочника(файла)
Пример:
<?
use Foton\Module\Icode;
class test{
public function icode(){
$icode = new Icode();
return $icode→icode('test','file');
}
}icode() при хорошем исходе будет содержать значение элемента справочника.
Внимание!!! Если несколько элементов этого справочника с одинаковыми кодами, будет возвращено значение первого найденного
В случае ошибок выводит лог ошибок log.