git("dir/myfile.txt”);
Обертка хелпера FotonGit
Ищет файл в системе gitf, если есть сессия gitf и находит файл возвращает путь из директории .gitf/, если нет возвращает текущий путь
Сигнатура: $path – строка, путь до файла
Результат: Путь до файла
includeTpl($path) — includeTpl('menu/form_end');
Путь к файлу интерфейса из директории /app/view/
Сигнатура: путь к файлу
Результат: выводит содержимое файла шаблона после обработки, при ошибке возвращает log с описанием ошибки
translite($text=null) - translite ('русский текст')
Выполняет транслитерацию строки
Сигнатура: $text — текст для транслитерации
Результат: Результат транслитерации — строка из латинских символов и знаков пунктуации.
isvalid(array: $arr1,array: $arr2,string: $status) – проверяет данные на валидность
$arr1 = массив методов проверки, ключи поля значений
например: ['mail'=>'M','text'=>'O']
M – mail
D – домен
F – число float
IP – IP адрес
R – регулярное выражение
U – URL адрес
I – число integer
O – непустое значение
T – строка
$arr2 = ['mail'=>'mail@mail.ru','text'=>'my text']
$status – любая не пустая строка, если задана, то результатом будет значение true или false, если не указан результатом будет массив ключами которого будут поля, значениями true – поле введено верно, false – поле введено не верно.
validate(string | array: $arr1,array: $arr2) – изменяет данные в соответствии с методами обработки
если $arr1 строка, то она должна содержать один из методов обработки, либо массив ключами которого будут ключи массива $arr2, значениями методы обработки.
Список методов обработки:
html — эквивалент htmlspecialchars
pass — создает md5 хеш
text — оставляет только печатные символы
medium — оставляет только русские и латинские символы и пробел
abcd — оставляет только русские и латинские символы, цифры и пробел
abc - оставляет только латинские символы
abv - оставляет только русские символы
same — оставляет данные без изменения
int – оставляет только цифры
phone — оставляет цифры ± и скобки
tags — удаляет все теги
plus — аналог метода abs
mini – аналог метода floor
maxi - аналог метода ceil
nul – всегда выдает null
tabs – удаляет все пробельные символы
$arr2 – массив полей со значениями
$arr2 = ['mail'=>'mail@mail.ru','text'=>'my text']
savesql($table=null,$where=null,$name='sql') - записывает результат метода getlist с параметрами $table и $where в файл с именем $name в json формате
clearsql($name=null) - удаляет созданный методом выше файл с именем $name
cron($method=null,$data=[],$time=null,$count=false) - создает событие для очереди, $format - минуты m, секунды s и т.д., $data - массив сериализоуванных данных, $time - количество секунд, минут и т.д., $count - количество запусков до удаления, если событие удалять не нужно передает false, подробнее в документации по очередям
work($obj,$count=2,$del=false) - инициализирует метод события класса Cron, $obj - обьект класса Cron, $count - количество итераций, $del - если true удалит файл события в конце обработки
csrf($key='pass') - создает ключ csrf
validateCsrf($decrypt='pass',$request=null) - выполняет проверку запроса сгенерированному csrf ключу
ipUser() - выводит ip адрес пользователя
generateCsrf($key) - генерирует csrf по ключу
jsonFile($source = null) - выводит переданный json в красивом формате, используется для записи json в файл
redirect($url) - выполняет редирект на js по $url
isAjax() - если запрос ajax выводит true иначе false
hSite() - выводит название сайта с http/https
pSite() - выводит полный url страницы
alert($text) - выводит alert с текстом $text на js
status($status=200,$page='/') - выполняет header загоовв=ок с кодом $status по url $page
api(string: $key,string: $model,string: $table,array: $arr,integer: $id) – метод служит для изменения данных таблицы методами GET и POST
$key == GET['key']
$model == название модели
$table == название таблицы из модели
$arr – массив данных для обновления, добавления или вывода
['поле таблицы'=>'значение'], необязательный параметр, если массив $_POST == $arr.
Обязательные get параметры для запроса по api:
key – ключ приложения
status – может принимать несколько значений:
1. up – обновление данных
обязательные параметры:
$arr['id'] – id записи
2. I – insert запись данных
3. del – удаление записи:
обязательные параметры:
id – id записи
4. echo – вывод записи по id
обязательные параметры:
id – id записи
5. list – вывод нескольких записей
не обязательные параметры
page – страница,count – количество записей (используются только вместе)
where – json строка массива $arr для выборки записей.
format - “api_json”
waterMark($image=null,$mark=null,$w=20,$h=20,$zoom=7) – выводит обработанную фотографию с водяным знаком.
$image – путь до картинки
$mark – путь до водяного знака
$w – ширина знака
$h – высота знака
$zoom – увеличение знака
Для элементов без фото можно установить глобальный параметр фото по умолчанию $GLOBALS["foton_setting"]['image_def']
$GLOBALS["foton_setting"]['water_mark'] — путь до водяного знака по умолчанию
dirSearch($path = null, $search = null, &$files = null) – поиск $search в директории $path или массиве директорий $path, если находит выводит путь к файлу
dirSearchCli($path = null, $search = null,$format=false, &$files = null) – поиск для CLI $search в директории $path или массиве директорий $path файлов в формате $format, если находит выводит путь к файлу
hSite() - адрес сайта с http{s}
pSite() - адрес страницы с http{s}
redirectGet($select=array(),$stop=10,$increment=1,$no_increment=array()) -
выполняет редирект на текущую страницу с get параметрами для обхода цикла.
$select – массив, содержащий имена get параметров, к которым будет применена операция инкремента
$stop – ['id'=>5,'count'=>7] – при достижении любым гет параметром ближайшего значения цикл будет остановлен, также может быть числом, и тогда если любое из начения get параметров дойдет до него цикл будет остановлен.
$increment – число, на которое нужно увеличить каждый элемент, либо массив, содержащий имена get параметров в ключе и значения инкремента для них в значении. Также массив может содержать в значениях «eval:» - тогда будут работать шаблоны для get параметров, к примеру ['count'=>'eval:|id|*2'] – в каждом следующем запросе значение get параметра count будет в 2 раза больше get параметра id.
$no_increment – массив, содержащий имена get параметров, к которым не будет применена операция инкремента.
Пример:
Разместите в контроллере главной страницы следующий код:
<?
class Controller extends Model
{
public function test(){
global $FG;
if(isset($FG->get()->id) && isset($FG->get()->count)){
$select = ['id','count','name'];
$no_increment = ['name'];
$stop = ['id'=>5,'count'=>20];
$increment = ['id'=>1,'count'=>'eval:|id|*2'];
$this->core->redirectGet($select,$stop,$increment,$no_increment);
}
}
}
Теперь перейдите по ссылке:
http://вашдомен/html/?id=1&count=1&name=test
smtpSend($mailTo, $subject, $message) – отправляет письмо через SMTP, требует указания параметра $GLOBALS["foton_setting"]['smtp'], в противном случае выдает лог ошибок.
$mailTo — E-mail получателя
$subject — заголовок письма
$message — тело письма
isValid($val, $flag) — проверяет $val по флагу $flag на соответствие, $flag может принимать значение:
M – mail
D – домен
F – число float
IP – IP адрес
R – регулярное выражение
U – URL адрес
I – число integer
O – непустое значение
T – строка
IsCli() - если работа ведется через CLI возвращает true, иначе false
error ($text = null) — вывод ошибки с форматированием для админ панели
echoType ($type = null, $arr = null,$id=0)
$type — тип данных
$arr - array('fields'=>array('name'=>str,'value'=>str)) — название и значение поля
$id — id элемента для вывода
Выводит тип данных для CRUD
ev ($var = null) — выполняет вывод выражения на php через eval
upTpl () - обновляет шаблоны сайта и админ панели с помощью метода tpl
tpl ($filenames,$dir)
$filenames – путь к директории в которой лежат файлы шаблонов для обновления через шаблонизатор Foton
$dir – если site запускается шаблонизатор для сайта, если admin для админ. Панели
Выполняет обновление шаблонов сайта или админ панели
upCore ($yes)
Если $yes = true обновляет ядро системы
icode ($code=null,$file=null)
$code – название файлового типа данных
$file – название справочника
Выводит файловый тип данных
includeTpl ($path)
$path – путь к файлу шаблона
Выводит php код шаблона Foton
exfield () - сохраняет массив дополнительных полей в свойство глобальной настройки $FS->exfield
imgfield () - сохраняет массив ссылок на картинки из медиатеки в свойство глобальной настройки $FS→imgfield
fCache ($view = null)
$view – содержимое шаблона Foton
Выводит php код шаблона Foton для публичной части
aCache ($view = null)
$view – содержимое шаблона Foton
Выводит php код шаблона Foton для административной части
logFile ($name = 'no', $text = null, $append = 'no')
$name – название файла лога
$text – текст лога
$append – если yes дописывает в файл, если no – создает новый файл
Пишет информацию в файл логов
logPost ($name = null,$path=null)
Для авториованного пользователя при существовании post переменной $name пишет ее в файл с путем $path
iLoadAjax ($html, $data, $arr)
Обертка метода loadAjax модуля polygon
wiki ($text,$method=array())
$text – текст с вики разметкой
$method – массив методов ядра
пример:
$text = [a href=’<csrf:test>’]text[/a]
wiki($text,[‘csrf’]);
выведет
<a href=’результат csrf’>text</a>
$method – массив разрешенных методов
extracod ($code = null)
$code – название дополнительного поля
выводит значение этого поля
imgcod ($code = null)
$code – название кода файла медиатеки
resizes ($text = null, $n = null)
Выводит обрезанный до количества символов $n текст $text удаляя последнее слово, если оно обрезается и многоточие, если количество символов в тексте равно или больше $n выводит текст
isMobile ()
Является оберткой над хелпером FotonMobile()
Проверяет, если запрос в мобильной версии вызвращает true, иначе false
mail ($from = null, $to = null, $subject = null, $message = null, $file = null)
$from – от кого
$to – кому
$subject – тема письма
$message – тело письма
$file – путь к вложенному файлу
Отправляет письмо
deleteDir ($path = null)
удаляет рекурсивно с вложенными файлами и папками директорию по пути $path
cacheSeo ($view='',$dir=null)
Выводит php код преобразованного текста шаблона Foton $view
$dir – диреткория сайта или админ панели
meta ($view=null,$field=null,$data=array())
Вызывает код мета-тега $field mvc шалона $view с доступным массивом $data из контроллера
sizefile ($dir = null)
Выводит округленное значение суммы размеров php файлов в директории $dir от корня сайтов, выводит знаяение в килобайтах
sizefiles ($source = null,$stat=0)
Выводит размер всех файлов в директории $source
isArrMethod ($obj,$method)
Если метод $method найлен в обьекте $obj вызывает его, иначе выводит false
listPage ($format='mvc')
Если ничего не указывать или указать mvc выведет массив из названия mvc шаблонов сайта, если указать формат json или xml выведет название mvc шаблонов именно для этого формата
listModule () - выводит результатом список доступных инсталлированных внешних модулей системы
hs($bytes=0) – выводит байты в понятном для человека формате (Kb,Mb и т.д. в зависимости от обьема данных)
size($dir=__DIR__) - выводит место в системе для директории $dir ,результатом является массив, ключ free показывает свободное место на диске, all – общее место на диске, used – занятое место на диске
createDir($dir) – создает директории по пути $dir если их нет
copyDir ($source = null, $dest = null, $over = 1)
$source – директория донор
$dest – дирекотрия акцептор
$over – если true,1 или не указана перезаписывает данные при копировании
Выполняет копирование одной директории в другую
getXML($data) – преобразует массив в XML данные, и выводит их.
$data – массив данных любой вложенности.
getId($arr) - выводит поля из таблицы по id записи
$arr = array('table'=>таблица,'id'=>id записи для вывода,
'fields'=>поля для вывода, необязательный параметр,
'error'=> любое значение. Если ключ существует, и записей нет будет произведен редирект на 404 страницу,
'format'=> принимает значения:
'O' - (объект) выводит результат в виде объекта
'J' – (json) выводит json строку
'S' – (serialize) выводит сериализованную строку
'E' – (echo) выводит SQL строку запроса для тестирования
'X' – (xml) выводит результат в xml формате
Если ключ не задан выводит по умолчанию массив
getlist($arr) — выводит список значений полей таблицы, является оберткой handlersql
$arr – array('таблица',
'where' =>array('(маска)поле'=>'значение','(маска)поле'=>'значение'), //если logic=>LOGIC значением будет строка типа: ”поле1='значение' or поле2!=12”
(маска) — пустое → равно, ! → не равно,%->LIKE,^ → начало строки,$ → конец строки, < → меньше,> → больше
'fields'=>array('field1','field2') или 'field1,field2' поля для вывода, если не указан group, если group указан, поля для вывода заменяется на поля group
'group'=>array('field1','field2') или 'field1,field2' – поля для группировки
'logic', - LOGIC,AND,OR
'sort', - array('поле'=>ASC или DESC);
'count', - количество элементов
'page' — страница
'format' - принимает значения:
'O' - (object) выводит результат в виде объекта
'J' – (json) выводит json строку
'S' – (serialize) выводит сериализованную строку
'E' – (echo) выводит SQL строку запроса для тестирования
'X' – (xml) выводит результат в xml формате
Если ключ не задан выводит по умолчанию массив
handlersql($table=null,$arr=null,$format=null) — основной метод вывода данных для интерфейсов и пользовательских методов, основан на ORM Foton
$table – название таблицы
$arr - array('where'=>array(
'field'=>array('(маска)поле'=>'значение'),
(маска) — пустое → равно, ! → не равно,%->LIKE,^ → начало строки,$ → конец строки, < → меньше,> → больше
'and'=>'and или or')
)
,'count'=>количество элементов,
'page'=>страница,
'sort'=>array('fields'=>'asc') — сортировка, поле → ASC ,DESC,LOGIC, если LOGIC, то для ['where']['field'] значением будет строка типа: ”поле1='значение' or поле2!=12” );
$format - принимает значения:
'O' - (объект) выводит результат в виде объекта
'E' – (echo) выводит SQL строку запроса для тестирования
Если ключ не задан выводит по умолчанию массив
chmodID($arr,$return) - $arr – массив id ролей, если роль текущего пользователя есть в массиве выводит true, если нет false, служит для проверки доступа текущего пользователя, если $return == true, то для не авторизованного пользователя выведет false
userIp() - выводит ip адрес пользователя.
obj($path=null,$arr=null) - подключает класс,создает и передает объект класса
$path — путь к файлу класса или фасад namespaces
$arr – необязательный аргумент может быть строкой или массивом, передается только как один аргумент для __construct класса при его инициализации.
о фасадах и классах более подробно в разделе «Разработка внутренних модулей»
если класса не существует пишет false
format($format,$data)
$format — json/serialize/xml
$data - массив
Выводит массив $data в указанном формате
microFormat($format,$data)
Обертка метода format
$format — J/S/X
$data - массив
Выводит массив $data в указанном формате
googleCapcha($key=null,$secret=null)
$key — открытый ключ
$secret — секретный ключ
Выполняет проверку, если проверка успешна возвращает true иначе false
decode($text)
Выполняет urldecode строки $text
micro($name,$arr)
$name — имя микросервиса
$arr — массив ключ значение для создания get параметров
Вызывает микросервис $name
pathmod($path)
Выводит абсолютный путь к модулю $path
models() - выводит массив из названий всех моделей сайта
getHeaders() - выводит массив всех текущих HTTP заголовков
opcache() - выполняет OpCache ядра
isFormat($format=null,$get=0) — проверяет формат в строке ЧПУ.
$format - .xml,.json,.modul и т. д.
$get – если указан не ноль, проверяется только точное совпадение
Возвращает true или false
arr($arr) Печать массива
Результат: Печать массива print_r()
обертка FotonArr
log($text=null,$format=nul) - log('текст','F')
Выводит сообщение в консоль
Сигнатура: $text – текст для записи или вывода лога, может быть массивом, $format может иметь значения:
L в ajax запросе выводит json, при обычном запросе выводит console.log
S - выводит сериализованную строку
F -производит лог в файл
C - если запрос идет через cli выводит print_r лога
Если не один формат не подходит выводит FotonArr
является оберткой метода FotonLog
alert($text=null,$method=null,$format=null)
Выводит js сообщение alert
$text – текст для вывода
$method – если не null, данные обрабатываются этим методом, это только метод ядра, который имеет только один первый обязательный параметр
$format — если не null данные перед выводом сериализуются
view() - метод эмуляции всего приложения
Пример: $this->core->view()->tpl->html->echo->end(['name'=>'test','value'=>'test']);
view()->формат вызова->название сущности формата->подраздел сущности->end([аргументы для запроса])
module($path = null, $arr = null) - path = название модуля/название фасада,$arr - сигнатура модуля
obj($name = null, $arr = null) name - название фасада,$arr - сигнатура модуля
st() - вывод instance
isHeader($head) - проверяет передан ли заголовок $head(ключ из настройки route)
isValidate($arr1 = array(), $arr2 = array(), $status = null)
$arr1 — массив, в нулевом индексе хранит название метода валидации, в остальных аргументы для вызова этого метода, Если методов валидации несколько в массиве $arr2 содержатся методы валидации с ключами аналогичными в массиве $arr1 содержащими аргументы данных методов, если $status=null или не заполнено выводит массив из true,false с ключами методов валидации, иначе при первой ошибке выводит false иначе true