Главная
Форум
Правила
Регистрация
Почта
Карта сайта
  • Создать чат

    Создать чат на движке Августа

    Нравятся чаты на популярном движке Августа? О чатах и ценах можно прочитать... подробнее...
  • Графические форумы

    Помощь чатам в оформление

    Наши граферы и дизайнеры в короткие сроки оформят вам чат по вашему вкусу и качеству,  подробнее...
  • Реклама чатов

    Реклама ваших чатов

    Реклама чатов это лучший повод прорекламить свой чат на различных тематических сайтах,  подробнее...
  • Создание и продажа сайтов

    Создание и продажа сайтов

    Не умеете создавать сайты на которых можно зарабатывать деньги рекламя чаты? Это не проблема  подробнее...
Экономическая онлайн игра
Заработок без вложения

Проект платит подробнее...
Экспресс-опрос
Полезный ли наш ресурс для Вас или нет?
Да, есть интересная и нужная информация
Нет, все нахожу за пределами вашего ресурса
Воздержусь от опроса
Популярное на сайте
    Подписчики нашей группы
    ТОП пользователей
    support 9 апреля 2015
    ICQ: 6186830
    Новостей: 60
    Комментариев: 2
    Agent008 28 января 2016
    ICQ: -Не указано-
    Новостей: 0
    Комментариев: 2
    Базука 28 января 2016
    ICQ: 123456789
    Новостей: 0
    Комментариев: 0
    Ваняткина 3 февраля 2016
    ICQ: -Не указано-
    Новостей: 0
    Комментариев: 0
    Anonym 27 апреля 2016
    ICQ: -Не указано-
    Новостей: 1
    Комментариев: 0
    Список пользователей
    Мы принимаем
    картинка платежные системы
    Календарь публикаций
    «    Июнь 2015    »
    ПнВтСрЧтПтСбВс
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    Публикации форума
    Комплект силуэтных кистей Photoshop – Рикард Родин
    Dogma добавил(а) новый ресурс: Комплект силуэтных кистей Photoshop – Рикард Родин - Пакет кистей, который позволяет вам добавлять потрясающие силуэты людей или птиц (4 набора). ...

    300 кистей-помощников для концепт-арта и иллюстрации для Photoshop
    Dogma добавил(а) новый ресурс: 300 кистей-помощников для концепт-арта и иллюстрации для Photoshop - Пакет вспомогательных кистей по анатомии, части анатомии человека под разными углами. ...

    Прическа кисти для штампов Procreate
    Dogma добавил(а) новый ресурс: Прическа кисти для штампов Procreate - Набор марок для причесок, чтобы легко создавать цифровые портреты, произведения искусства и эскизы. ...

    Пион набор кистей для штампов Procreate
    Dogma добавил(а) новый ресурс: Пион набор кистей для штампов Procreate - Добавляйте декоративные цветочные элементы в свои цифровые произведения искусства. ...

    Влажные и сухие набор кистей Procreate
    Dogma добавил(а) новый ресурс: Влажные и сухие набор кистей Procreate - Мультимедийный набор, который поможет вам добиться невероятных результатов. Посмотреть ...

    Подписчики нашей группы
    Поделиться с друзьями

  • Время :
  • Сегодня:
  • Последнии комментарии
    Нет комментариев
    Партнёры
    Каталог чатов Августа
    Поддержи сайт
      
    опубликовано:  11-06-2015, 00:39   |   автор:  support
    категория:  Документация
    Функции для получения данных от пользователя

    Функции получения данных от пользователя
    ----------------------------------------
    Эти функции используются для получения данных, которые были
    отправлены браузером на сервер.

    Имеется 4 функции:

    1. %GET()% - получение данных, переданных браузером методом GET
    2. %POST()% - получение данных, переданных браузером методом POST
    3. %COOKIE()% - получение данных, переданных браузером в параметрах
    cookie
    4. %AGENT()% - получение версии браузера


    Функции %GET()%, %POST()% и %COOKIE()% одинаковы по синтаксису вызова
    и принимают один единственный аргумент - имя запрашиваемой переменной.

    Функция %AGENT()% возвращает версию запрашиваемого типа браузера.
    Функция определяет браузер по полю User-Agent, которое браузер обязан
    передать на сервер в HTTP-заголовке. Аргументом функции является строка,
    версию какого браузера мы хотим узнать, иными словами, функция не
    возвращает нам название браузера, мы должны его передать сами.
    Допустимыми аргументами являются четыре строки:
    IE - запросить, является ли браузер Internet Explorer, возвращает
    версию, если это так, иначе 0
    Opera - запросить, является ли браузер Opera, возвращает версию,
    если это так, иначе 0
    NN - запросить, является ли браузер Netscape Navigator, возвращает
    версию, если это так, иначе 0
    Mozilla - запросить, является ли браузер Mozilla, возвращает версию,
    если это так, иначе 0

    Пример:
    IE=%AGENT('IE')%
    Opera=%AGENT('Opera')%
    NN=%AGENT('NN')%
    Mozilla=%AGENT('Mozilla')%
    • Просмотров: 3930
    опубликовано:  10-06-2015, 23:56   |   автор:  support
    категория:  Документация
    Лого, баннер, меню

    В структуре чата есть два фрейма, которые выпадают из общего принципа формирования кода. Это фреймы "баннер" и "меню". В то время, как почти все фреймы и окна чата формируются по шаблонам, основные правила которых описаны ТУТ, эти два фрейма не проходят через парсер сервера. Этому есть две причины. Во первых код этих фреймов достаточно прост и нет смысла его проводить через парсер, во вторых, для ускорения загрузки чата код формируется динамически непосредственно в браузере. Тем не менее, некоторая схожесть с шаблонами присутствует, т.к. в коде присутствуют шаблонные переменные, которые необходимы для определения положения элементов.

    В коде фрейма "баннер" можно использовать всего три шаблонных переменных:

    %BANNER% - в это место устанавливается баннер, список баннеров необходимо задать в разделе "Баннеры", смена баннеров происходит после каждой отправки сообщения;
    %LOGO% - в это место устанавливается логотип, который загружен в разделе "Логотип";
    %MENU% - в это место, куда устанавливаются кнопки меню, кнопки всегда расположены в ряд, настройка меню производится в разделе "Меню".

    В коде фрейма "меню" можно использовать только одну шаблонную переменную %MENU%.

    Если во фрейме баннера будет установлено меню, то необходимости во фрейме "меню" нет и его необходимо убрать в разделе "Фреймы".

    Если не предполагается использовать баннеры и логотип, то необходимо убрать фрейм баннера, оставить только фрейм меню.

    В остальном эти фреймы аналогичны остальным фреймам чата и в них можно использовать произвольный HTML-код, нельзя только использовать шаблоны системы.

    Важно помнить, что во всех остальных окнах и фреймах чата для отображения баннера и логотипа необходимо пользоваться шаблонными функциями %CHAT('BANNER')% и %CHAT('LOGO')% соответственно.

    Примеры кода фрейма "баннер" для разных случаев.

    Во фрейме размещается баннер и логотип.

    <table cellspacing=0 cellpadding=0 width=100% height=100%>
    <tr><th>%LOGO%</th><th width=100% height=60>%BANNER%</th></tr>
    </table>


    Во фрейме размещается баннер, логотип и меню.

    <table cellspacing=0 cellpadding=0 width=100% height=100%>
    <tr><th>%LOGO%</th><th width=100% height=60>%BANNER%</th></tr>
    <tr><th colspan=2 valign=bottom>%MENU%</th></tr>
    </table>


    Стилевые параметры этих фреймов задаются в разделе "Дизайн".

    Альтернативное меню

    Стандартное меню чата состоит из прямоугольных кнопок одинаковой ширины и высоты, стили которых можно настраивать через "Дизайн". Однако, имеется возможность создавать меню из графических или текстовых кнопок. В этом случае необходимо самостоятельно прописать в коде расположение кнопок, используя для графических кнопок тэг
    <img>
    , а для текстовых –
    <a>...</a>
    .

    Чтобы кнопки функционировали необходимо указать ряд параметров в этих тегах:

    name — обязательный параметр, указывает какую функцию выполняет кнопка (см. ниже);
    frame — необязательный параметр, должен принимать значение "1", указывает на то, что функция будет выводиться во фрейме чата, а не во всплывающем окне, параметр не должен использоваться вместе с параметром win;
    win — необязательный параметр, указывает на то, что функция будет выводиться во всплывающем окне, значение этого параметра определяет конфигурацию всплывающего окна (см. ниже), если отсутствуют оба параметра win и frame, то это заставит создать всплывающее окно, конфигурация которого определяется админкой чата, параметр win не должен использоваться вместе с параметром frame;
    menu — необязательный параметр, должен принимать значение "1", указывает на то, что данная кнопка является кнопкой меню чата, имеет смысл использовать только если данная функция кнопки является нестандартной (например, открывается внешний URL).

    Стандартные функции (параметр name):

    help — окно помощи;
    rules — окно правил чата;
    people — окно раздела "Люди";
    people/form — окно регистрации;
    who — список посетителей в онлайне
    whowas — список посетителей, побывавших в чате;
    calendar — окно календаря;
    gb — окно гостевой книги, функция работает, только если корректно настроены виртуальные каталоги;
    creation — окно творчества, функция работает, только если корректно настроены виртуальные каталоги.

    Также в качестве функции можно использовать любой URL.

    Определение конфигурации всплывающих окон (параметр win).

    В конфигурации окна необходимо указать три параметра – десятичных числа, разделенных символом двоеточия. Первое число указывает, какой ширины должно быть окно, значение указывается в пикселах, если указать ноль, то ширина окна будет соответствовать ширине родительского окна. Второе число указывает, какой высоты должно быть окно, значение указывается в пикселах, если указать ноль, то высота окна будет соответствовать высоте родительского окна. Третий параметр является суммой чисел, которые определяют элементы окна:

    1 — окно должно содержать полосы прокрутки;
    2 — окно должно быть изменяемым;
    4 — окно должно содержать меню браузера;
    8 — окно должно содержать кнопки браузера;
    16 — окно должно содержать адресную строку;
    32 — окно должно содержать статусную строку;
    64 — окно должно открываться по середине экрана.

    ВАЖНО! Многие современные браузеры по соображениям безопасности всегда включают в состав окна часть перечисленных элементов, например, некоторые браузеры всегда выводят адресную и статусную строки, независимо от того, были переданы эти параметры или нет.

    Пример. Чтобы открыть окно размером с родительское и при это окно содержало полосы прокрутки и его можно было изменять, необходимо в кнопке указать параметр win="0:0:3", где 3 – это сумма чисел 1 (полосы прокрутки) и 2 (изменяемый размер).

    Второй пример. Чтобы открыть окно фиксированного размера по центру экрана и при это окно содержало полосы прокрутки необходимо в кнопке указать параметр win="500:400:65", где 500 и 400 – ширина и высота окна соответственно, а 65 – сумма чисел 1 (полосы прокрутки) и 64 (окно по центру).

    Пример меню

    <a name=help win="0:0:3" href=/>Помощь</a>
    <a name=rules win="0:0:3" href=/>Правила</a>
    <a name=people win="700:500:67" href=/>Люди</a>
    <a name=who frame=1 href=/>Кто в чате</a>
    <a name=whowas frame=1 href=/>Кто был</a>
    <a name=gb win="0:0:3" href=/>Гостевая</a>


    Устанавливать альтернативное меню можно в любой фрейм чата, кроме окна сообщений. Это вносит большее разнообразие при создании неповторимого облика чата.
    • Просмотров: 4536
    опубликовано:  10-06-2015, 03:24   |   автор:  support
    категория:  Документация
    Боты

    Увеличить функциональность чата можно с помощью функций-ботов. Отличие функций-ботов от остальных функций чата заключается в том, что боты находятся в чате как обычные посетители и имеют собственные имена, а вызов функций производится путем отправки сообщений в чат на имя бота.

    Боты разбиты на две группы:

    медиа-боты — позволяют выводить в чат медиа-контент, такой как: музыка, катринки и видео.
    инфо-боты — позволяют получать такую информацию как: прогноз погоды, курс валют, перевод текста с одного языка на другой.
    Разбиение ботов на группы позволяет более гибко манипулировать привилегиями пользователей для доступа к этим функциям.

    Медиа-боты

    Запросы на медиа-боты перенаправляются на сторонние сервера для поиска запрашиваемого медиа-контента. Так поиск музыки осуществляется на различных mp3-серверах, поиск видео осуществляется сервером www.youtube.com, поиск картинок — поисковиком www.google.com.

    Т.к. поиск медиа-контента может выдавать более одного результата, то по результатам поиска формируется список. Для управления списком служат команды бота, команды начинаются с символа "." (точка) и следом указывается название команды.

    Список команд медиа-ботов:

    where/где — выводит список серверов, на которых осуществляется поиск;
    list/лист — выводит текущую страницу списка из результата поиска, список всегда содержит не более 10 элементов;
    page/страница — выводит следующую страницу списка из результата поиска;
    next/еще — воспроизводит в чате следующий элемент из списка, для нового поиска воспроизведение всегда начинается с первого элемента списка;
    число — воспроизводит произвольный элемент, номер должен совпадать с номером из списка.

    Все медиа-боты имеют одинаковый синтаксис поиска и управления.

    Инфо-боты

    К ботам группы "инфо-боты" относятся следующие боты:

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

    Боты группы "инфо-боты" не так однородны, как боты группы "медиа-боты" и для них не существует общих команд, но некоторым из них можно послать команду "?" (знак вопроса) для получения справки по командам.

    Погода

    Для получения информации о погоде необходимо информеру послать команду "погода название_города" или "weather название_города". Если не указывать город, то он будет вычислен автоматически на основании данных входа пользователя. Бывает, что информер выдает погоду в городе не той страны, которая ожидалась, это случается когда в разных странах имеются города с одним и тем же названием. Для такого случая необходимо информеру явно указать страну, в которой находится город, используя следующий синтаксис: "погода co:название_города", где co — двухбуквенное обозначение страны, например для России это ru, для США — us.

    Курсы валют

    Для получения курсов валют необходимо информеру послать команду "курс валюта" или "rate валюта", где валюта указывается трехбуквенным кодом. Чтобы получить все возможные коды, которые понимает информер, необходимо ему послать команду "валюта" или "currency".

    Переводчик

    Если язык оригинала — русский, то переводчик будет переводить текст на английский язык. Если язык оригинала не русский, то переводчик попытается сам определить язык, на котором написан текст и переведет его на русский язык. Кроме того, переводчику можно явно указать язык оригинала и язык перевода, для этого применяется следующий синтаксис: sl|tl|текст, где sl — код языка оригинала, tl — код языка перевода, коды языков перечислены на этой странице.

    Калькулятор

    Кроме возможности вычислять простые арифметические выражения в калькулятор встроены мощные механизмы для проведения сложных и длинных расчетов. Так, калькулятор снабжен памятью, в которую заносятся все ваши выражения и их результаты, это позволяет использовать результаты этих выражений в следующих выражениях. Также, каждое выражение можно снабдить комментарием и впоследствии проконтролировать ход всех вычислений. Но самое интересное в калькуляторе — это возможность задавать пользовательские функции, что значительно упрощает проведение сложных расчетов и уменьшает вероятность допустить ошибку.

    Удобство пользования калькулятором наглядно можно продемонстрировать на примерах.

    Пример 1, простой расчет, демонстрирует работу с памятью и комментарием.

    August: калькулятор, 123 // первое число
    калькулятор: August: $1 = 123
    August: калькулятор, 789 // второе число
    калькулятор: August: $2 = 789
    August: калькулятор, $1+$2 // сумма
    калькулятор: August: $3 = 912
    August: калькулятор, $1-$2 // разность
    калькулятор: August: $4 = -666
    August: калькулятор, $1 / $2 // деление
    калькулятор: August: $5 = 0.155894
    August: калькулятор, $1 * $2 // умножение
    калькулятор: August: $6 = 97047
    August: калькулятор, .list
    калькулятор: August:
    $1 = 123 // 123 // первое число
    $2 = 789 // 789 // второе число
    $3 = 912 // $1+$2 // сумма
    $4 = -666 // $1-$2 // разность
    $5 = 0.155894 // $1 / $2 // деление
    $6 = 97047 // $1 * $2 // умножение


    В этом примере в память заносятся два числа и над ними производятся четыре математических действия

    Пример 2, демонстрирует работу пользовательских функций.

    August: калькулятор, .clear
    калькулятор: August: список очищен
    August: калькулятор, .def sh ( $1) = (e ^ $1 - e ^ (-$1)) / 2 // гиперболический синус
    калькулятор: August: определена новая функция `sh`
    August: калькулятор, .def ch ( $1) = (e ^ $1 + e ^ (-$1)) / 2 // гиперболический косинус
    калькулятор: August: определена новая функция `ch`
    August: калькулятор, .def
    калькулятор: August:
    1: sh ( $1 ) = (e ^ $1 - e ^ (-$1)) / 2 // гиперболический синус
    2: ch ( $1 ) = (e ^ $1 + e ^ (-$1)) / 2 // гиперболический косинус
    August: калькулятор, sh (1)
    калькулятор: August: $1 = 1.175201
    August: калькулятор, ch (1)
    калькулятор: August: $2 = 1.543081
    August: калькулятор, ch (pi)
    калькулятор: August: $3 = 11.591953
    August: калькулятор, .def sind ( $1 ) = sin ( pi * $1 / 180 ) // вычисление синуса угла, заданного в градусах
    калькулятор: August: определена новая функция `sind`
    August: калькулятор, sind (90)
    калькулятор: August: $4 = 1
    August: калькулятор, sind (30)
    калькулятор: August: $5 = 0.5
    August: калькулятор, sind (60)
    калькулятор: August: $6 = 0.866025
    August: калькулятор, sqrt (3) / 2
    калькулятор: August: $7 = 0.866025
    August: калькулятор, .def
    калькулятор: August:
    1: sh ( $1 ) = (e ^ $1 - e ^ (-$1)) / 2 // гиперболический синус
    2: ch ( $1 ) = (e ^ $1 + e ^ (-$1)) / 2 // гиперболический косинус
    3: sind ( $1 ) = sin ( pi * $1 / 180 ) // вычисление синуса угла, заданного в градусах
    August: калькулятор, .list
    калькулятор: August:
    $1 = 1.175201 // sh (1)
    $2 = 1.543081 // ch (1)
    $3 = 11.591953 // ch (pi)
    $4 = 1 // sind (90)
    $5 = 0.5 // sind (30)
    $6 = 0.866025 // sind (60)
    $7 = 0.866025 // sqrt (3) / 2


    Команды калькулятора:

    .list/лист — выводит результаты ваших выражений и сами выражения.
    .def имя ( список_аргументов ) = выражение — определяет пользовательскую функцию с именем имя, список аргументов функции указывается через запятую, отсчет всегда от единицы, например, для функции, которая принимает три аргумента список должен выглядеть как ($1, $2, $3). Команда .def без параметров выводит список всех пользовательских функций.
    .del имя — удаляет пользовательскую функцию с именем имя.
    .clear/.reset/.очистить — очищает список выражений и список пользовательских функций.
    .precision/.точность число — определяет точность, с которой выводятся результаты вычислений, число указывает, сколько знаков после запятой требуется выводить, максимальное значение равно 20.
    .exp — включает/выключает вывод результатов в экспоненциальной форме.

    Управление ботами

    Управление ботами может осуществлять только главный администратор чата. Для управление ботами используются четыре команды: запуск, остановка, стилизация и управление видимостью в комнатах.

    Запуск ботов

    Для запуска бота необходимо в чат передать команду:

    /bot имя_бота start тип_бота


    где:

    имя_бота — любое имя, которые вы хотите дать боту.
    тип_бота — какого типа бот должен быть запущен.

    Допустимые типы ботов:

    MUSIC — медиа-бот для поиска музыки.
    YOUTUBE — медиа-бот для поиска видео.
    IMAGES — медиа-бот для поиска картинок.
    INFORMER — инфо-бот "информер".
    TRANSLATOR — инфо-бот "переводчик".
    CALC — инфо-бот "калькулятор".

    В чате не допускается запускать несколько ботов одного типа.

    Остановка ботов

    Для остановки бота необходимо в чат передать команду:

    /bot имя_бота stop


    где:

    имя_бота — имя бота, который находится в чате.

    Стилизация ботов

    Стилизация ботов позволяет задавать никам и фразам ботов любые цвета и шрифты. Для стилизации бота необходимо в чат передать команду:

    /bot имя_бота setup параметры_стилизации


    где:

    имя_бота — имя бота, который находится в чате.
    параметры_стилизации — такие параметры, как: nickcolor, nickfont, nickstyle, messcolor, messfont, messstyle, синтаксис полностью аналогичен синтаксису команды /setup.

    Боты в других комнатах

    Запуск ботов всегда производится только в одной комнате чата. Если в чате несколько комнат, то в них также можно установить ботов. Чтобы боты были доступны в других комнатах надо выполнить следующую команду:

    /bot имя_бота room номер_комнаты


    где:

    имя_бота — имя бота, который находится в чате.
    номер_комнаты — номер комнаты чата, номера комнат можно увидеть в админке чата в разделе "комнаты". Допускается передавать сразу несколько номеров, номера должны указываться через пробел.

    Повторное выполнение команды для той же комнаты отключит бота в этой комнате.

    Боты в списке посетителей

    Чтобы в списке посетителей боты не смешивались с другими пользователями чата, их можно посместить в отдельный список, для этого необходимо отредактировать шаблон "кто в чате" и указать в функции %CHAT("WHO", ... )% подсписок для ботов (подробнее об этой функции написано в документации Шаблон списка посетителей).

    Пример определения функции списка:

    %CHAT("WHO", %TABLE%, "<div class="tm">никого нет</div>",
        [
          1, "<div class="bm">мальчики</div>",
          2, "<div class="gm">девочки</div>",
          0, "<div class="nm">инкогнито</div>",
          3, "<div class="vm">на голосовании</div>",
          4, "<div class="nm">боты</div>"
        ],
        "анкета %%NICK%%",
        ""
    )%
    • Просмотров: 3490
    опубликовано:  10-06-2015, 02:12   |   автор:  support
    категория:  Документация
    Встроенные команды чата

    Общедоступные команды, работают у всех пользователей:


    /clear
    очищает окно сообщений;
    /visit [nick]
    без параметра выводит дату вашего последнего посещения, c параметром nick — дату последнего посещения пользователя которого вы хотите узнать;
    /date или /дата
    выводит текущую дату и время согласно установкам чата, строка форматирования настраивается в админке;
    /stat
    выводит текущую статистику чата;
    /status [строка] или /статус [строка]
    устанавливает свой статус (надпись рядом с ником в списке посетителей), доступно тем, кто имеет привилегию "свой статус", команда без параметра отключает свой статус;
    /invisible или /inv
    устанавливает режим невидимости в чате доступно тем, кто имеет привилегию "невидимость";
    /ignore [nick] или /игнор [nick]
    альтернатива окну личного игнора, поместит/удалит пользователя в/из личного игнора, допускается задавать ники списком, разделять ники надо запятыми, команда без параметров отобразит список пользователей, находящихся в личном игноре;
    /friends [nick] или /друзья [nick]
    поместит/удалит пользователя в/из список друзей, которым разрешено видеть вас когда вы находитесь в невидимках, доступно только тем, у кого имеется привилегия "невидимость", команда без параметров отобразит список пользователей, находящихся в друзьях;
    /list или /лист
    выводит список онлайн-пользователей, для модераторов выводится дополнительная информация;
    /mypriv
    выводит таблицу с привилегиями, которые вам доступны;
    /translit или /транслит
    включает/выключает переводчик транслита;
    /setup [параметры]
    устанавливает настройки пользователя (команда без параметров выводит все возможные настройки), все настройки устанавливаются согласно актуальным привилегиям пользователя, установленные таким образом настройки не сохраняются в базе и действуют только в текущем сеансе;
    /autoanswer [сообщение|on|off] или /автоответчик [сообщение|on|off]
    автоответчик, предназначен для автоматической отправки сообщения при обращении к пользователю, чтобы установить сообщение в параметре надо передать это сообщение, параметр on включает автоответчик, параметр off выключает автоответчик, команда без параметров выводит текст сообщения, команда доступна только тем, у кого имеется привилегия "автоответчик";
    /exit [строка] или /выход [строка]
    покинуть чат, аналогично выходу через навигацию, команда с текстом выводит этот текст как фразу выхода;
    /away nick
    отображает временя, в течении которого пользователь был неактивен;
    /copy или /copyright
    выводит информацию о дате и времени сборки программы чата.
    Слеюдующие команды предназначены только для мини-комнат и не работают в чате:
    /room name имя
    устанавливает название комнаты, название отображается в списке всех мини-комнат;
    /room private
    меняет состояние комнаты на приватную, приватные комнаты не отображаются в общем спсике мини-комнат попасть в приватную комнату можно только по вызову ее владельца;
    /room public
    меняет состояние комнаты на публичную;
    /call nick
    выдает приглашение пользователю зайти в мини-комнату.

    Также в мини-комнатах работают некоторые команды чата.

    Команды только для админа и модератора:

    /cls
    очищает окно сообщений всем пользователям;
    /info nick или /инфо nick
    выводит информацию о компьютере пользователя;
    /infosetup nick или /setupinfo nick
    выводит информацию о личных настройках пользователя;
    /kill nick
    удаляет пользователя из чата;
    /offline nick
    только для админа, переводит пользователя в режим оффлайн, при этом никаких сообщений в чат не выводится;
    /priv nick
    только для админа, выводит таблицу с актуальными привилегиями, которые доступны данному пользователю, актуальные привилегии — назначенные привилегии плюс привилегии от звания;
    /privset nick список_привилегий или /setpriv nick список_привилегий
    только для админа, устанавливает для данного пользователя привилегии из списка, назначенные привилегии действуют только в течении текущей сессии, привилегии в списке разделяются пробелом и имеют следующие названия:

    colornick — цветной ник;
    stylenick — стилизованный ник;
    colormess — цветные сообщения;
    stylemess — стилизованные сообщения;
    gradientnick — градиентный цвет ника;
    gradientmess — градиентный цвет сообщений;
    nicksmile — смайлики в нике;
    publichtml — общие HTML тэги;
    stylehtml — стили в тэгах;
    phrases — личные фразы входа/выхода;
    invisible — невидимость;
    mystatus — личный статус;
    nocensor — отключенный автоцензор;
    nosilence — неограниченное время молчания;
    private — личка;
    privatewin — приватные комнаты;
    miniroom — мини-комнаты;
    smiles — смайлики;
    privatesmiles — личные смайлики;
    vote — функция голосования;
    notebook — записная книжка;
    photo — фотоальбом;
    incognito — режим "инкогнито";
    armour — режим "броня";
    special — специальные символы HTML;
    autoanswer — автоответчик;
    status — статусы;
    mystatussmiles — смайлики в личном статусе;
    botmedia — медиа-боты;
    botinfo — инфо-боты;

    /privunset nick список_привилегий или /unsetpriv nick список_привилегий
    только для админа, сбрасывает для данного пользователя привилегии из списка, привилегии сбрасываются только для текущей сессии;
    /ip параметр
    выводит список пользователей с данным ip-адресом или в данной сети, параметр может иметь одно из значений:
    a.b.c.d - выводит список пользователей с ip-адресом a.b.c.d;
    a.b.c - выводит список пользователей в сети a.b.c.0 - a.b.c.255;
    a.b - выводит список пользователей в сети a.b.0.0 - a.b.255.255;
    a - выводит список пользователей в сети a.0.0.0 - a.255.255.255;
    0 - выводит весь список пользователей;

    /systemtest [blacklist|tor] IP или /testsystem [blacklist|tor] IP
    проверят указанный ip-адрес на наличие его в черном списке (параметр blacklist) или его принадлежность к сети TOR (параметр tor);
    /censorlog [on|off|clear]
    только для админа, журнал работы автоцензора, для включения журнала надо выполнить команду /censorlog on;
    /locklog [on|off|clear]
    только для админа, журнал блокировок, дублирование журнала из админки (пользователей, которые находятся в тотальном игноре и пытаются войти в чат), для включения журнала надо выполнить команду /locklog on;
    /bot


    команды управления ботом, описание находится в разделе боты;
    Команды альтернативного наказания нарушителей.
    • Просмотров: 5508
    опубликовано:  10-06-2015, 01:45   |   автор:  support
    категория:  Документация
    Счетчик просмотров и последние просмотры анкеты

    Функция подсчитывает просмотры анкеты, запоминает пользователей, которые просматривали анкету и позволяет выводить список просмотревших.

    Запоминаются пользователи как находящиеся в чате, так и те, которые просматривают анкету, не входя в чат. В последнем случае ник будет отсутствовать, но запоминается IP-адрес и идентификатор компьютера. Просмотры учитываются только в том случае, если пользователь в текущих сутках открыл анкету первый раз, либо анкета была изменена, т.е. если один и то же пользователь в текущих сутках (от 00:00:00 до 23:59:59) будет открывать анкету несколько раз и при этом владелец анкеты ее не изменял, будет учтен только первый просмотр, если анкета была отредактирована, будет учитываться каждый просмотр.

    Для вывода счетчика просмотров в анкете необходимо установить переменную %VIEWS%. Для получения списка просмотревших в анкету необходимо установить ссылку или кнопку с id или name равным show_viewers, пример:

    <a id=show_viewers max=10>последние просмотры</a>


    Допускается задавать количество элементов списка "последние просмотры", для этого необходимо задать атрибут max в тэге. Минимальное количество в списке ограничено числом 10, а максимальное - 100 элементов.

    Внешний вид списка последних просмотров определяется шаблон "последние просмотры" раздела "Анкеты". Пример код шаблона в случае двухколончатого вывода:

    <table cellpadding=2 cellspacing=1 width=100% height=100%>
    <tr><td colspan=4 align=center>Последние просмотревшие анкету<hr></tr>
    {{{:2
    %?%CC(1)%<tr>?%
    %?
    <td>%NUM%.<td nowrap width=50%> %?%NICK%%:%[ нет ника ]?% / <small>%DATE%
    %:%
    <td colspan=2>
    ?%
    %?%CC(2)%</tr>?%
    }}}
    <tr><td colspan=4 align=center height=100% style='vertical-align: bottom'><hr><a id=close>закрыть</a></tr>
    </table>


    Описание шаблонных переменных:

    %NUM% — порядковый номер в списке.
    %NICK% — ник просмотревшего (если есть).
    %DATE% — дата последнего просмотра.
    %COUNT% — сколько раз пользователь открывал эту анкету.
    %IP% — IP-адрес просмотревшего.
    %CC(n)% — функция проверки номера колонки, где n — номер колонки.

    В приведенном шаблоне в случае отсутствия ника у пользователя (пользователь не вошел в чат) будет выводиться надпись "нет ника", но вместо надписи можно выводить, например, его IP-адрес, для этого можно использовать шаблонную переменную %IP%.

    Кроме счетчика просмотров анкеты имеется счетчик, подсчитывающий сколько раз владелец анкеты просматривал текущую анкету, для вывода этого счетчика в анкету надо установить код:

    %?<tr><td>Сколько раз Вы просматривали эту анкету:<td><b>%MY_VIEWS%</b></tr>?%


    Вместе с этими функциями имеется привилегия "скрывать просмотры". Данная привилегия предоставляет доступ к одноименной настройке, т.е. настройке "скрывать просмотры". С включенной привилегией в личных настройках появляются дополнительный переключатель (чекбокс). Эта настройка позволяет скрывать свой ник в списке последних просмотров, однако счетчик будет учитывать просмотры в любом случае. Кроме того, настройка "скрывать просмотры" не скрывает ник пользователя в списке от администратора, администратор всегда видит полный список. Также состояние переключателя можно изменять консольной командой чата /setup hideviews. Данная команда меняет состояние переключателя только для текущей сессии, не сохраняя настройку, т.е. после перезахода в чат состояние переключателя "скрывать просмотры" будет определяться личными настройками.
    • Просмотров: 3604
    опубликовано:  10-06-2015, 01:32   |   автор:  support
    категория:  Документация
    Капча для регистрации

    Для защиты чата от автоматических регистраций анкет имеется возможность установить капчу (CAPTCHA) — специальную картинку с изображением случайного числа, которое легко будет читаться человеком, но крайне тяжело обрабатываться роботом.

    ВАЖНО! Установка капчи требует изменение шаблонов чата, прежде необходимо открыть к ним доступ.

    Для установки капчи требуется внести изменения в два шаблона.

    Первый шаблон — "HTML-код анкеты" раздела "Люди", необходимо добавить в начало следующий код:

    %ERROR_CAPTCHA = "Код с картинки указан неверно."%


    Второй шаблон — "страница ников" раздела "Люди", необходимо найти код:

    %?%TRUE(%PROFILE%)%
    <tr><td>Текущий пароль:<td>%input('cur_pass', '', 42, 0, 'class=inp', 'type=password')%</tr>
    <tr><td>Новый пароль:<td>%input('pass1', '', 42, 0, 'class=inp', 'type=password')%</tr>
    <tr><td>Новый пароль еще раз:<td>%input('pass2', '', 42, 0, 'class=inp', 'type=password')%</tr>
    %:%
    <tr><td>Пароль:<td>%input('pass1', '', 42, 0, 'class=inp', 'type=password')%</tr>
    <tr><td>Пароль еще раз:<td>%input('pass2', '', 42, 0, 'class=inp', 'type=password')%</tr>
    ?%


    и заменить его на код:

    %?%TRUE(%PROFILE%)%
    <tr><td>Текущий пароль:<td>%input('cur_pass', '', 42, 0, 'class=inp', 'type=password')%</tr>
    <tr><td>Новый пароль:<td>%input('pass1', '', 42, 0, 'class=inp', 'type=password')%</tr>
    <tr><td>Новый пароль еще раз:<td>%input('pass2', '', 42, 0, 'class=inp', 'type=password')%</tr>
    %:%
    <tr><td>Пароль:<td>%input('pass1', '', 42, 0, 'class=inp', 'type=password')%</tr>
    <tr><td>Пароль еще раз:<td>%input('pass2', '', 42, 0, 'class=inp', 'type=password')%</tr>
    <tr><td>Введите число на картинке:<td>%input('captcha', '', 22, 0, 'class=inp')% %CAPTCHA()%</tr>
    ?%


    Функция капчи может принимать до трех параметров, влияющие на внещний вид капчи, синтаксис выглядит так:

    %CAPTCHA(A0, A1, A2)%


    где:
    A0 — оттенок серого, цвет, которым выводятся цифры: от черного (0) до белого (255),
    A1 — уровень искажения картинки: 0 – нет искажения, 10 – максимальное искажение
    A2 — уровень зашумленности картинки случайными линиями, число от 0 до 10, 0 – нет зашумленности

    без A1 и A2 будет выводиться самая легко читаемая картинка, но и роботам будет легче ее опознать.
    • Просмотров: 4050
    опубликовано:  10-06-2015, 00:56   |   автор:  support
    категория:  Документация
    Функции для работы с формой

    Функции для работы с формой
    ---------------------------
    Эти функции предназначены для упрощения создания формы ввода
    пользовательских данных.

    Всего имеется 7 функций для формирования тэгов формы:

    1. %input()% - однострочный ввод текста
    2. %text()% - многострочный ввод текста
    3. %checkbox()% - флажки (чекбоксы)
    4. %radio()% - переключатели
    %radio2()% - альтернатива %radio()%
    5. %select()% - выпадающее меню
    %select2()% - альтернатива %select()%
    6. %button()% - кнопка
    7. %submit()% - кнопка для отправки данных на сервер

    Все функции имеют схожий синтаксис вызова.
    Необязательно задавать все агрументы у функций, если какой то
    агрумент не задан - будет использовано значение по умолчанию.

    Для определения стилей большинства тэгов функции имеют аргумент
    style, который может принимать следующие значения:
    - пустая строка ("") добавляет в тэг стиль по умолчанию, который
    задан парсером
    - 0 - ничего в тэг добавлено не будет
    - любая другая строка будет определять пользовательский стиль
    оформления тэга (css или название класса)


    Описание аргументов функций.

    1. синтаксис: %input(name, value, size, maxlength, style, extra)%
    описание: однострочный ввод текста, тэг
    <input type="text" />

    функция может принимать до 6-и аргументов:
    1. name - имя тэга, под этим именем данные будут отправлены
    на сервер
    2. value - начальное значение строки
    3. size - размер поля ввода, определяет размер поля на экране
    4. maxlength - максимальное количество символов, которое можно ввести
    5. style - стиль тэга
    6. extra - любые дополнительные параметры тэга


    2. синтаксис: %text(name, value, size, maxlength, style, extra)%
    описание: многострочный ввод текста, тэг
    <textarea />

    функция может принимать до 7-и аргументов:
    1. name - имя тэга, под этим именем данные будут отправлены на сервер
    2. value - начальное значение строки
    3. cols - количество видимых столбцов
    4. rows - количество видимых строк
    5. wrap - опрелеяет поведение при выходе строки в поле ввод за видимые
    границы поля
    6. style - стиль тэга
    7. extra - любые дополнительные параметры тэга

    3. синтаксис: %checkbox(name, checked, value, label)%
    описание: флажки, тэг
    <input type="checkbox" />

    1. name - имя тэга, под этим именем данные будут отправлены на
    сервер
    2. checked - первоначальное значение флажка (выбран/не выбран - 1/0)
    3. value - значение, которое будет отправлено на сервер, если флажок
    будет установлен
    4. label - подпись к флажку

    4. %radio(name, checked, values, sep)% или
    %radio2(name, checked, values, sep)%
    описание: переключатели, тэг
    <input type="checkbox" />

    1. name - имя тэга, под этим именем данные будут отправлены на
    сервер
    2. checked - значение, которое будет выбрано первоначально
    3. values - набор значений и их подписи, из которых должен
    производиться выбор. набор задается в квадратных
    скобках ([]), значения и подписи перечисляются через
    запятую. Для альтернативного варианта %radio2()%
    необходимо задавать только набор значений, подписи будут
    браться из значений.
    4. sep - строка разделителя, которая определяет как будут
    разделены тэги переключателя (напимер: "
    " или " ")

    5. %select(name, checked, values, style, extra)% или
    %select2(name, checked, values, style, extra)%
    описание: выпадающее меню, тэг
    <select />

    1. name - имя тэга, под этим именем данные будут отправлены на
    сервер
    2. checked - значение, которое будет выбрано первоначально
    3. values - набор значений и их подписи, из которых должен
    производиться выбор. набор задается в квадратных
    скобках ([]), значения и подписи перечисляются через
    запятую. Для альтернативного варианта %select2()%
    необходимо задавать только набор значений, подписи будут
    браться из значений.
    4. style - стиль тэга
    5. extra - любые дополнительные параметры тэга

    6. %button(name, value, title, style, extra)%
    описание: кнопка, тэг
    <input type="button" />

    1. name - имя тэга
    2. value - надпись на кнопке
    3. title - подсказка (tooltip), всплывающая при наведении курсора на
    кнопку
    4. style - стиль тэга
    5. extra - любые дополнительные параметры тэга

    7. %submit(name, value, title, style, extra)%
    описание: кнопка для отправки данных на сервер, тэг
    <input type="submit" />

    1. name - имя тэга
    2. value - надпись на кнопке
    3. title - подсказка (tooltip), всплывающая при наведении курсора на
    кнопку
    4. style - стиль тэга
    5. extra - любые дополнительные параметры тэга

    --------------------------------

    Чтобы лучше понять, как работают эти функции, а также шаблоны в целом,
    вы можете использовать этот пример. Загрузите этот код в любую
    дополнительную страницу и изучайте его, меняя параметры.


    Код

    %RESULT<<<END
    %GENDER1 = "мужской"%
    %GENDER2 = "женский"%

    %MONTH1 = "января"%
    %MONTH2 = "февраля"%
    %MONTH3 = "марта"%
    %MONTH4 = "апреля"%
    %MONTH5 = "мая"%
    %MONTH6 = "июня"%
    %MONTH7 = "июля"%
    %MONTH8 = "августа"%
    %MONTH9 = "сентября"%
    %MONTH10 = "октября"%
    %MONTH11 = "ноября"%
    %MONTH12 = "декабря"%

    %winter = "зима"%
    %spring = "весна"%
    %summer = "лето"%
    %autumn = "осень"%


    <body>
    Имя: <b>%POST("name")%</b><br>
    %?%TRUE(%POST("gender")%)%
    Пол: <b>%{"GENDER%POST('gender')%"}%</b><br>
    ?%
    День рождения: <b>%POST("day")% %{"MONTH%POST('mon')%"}%</b><br>
    Любимое время года: <b>%{%POST('winter')%}% %{%POST('spring')%}% %{%POST('summer')%}% %{%POST('autumn')%}%</b><br>
    О себе: <b>%POST("info")%</b>
    END%

    %TEXT<<<END
    <body>
    <form method=post>
    <table>
    <tr><td>
    Ваше имя:
    <td>
    %input("name", "", 40, 40, 0)%
    </tr>
    <tr><td valign=top>
    Ваш пол:
    <td>
    %radio("gender", 0, [1, "мужской", 2, "женский", 0, "не скажу"], "<br>")%
    </tr>
    <tr><td>
    Ваш день рождения:
    <td>
    %select2("day", 0, [
        "", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
            16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
    ], 0)%
    %select("mon", 0, [
        "", "", 1, "января", 2, "февраля", 3, "марта", 4, "апреля", 5, "мая", 6, "июня",
        7, "июля", 8, "августа", 9, "сентября", 10, "октября", 11, "ноября", 12, "декабря"
    ], 0)%
    </tr>
    <tr><td valign=top>
    Любимое время года:
    <td>
    %checkbox("winter", 0, "winter", "зима")%
    <br>
    %checkbox("spring", 0, "spring", "весна")%
    <br>
    %checkbox("summer", 0, "summer", "лето")%
    <br>
    %checkbox("autumn", 0, "autumn", "осень")%
    </tr>
    <tr><td valign=top>
    Немного о себе:
    <td>
    %text("info", "", 40, 5, 0, 0)%
    </tr>
    <tr><td><td>
    %submit("ok", "готово", "", 0)%
    </tr>
    </table>
    </form>
    END%

    %IF(%POST("ok")%, %(%RESULT%)%, %(%TEXT%)%)%
    • Просмотров: 2997
    опубликовано:  10-06-2015, 00:38   |   автор:  support
    категория:  Документация
    функция для работы с анкетами - %PEOPLE()%

    функция %PEOPLE()%

    Универсальная функция для работы с анкетами. Рассмотрим только одно применение этой функции с аргументом 'LIST'.

    Функция %PEOPLE('LIST')% предназначена для получения списка зарегистрированных пользователей по определенным критериям.

    Полный список всех возможных аргументов:


    0 = 'LIST'
    1. номер выводимой страницы, отсчет от 1. Т.к. список может быть достаточно длинный, весь вывод разбивается на страницы.
    2. количество записей на странице. Управляет разбитием списка на страницы.
    3. количество колонок в таблице. Для вывода используется таблица (тэг
    <table />
    ), здесь задается количество колонок этой таблицы.
    4. шаблон ячейки таблицы. Как должен выглядеть вывод.
    5. опции поиска — набор флагов, указывающих по каким критериям необходимо осуществлять поиск анкет (см. ниже).
    6. (необязательный) подстрока поиска ника, может содержать начало ника.
    7. (необязательный) критерий поиска: начальная дата регистрации, строка вида DDMMYY.
    8. (необязательный) критерий поиска: конечная дата регистрации, строка вида DDMMYY.
    9. (необязательный) критерий поиска: IP-адрес для поиска
    10. (необязательный) критерий поиска: CompID — одно из значений CompID для поиска
    11. (необязательный) критерий поиска: день рождения, строка, может иметь три варианта: DD-MM — для поиска по дню и месяцу, DD-MM-YYYY — для поиска по дню, месяцу и году, YYYY — для поиска только по году.


    Список пользователей формируется с учетом опций поиска. Набор этих опций передается в функцию как строка, в которой записана комбинация параметров для выбора требуемых данных. Для более наглядной записи опций поиска, все опции имеют предопределенные имена. Для комбинации множества опция в строке необходимо использовать символ вертикальной черты '|'.

    Список опций для поиска:


    CHECKED — проверенная анкета
    NO_CHECKED — непроверенная анкета
    LOCKED — заблокированная анкета
    NO_LOCKED — незаблокированная анкета
    DELETED — удаленная анкета
    NO_DELETED — неудаленная анкет
    UNIQUE — в спсике будет присутствовать только один ник от анкеты
    SORT_NICK — вывод списка осуществляется с сортировкой по никам
    SORT_DATE — вывод списка осуществляется с сортировкой по дате регистрации
    SORT_LOCK — вывод списка осуществляется с сортировкой по дате блокировки (если требуется найти заблокированные анкеты)
    SORT_REVERSE — сортировка осуществляется от большего к меньшему
    IP_REG — используется только если указан IP в поиске, искать по данным регистрации
    IP_EDIT — используется только если указан IP в поиске, искать по данным редактирования анкеты
    IP_ENTER — используется только если указан IP в поиске, искать по данным последнего захода в чат
    IP_NET — используется только если указан IP в поиске, искать в подсети, к которой принадлежит этот IP-адрес
    CID_REG — используется только если указан CompID в поиске, искать по данным регистрации
    CID_EDIT — используется только если указан CompID в поиске, искать по данным редактирования анкеты
    CID_ENTER — используется только если указан CompID в поиске, искать по данным последнего захода в чат
    BIRTHDAY — используется для поиска по дате рождения


    Пример:

    Необходимо найти анкеты по следующим критериям: анкеты проверены, не заблокированы и не удалены, требуется только один ник от анкеты, сортировать по никам. Строка с комбинацией опций записывается так:

    "CHECKED|NO_LOCKED|NO_DELETED|UNIQUE|SORT_NICK"


    Результатом работы функции %PEOPLE("LIST")% будет HTML-код списка.
    Дополнительно эта функция создает 5 переменных, которые можно использовать на странице:


    1. %FIRST% — номер первого элемента текущей страницы
    2. %LAST% — номер последнего элемента текущей страницы
    3. %PAGE% — номер текущей страницы
    4. %PAGES% — количество страниц
    5. %TOTAL% — количество всех элементов с данным критерием поиска
    • Просмотров: 4186
    опубликовано:  10-06-2015, 00:25   |   автор:  support
    категория:  Документация
    Функция для определения состояния чата - %CHAT()%

    функция %CHAT()%

    Возвращает системную информацию о чате:


    %CHAT('NAME')% — выводит название чата
    %CHAT('CHARSET')% — выводит кодировку чата
    %CHAT('ROOM_NAME')% — выводит название комнаты, если таковые имеются, для корректного вывода необходимо передать номер сессии
    %CHAT('CHAT')% — выводит название домена 3-го уровня, на который зарегистрирован чат
    %CHAT('ADDRESS')% — выводит адрес чата
    %CHAT('ROOM')% — выводит номер комнаты, если таковые имеются, для корректного вывода необходимо передать номер сессии
    %CHAT('DESIGN')% — выводит номер дизайна, для корректного вывода необходимо передать номер сессии
    %CHAT('FIRST')% — время первого сообщения в чате
    %CHAT('LAST')% — время последнего сообщения в чате
    %CHAT('LONG')% — выводит длительность разговора в секундах (разница %CHAT('LAST')% — %CHAT('FIRST')%), это число является общим для всех комнат чата
    %CHAT('ONLINE')% — количество человек в онлайне
    %CHAT('LOGO')% — выводит логотип чата
    %CHAT('BANNER')% — выводит один из баннеров (выбирается случайно)
    %CHAT('TAGS')% — выводит список тэгов, имеются дополнительные аргументы для формирования таблицы тэгов
    %CHAT('WHO')% — специальная функция для окна "кто в чате"
    %CHAT('WHOWAS')% — специальная функция для окна "кто был в чате"


    Числа, возвращаемые функциями %CHAT('FIRST')% и %CHAT('LAST')%, являются количество секунд, прошедших от даты 1 января 1970 года (такой отсчет времени принят в UNIX-системах). Эти значения можно использовать в функции %DATE()%.
    • Просмотров: 4661
    опубликовано:  10-06-2015, 00:07   |   автор:  support
    категория:  Документация
    Что такое шаблоны, как их использовать



    НАЗНАЧЕНИЕ И ПРАВИЛА ИСПОЛЬЗОВАНИЯ ШАБЛОНОВ
    ===========================================

    Определения
    -----------
    Шаблон — HTML-код, содержащий переменные и функции шаблона.
    Назначение шаблона заключается в создании каркаса кода.
    Конечный HTML-код формируется в результате парсинга шаблона.

    Парсинг — процесс обработки шаблона программой парсера,
    при котором происходит замена переменных и функций шаблона
    на свои значения. Результатом парсинга является конечный
    HTML-код, выводимый в окно браузера.

    Переменные шаблона — специальные коды, указывающие парсеру,
    что в этом месте должны производиться замены переменных на свои
    значения. Значения переменных зависят от конкретного шаблона.

    Функции шаблона — аналогичны переменным шаблона, но принимают
    аргументы, которые передаются внутри круглых скобок, результат
    функции зависит от переданных ей параметров.


    Синтаксис
    ---------
    Шаблонные переменные определяются своим именем, которое с двух сторон
    ограничивается знаком процента (%).
    Шаблонные функции отличаются от шаблонных переменных наличием круглых
    скобок, в которых указывается список аргументов, перечисленных через
    запятую. Количество аргументов определяется назначением функции.
    Имена шаблонных переменных и функций могут состоять только из латинских
    букв, цифр и символа подчеркивания, длина имени может быть равна
    одному символу и более.
    Аргументами функций могут быть следующие данные:
    - десятичные числа;
    - строки;
    - массивы;
    - шаблонные переменные;
    - шаблонные функции.
    Все функции встроены в парсер и определить свою функцию нельзя.

    Пример шаблонной переменой: %NAME%
    Пример шаблонной функции: %input("name", "", 10, %len%)%

    Типы
    ----
    Десятичные числа - это последовательность цифр от 0 до 9.
    Пример: 12345

    Строка - это набор символов, ограниченный слева и справа символами
    кавычек (") или апострофа (').
    Пример строки: "это строка"

    Если внутри строки требуется применить символ кавычек, то его надо
    экранировать - перед символом поставить обратный слэш (\). Чтобы
    вывести сам обратный слеш его также надо экранировать, т.е. два
    обратных слэша (\\) выводятся как один.
    Пример: "это \"слово\" в кавычках".

    Внутри строк можно использовать шаблонные переменные и функции,
    записываться они должны с символами процента по краям, при парсинге
    они будут заменяться своим значением.
    Пример: "Мое имя: %NAME%"

    Если требуется, чтобы парсер не делал замен шаблонных переменных и
    функций, символ процента надо дублировать, иными словами, два
    символа процента в строке (%%) будут выводиться как один.
    Пример: "в этой строке переменная %%NAME%% не будет заменена"

    Массивы - набор данных, объединенных в одну переменную, элементы
    массива записываются в квадратных скобках через запятую. Типы данных
    элементов массива могут быть те же, что и аргументы у функций.
    Пример: [1, "один", 2, "два"]
    Примечание: массивы можно применять только в качестве аргументов
    функций, присваивать переменным массивы нельзя.


    Использование
    -------------
    Переменные и функции шаблона предназначены для подстановки значений
    в HTML-код. Это означает, что переменные и функции шаблона после
    парсинга будут заменены своим значением - последовательностью символов
    (строкой), либо пустой строкой (никаких символов не содержится).

    Важное замечание: любая конструкция с переменными или функциями шаблона
    возвращает строку, даже при использовании выражения присваивания эта
    конструкция вернет пустую строку. Если переменная шаблона не определена -
    она возвращает пустую строку.

    Самый простой способ использования переменной шаблона - просто ее написать.
    Пример:

    %NAME%

    Если у нас была определена переменная NAME, то после парсинга она будет
    заменена на свое значение.

    В шаблоне можно определить свои переменные. Для этого есть два способа
    определения переменных. Первый, аналогичен оператору присваивания в языках
    программирования. Значением для присваивания может быть: десятичное число,
    строка, другая переменная или функция.
    Присваивание десятичного числа:
    %NUMBER = 10%

    Присваивание строки:
    %NAME = "Вася Пупкин"%

    Присваивание другой переменой:
    %MY_VAR = %NAME%%

    Присваивание функции
    %INPUT = %input("name", "", 10, %len%)%%

    Важное замечание: выражение присваивания шаблонной переменной слева и
    справа ограничено символами процента (%), при этом, если в выражении
    используются другие переменные или функции, то они так же должны
    ограничиваться символами процента.

    Второй способ предназначен для занесения в переменную многострочного
    текста, при этом, парсинг не осуществляется, т.е., если в тексте будет
    встречена конструкция шаблонных переменных или функций никаких замен
    производиться не будет, они будут выводиться точно таком же виде как
    и были записаны. Сам многострочный текст должен находиться внутри блока,
    который определяется строкой-ограничителем.
    Пример:

    %TEXT<<Здесь находится многострочный текст
    Все встреченные шаблонные переменные и функции
    обрабатываться парсером не будут.
    END%

    Здесь слово END (можно выбрать любое слово) является строкой-ограничителем
    и определяется сразу после имени переменной (TEXT) и тройного символа
    меньше (<<<). С новой строки начинается многострочный текст. Для
    обозначения конца текста это же слово-ограничитель должно быть записано в
    начале новой строки.

    Конструкции присваивания ничего не возвращают, поэтому в конечном HTML-коде
    на их месте будут пустые строки.

    Есть две конструкции, выполняющие дополнительную обработку строк.
    Первая имеет такую запись:

    %{"строка"}%

    Смысл этого выражения заключается в том, что можно динамически формировать
    имя переменой, которая будет заменена своим значением.
    Пример:

    %{"NAME"}%

    Эта конструкция полностью эквивалента записи %NAME% и не имеет практического
    смысла. Другой пример показывает гибкость этой записи:

    %STATE_0 = "выключено"%
    %STATE_1 = "включено"%
    %{"STATE_%STATE%"}%

    Теперь от значения переменной STATE зависит какой будет результат парсинга:

    STATE | результат
    ------+----------
    0 | выключено
    1 | включено


    Вторая конструкция предназначена для парсинга строки и записывается в
    таком виде:

    %(%TEXT%)%

    Если переменная TEXT содержит некий шаблон, то эта запись выполнит парсинг
    этого шаблона и вернет результат. Удобно применять такую запись после
    определения многострочного текста.


    Условные операторы
    ------------------

    Кроме обычных замен в шаблоне парсер позволяет управлять логикой разбора
    шаблона. Для этого существуют два варианта записи условных конструкций.
    * Первый вариант:

    %?
    шаблон_1
    %:%
    шаблон_2
    ?%

    В этой конструкции выбор между шаблонами шаблон_1 и шаблон_2 зависит от
    значения всех шаблонных переменных и функций из первого шаблона (шаблон_1).
    Если все переменные и функции в первом шаблоне возвращают не пустые строки,
    то обработан будет этот первый шаблон, второй будет проигнорирован. Если
    хотя бы одна переменная или функция из первого шаблона вернет пустую
    строку - обработан будет второй шаблон.
    Есть упрощенный вариант записи этой конструкции, когда второго шаблона нет:

    %?
    шаблон
    ?%

    Шаблон будет обработан только при условии, что все переменные и функции в
    шаблоне вернули не пустую строку.

    * Второй вариант записи условия.
    В этом варианте используется шаблонная функция, которая определена в самом
    парсере.
    Есть две формы вызова этой функции:
    1. %IF(%COND%, "строка_1", "строка_2")%
    2. %IF("строка_1", "строка_2")%

    В первой форме функции %IF()% передаются три аргумента:
    первый - это условная переменная, от значения который зависит выбор между
    вторым и третьим аргументом
    второй - строка, которую вернет функция %IF()%, если значение условной
    переменной истинно
    третий - строка, которую вернет функция %IF()%, если значение условной
    переменной ложно

    Во второй форме функции %IF()% передаются два аргумента - оба строки, если
    первая строка не пустая, функция вернет ее, иначе, функция вернет вторую
    строку.

    Для операций сравнения в парсере определены четыре функции, которые можно
    использовать в качестве условия в функции %IF()%.
    1. %TRUE()%
    функция может принимать один и более аргументов, возвращает истинно
    только если все аргументы функции имеют истинное значение.
    2. %EQ()%
    функция принимает два аргумента и сравнивает строки на равенство,
    возвращает истинно, если обе строки равны посимвольно.
    3. %LT()%
    функция принимает два аргумента и сравнивает два числа, возвращает
    истинно, если первое число меньше второго.
    4. %GT()%
    функция принимает два аргумента и сравнивает два числа, возвращает
    истинно, если первое число больше второго.

    Важное замечание: значения "истинно" и "ложно" в шаблонах имеет немного
    иной смысл, чем в языках программирования. Так как, все шаблонные
    функции возвращают строку, то результат работы функций сравнения не
    должен никак отображаться в конечном HTML-коде. Для это были выбраны
    следующие значения, которые возвращают функции сравнения:
    истинно - одиночный символ пробела, в HTML-коде его не будет видно
    ложно - пустая строка

    Однако, для входных аргументов строка "0" имеет значение "ложно", т.к.
    в случае если строка полностью состоит из цифр значение "истинно" будет
    принято только для цифр отличных от нуля.


    Список всех шаблонных функций, встроенных в парсер
    --------------------------------------------------
    Функции для условного выполнения кода:
    %TRUE()%
    %IF()%
    %EQ()%
    %LT()%
    %GT()%

    Функции общего назначения:
    %SESS()%
    %CHAT()%
    %CFG()%
    %CFGJS()%
    %PEOPLE()%
    %CSS()%
    %DATE()%
    %TIME()%
    %LONG_DAYS()%
    %LONG_TIME()%
    %NAVIGATION()%

    Функции для получения данных:
    %GET()%
    %POST()%
    %COOKIE()%
    %AGENT()%
    %SERVER()%

    Функции для строк:
    %TRIM()%
    %UP_CASE()%
    %LOW_CASE()%

    Функции для форм:
    %input()%
    %text()%
    %checkbox()%
    %radio()%
    %radio2()%
    %select()%
    %select2()%
    %button()%
    %submit()%
    • Просмотров: 4261

    Уважаемый пользователь! Вы используете устаревший браузер Internet Explorer 6.
    Дальнейшее использование этого браузера влечет за собой высокий риск заражения Вашего компьютера вирусами.
    Чтобы сделать пребывание в Интернете более удобным и безопасным, рекомендуем установить себе    Internet Explorer 9
    . . . . . . . . . . . . . .
    . . . . .
    Каталог ссылок