Skip to content

Commit

Permalink
v.1.0
Browse files Browse the repository at this point in the history
Первый публичный релиз
  • Loading branch information
pafnuty committed May 10, 2015
1 parent 3672b2f commit 4addd95
Show file tree
Hide file tree
Showing 16 changed files with 24 additions and 86 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# Список изменений
## v1.0 (10.05.2015)
- Первый публичный релиз.

## v0.3 (05.05.2015)
- Изменён принцип хранения шаблонов модуля. Теперь все шаблоны каждой из форм хранятся в папке, заданной через конфиг (formConfig), в переменной templateFolder. <br>Например шаблон формы обратной связи (feedback) выглядит так:
```
Expand Down
71 changes: 4 additions & 67 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,74 +1,11 @@
# DLE-UniForm
![version](https://img.shields.io/badge/version-0.3-red.svg?style=flat-square "Version")
![version](https://img.shields.io/badge/version-1.0-red.svg?style=flat-square "Version")
![DLE](https://img.shields.io/badge/DLE-10.X-green.svg?style=flat-square "DLE Version")
[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://github.com/pafnuty/DLE-UniForm/blob/master/LICENSE)

## Описание
DLE-UniForm — простой модуль универсальных форм.
## Информация о модуле
- [Описание и настройка модуля](http://pafnuty.name/modules/159-uniform.html)
- [Список изменений](https://github.com/pafnuty/DLE-UniForm/blob/master/CHANGELOG.md)

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

## Преимущества
- Не использует БД.
- Лёгкость настройки.
- Скорость работы.
- :+1: AJAX вызов и отправка форм (а знчаит бот не сможет спамить).
- Шаблоны email-сообщений в .tpl файлах.

## Установка
- Распаковать содержимое папки **upload** в корень сайта.
- Открыть **{THEME}/main.tpl** и в нужном месте, перед закрывающим тегом `</head>` вставить подключение стилей и скриптов модуля:
```html
<!-- DLE UniForm -->
<link rel="stylesheet" href="/engine/classes/min/index.php?charset=utf-8&amp;f={THEME}/uniform/css/uniform.css&amp;01" />
<script type="text/javascript" src="/engine/classes/min/index.php?charset=utf-8&amp;f={THEME}/uniform/js/jquery.magnificpopup.min.js,{THEME}/uniform/js/jquery.ladda.min.js,{THEME}/uniform/js/jquery.form.min.js,{THEME}/uniform/js/uniform.js&amp;01"></script>
<!-- /DLE UniForm -->
```
- Далее в нужном шаблоне, в нужном месте вставить кнопку вызова ajax-окна формы:
```html
<span class="uf-btn" data-uf-open="/engine/ajax/uniform/uniform.php" data-uf-settings='{"formConfig": "feedback"}'>Обратная связь</span>
```
где **feedback** — Папка с шаблонами формы формы, указывается подпапка, в папке uniform текущего шаблона сайта (feedback), в которой должны лежать файлы config.tpl, form.tpl и email.tpl.
Например шаблон формы обратной связи (feedback) выглядит так:
```
{THEME}/uniform/
└── feedback/
├── config.tpl - файл конфига
├── email.tpl - файл email-сообщения
└── form.tpl - файл вывода формы
```

Если всё прошло удачно — при нажатии на кнопку вы увидите такую форму:
![UniForm](https://dl.dropboxusercontent.com/u/8142395/uniform.png "UniForm")

## Настройка
- Описание и примеры параметров формы можно найти в файле **{THEME}/uniform/test/form.tpl**.
- Описание и примеры параметров email-сообщения можно найти в файле **{THEME}/uniform/callback/email.tpl**.

В форму можно передавать дополнительные данные со страницы через атрибут `data-uf-settings`. Например так:
```html
<span data-uf-open="/engine/ajax/uniform/uniform.php" data-uf-settings='{"formConfig": "feedback", "fields":{"newsid": "56", "user": "ПафНутиЙ"}}'>Обратная связь</span>
```
При этом в файле конфига формы нужно указать ключи, которые будут добавлены к форме в виде скрытых полей `hidden = newsid,user` (и в последствии отправятся на email, если требуется).

Если в качестве обязательного поля указан ключ `email` — такое поле будет проверено на соответствие email-адресу (наличие знака @ и точки). Пример:
```
<input
class="
uf-input
uf-input-first
[uf_error_email]uf-input-error[/uf_error_email]
[uf_email_error]uf-input-error[/uf_email_error]
"
type="text"
name="email"
value="{uf_field_email}"
>
```
теги `[uf_error_email][/uf_error_email]` — выведут информацию, если поле email не заполнено. <br>
теги `[uf_email_error][/uf_email_error]` — выведут информацию только в том случаи, если email не пройдёт валидацию. Не путайте их.

### Принцип построения тегов:
- Принципы построения тегов можно наблюдать в файле **{THEME}/uniform/test/form.tpl**, там выведены все возможные варианты, понять несложно.


5 changes: 2 additions & 3 deletions upload/engine/modules/uniform/cfg.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,10 @@
'required' => !empty($required) ? $required : (isset($arConf['required'])) ? $arConf['required'] : false,
'hidden' => !empty($hidden) ? $hidden : (isset($arConf['hidden'])) ? $arConf['hidden'] : false,
'sendmail' => !empty($sendmail) ? $sendmail : (isset($arConf['sendmail'])) ? $arConf['sendmail'] : false,
// 'mailTemplate' => !empty($mailTemplate) ? $mailTemplate : (isset($arConf['mailTemplate'])) ? $arConf['mailTemplate'] : 'feedback',
'emails' => !empty($emails) ? $emails : (isset($arConf['emails'])) ? $arConf['emails'] : false,
'selectFields' => !empty($selectFields) ? $selectFields : (isset($arConf['selectFields'])) ? $arConf['selectFields'] : false,
'checkboxFields' => !empty($checkboxFields) ? $checkboxFields : (isset($arConf['checkboxFields'])) ? $arConf['checkboxFields'] : false,
'radioFields' => !empty($radioFields) ? $radioFields : (isset($arConf['radioFields'])) ? $arConf['radioFields'] : false,
'version' => '0.3',
'releaseDate' => '05.05.2015',
'version' => '1.0',
'releaseDate' => '10.05.2015',
);
4 changes: 0 additions & 4 deletions upload/engine/modules/uniform/uniform.php
Original file line number Diff line number Diff line change
Expand Up @@ -199,10 +199,6 @@
$tpl->set('[/form]', '');
$tpl->set('[error]', '');
$tpl->set('[/error]', '');

if (condition) {
# code...
}
}
$tpl->copy_template = preg_replace("'\\[uf_default_value\\](.*?)\\[/uf_default_value\\]'is", '', $tpl->copy_template);
// Добавляем пользовательские скрытые поля
Expand Down
2 changes: 1 addition & 1 deletion upload/templates/Default/uniform/callback/config.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,4 @@ templateFolder = callback
required = phone
selectFields = calltime
sendmail = y
emails = p13mm@yandex.ru
emails = mail@mail.ru
2 changes: 1 addition & 1 deletion upload/templates/Default/uniform/callback/form.tpl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{*
Для вывода кнопки открытия формы используем код:
<span data-uf-open="/engine/ajax/uniform/uniform.php" data-uf-settings='{"formConfig": "callback"}' class='uf-btn'>Заказать</span>
<span data-uf-open="/engine/ajax/uniform/uniform.php" data-uf-settings='{"formConfig": "callback"}' class="uf-btn">Заказать звонок</span>
*}
<div class="uf-wrapper">
<span class="mfp-close">&times;</span>
Expand Down
2 changes: 1 addition & 1 deletion upload/templates/Default/uniform/callback/index.htm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Error!!!</title>
</head>
<body>Error!!!</body>
Expand Down
2 changes: 1 addition & 1 deletion upload/templates/Default/uniform/css/index.htm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Error!!!</title>
</head>
<body>Error!!!</body>
Expand Down
3 changes: 1 addition & 2 deletions upload/templates/Default/uniform/feedback/config.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,4 @@ templateFolder = feedback
required = textarea, email
// hidden = newsid,user
sendmail = y
// mailTemplate = feedback
// emails = [email protected]
// emails = [email protected], [email protected]
4 changes: 4 additions & 0 deletions upload/templates/Default/uniform/feedback/form.tpl
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
{*
Для вывода кнопки открытия формы используем код:
<span data-uf-open="/engine/ajax/uniform/uniform.php" data-uf-settings='{"formConfig": "feedback"}' class="uf-btn">Обратная связь</span>
*}
<div class="uf-wrapper">
<span class="mfp-close">&times;</span>
<div class="uf-header">
Expand Down
2 changes: 1 addition & 1 deletion upload/templates/Default/uniform/feedback/index.htm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Error!!!</title>
</head>
<body>Error!!!</body>
Expand Down
2 changes: 1 addition & 1 deletion upload/templates/Default/uniform/index.htm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Error!!!</title>
</head>
<body>Error!!!</body>
Expand Down
2 changes: 1 addition & 1 deletion upload/templates/Default/uniform/js/index.htm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Error!!!</title>
</head>
<body>Error!!!</body>
Expand Down
2 changes: 1 addition & 1 deletion upload/templates/Default/uniform/test/config.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@ selectFields = select1, select2
checkboxFields = checkbox1, checkbox2
radioFields = radio1
sendmail = y
emails = p13mm@yandex.ru
emails = mail@mail.ru, [email protected],
2 changes: 1 addition & 1 deletion upload/templates/Default/uniform/test/form.tpl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{*
Для вывода кнопки открытия формы используем код:
<span data-uf-open="/engine/ajax/uniform/uniform.php" data-uf-settings='{"formConfig": "test", "fields":{"morefield1": "скрытый текст", "morefield2": "Ещё скрытый текст", "notsend": "Это поле не учитывается т.к. не прописано в конфиге"}}' class='uf-btn'>Тестовая форма</span>
<span data-uf-open="/engine/ajax/uniform/uniform.php" data-uf-settings='{"formConfig": "test", "fields":{"morefield1": "скрытый текст", "morefield2": "Ещё скрытый текст", "notsend": "Это поле не учитывается т.к. не прописано в конфиге"}}' class="uf-btn">Тестовая форма</span>
*}
<div class="uf-wrapper">
<span class="mfp-close">&times;</span>
Expand Down
2 changes: 1 addition & 1 deletion upload/templates/Default/uniform/test/index.htm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Error!!!</title>
</head>
<body>Error!!!</body>
Expand Down

0 comments on commit 4addd95

Please sign in to comment.