Skip to content

Commit

Permalink
v1.1
Browse files Browse the repository at this point in the history
- Добавлены теги для вывода даты отправки сообщения в email. Теги
работают в шаблоне email.tpl. Использование: `{send_date}` или
`{send_date=D.m.Y}`.
- Добавлена возможность вывода формы инлайново. Форма подгружается
по-прежнему на ajax, но выводится сразу после загрузки страницы.
Подробности в шаблоне **inline**
- Добавлен тег `{current_page}` для вывода URL страницы, с которой была
вызвана форма. Используется только в шаблоне email.tpl.
  • Loading branch information
pafnuty committed Jul 2, 2015
1 parent 4addd95 commit 26f08ec
Show file tree
Hide file tree
Showing 11 changed files with 244 additions and 3 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
# Список изменений

## v1.1 (02.07.2015)
- Добавлены теги для вывода даты отправки сообщения в email. Теги работают в шаблоне email.tpl. Использование: `{send_date}` или `{send_date=D.m.Y}`.
- Добавлена возможность вывода формы инлайново. Форма подгружается по-прежнему на ajax, но выводится сразу после загрузки страницы. Подробности в шаблоне **inline**
- Добавлен тег `{current_page}` для вывода URL страницы, с которой была вызвана форма. Используется только в шаблоне email.tpl.


## v1.0 (10.05.2015)
- Первый публичный релиз.

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# DLE-UniForm
![version](https://img.shields.io/badge/version-1.0-red.svg?style=flat-square "Version")
![version](https://img.shields.io/badge/version-1.1-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)

Expand Down
2 changes: 1 addition & 1 deletion upload/engine/modules/uniform/functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -184,4 +184,4 @@ function setConditions($data, $fieldType = '', $arFields = array(), $tpl = false
}

return $data;
}
}
5 changes: 5 additions & 0 deletions upload/engine/modules/uniform/sendmail.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@
$allMailFields .= '[' . $tag . ']{' . $tag . '}[/' . $tag . '] : ' . $value . '<br>';
}

$mailTpl->set('{send_date}', langdate($config['timestamp_active']));
$mailTpl->copy_template = preg_replace_callback("#\{send_date=(.+?)\}#i", "formdate", $mailTpl->copy_template);

// Страница, с которой был вызван модуль
$mailTpl->set('{current_page}', $_SERVER['HTTP_REFERER']);

// Определяем заголовок письма
preg_match("'\\[header\\](.*?)\\[\\/header\\]'si", $mailTpl->copy_template, $mailHeader);
Expand Down
69 changes: 69 additions & 0 deletions upload/templates/Default/uniform/css/uniform.css
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
width: 500px;
position: relative;
}
.uf-wrapper-inline {
margin: 20px 0;
}
.uf-input {
display: block;
height: 30px;
Expand Down Expand Up @@ -90,6 +93,9 @@
padding: 10px 20px;
border-radius: 4px 4px 0 0;
}
.uf-wrapper-inline .uf-header {
border-radius: 0;
}
.uf-content {
padding: 20px;
font-size: 14px;
Expand Down Expand Up @@ -143,6 +149,69 @@
color: #e95241;
}

