Wiki
Clone wikiCMS / Функции для использования в шаблоне, плагинах, модулях, а так же админке.
(Внимание! Статья устарела. Она не отображает всех доступных функций, а те что в ней есть могут не существовать или поменять свое название и параметры вызова)
Все эти функции можно использовать в шаблоне как метки {{ function(params) }} и использовать практически во всей cms просто как функции. Кроме того, в шаблоне доступны многие стандартные функции PHP. Полный их список отражен в конфигурационном файле AllowFnc.php
##AtmDate($date, $format = false, $relative = true)##
На сайтах, использующих Atom-M CMS для вывода сообщений о том, сколько времени прошло с некоторого события, используется функция AtmDate(), выводящая относительное время.
Относительное время рассчитывается на стороне клиента, благодаря чему в какой часовой зоне не находился бы ваш клиент, у него будет показываться правильное время. Другой потрясающей особенностью является то, что если с момента события прошло мало времени, вместо полной даты отображается понятная величина: прошло 3 минуты, или 6 часов и т.д. Время обновляется автоматически без перезагрузки страницы.
- Если с момента события прошло менее минуты, отображается "только что".
- Если время пошло на минуты, то выводится только количество прошедших минут.
- Если время пошло на часы, то выводится только количество прошедших часов.
- Если время пошло на дни, то выводится только количество прошедших дней.
- Если прошло более месяца, то дата выводится в том формате, в каком виде указано в настройках сайта (ключ "date_format"). По-умолчанию: "j F Yг. в G:i".
Существует возможность при вызове AtmData() указать вторым параметром свой формат вывода. Например, чтобы выводилось в виде 08.02.2016:
{{ AtmDate(entity.date, "d.m.Y") }}
( Atom-M 6) По-умолчанию при выводе времени используется относительная величина, а полная дата выводится если только с события прошло более месяца. Если требуется всегда выводить время в указанном формате, то необходимо третьим параметром в функцию передать параметр false.
##insertImageAttach($message, $filename, $number, $module)##
заменяет в строке $message {IMAGE$number} на изображение, обернутое в ссылку на него, где
- $filename - его название
- $number - его номер в сообщении
- $module - модуль в котором его загрузили
##show_date($date)##
выводит дату в выбранном формате.
##getSimpleFileSize($size)##
переводит байты в kib или KB в зависимости от выбора в админке.
##getAllUsersCount()##
Вернет зарегистрированных пользователей, а также запишет их в в кэш
##cleanAllUsersCount()##
Удалит то что запишет getAllUsersCount() из кэша. Не возвращает ничего.
##getBornTodayUsers()##
Вернет юзеров, родившихся сегодня.
##setReferer()##
для безопасного получения реферер
##getReferer()##
получить реферер
##getAge($y, $m, $d)##
Возвращает возраст получая дату рождения ($y - год, $m - месяц, $d - день)
##getOrderParam($class_name)##
Проверяет и возвращает сортировку по параметру
Вот такие параметры есть:
- FotoModule:
- StatModule:
- NewsModule: ('title', 'views', 'date', 'comments')
- LoadsModule: ('title', 'views', 'date', 'comments', 'downloads', а по умолчанию = 'date')
- ForumModule: ('title', 'time', 'last_post', 'posts', 'views', а по умолчанию = 'last_post')
- UsersModule: ('puttime', 'last_visit', 'name', 'rating', 'posts', 'status', 'warnings', 'city', 'jabber', 'byear', 'pol', а по умолчанию = 'puttime')
##fpsCron($func, $interval)##
Симулирует cron то есть запускает $func через $interval
##createSitemap()##
Генерирует Sitemap
##getHluUrlByTitle($title)##
Возвращает ЧПУ из заголовка $title (он строка)
##getNewHluName($title, $module, $matId)##
Возвращает ЧПУ из заголовка $title в модуле $module у материала с id $matId
##entryUrl($material, $module)##
Возвращает ссылку на $material в $module
##translit($str)##
Возвращает $str на латинице типо 'привет' будет на латинице 'privet'
##getCaptcha($name)##
Закодирует $name в каптчу и выведет по шаблону из /html/default/captcha.html
##__($key, $module)##
Находит по ключу $key фразу в выбранном сейчас языковом файле и выводит её
Очень удобно использовать в шаблонах для поддержки разных языков.
Примечание Файлы локализации находятся по адресу /sys/settings/languages/namelang.php. Если $module === false то файл будет называться common.dat, иначе будет выводится файл того языка, что выбран в админке. Заметьте расширения namelang.php и common.dat - не ошибитесь.
Файлы локализации строятся в виде ассоциативного массива:
#!php <?php $language = array( 'users' => 'Пользователи', 'admins' => 'Администраторы', ); ?>
##get_img($url, $params, $notRoot)##
Возвращает html тег для изображения .
- $url ссылка на изображение.
- $params ассоциативный массив параметров (не обязательно).
- $notRoot - если указать true то будет использована ссылка без учета вложенности движка в папку.(лучше не указывать вообще).
##get_url($url, $notRoot)##
Возвращает не абсолютный url с учетом root(если $notRoot = false) и routes.
##get_link($ankor, $url, $params, $notRoot)##
Возвращает не абсолютную ссылку(в тегах ) с учетом root(если $notRoot = false) и routes.
А так же: * $ankor = содержимое ссылки, её название. * $params = ассоциативный массив параметров у ссылки.
##redirect($url, $header)##
Производит редирект по адресу $url, и передает ей $header
##createOptionsFromParams($offset, $limit, $selected)##
Возвращает <options> для <select> где имена будут от $offset до $limit и где $selected - стандартный выбор
##getWhoOnline()##
Выводит "кто онлайн" аналог статистики
##getOnlineUsers()##
Выводит пользователей в онлайне
##getOveralStat($key)##
Выводит
- max_users_online - максимальное количество пользователей в онлайне
- max_users_online_date - дата когда было макс. кол. пользователей в онлайне
- hits - хиты
Можно указать в $key только одно из трех чтобы вывести только его.
##touchDir($path, $chmod)##
проверяет и создает папку по адресу $path с правами $chmod(по умолчанию 777) возвращает true
##pr($param)##
Выводит строку внутри
вместо $param равного массиву или строке с кодом
##h($param)##
Заменяет html теги на не влияющие на разметку страницы
##getMicroTime()##
Возвращает микросекунды
##dumpVar($var)##
Записывает в /dump.dat то что в $var
##resc($str)##
Просто возвращает вот это:
#!php mysql_real_escape_string($str)
##strips(&$param)##
стрипы
##utf8Filter($str)##
Переводит в utf8 $str
##_unlink($path)##
##memoryUsage($base_memory_usage)##
Выводит сколько использовано памяти для загрузки страницы минус $base_memory_usage
##getTemplateName()##
Выводит выбранный шаблон.
##getGravatar($email, $s, $d, $r)##
Выводит ссылку на Граватар где $email - email пользователя, а $s,$d,$r параметры GET запроса на получение аватарки. (по умолчанию равны $s = 120, $d = 'mm', $r = 'g')
##getAvatar($id_user, $email_user)##
Выводит аватар пользователя который сейчас зашел на сайт(если не указаны параметры $id_user - id пользователя, $email_user - его почта)
##checkPassword($md5_password, $password)##
##md5crypt($password)##
##cmpText($a, $b)##
##checkAccess($params)##
Проверяет доступ описано тут - Метки контроля прав доступа
##checkUserOnline($user_id)##
Проверяет в онлайне ли юзер $user_is и выводит Online или Offline
##getOrderLink($params)##
Выводит ссылку на сортировку по параметру $params
##atrim($old_array)##
обход массива и применение trim() для элементов
##cookie($key)## для чтения и
##cookie($key, $value)##
для записи куков
Updated