Версия: 6.x
burger close
Класс Tools

Подробное описание

Класс содержит вспомогательные функции для вызова из любого места кода.

Открытые члены

 xml2simple (\XMLReader $xml)
 

Открытые статические члены

static arrayQuote ($arr, array $except_key=null, $char="'", $allow_null=false)
 
static verb ($count, $first, $second, $five)
 
static teaser ($text, $size, $strip_tags=false)
 
static sendEmail ($subject, $from, $reply, $from_email, $reply_email, $email, $email_tpl, $data)
 
static sendEmailSimple ($subject, $email, $email_tpl, $data)
 
static mime_header_encode ($str, $data_charset= 'utf-8', $send_charset= 'utf-8')
 
static generatePassword ($len, $symb=null)
 
static dateExtend ($format, $timestamp)
 
static escapeArrayRecursive (array $array)
 
static unescapeArrayRecursive (array $array)
 
static toEntityString ($str)
 
static unEntityString ($str)
 
static compareVersion ($need, $version, $compare= '>=')
 
static cleanOpenRedirect ($url, $error_url= '/')
 
static priceToString ($price, $format= '[plural:%0:рубль|рубля|рублей]', $format_decimals= '[plural:%0:копейка|копейки|копеек]')
 
static checkVersionRange ($version, $version_expr)
 
static validateDate ($date, $format= 'Y-m-d H:i:s')
 
static urlExists ($url)
 

Методы

static arrayQuote (   $arr,
array  $except_key = null,
  $char = "'",
  $allow_null = false 
)
static

Оборачивает каждый элемент массива одиночными кавычками + экранирует значения для вставки

Аргументы
array$arr- массив элементов
array$except_key- пропускать элементы по ключу
string$char- буква которой оборачивать значения
boolean$allow_null- пропускать элементы по ключу
Возвращает
array
static checkVersionRange (   $version,
  $version_expr 
)
static

Проверяет, соответствует ли версия $version условиям $version_expr

Аргументы
string$version- проверяемая версия, например: 1.0.0
string$version_expr- строка с условиями проверки версий Например: '0.1.0.0' (одна версия) или '0.1.0.0 - 0.2.0.0' (Диапазон версий) или '>=0.1.0.156' или '<=0.1.0.200' (для всех версий младше или старше требуемой) Можно указать смешанно, через запятую так: '<=0.1.0.200, 0.2.0.0 - 0.3.0.0, 1.0.0.0, 1.1.0.0'
Возвращает
bool Возвращает true, если $version соответствует хотя бы одному из условий $version_expr, иначе false.
static cleanOpenRedirect (   $url,
  $error_url = '/' 
)
static

Возвращает url, в случае, если он не содержит сторонних доменов. Поддомены в URL разрешаются. В противном случае возвращается $error_url

Аргументы
string$urlпроверяемый адрес
string$error_urlадрес в случае ошибки
Возвращает
string
static compareVersion (   $need,
  $version,
  $compare = '>=' 
)
static

Проверяет, соответствует ли версия $version требуемой $need

Аргументы
string$need- требуемая версия, например 5.3 или 5.03.2525
string$version- имеющаяся версия, например 5.2.10
string$compare- указывает какой знак сравнения должен стоять между $version и $need
Исключения
Exception
Возвращает
bool Возвращает true, если версия $version больше или равно $need
static dateExtend (   $format,
  $timestamp 
)
static

Заменяет в строке format

k на слово "сегодня, или вчера или 2 дня назад, или дата если больше месяца назад" v на месяц на русском языке в род. падеже. например: мая, июня dw на день недели из двух символов: пн,вт,ст...вс dW на день недели целиком: понедельник...воскресенье %!Y будет отображен год, только если он не равен текущему году datetime на заменяет на ДД.ММ.ГГГГ ЧЧ:ММ:СС

Дата
заменяет на ДД.ММ.ГГГГ заменяет на ЧЧ:ММ заменяет на секунды (два знака)
Аргументы
string$format
integer$timestamp
Возвращает
string format
static escapeArrayRecursive ( array  $array)
static

Рекурсивно экранирует ключи и значения массива функцией htmlspecialchars

Аргументы
array$arrayисходный массив
Возвращает
array возвращает экранированный исходный массив
static generatePassword (   $len,
  $symb = null 
)
static

Генерирует пароль определенной длины

Аргументы
integer$lenдлина сгенерированной строки
array | string$symbдопустимые символы для генерации
Возвращает
string
static mime_header_encode (   $str,
  $data_charset = 'utf-8',
  $send_charset = 'utf-8' 
)
static
static priceToString (   $price,
  $format = '[plural:%0:рубль|рубля|рублей]',
  $format_decimals = '[plural:%0:копейка|копейки|копеек]' 
)
static

Переделывает цену из цифр в строки

Аргументы
float$price- цена цифрами
string$formatформатирование записи валюты
string$format_decimalsформатирование записи дробной части валюты
Возвращает
string
static sendEmail (   $subject,
  $from,
  $reply,
  $from_email,
  $reply_email,
  $email,
  $email_tpl,
  $data 
)
static

Отправляет одно письмо на email

Аргументы
string$subject- Тема
string$from- От кого - текст
string$reply- Кому отвечать - текст
string$from_email- От кого - email
string$reply_email- Кому отвечать - email
string$emailemail - адресата
string$email_tpl- шаблон письма адресату
array$data- массив с переменными
Возвращает
bool
static sendEmailSimple (   $subject,
  $email,
  $email_tpl,
  $data 
)
static
static teaser (   $text,
  $size,
  $strip_tags = false 
)
static

Делает из заданного текста тизер не более заданного размера в байтах

Аргументы
string$textИсходный текст
int$sizeМаксимальный размер врзвращаемого значения в байтах
bool$strip_tagsисходный и результирующий текст являются html
Возвращает
string Строка содержащая обрезанный текст
static toEntityString (   $str)
static

Переводит спецсимволы строки в entity

Аргументы
string$str
Возвращает
string
static unEntityString (   $str)
static

Переводит спецсимволы из entity в строку

Аргументы
string$str
Возвращает
string
static unescapeArrayRecursive ( array  $array)
static

Рекурсивно деэкранирует ключи и значения массива функцией htmlspecialchars_decode

Аргументы
array$arrayисходный массив
Возвращает
array возвращает экранированный исходный массив
static urlExists (   $url)
static

Проверяет доступна ли страница\объект по url (например для проверки доступности изображения на удаленном сервере)

Аргументы
string$url- абсолютный адрес
Возвращает
bool
static validateDate (   $date,
  $format = 'Y-m-d H:i:s' 
)
static

Проверяет соответствует ли дата формату

Аргументы
string$date- дата в виде строки (25.06.2018)
string$format- форматы даты для проверки
Возвращает
bool
static verb (   $count,
  $first,
  $second,
  $five 
)
static

Подставляет нужную словоформу в зависимости от количественного признака Например: 1 огурец, 2 огурца, 5 огурцов, 24 огурца,....

Аргументы
mixed$count- количество предметов
mixed$first- форма для 1-го предмета, например: (один)'огурец'
mixed$second- форма для 2-х предметов, например: (два)'огурца'
mixed$five- форма для 5-ти предметов, например: (пять)'огурцов'
Возвращает
string
xml2simple ( \XMLReader  $xml)

Переводит текущую ветку xml в объект SimpleXML

Аргументы
\XMLReader$xml
Возвращает