.uf-inline-loading {
height: 400px;
background: ;
}
.uf-inline-loading {
margin: 40px auto;
font-size: 10px;
position: relative;
text-indent: -9999em;
border-top: 1.1em solid rgba(155, 207, 230, .3);
border-right: 1.1em solid rgba(155, 207, 230, .3);
border-bottom: 1.1em solid rgba(155, 207, 230, .3);
border-left: 1.1em solid #4b9fc5;
-webkit-transform: translateZ(0);
-ms-transform: translateZ(0);
transform: translateZ(0);
-webkit-animation: ufLoading 1.1s infinite linear;
animation: ufLoading 1.1s infinite linear;
}
.uf-inline-loading,
.uf-inline-loading:after {
border-radius: 50%;
width: 10em;
height: 10em;
}
@-webkit-keyframes ufLoading {
0% {
-webkit-transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
}
}
@keyframes ufLoading {
0% {
-webkit-transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
}
}
@keyframes ufLoading {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes ufLoading {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}





Expand Down
2 changes: 2 additions & 0 deletions upload/templates/Default/uniform/inline/.htaccess
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Order Deny,Allow
Allow from all
26 changes: 26 additions & 0 deletions upload/templates/Default/uniform/inline/config.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
// -----------------
// Настройки UniForm
// -----------------

// -------------------------------------------
// Доступные параметры (значение по умолчанию)
// templateFolder — Папка с шаблонами формы формы, указывается подпапка, в папке uniform текущего шаблона сайта сайта (feedback), в которой должны лежать файлы config.tpl, form.tpl и email.tpl
// nocache — Отключение кеширования модуля (false)
// debug — Дебаг (false)
// required — Обязательные поля (false)
// hidden — Разрешенные скрытые поля (false). Такие поля передаются из data-* атрибута кнопки открытия формы
// sendmail — Отправлять email при заполнения формы? (false)
// emails — Адреса почты, на которые необходимо отправлять уведомление (false)
// selectFields — Поля типа select
// checkboxFields — Поля типа checkbox
// radioFields — Поля типа radio
// -------------------------------------------


templateFolder = inline
// nocache = y
// debug = y
required = textarea, email
// hidden = newsid,user
sendmail = y
emails = [email protected], [email protected]
10 changes: 10 additions & 0 deletions upload/templates/Default/uniform/inline/email.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[header]
Обращение из формы обратной связи
[/header]
<h2 style="margin: 0; padding: 20px; color: #ffffff; background: #4b9fc5;">Новое сообщение из формы обратной связи</h2><div style="background: #fafafa; padding: 20px; color: #333333;">
<b>email: </b> {email} <br>
<b>Текст сообщения: </b> <br>
{textarea}
<br><b>Дата отправки: </b> {send_date=D.m.Y} | {send_date}
<br><b>Отправлено со страницы:</b> {current_page}
</div>
88 changes: 88 additions & 0 deletions upload/templates/Default/uniform/inline/form.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
{*
Для вывода формы используем код:
<div data-uf-inline="/engine/ajax/uniform/uniform.php" data-uf-settings='{"formConfig": "inline"}'>
<div class="uf-inline-loading"></div>
</div>
*}
<div class="uf-wrapper-inline">
<div class="uf-header">
Обратная связь
</div>
[debug]<div class="uf-content">{debug}</div>[/debug]
[error]
<div class="uf-alert uf-alert-error">
<b>Ошибка</b>
<ul>
[uf_token_error]
<li>Ошибка сессии, попробуйте ещё раз.</li>
[/uf_token_error]
[uf_error_textarea]
<li>Вы не написали сообщение</li>
[/uf_error_textarea]
[uf_error_email]
<li>Вы не указали email</li>
[/uf_error_email]
[uf_email_error]
<li>Проверьте правильность ввода email</li>
[/uf_email_error]
</ul>
</div>
[/error]
[success]
<div class="uf-alert uf-alert-success"><b>Спасибо за обращение!</b> <br> Если оно потребует ответа — мы свяжемся с вами.</div>
<div class="uf-content">
<div class="uf-field">
<div class="uf-label">
Ваш email
</div>
<div class="uf-field-input">
<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="">
</div>
</div>
<div class="uf-field">
<div class="uf-label">
Сообщение
</div>
<div class="uf-field-input">
<textarea class="uf-input [uf_error_textarea]uf-input-error[/uf_error_textarea]" name="textarea" cols="30" rows="10"></textarea>
</div>
</div>
<div class="uf-field">
<div class="uf-label">
&nbsp;
</div>
<div class="uf-field-input">
<button class="uf-btn ladda-button" type="submit" data-style="zoom-out"><span class="ladda-label">Отправить ещё</span></button>
</div>
</div>
</div>
[/success]
[form]
<div class="uf-content">
<div class="uf-field">
<div class="uf-label">
Ваш email
</div>
<div class="uf-field-input">
<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}">
</div>
</div>
<div class="uf-field">
<div class="uf-label">
Сообщение
</div>
<div class="uf-field-input">
<textarea class="uf-input [uf_error_textarea]uf-input-error[/uf_error_textarea]" name="textarea" cols="30" rows="10">{uf_field_textarea}</textarea>
</div>
</div>
<div class="uf-field">
<div class="uf-label">
&nbsp;
</div>
<div class="uf-field-input">
<button class="uf-btn ladda-button" type="submit" data-style="zoom-out"><span class="ladda-label">Отправить</span></button>
</div>
</div>
</div>
[/form]
</div>
8 changes: 8 additions & 0 deletions upload/templates/Default/uniform/inline/index.htm
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<!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=utf-8" />
<title>Error!!!</title>
</head>
<body>Error!!!</body>
</html>
28 changes: 27 additions & 1 deletion upload/templates/Default/uniform/js/uniform.js
Original file line number Diff line number Diff line change
Expand Up @@ -77,4 +77,30 @@ function ufDone(responseText, statusText, xhr, $form) {
laddaLoad.ladda('stop');
$form.html(responseResult);
}
}
}

jQuery(document).ready(function($) {
var $inlineUniform = $('[data-uf-inline]');
if ($inlineUniform.length) {
$.each($inlineUniform, function(index, val) {
var $this = $(this),
url = $this.data('ufInline'),
data = $this.data('ufSettings');

$.ajax({
url: url,
data: data,
})
.done(function(data) {
$this.html(data);
})
.fail(function() {
console.log("error");
})
.always(function() {
console.log("complete");
});

});
};
});

0 comments on commit 26f08ec

Please sign in to comment.