Wiki

Clone wiki

CMS / Функции для использования в шаблоне, плагинах, модулях, а так же админке.

(Внимание! Статья устарела. Она не отображает всех доступных функций, а те что в ней есть могут не существовать или поменять свое название и параметры вызова)

Все эти функции можно использовать в шаблоне как метки {{ 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