Repellent
5 years ago
28 changed files with 2004 additions and 3242 deletions
File diff suppressed because it is too large
Load Diff
@ -1,313 +0,0 @@ |
|||||||
<?php |
|
||||||
$form_tpl = array( |
|
||||||
'ajax_jqval_cap' => |
|
||||||
'<div id=\\"[tag:formalias]\\" class=\\"col-sm-8 col-sm-offset-2\\"> |
|
||||||
<div class=\\"page-header\\"> |
|
||||||
<div class=\\"alert alert-info text-center\\" role=\\"alert\\"> |
|
||||||
<h4>Демо интеграции в Модуль Контакты New v1.2.5<br><br> <a href=\\"https://jqueryvalidation.org/\\">jQuery Validation Plugin</a> и <a href=\\"https://developers.google.com/recaptcha/docs/v3\\">reCAPTCHA v3</a></h4> |
|
||||||
</div> |
|
||||||
<div class=\\"alert alert-warning alert-dismissable\\"> |
|
||||||
Если форма не работает, или не работает валидация (отправляется пустая форма без проверки и т.п.) убедитесь, что библиотека jQuery (jquery.min.js - по умолчанию подключается модулем) подключена на странице только один раз! и расположена в секции <head> , а также подключен скрипт jquery.form.min.js (по умолчанию подключается модулем в разделе Скрипты и стили, необходимые для оформления и функционирования формы) |
|
||||||
<button type=\\"button\\" class=\\"close\\" data-dismiss=\\"alert\\" aria-hidden=\\"true\\">×</button> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
<div class=\\"panel panel-default\\"> |
|
||||||
<div class=\\"panel-heading\\"> |
|
||||||
<h3 class=\\"panel-title\\">[tag:formtitle]</h3> |
|
||||||
</div> |
|
||||||
<div class=\\"panel-body\\"> |
|
||||||
<form id=\\"form-[tag:formalias]\\" method=\\"post\\" enctype=\\"multipart/form-data\\" class=\\"form-horizontal\\" role=\\"form\\" action=\\"\\"> |
|
||||||
[tag:fld:email] |
|
||||||
[tag:fld:subject] |
|
||||||
[tag:fld:6] |
|
||||||
[tag:fld:7] |
|
||||||
[tag:fld:8] |
|
||||||
[tag:fld:9] |
|
||||||
<div class=\\"form-group\\"> |
|
||||||
<div id=\\"addbtn-[tag:formalias]\\" class=\\"col-sm-offset-4 col-sm-4\\"> |
|
||||||
<noscript>включите js в браузере</noscript> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</form> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
<script type=\\"text/javascript\\"> |
|
||||||
|
|
||||||
$( document ).ready( function () { |
|
||||||
$(\\"#addbtn-[tag:formalias]\\").append(\\\'<button type=\\"submit\\" class=\\"btn btn-primary\\">Отправить</button>\\\'); |
|
||||||
$( \\"#form-[tag:formalias]\\" ).validate( { |
|
||||||
rules: { |
|
||||||
\\"form-ajax_jqval_cap[1]\\": { |
|
||||||
required: true, |
|
||||||
email: true |
|
||||||
}, |
|
||||||
\\"form-ajax_jqval_cap[2]\\": { |
|
||||||
required: true, |
|
||||||
minlength: 4 |
|
||||||
}, |
|
||||||
\\"form-ajax_jqval_cap[6]\\": { |
|
||||||
required: true, |
|
||||||
minlength: 2 |
|
||||||
}, |
|
||||||
\\"form-ajax_jqval_cap[7]\\": { |
|
||||||
required: true, |
|
||||||
maxlength: 4 |
|
||||||
}, |
|
||||||
\\"form-ajax_jqval_cap[8]\\": \\"required\\" |
|
||||||
}, |
|
||||||
messages: { |
|
||||||
\\"form-ajax_jqval_cap[1]\\": { |
|
||||||
required: \\"Поле \\\'Email\\\' обязательно к заполнению\\", |
|
||||||
email: \\"Пожалуйста, введите действительный адрес электронной почты\\" |
|
||||||
}, |
|
||||||
\\"form-ajax_jqval_cap[2]\\": { |
|
||||||
required: \\"Поле \\\'Тема\\\' обязательно к заполнению\\", |
|
||||||
minlength: \\"Название темы должно содержать не менее 4 символов\\" |
|
||||||
}, |
|
||||||
\\"form-ajax_jqval_cap[6]\\": { |
|
||||||
required: \\"Поле \\\'Никнейм\\\' обязательно к заполнению\\", |
|
||||||
minlength: \\"Никнейм не может быть менее 2 символов\\" |
|
||||||
}, |
|
||||||
\\"form-ajax_jqval_cap[7]\\": { |
|
||||||
required: \\"Поле \\\'Текст сообщения\\\' обязательно к заполнению\\", |
|
||||||
maxlength: \\"Текст сообщения не может превышать 4 символов\\" |
|
||||||
}, |
|
||||||
\\"form-ajax_jqval_cap[8]\\": \\"Чекбокс должен быть активным\\" |
|
||||||
}, |
|
||||||
errorElement: \\"em\\", |
|
||||||
errorPlacement: function ( error, element ) { |
|
||||||
// Add the help-block class to the error element |
|
||||||
error.addClass( \\"help-block\\" ); |
|
||||||
|
|
||||||
if ( element.prop( \\"type\\" ) === \\"checkbox\\" ) { |
|
||||||
error.insertAfter( element.parent( \\"label\\" ) ); |
|
||||||
} else { |
|
||||||
error.insertAfter( element ); |
|
||||||
} |
|
||||||
}, |
|
||||||
highlight: function ( element, errorClass, validClass ) { |
|
||||||
$( element ).parents( \\".col-sm-5\\" ).addClass( \\"has-error\\" ).removeClass( \\"has-success\\" ); |
|
||||||
}, |
|
||||||
unhighlight: function (element, errorClass, validClass) { |
|
||||||
$( element ).parents( \\".col-sm-5\\" ).addClass( \\"has-success\\" ).removeClass( \\"has-error\\" ); |
|
||||||
}, |
|
||||||
submitHandler: function(form) { |
|
||||||
if ($(\\".app_err_msg\\").length) {$(\\\'.app_err_msg\\\').remove();} |
|
||||||
grecaptcha.ready(function() { |
|
||||||
grecaptcha.execute(\\\'Публичный ключ reCAPTCHA v3\\\', {action: \\\'submit_form\\\'}) |
|
||||||
.then(function(token) { |
|
||||||
$.ajax({ |
|
||||||
type: \\\'post\\\', |
|
||||||
url: \\\'[tag:path]inc/recaptcha3srvcode.php\\\', |
|
||||||
data: {token: token}, |
|
||||||
dataType: \\\'json\\\' |
|
||||||
}).done(function(data) { |
|
||||||
if (data.score < 0.5) |
|
||||||
{$(\\\'#form-[tag:formalias]\\\').append(\\\'<div class=\\"app_err_msg alert alert-danger text-center\\" role=\\"alert\\"><h4>Вы не прошли валидацию защитой от спама reCAPTCHA</h4></div>\\\'); |
|
||||||
$(\\\'button[type=submit]\\\',form).prop(\\\'disabled\\\',true); |
|
||||||
} |
|
||||||
else { |
|
||||||
$(\\\'#hidden_fld_[tag:formalias]\\\').val(\\\'\\\'); |
|
||||||
$(\\\'#hidden_fld_[tag:formalias]\\\').val(data.score); |
|
||||||
$(\\\'#form-[tag:formalias]\\\').ajaxSubmit({ |
|
||||||
url: \\\'[tag:path]index.php?module=contactsnew\\\', |
|
||||||
data: { |
|
||||||
alias_id: \\\'[tag:formalias]\\\' |
|
||||||
}, |
|
||||||
success: function (data) { |
|
||||||
$(\\\'#form-[tag:formalias]\\\').after(data).remove(); |
|
||||||
} |
|
||||||
}); |
|
||||||
return false; |
|
||||||
} |
|
||||||
}); |
|
||||||
}); |
|
||||||
}); |
|
||||||
|
|
||||||
} |
|
||||||
}); |
|
||||||
}); |
|
||||||
</script>' |
|
||||||
); |
|
||||||
|
|
||||||
$demo = array( |
|
||||||
'alias' => 'ajax_jqval_cap', |
|
||||||
'title' => 'Демо форма с Ajax, jQuery Validation Plugin и reCAPTCHA v3', |
|
||||||
'mail_set' => array( |
|
||||||
'from_name' => '', |
|
||||||
'from_email' => '', |
|
||||||
'subject_tpl' => '[tag:fld:subject]', |
|
||||||
'receivers' => array( |
|
||||||
array( |
|
||||||
'email' => '', |
|
||||||
'name' => '' |
|
||||||
) |
|
||||||
), |
|
||||||
'format' => 'text', |
|
||||||
), |
|
||||||
'rubheader' => '<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> |
|
||||||
<script src="https://www.recaptcha.net/recaptcha/api.js?render=Публичный ключ reCAPTCHA v3"></script> |
|
||||||
<script type="text/javascript" src="[tag:path]modules/contactsnew/js/jquery.form.min.js"></script> |
|
||||||
<script type="text/javascript" src="[tag:path]modules/contactsnew/js/jquery.validate.min.js"></script> |
|
||||||
', |
|
||||||
'form_tpl' => $form_tpl[$_REQUEST['demo']], |
|
||||||
'mail_tpl' => '[tag:easymail]', |
|
||||||
'finish_tpl' => '<div class="alert alert-success"> |
|
||||||
Форма успешно отправлена! <a style="cursor: pointer; text-decoration: none;" onclick="window.location.href=this">Обновить страницу</a> |
|
||||||
</div> |
|
||||||
', |
|
||||||
'code_onsubmit' => '', |
|
||||||
'code_onvalidate' => '', |
|
||||||
'code_onsend' => '', |
|
||||||
'fields' => array( |
|
||||||
1 => array( |
|
||||||
'new' => true, |
|
||||||
'form_id' => $fid, |
|
||||||
'title' => 'email', |
|
||||||
'active' => 1, |
|
||||||
'type' => 'input', |
|
||||||
'main' => 1, |
|
||||||
'setting' => '', |
|
||||||
'required' => 0, |
|
||||||
'defaultval' => '', |
|
||||||
'attributes' => 'id="fld[[tag:id]]" class="form-control" placeholder="[tag:title]"', |
|
||||||
'tpl' => '<div class="form-group"> |
|
||||||
<label class="col-sm-4 control-label" for="fld[[tag:id]]">[tag:title]</label> |
|
||||||
<div class="col-sm-5"> |
|
||||||
[tag:fld] |
|
||||||
</div> |
|
||||||
</div>' |
|
||||||
), |
|
||||||
2 => array( |
|
||||||
'new' => true, |
|
||||||
'form_id' => $fid, |
|
||||||
'title' => 'subject', |
|
||||||
'active' => 1, |
|
||||||
'type' => 'input', |
|
||||||
'main' => 1, |
|
||||||
'setting' => '', |
|
||||||
'required' => 0, |
|
||||||
'defaultval' => '', |
|
||||||
'attributes' => 'id="fld[[tag:id]]" class="form-control" placeholder="[tag:title]"', |
|
||||||
'tpl' => '<div class="form-group"> |
|
||||||
<label class="col-sm-4 control-label" for="fld[[tag:id]]">[tag:title]</label> |
|
||||||
<div class="col-sm-5"> |
|
||||||
[tag:fld] |
|
||||||
</div> |
|
||||||
</div>' |
|
||||||
), |
|
||||||
3 => array( |
|
||||||
'new' => true, |
|
||||||
'form_id' => $fid, |
|
||||||
'title' => 'receivers', |
|
||||||
'active' => 0, |
|
||||||
'type' => 'select', |
|
||||||
'main' => 1, |
|
||||||
'setting' => '', |
|
||||||
'required' => 0, |
|
||||||
'defaultval' => 0, |
|
||||||
'attributes' => '', |
|
||||||
'tpl' => '' |
|
||||||
), |
|
||||||
4 => array( |
|
||||||
'new' => true, |
|
||||||
'form_id' => $fid, |
|
||||||
'title' => 'copy', |
|
||||||
'active' => 0, |
|
||||||
'type' => 'checkbox', |
|
||||||
'main' => 1, |
|
||||||
'setting' => '', |
|
||||||
'required' => 0, |
|
||||||
'defaultval' => 1, |
|
||||||
'attributes' => '', |
|
||||||
'tpl' => '' |
|
||||||
), |
|
||||||
5 => array( |
|
||||||
'new' => true, |
|
||||||
'form_id' => $fid, |
|
||||||
'title' => 'captcha', |
|
||||||
'active' => 0, |
|
||||||
'type' => 'input', |
|
||||||
'main' => 1, |
|
||||||
'setting' => '', |
|
||||||
'required' => 1, |
|
||||||
'defaultval' => '', |
|
||||||
'attributes' => '', |
|
||||||
'tpl' => '' |
|
||||||
), |
|
||||||
6 => array( |
|
||||||
'new' => true, |
|
||||||
'form_id' => $fid, |
|
||||||
'title' => 'Никнейм', |
|
||||||
'active' => 1, |
|
||||||
'type' => 'input', |
|
||||||
'main' => 0, |
|
||||||
'setting' => '', |
|
||||||
'required' => 0, |
|
||||||
'defaultval' => '', |
|
||||||
'attributes' => 'id="fld[[tag:id]]" class="form-control" placeholder="[tag:title]"', |
|
||||||
'tpl' => '<div class="form-group"> |
|
||||||
<label class="col-sm-4 control-label" for="fld[[tag:id]]">[tag:title]</label> |
|
||||||
<div class="col-sm-5"> |
|
||||||
[tag:fld] |
|
||||||
</div> |
|
||||||
</div>' |
|
||||||
), |
|
||||||
7 => array( |
|
||||||
'new' => true, |
|
||||||
'form_id' => $fid, |
|
||||||
'title' => 'Текст сообщения', |
|
||||||
'active' => 1, |
|
||||||
'type' => 'textarea', |
|
||||||
'main' => 0, |
|
||||||
'setting' => '', |
|
||||||
'required' => 0, |
|
||||||
'defaultval' => '', |
|
||||||
'attributes' => 'id="fld[[tag:id]]" class="form-control" placeholder="[tag:title]"', |
|
||||||
'tpl' => '<div class="form-group"> |
|
||||||
<label class="col-sm-4 control-label" for="fld[[tag:id]]">[tag:title]</label> |
|
||||||
<div class="col-sm-5"> |
|
||||||
[tag:fld] |
|
||||||
</div> |
|
||||||
</div>' |
|
||||||
), |
|
||||||
8 => array( |
|
||||||
'new' => true, |
|
||||||
'form_id' => $fid, |
|
||||||
'title' => 'Работа чекбокса', |
|
||||||
'active' => 1, |
|
||||||
'type' => 'checkbox', |
|
||||||
'main' => 0, |
|
||||||
'setting' => '', |
|
||||||
'required' => 0, |
|
||||||
'defaultval' => '', |
|
||||||
'attributes' => 'id="fld[[tag:id]]" value="agree"', |
|
||||||
'tpl' => '<div class="form-group"> |
|
||||||
<div class="col-sm-5 col-sm-offset-4"> |
|
||||||
<div class="checkbox"> |
|
||||||
<label> |
|
||||||
[tag:fld]Пример валидации чекбокса |
|
||||||
</label> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</div>' |
|
||||||
), |
|
||||||
9 => array( |
|
||||||
'new' => true, |
|
||||||
'form_id' => $fid, |
|
||||||
'title' => 'Оценка отправителя формы сервисом reCAPTCHA', |
|
||||||
'active' => 1, |
|
||||||
'type' => 'input', |
|
||||||
'main' => 0, |
|
||||||
'setting' => '', |
|
||||||
'required' => 0, |
|
||||||
'defaultval' => '', |
|
||||||
'attributes' => 'id="hidden_fld_[tag:formalias]" type="hidden"', |
|
||||||
'tpl' => '[tag:fld]' |
|
||||||
) |
|
||||||
|
|
||||||
|
|
||||||
) |
|
||||||
); |
|
@ -1,303 +0,0 @@ |
|||||||
<?php |
|
||||||
$form_tpl = array( |
|
||||||
'jqval_cap' => |
|
||||||
'<div id=\\"[tag:formalias]\\" class=\\"col-sm-8 col-sm-offset-2\\"> |
|
||||||
<div class=\\"page-header\\"> |
|
||||||
<div class=\\"alert alert-info text-center\\" role=\\"alert\\"> |
|
||||||
<h4>Демо интеграции в Модуль Контакты New v1.2.5<br><br> <a href=\\"https://jqueryvalidation.org/\\">jQuery Validation Plugin</a> и <a href=\\"https://developers.google.com/recaptcha/docs/v3\\">reCAPTCHA v3</a></h4> |
|
||||||
</div> |
|
||||||
<div class=\\"alert alert-warning alert-dismissable\\"> |
|
||||||
Если не работает валидация (отправляется пустая форма без проверки и т.п.) убедитесь, что библиотека jQuery (jquery.min.js - по умолчанию подключается модулем) подключена на странице только один раз! и расположена в секции <head> |
|
||||||
<button type=\\"button\\" class=\\"close\\" data-dismiss=\\"alert\\" aria-hidden=\\"true\\">×</button> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
<div class=\\"panel panel-default\\"> |
|
||||||
<div class=\\"panel-heading\\"> |
|
||||||
<h3 class=\\"panel-title\\">[tag:formtitle]</h3> |
|
||||||
</div> |
|
||||||
<div class=\\"panel-body\\"> |
|
||||||
<form id=\\"form-[tag:formalias]\\" method=\\"post\\" enctype=\\"multipart/form-data\\" class=\\"form-horizontal\\" role=\\"form\\" action=\\"\\"> |
|
||||||
[tag:fld:email] |
|
||||||
[tag:fld:subject] |
|
||||||
[tag:fld:6] |
|
||||||
[tag:fld:7] |
|
||||||
[tag:fld:8] |
|
||||||
[tag:fld:9] |
|
||||||
<div class=\\"form-group\\"> |
|
||||||
<div id=\\"addbtn-[tag:formalias]\\" class=\\"col-sm-offset-4 col-sm-4\\"> |
|
||||||
<noscript>включите js в браузере</noscript> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</form> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
<script type=\\"text/javascript\\"> |
|
||||||
|
|
||||||
$( document ).ready( function () { |
|
||||||
$(\\"#addbtn-[tag:formalias]\\").append(\\\'<button type=\\"submit\\" class=\\"btn btn-primary\\">Отправить</button>\\\'); |
|
||||||
$( \\"#form-[tag:formalias]\\" ).validate( { |
|
||||||
rules: { |
|
||||||
\\"form-jqval_cap[1]\\": { |
|
||||||
required: true, |
|
||||||
email: true |
|
||||||
}, |
|
||||||
\\"form-jqval_cap[2]\\": { |
|
||||||
required: true, |
|
||||||
minlength: 4 |
|
||||||
}, |
|
||||||
\\"form-jqval_cap[6]\\": { |
|
||||||
required: true, |
|
||||||
minlength: 2 |
|
||||||
}, |
|
||||||
\\"form-jqval_cap[7]\\": { |
|
||||||
required: true, |
|
||||||
maxlength: 4 |
|
||||||
}, |
|
||||||
\\"form-jqval_cap[8]\\": \\"required\\" |
|
||||||
}, |
|
||||||
messages: { |
|
||||||
\\"form-jqval_cap[1]\\": { |
|
||||||
required: \\"Поле \\\'Email\\\' обязательно к заполнению\\", |
|
||||||
email: \\"Пожалуйста, введите действительный адрес электронной почты\\" |
|
||||||
}, |
|
||||||
\\"form-jqval_cap[2]\\": { |
|
||||||
required: \\"Поле \\\'Тема\\\' обязательно к заполнению\\", |
|
||||||
minlength: \\"Название темы должно содержать не менее 4 символов\\" |
|
||||||
}, |
|
||||||
\\"form-jqval_cap[6]\\": { |
|
||||||
required: \\"Поле \\\'Никнейм\\\' обязательно к заполнению\\", |
|
||||||
minlength: \\"Никнейм не может быть менее 2 символов\\" |
|
||||||
}, |
|
||||||
\\"form-jqval_cap[7]\\": { |
|
||||||
required: \\"Поле \\\'Текст сообщения\\\' обязательно к заполнению\\", |
|
||||||
maxlength: \\"Текст сообщения не может превышать 4 символов\\" |
|
||||||
}, |
|
||||||
\\"form-jqval_cap[8]\\": \\"Чекбокс должен быть активным\\" |
|
||||||
}, |
|
||||||
errorElement: \\"em\\", |
|
||||||
errorPlacement: function ( error, element ) { |
|
||||||
// Add the help-block class to the error element |
|
||||||
error.addClass( \\"help-block\\" ); |
|
||||||
|
|
||||||
if ( element.prop( \\"type\\" ) === \\"checkbox\\" ) { |
|
||||||
error.insertAfter( element.parent( \\"label\\" ) ); |
|
||||||
} else { |
|
||||||
error.insertAfter( element ); |
|
||||||
} |
|
||||||
}, |
|
||||||
highlight: function ( element, errorClass, validClass ) { |
|
||||||
$( element ).parents( \\".col-sm-5\\" ).addClass( \\"has-error\\" ).removeClass( \\"has-success\\" ); |
|
||||||
}, |
|
||||||
unhighlight: function (element, errorClass, validClass) { |
|
||||||
$( element ).parents( \\".col-sm-5\\" ).addClass( \\"has-success\\" ).removeClass( \\"has-error\\" ); |
|
||||||
}, |
|
||||||
submitHandler: function(form) { |
|
||||||
if ($(\\".app_err_msg\\").length) {$(\\\'.app_err_msg\\\').remove();} |
|
||||||
grecaptcha.ready(function() { |
|
||||||
grecaptcha.execute(\\\'Публичный ключ reCAPTCHA v3\\\', {action: \\\'submit_form\\\'}) |
|
||||||
.then(function(token) { |
|
||||||
$.ajax({ |
|
||||||
type: \\\'post\\\', |
|
||||||
url: \\\'[tag:path]inc/recaptcha3srvcode.php\\\', |
|
||||||
data: {token: token}, |
|
||||||
dataType: \\\'json\\\' |
|
||||||
}).done(function(data) { |
|
||||||
if (data.score < 0.5) |
|
||||||
{$(\\\'#form-[tag:formalias]\\\').append(\\\'<div class=\\"app_err_msg alert alert-danger text-center\\" role=\\"alert\\"><h4>Вы не прошли валидацию защитой от спама reCAPTCHA</h4></div>\\\'); |
|
||||||
$(\\\'button[type=submit]\\\',form).prop(\\\'disabled\\\',true); |
|
||||||
} |
|
||||||
else { |
|
||||||
$(\\\'#hidden_fld_[tag:formalias]\\\').val(\\\'\\\'); |
|
||||||
$(\\\'#hidden_fld_[tag:formalias]\\\').val(data.score); |
|
||||||
form.submit(); |
|
||||||
} |
|
||||||
}); |
|
||||||
}); |
|
||||||
}); |
|
||||||
|
|
||||||
} |
|
||||||
}); |
|
||||||
}); |
|
||||||
</script>' |
|
||||||
); |
|
||||||
|
|
||||||
$demo = array( |
|
||||||
'alias' => 'jqval_cap', |
|
||||||
'title' => 'Демо форма с jQuery Validation Plugin и reCAPTCHA v3', |
|
||||||
'mail_set' => array( |
|
||||||
'from_name' => '', |
|
||||||
'from_email' => '', |
|
||||||
'subject_tpl' => '[tag:fld:subject]', |
|
||||||
'receivers' => array( |
|
||||||
array( |
|
||||||
'email' => '', |
|
||||||
'name' => '' |
|
||||||
) |
|
||||||
), |
|
||||||
'format' => 'text', |
|
||||||
), |
|
||||||
'rubheader' => '<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> |
|
||||||
<script src="https://www.recaptcha.net/recaptcha/api.js?render=Публичный ключ reCAPTCHA v3"></script> |
|
||||||
<script type="text/javascript" src="[tag:path]modules/contactsnew/js/jquery.validate.min.js"></script> |
|
||||||
', |
|
||||||
'form_tpl' => $form_tpl[$_REQUEST['demo']], |
|
||||||
'mail_tpl' => '[tag:easymail]', |
|
||||||
'finish_tpl' => '<div class="alert alert-success"> |
|
||||||
Форма успешно отправлена! <a style="cursor: pointer; text-decoration: none;" onclick="window.location.href=this">Обновить страницу</a> |
|
||||||
</div> |
|
||||||
', |
|
||||||
'code_onsubmit' => '', |
|
||||||
'code_onvalidate' => '', |
|
||||||
'code_onsend' => '', |
|
||||||
'fields' => array( |
|
||||||
1 => array( |
|
||||||
'new' => true, |
|
||||||
'form_id' => $fid, |
|
||||||
'title' => 'email', |
|
||||||
'active' => 1, |
|
||||||
'type' => 'input', |
|
||||||
'main' => 1, |
|
||||||
'setting' => '', |
|
||||||
'required' => 0, |
|
||||||
'defaultval' => '', |
|
||||||
'attributes' => 'id="fld[[tag:id]]" class="form-control" placeholder="[tag:title]"', |
|
||||||
'tpl' => '<div class="form-group"> |
|
||||||
<label class="col-sm-4 control-label" for="fld[[tag:id]]">[tag:title]</label> |
|
||||||
<div class="col-sm-5"> |
|
||||||
[tag:fld] |
|
||||||
</div> |
|
||||||
</div>' |
|
||||||
), |
|
||||||
2 => array( |
|
||||||
'new' => true, |
|
||||||
'form_id' => $fid, |
|
||||||
'title' => 'subject', |
|
||||||
'active' => 1, |
|
||||||
'type' => 'input', |
|
||||||
'main' => 1, |
|
||||||
'setting' => '', |
|
||||||
'required' => 0, |
|
||||||
'defaultval' => '', |
|
||||||
'attributes' => 'id="fld[[tag:id]]" class="form-control" placeholder="[tag:title]"', |
|
||||||
'tpl' => '<div class="form-group"> |
|
||||||
<label class="col-sm-4 control-label" for="fld[[tag:id]]">[tag:title]</label> |
|
||||||
<div class="col-sm-5"> |
|
||||||
[tag:fld] |
|
||||||
</div> |
|
||||||
</div>' |
|
||||||
), |
|
||||||
3 => array( |
|
||||||
'new' => true, |
|
||||||
'form_id' => $fid, |
|
||||||
'title' => 'receivers', |
|
||||||
'active' => 0, |
|
||||||
'type' => 'select', |
|
||||||
'main' => 1, |
|
||||||
'setting' => '', |
|
||||||
'required' => 0, |
|
||||||
'defaultval' => 0, |
|
||||||
'attributes' => '', |
|
||||||
'tpl' => '' |
|
||||||
), |
|
||||||
4 => array( |
|
||||||
'new' => true, |
|
||||||
'form_id' => $fid, |
|
||||||
'title' => 'copy', |
|
||||||
'active' => 0, |
|
||||||
'type' => 'checkbox', |
|
||||||
'main' => 1, |
|
||||||
'setting' => '', |
|
||||||
'required' => 0, |
|
||||||
'defaultval' => 1, |
|
||||||
'attributes' => '', |
|
||||||
'tpl' => '' |
|
||||||
), |
|
||||||
5 => array( |
|
||||||
'new' => true, |
|
||||||
'form_id' => $fid, |
|
||||||
'title' => 'captcha', |
|
||||||
'active' => 0, |
|
||||||
'type' => 'input', |
|
||||||
'main' => 1, |
|
||||||
'setting' => '', |
|
||||||
'required' => 1, |
|
||||||
'defaultval' => '', |
|
||||||
'attributes' => '', |
|
||||||
'tpl' => '' |
|
||||||
), |
|
||||||
6 => array( |
|
||||||
'new' => true, |
|
||||||
'form_id' => $fid, |
|
||||||
'title' => 'Никнейм', |
|
||||||
'active' => 1, |
|
||||||
'type' => 'input', |
|
||||||
'main' => 0, |
|
||||||
'setting' => '', |
|
||||||
'required' => 0, |
|
||||||
'defaultval' => '', |
|
||||||
'attributes' => 'id="fld[[tag:id]]" class="form-control" placeholder="[tag:title]"', |
|
||||||
'tpl' => '<div class="form-group"> |
|
||||||
<label class="col-sm-4 control-label" for="fld[[tag:id]]">[tag:title]</label> |
|
||||||
<div class="col-sm-5"> |
|
||||||
[tag:fld] |
|
||||||
</div> |
|
||||||
</div>' |
|
||||||
), |
|
||||||
7 => array( |
|
||||||
'new' => true, |
|
||||||
'form_id' => $fid, |
|
||||||
'title' => 'Текст сообщения', |
|
||||||
'active' => 1, |
|
||||||
'type' => 'textarea', |
|
||||||
'main' => 0, |
|
||||||
'setting' => '', |
|
||||||
'required' => 0, |
|
||||||
'defaultval' => '', |
|
||||||
'attributes' => 'id="fld[[tag:id]]" class="form-control" placeholder="[tag:title]"', |
|
||||||
'tpl' => '<div class="form-group"> |
|
||||||
<label class="col-sm-4 control-label" for="fld[[tag:id]]">[tag:title]</label> |
|
||||||
<div class="col-sm-5"> |
|
||||||
[tag:fld] |
|
||||||
</div> |
|
||||||
</div>' |
|
||||||
), |
|
||||||
8 => array( |
|
||||||
'new' => true, |
|
||||||
'form_id' => $fid, |
|
||||||
'title' => 'Работа чекбокса', |
|
||||||
'active' => 1, |
|
||||||
'type' => 'checkbox', |
|
||||||
'main' => 0, |
|
||||||
'setting' => '', |
|
||||||
'required' => 0, |
|
||||||
'defaultval' => '', |
|
||||||
'attributes' => 'id="fld[[tag:id]]" value="agree"', |
|
||||||
'tpl' => '<div class="form-group"> |
|
||||||
<div class="col-sm-5 col-sm-offset-4"> |
|
||||||
<div class="checkbox"> |
|
||||||
<label> |
|
||||||
[tag:fld]Пример валидации чекбокса |
|
||||||
</label> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</div>' |
|
||||||
), |
|
||||||
9 => array( |
|
||||||
'new' => true, |
|
||||||
'form_id' => $fid, |
|
||||||
'title' => 'Оценка отправителя формы сервисом reCAPTCHA', |
|
||||||
'active' => 1, |
|
||||||
'type' => 'input', |
|
||||||
'main' => 0, |
|
||||||
'setting' => '', |
|
||||||
'required' => 0, |
|
||||||
'defaultval' => '', |
|
||||||
'attributes' => 'id="hidden_fld_[tag:formalias]" type="hidden"', |
|
||||||
'tpl' => '[tag:fld]' |
|
||||||
) |
|
||||||
|
|
||||||
|
|
||||||
) |
|
||||||
); |
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,187 +0,0 @@ |
|||||||
contacts = "Контакти New" |
|
||||||
mod_info = "В дадения раздел са всички контактни форми в системата. тук Вие може да добавите нова контактна форма. както и да редактирате вече съществуващи." |
|
||||||
forms = "Списък форми" |
|
||||||
form = "Форма" |
|
||||||
noforms = "В модула няма добавени форми" |
|
||||||
form_new = "Добавяне на форма" |
|
||||||
form_deleting = "Сигурни ли сте, че желаете да изтриете формата?" |
|
||||||
|
|
||||||
form_creating = "Добавяне на нова форма" |
|
||||||
form_notfound = "тази форма не е намерена" |
|
||||||
form_editing = "Редактиране на форма" |
|
||||||
main_sets = "Основни параметри" |
|
||||||
title = "Наименование" |
|
||||||
alias = "Алиас" |
|
||||||
protection = "Защита от повторно изпращане" |
|
||||||
protect_i = "Препоръчително за форми без Ajax.<br/><br/>Ако защитата е включена, на финалната страница (след успешното изпращане на формата) при обновяванто на страницата потребителя няма да види съобщението "Подтвърдете повторното изпращане на данните...". Вместо това ще се зареди наново празна форма." |
|
||||||
demo = "Създаване на примерна форма" |
|
||||||
demo_noajax = "без Ajax" |
|
||||||
demo_ajax = "Ajax, сървъра връща кода на формата" |
|
||||||
demo_ajax_o = "Ajax, сървъра връща резултатът от валидацията" |
|
||||||
alias_i = "Опционално. Алиасът на формата позволява да се използва леко запомнящ се таг [mod_contact:alias] вместо [mod_contact:id]. Алиасът не трябва да бъде число, може да съдържа само цифри, латински букви, долна черта и дължина не повече от 20 символа и да е уникално в пределите на модула" |
|
||||||
alias_accept = "Този алиас може да се използва" |
|
||||||
alias_er_syn = "Грешен алиас!<br> Алиасът не може да бъде число, може да съдържа само цифри, латински букви, долна черта и дължина не повече от 20 символа" |
|
||||||
alias_er_exists = "Грешен алиас!<br> Този алиас вече е зададен на друга контактна форма" |
|
||||||
recs = "Получатели" |
|
||||||
name = "Име" |
|
||||||
fields_sets = "Настройки на полетата" |
|
||||||
active_i = "Активиране на поле (ако чекбокса е празен, тагът в шаблона ще бъде заменен с празен ред)" |
|
||||||
type = "Тип" |
|
||||||
doc = "Документ" |
|
||||||
multidoc = "Документ (multi)" |
|
||||||
other_input = "Друг input" |
|
||||||
other_input_i = "Атрибут type" |
|
||||||
pattern_i = "Шаблон за preg_match<br/> <em>Пример:</em> <strong>/^[A-Za-z0-9]+$/ie</strong><br/><br/> Или филтър за filter_var<br/> <em>Пример:</em> <strong>FILTER_VALIDATE_EMAIL</strong>" |
|
||||||
pattern = "Валидация" |
|
||||||
defaultval = "По подразбиране" |
|
||||||
sets = "Параметри" |
|
||||||
attributes = "Атрибути на тега поле" |
|
||||||
field_add = "Добави поле" |
|
||||||
form_tpl = "Шаблон на формата" |
|
||||||
mail_tpl = "Шаблон на писмо" |
|
||||||
finish_tpl = "Шаблон на страница след изпращане на формата" |
|
||||||
conditions = "Условия" |
|
||||||
rubheader = "Скриптове и стилове, необходими за оформяне и функциониране на формата" |
|
||||||
rubheader_info = "Избягвайте дублиране на скриптовете в модула и шаблона" |
|
||||||
tag = "Таг" |
|
||||||
field_creating = "Добавяне на поле..." |
|
||||||
field_new_error = "Моля, въведете наименование на полето!" |
|
||||||
type_i = "За <strong>input</strong> в атрибутите може да се укаже свой <strong>type</strong> (по подразбиране се поставя <strong>text</strong>)" |
|
||||||
fld_tpl_toggle = "Покажи/скрий шаблона за извеждане на полето" |
|
||||||
field_tpl = "Шаблон на полето" |
|
||||||
fld_del = "Сигурни ли сте, че желаете да изтриете това поле?" |
|
||||||
fld_deleting = "Изтриване на поле..." |
|
||||||
required = "Задължително поле" |
|
||||||
setting_empty = "Първо настройте опциите за избор (вляво)" |
|
||||||
yes = "да" |
|
||||||
no = "не" |
|
||||||
fld_i = "Полето работи само ако тагът в поставен в шаблон и вляво е маркирано полето активация" |
|
||||||
copy_fld_i = "<strong>Отправка копии </strong> будет выполнена, даже если в значении по умолчанию стоит галка, а тег в шаблон не вставлен / поле не активировано" |
|
||||||
select_req_i = "Селект будет считаться не заполненным, если выбран первый вариант" |
|
||||||
file_size = "Макс. размер, мб" |
|
||||||
file_size2 = "Ограничение на размера на файла, мб" |
|
||||||
|
|
||||||
create = "Добави" |
|
||||||
edit = "Редактиране" |
|
||||||
copy = "Копиране" |
|
||||||
delete = "Изтриване" |
|
||||||
actions = "Действия" |
|
||||||
saved = "Съхранено" |
|
||||||
notsaved = "Възникна грешка по време на съхранението" |
|
||||||
created = "Формата е успешно записана" |
|
||||||
copied = "Формата е успешно копирана и записана<br>Моля, редактирайте наименованието и алиаса" |
|
||||||
deleting = "Изтриване..." |
|
||||||
add_refresh = "Добави и обнови" |
|
||||||
save = "Запиши" |
|
||||||
return_to_forms = "Върни се към списъка с контактни форми" |
|
||||||
refresh = "Обнови" |
|
||||||
mail_set = "Настройки на писмата" |
|
||||||
format = "Формат" |
|
||||||
text = "Текст" |
|
||||||
from_email = "Имейл на изпращача" |
|
||||||
from_name = "Име на изпращача" |
|
||||||
recs_main = "Главни получатели" |
|
||||||
recs_main_i = "Тези адресати ще получават писмото задължително" |
|
||||||
subject_tpl = "Шаблон на темата" |
|
||||||
|
|
||||||
email_accept = "Правилен имейл" |
|
||||||
email_error = "Грешен синтаксис на имейл!" |
|
||||||
|
|
||||||
tag_fld = "Таг за поле, полето се поставя с използване на своя шаблон" |
|
||||||
tag_fld_mail = "Значение на полето, въведено от потребителя" |
|
||||||
tag_fld_tpl = "Таг за поле, полето се поставя с атрибутите си" |
|
||||||
tag_attr = "Вмъкни основни атрибити" |
|
||||||
tag_id = "Id на полето" |
|
||||||
tag_title = "Таг за наименование на поле" |
|
||||||
tag_valid = "Извеждано съдържание, ако полето съответства на зададения шаблон" |
|
||||||
tag_invalid = "Извеждано съдържание, ако полето не съответства на зададения шаблон" |
|
||||||
tag_nempty = "Извеждано съдържание, ако полето е маркирано като задължително и потребителя е въвел данни" |
|
||||||
tag_empty = "Извеждано съдържание, ако полето е маркирано като задължително и потребителя не е въвел данни" |
|
||||||
tag_path = "Път към корена на инсталацията" |
|
||||||
tag_media = "Път към папката с шаблона<br><br><i>Пример:</i> [tag:mediapath]images/logo.gif" |
|
||||||
tag_css = "Свива няколко css-файла в един. Връща път.<br><b>FFF</b> - имена на файлове, разделени с запетая<br><b>P</b> - път към папката с файлове, назадължителен. По подразбиране - [tag:mediapath]css/<br><br><i>Пример:</i> href="[tag:css:reset.css,style.css]"" |
|
||||||
tag_js = "Свива няколко js-файла в един. Връща път.<br><b>FFF</b> - имена на файлове, разделени с запетая<br><b>P</b> - път към папката с файлове, назадължителен. По подразбиране - [tag:mediapath]js/<br><br><i>Пример:</i> href="[tag:js:common.js,main.js]"" |
|
||||||
tag_formtitle = "Наименование на формата" |
|
||||||
tag_formalias = "Алиас на формата (или id, ако не е въведен алиас)" |
|
||||||
tag_url = "URL на текущата страница" |
|
||||||
tag_docid = "ID на текущия документ" |
|
||||||
tag_hide = "Таг, позволяващ скрит контент за определени групи потребители<br><br><strong>Х</strong> - номер на групата<br><strong>TEXT</strong> - текст, ако достъпа е забранен<br><br><em>Пример:</em> [tag:hide:2:Тази форма не е за вас!][/tag:hide]" |
|
||||||
tag_uemail = "Имейл на потребителя (въз основата на данните от профила, а не на формата!)" |
|
||||||
tag_uname = "Име и Фамилия на потребителя (въз основа на данните от профила)" |
|
||||||
tag_ufname = "Име на потребителя (въз основа на данните от профила)" |
|
||||||
tag_ulname = "Фамилия на потребителя (въз основа на данните от профила)" |
|
||||||
tag_ulogin = "Потребителско име (въз основа на данните от профила)" |
|
||||||
tag_if_fld = "Условие за значението на полето. В тага, използвайте стандартните конструкции за сравнение на PHP/JS<br><br><em>Пример:</em><br>[tag:if_fld:15 == '1']<br>...<br>[tag:elseif_fld:15 > '2']<br>...<br>[tag:else_fld]<br>...<br>[/tag:if_fld]" |
|
||||||
tag_f_valid = "Извеждано съдържание, ако всички полета са преминали валидацията" |
|
||||||
tag_f_invalid = "Извеждано съдържание, ако поне едно поле не преминало валидацията" |
|
||||||
tag_easymail = "Генерива списък на всички значения на полетата, участващи в шаблона на формата ( вместо ръчно да се описват всички тагове)" |
|
||||||
tag_if_user = "Извежда съдържанието в писмото на потребителя, попълнил формата" |
|
||||||
tag_if_admin = "Извежда съдържанието в писмото за получателя-админ ("главен получател" или получател от поле "избор на получателр")" |
|
||||||
tag_fld_subject = "Значение на полето <strong>Тема</strong>" |
|
||||||
tag_fld_email = "Значение на полето <strong>Имейл</strong>" |
|
||||||
tag_sitename = "Наименование на сайта" |
|
||||||
tag_sitehost = "Адрес на сайта" |
|
||||||
info_php_tags = "Достъпни php и тагове" |
|
||||||
|
|
||||||
code = "Изпълним код" |
|
||||||
code_info = "Данните на формата (валидация, шаблони, получатели и т.д.) се пазят е променливата на класа $this->form." |
|
||||||
code_onsubmit = "Код, изпълняван след изпращането на формата (преди валидацията)" |
|
||||||
code_onvalidate = "Код, изпълняван след валидацията на формата" |
|
||||||
code_onsend = "Код, изпълняван след изпращането на писмата" |
|
||||||
|
|
||||||
mfld_email = "Имейл" |
|
||||||
mfld_subject = "Тема" |
|
||||||
mfld_receivers = "Избор на получатели" |
|
||||||
mfld_captcha = "Капча" |
|
||||||
mfld_copy = "Изпращане на копие" |
|
||||||
|
|
||||||
tag_mail_empty = "не е попълнено" |
|
||||||
|
|
||||||
history = "История" |
|
||||||
date = "Дата" |
|
||||||
author = "Автор" |
|
||||||
status = "Статус" |
|
||||||
stat_new = "Ново" |
|
||||||
list_new = "Нови" |
|
||||||
stat_viewed = "Видяно" |
|
||||||
list_viewed = "Видени" |
|
||||||
stat_replied = "Отговорено" |
|
||||||
list_replied = "Отговорени" |
|
||||||
request = "Обръщение" |
|
||||||
response = "Отговор" |
|
||||||
responses = "Отговори" |
|
||||||
write_response = "Напиши отговор" |
|
||||||
body = "Тяло на писмото" |
|
||||||
save_draft = "Запази черновата" |
|
||||||
send = "Изпрати отговор" |
|
||||||
return_dialogs = "Върни се към списъка" |
|
||||||
profile_look = "Премини към профила" |
|
||||||
write_email = "Напиши писмо" |
|
||||||
from = "от" |
|
||||||
look = "Преглед" |
|
||||||
set_replied = "Маркирай като отговорено" |
|
||||||
marked_replied = "Маркирано като отговорено" |
|
||||||
attach = "Прикачени" |
|
||||||
|
|
||||||
respose_sent = "Отговорът е успешно изпратен" |
|
||||||
|
|
||||||
cn_actions = "Действия" |
|
||||||
cn_del_mail = "Сигурни ли сте, че желаете да изтриете този e-mail?" |
|
||||||
cn_not_mail = "В тази форма няма писма ..." |
|
||||||
cn_view = "Преглед на историята" |
|
||||||
cn_status = "Статус на писмата" |
|
||||||
cn_alias_not = " -- " |
|
||||||
cn_count_messages = "писма: " |
|
||||||
cn_copy_to_clipboard = "Копирай в буфера" |
|
||||||
cn_return_list_form = "Връщане към списъка" |
|
||||||
cn_mod_info = "Важно: модулът използва метода за изпращане на писма, установен в системните настройки " |
|
||||||
cn_mod_info_a = "Настройки поща" |
|
||||||
info_attr_name = "Значение атрибута name для этого поля:" |
|
||||||
public_key_recaptcha_v3 = "Публичный ключ reCAPTCHA v3" |
|
||||||
title_pub_key_recap = "Открытый ключ reCAPTCHA v3 указанный в системных настройках, используется на стороне клиента (например в js скриптах)" |
|
||||||
found_key_recap_v3 = "В системных настройках обнаружены и будут использоваться модулем API ключи reCAPTCHA v3" |
|
||||||
notfound_key_recap_v3_1 ="API ключи reCAPTCHA v3 не обнаружены." |
|
||||||
notfound_key_recap_v3_2 =" Вы можете установить их в разделе " |
|
||||||
notfound_key_recap_v3_3 ="Системные настройки" |
|
||||||
demo_jqval_cap = "Без Ajax, с jQuery Validation Plugin и reCAPTCHA v3" |
|
||||||
demo_ajax_jqval_cap = "Ajax, с jQuery Validation Plugin и reCAPTCHA v3" |
|
@ -1,187 +0,0 @@ |
|||||||
contacts = "Контакты New" |
|
||||||
mod_info = "В данном разделе приведен список всех контактных форм. Вы можете, добавить новую форму или отредактировать существующую." |
|
||||||
forms = "Список форм" |
|
||||||
form = "Форма" |
|
||||||
noforms = "В модуле пока нет ни одной контактной формы" |
|
||||||
form_new = "Создать форму" |
|
||||||
form_deleting = "Вы уверены, что хотите удалить форму?" |
|
||||||
|
|
||||||
form_creating = "Создание новой формы" |
|
||||||
form_notfound = "указанная форма не найдена" |
|
||||||
form_editing = "Редактирование формы" |
|
||||||
main_sets = "Основные параметры" |
|
||||||
title = "Название" |
|
||||||
alias = "Алиас" |
|
||||||
protection = "Защита от повторной отправки" |
|
||||||
protect_i = "Рекомендуется включать для форм без Ajax.<br/><br/>Если защита включена, на финишной странице (после успешной отправки формы) при обновлении страницы пользователь не увидит сообщения "Подтвердите повторную отправку данных...". Вместо этого загрузится заново чистая форма." |
|
||||||
demo = "Создать пример формы" |
|
||||||
demo_noajax = "без Ajax" |
|
||||||
demo_ajax = "Ajax, сервер возвращает код формы" |
|
||||||
demo_ajax_o = "Ajax, сервер возвращает результат валидации" |
|
||||||
alias_i = "Опционально. Алиас формы позволяет использовать легко запоминающийся тег [mod_contact:alias] вместо [mod_contact:id]. Алиас не должен являться числом, может содержать только цифры, латинские буквы, дефис, подчёркивание, иметь длину не более 20 символов и быть уникальным в пределах модуля" |
|
||||||
alias_accept = "Этот алиас можно использовать" |
|
||||||
alias_er_syn = "Неверный алиас!<br> Алиас не должен являться числом, может содержать только цифры, латинские буквы, дефис, подчёркивание и иметь длину не более 20 символов" |
|
||||||
alias_er_exists = "Неверный алиас!<br> Данный алиас уже привязан к другой контактной форме" |
|
||||||
recs = "Получатели" |
|
||||||
name = "Имя" |
|
||||||
fields_sets = "Настройки полей" |
|
||||||
active_i = "Активировать поле (если чекбокс пустой, тег в шаблоне будет заменён на пустую строку)" |
|
||||||
type = "Тип" |
|
||||||
doc = "Документ" |
|
||||||
multidoc = "Документ (multi)" |
|
||||||
other_input = "Другой input" |
|
||||||
other_input_i = "Аттрибут type" |
|
||||||
pattern_i = "Шаблон для preg_match<br/> <em>Пример:</em> <strong>/^[A-Za-z0-9]+$/ie</strong><br/><br/> Либо фильтр для filter_var<br/> <em>Пример:</em> <strong>FILTER_VALIDATE_EMAIL</strong>" |
|
||||||
pattern = "Валидация" |
|
||||||
defaultval = "По умолчанию" |
|
||||||
sets = "Параметры" |
|
||||||
attributes = "Аттрибуты тега поля" |
|
||||||
field_add = "Добавить поле" |
|
||||||
form_tpl = "Шаблон формы" |
|
||||||
mail_tpl = "Шаблон письма" |
|
||||||
finish_tpl = "Шаблон страницы после отправки формы" |
|
||||||
conditions = "Условия" |
|
||||||
rubheader = "Скрипты и стили, необходимые для оформления и функционирования формы" |
|
||||||
rubheader_info = "Избегайте дублирования скриптов в модуле и шаблоне" |
|
||||||
tag = "Тег" |
|
||||||
field_creating = "Добавление поля..." |
|
||||||
field_new_error = "Укажите название поля!" |
|
||||||
type_i = "Для <strong>input</strong> в аттрибутах можно указать свой <strong>type</strong> (по умолчанию подставится <strong>text</strong>)" |
|
||||||
fld_tpl_toggle = "Показать/свернуть шаблон вывода поля" |
|
||||||
field_tpl = "Шаблон поля" |
|
||||||
fld_del = "Вы уверены, что хотите удалить это поле?" |
|
||||||
fld_deleting = "Удаление поля..." |
|
||||||
required = "Обязательное поле" |
|
||||||
setting_empty = "Сначала настройте опции для выбора (слева)" |
|
||||||
yes = "да" |
|
||||||
no = "нет" |
|
||||||
fld_i = "Поле работает только если его тег вставлен в шаблон и слева стоит галочка активации" |
|
||||||
copy_fld_i = "<strong>Отправка копии </strong> будет выполнена, даже если в значении по умолчанию стоит галка, а тег в шаблон не вставлен / поле не активировано" |
|
||||||
select_req_i = "Селект будет считаться не заполненным, если выбран первый вариант" |
|
||||||
file_size = "Макс. размер, мб" |
|
||||||
file_size2 = "Ограничение размера файла, мб" |
|
||||||
|
|
||||||
create = "Создать" |
|
||||||
edit = "Редактировать" |
|
||||||
copy = "Копировать" |
|
||||||
delete = "Удалить" |
|
||||||
actions = "Действия" |
|
||||||
saved = "Сохранено" |
|
||||||
notsaved = "Во время сохранения произошла ошибка" |
|
||||||
created = "Форма успешно создана" |
|
||||||
copied = "Форма успешно скопирована и сохранена<br>Отредактируйте название и алиас" |
|
||||||
deleting = "Удаление..." |
|
||||||
add_refresh = "Добавить и обновить" |
|
||||||
save = "Сохранить" |
|
||||||
return_to_forms = "Вернуться к списку контактных форм" |
|
||||||
refresh = "Обновить" |
|
||||||
mail_set = "Настройки письма" |
|
||||||
format = "Формат" |
|
||||||
text = "Текст" |
|
||||||
from_email = "Email отправителя" |
|
||||||
from_name = "Имя отправителя" |
|
||||||
recs_main = "Главные получатели" |
|
||||||
recs_main_i = "Эти адресаты получат письмо в любом случае" |
|
||||||
subject_tpl = "Шаблон темы" |
|
||||||
|
|
||||||
email_accept = "Правильный Email" |
|
||||||
email_error = "Неверный синтаксис Email-а!" |
|
||||||
|
|
||||||
tag_fld = "Тег поля, поле подставляется с использованием своего шаблона" |
|
||||||
tag_fld_mail = "Значение поля, введённое пользователем" |
|
||||||
tag_fld_tpl = "Тег поля, поле подставляется с подстановкой аттрибутов" |
|
||||||
tag_attr = "Вставить основные аттрибуты" |
|
||||||
tag_id = "Id поля" |
|
||||||
tag_title = "Тег названия поля" |
|
||||||
tag_valid = "Выведет контент, если поле соответствует заданному шаблону" |
|
||||||
tag_invalid = "Выведет контент, если поле не соответствует заданному шаблону" |
|
||||||
tag_nempty = "Выведет контент, если поле помечено как обязательное и пользователь ввёл данные" |
|
||||||
tag_empty = "Выведет контент, если поле помечено как обязательное и пользователь не ввёл данные" |
|
||||||
tag_path = "Корневой путь установки" |
|
||||||
tag_media = "Путь до папки с шаблоном<br><br><i>Пример:</i> [tag:mediapath]images/logo.gif" |
|
||||||
tag_css = "Сжимает несколько css-файлов в один. Возвращает путь.<br><b>FFF</b> - имена файлов через запятую<br><b>P</b> - путь к папке с файлами, не обязательно. По умолчанию - [tag:mediapath]css/<br><br><i>Пример:</i> href="[tag:css:reset.css,style.css]"" |
|
||||||
tag_js = "Сжимает несколько js-файлов в один. Возвращает путь.<br><b>FFF</b> - имена файлов через запятую<br><b>P</b> - путь к папке с файлами, не обязательно. По умолчанию - [tag:mediapath]js/<br><br><i>Пример:</i> href="[tag:js:common.js,main.js]"" |
|
||||||
tag_formtitle = "Название формы" |
|
||||||
tag_formalias = "Алиас формы (или id, если алиас не назначен)" |
|
||||||
tag_url = "URL текущей страницы" |
|
||||||
tag_docid = "ID текущего документа" |
|
||||||
tag_hide = "Тег, позволяющий скрыть контент для определенных групп пользователей<br><br><strong>Х</strong> - номер группы<br><strong>TEXT</strong> - текст, если доступ запрещён<br><br><em>Пример:</em> [tag:hide:2:Эта форма не для вас!][/tag:hide]" |
|
||||||
tag_uemail = "Email пользователя (на основе данных из профиля, а не формы!)" |
|
||||||
tag_uname = "И. Фамилия пользователя (на основе данных из профиля)" |
|
||||||
tag_ufname = "Имя пользователя (на основе данных из профиля)" |
|
||||||
tag_ulname = "Фамилия пользователя (на основе данных из профиля)" |
|
||||||
tag_ulogin = "Логин пользователя (на основе данных из профиля)" |
|
||||||
tag_if_fld = "Условие на значение поля. В теге используйте стандартные конструкции сравнения PHP/JS<br><br><em>Пример:</em><br>[tag:if_fld:15 == '1']<br>...<br>[tag:elseif_fld:15 > '2']<br>...<br>[tag:else_fld]<br>...<br>[/tag:if_fld]" |
|
||||||
tag_f_valid = "Выведет контент, если все поля формы прошли валидацию" |
|
||||||
tag_f_invalid = "Выведет контент, если хотя бы одно поле формы не прошло валидацию" |
|
||||||
tag_easymail = "Быстро генерирует список всех значений полей, участвующих в шаблоне формы (вместо того, чтобы прописывать все теги вручную)" |
|
||||||
tag_if_user = "Выведет контент в письме пользователю, заполнившему форму" |
|
||||||
tag_if_admin = "Выведет контент в письме получателям-админам ("главным получателям" или адресату из поля "получатель на выбор")" |
|
||||||
tag_fld_subject = "Значение поля <strong>Тема</strong>" |
|
||||||
tag_fld_email = "Значение поля <strong>Email</strong>" |
|
||||||
tag_sitename = "Название сайта" |
|
||||||
tag_sitehost = "Адрес сайта" |
|
||||||
info_php_tags = "Доступен php и теги" |
|
||||||
|
|
||||||
code = "Исполняемый код" |
|
||||||
code_info = "Данные формы (валидация, шаблоны, получатели и т.д.) хранятся в переменной класса $this->form." |
|
||||||
code_onsubmit = "Код, исполняемый сразу после отправки формы (до валидации)" |
|
||||||
code_onvalidate = "Код, исполняемый после валидации формы" |
|
||||||
code_onsend = "Код, исполняемый после отправки писем" |
|
||||||
|
|
||||||
mfld_email = "Email" |
|
||||||
mfld_subject = "Тема" |
|
||||||
mfld_receivers = "Получатель на выбор" |
|
||||||
mfld_captcha = "Капча" |
|
||||||
mfld_copy = "Отправка копии" |
|
||||||
|
|
||||||
tag_mail_empty = "не заполнено" |
|
||||||
|
|
||||||
history = "История" |
|
||||||
date = "Дата" |
|
||||||
author = "Автор" |
|
||||||
status = "Статус" |
|
||||||
stat_new = "Новое" |
|
||||||
list_new = "Новых" |
|
||||||
stat_viewed = "Просмотрено" |
|
||||||
list_viewed = "Просмотренных" |
|
||||||
stat_replied = "Отвечено" |
|
||||||
list_replied = "Отвеченных" |
|
||||||
request = "Обращение" |
|
||||||
response = "Ответ" |
|
||||||
responses = "Ответы" |
|
||||||
write_response = "Написать ответ" |
|
||||||
body = "Тело письма" |
|
||||||
save_draft = "Сохранить черновик" |
|
||||||
send = "Отправить ответ" |
|
||||||
return_dialogs = "Вернуться к списку обращений" |
|
||||||
profile_look = "Перейти к профилю" |
|
||||||
write_email = "Написать письмо" |
|
||||||
from = "от" |
|
||||||
look = "Посмотреть" |
|
||||||
set_replied = "Пометить как отвеченное" |
|
||||||
marked_replied = "Было отмечено как отвеченное" |
|
||||||
attach = "Вложения" |
|
||||||
|
|
||||||
respose_sent = "Ответ успешно отправлен" |
|
||||||
|
|
||||||
cn_actions = "Действия" |
|
||||||
cn_del_mail = "Вы уверены, что хотите удалить этот e-mail?" |
|
||||||
cn_not_mail = "В этой форме нет писем..." |
|
||||||
cn_view = "Просмотр истории" |
|
||||||
cn_status = "Статус сообщений" |
|
||||||
cn_alias_not = " -- " |
|
||||||
cn_count_messages = "сообщений: " |
|
||||||
cn_copy_to_clipboard = "Скопировать в буфер обмена" |
|
||||||
cn_return_list_form = "Вернуться к списку форм" |
|
||||||
cn_mod_info = "Важно: модуль использует метод отправки почты установленный в системных настройках, в разделе " |
|
||||||
cn_mod_info_a = "Настройки почты." |
|
||||||
info_attr_name = "Значение атрибута name для этого поля:" |
|
||||||
public_key_recaptcha_v3 = "Публичный ключ reCAPTCHA v3" |
|
||||||
title_pub_key_recap = "Открытый ключ reCAPTCHA v3 указанный в системных настройках, используется на стороне клиента (например в js скриптах)" |
|
||||||
found_key_recap_v3 = "В системных настройках обнаружены и будут использоваться модулем API ключи reCAPTCHA v3" |
|
||||||
notfound_key_recap_v3_1 ="API ключи reCAPTCHA v3 не обнаружены." |
|
||||||
notfound_key_recap_v3_2 =" Вы можете установить их в разделе " |
|
||||||
notfound_key_recap_v3_3 ="Системные настройки" |
|
||||||
demo_jqval_cap = "Без Ajax, с jQuery Validation Plugin и reCAPTCHA v3" |
|
||||||
demo_ajax_jqval_cap = "Ajax, с jQuery Validation Plugin и reCAPTCHA v3" |
|
@ -1,8 +0,0 @@ |
|||||||
<?php |
|
||||||
/** |
|
||||||
* Файл-заглушка, предназначенный для запрета показа списка файлов в текущей директории, |
|
||||||
* если через адресную строку браузера было прямое общращение к данной директории. |
|
||||||
*/ |
|
||||||
header('Location:/'); |
|
||||||
exit; |
|
||||||
?> |
|
@ -1,187 +0,0 @@ |
|||||||
contacts = "Контакты New" |
|
||||||
mod_info = "В данном разделе приведен список всех контактных форм. Вы можете, добавить новую форму или отредактировать существующую." |
|
||||||
forms = "Список форм" |
|
||||||
form = "Форма" |
|
||||||
noforms = "В модуле пока нет ни одной контактной формы" |
|
||||||
form_new = "Создать форму" |
|
||||||
form_deleting = "Вы уверены, что хотите удалить форму?" |
|
||||||
|
|
||||||
form_creating = "Создание новой формы" |
|
||||||
form_notfound = "указанная форма не найдена" |
|
||||||
form_editing = "Редактирование формы" |
|
||||||
main_sets = "Основные параметры" |
|
||||||
title = "Название" |
|
||||||
alias = "Алиас" |
|
||||||
protection = "Защита от повторной отправки" |
|
||||||
protect_i = "Рекомендуется включать для форм без Ajax.<br/><br/>Если защита включена, на финишной странице (после успешной отправки формы) при обновлении страницы пользователь не увидит сообщения "Подтвердите повторную отправку данных...". Вместо этого загрузится заново чистая форма." |
|
||||||
demo = "Создать пример формы" |
|
||||||
demo_noajax = "без Ajax" |
|
||||||
demo_ajax = "Ajax, сервер возвращает код формы" |
|
||||||
demo_ajax_o = "Ajax, сервер возвращает результат валидации" |
|
||||||
alias_i = "Опционально. Алиас формы позволяет использовать легко запоминающийся тег [mod_contact:alias] вместо [mod_contact:id]. Алиас не должен являться числом, может содержать только цифры, латинские буквы, дефис, подчёркивание, иметь длину не более 20 символов и быть уникальным в пределах модуля" |
|
||||||
alias_accept = "Этот алиас можно использовать" |
|
||||||
alias_er_syn = "Неверный алиас!<br> Алиас не должен являться числом, может содержать только цифры, латинские буквы, дефис, подчёркивание и иметь длину не более 20 символов" |
|
||||||
alias_er_exists = "Неверный алиас!<br> Данный алиас уже привязан к другой контактной форме" |
|
||||||
recs = "Получатели" |
|
||||||
name = "Имя" |
|
||||||
fields_sets = "Настройки полей" |
|
||||||
active_i = "Активировать поле (если чекбокс пустой, тег в шаблоне будет заменён на пустую строку)" |
|
||||||
type = "Тип" |
|
||||||
doc = "Документ" |
|
||||||
multidoc = "Документ (multi)" |
|
||||||
other_input = "Другой input" |
|
||||||
other_input_i = "Аттрибут type" |
|
||||||
pattern_i = "Шаблон для preg_match<br/> <em>Пример:</em> <strong>/^[A-Za-z0-9]+$/ie</strong><br/><br/> Либо фильтр для filter_var<br/> <em>Пример:</em> <strong>FILTER_VALIDATE_EMAIL</strong>" |
|
||||||
pattern = "Валидация" |
|
||||||
defaultval = "По умолчанию" |
|
||||||
sets = "Параметры" |
|
||||||
attributes = "Аттрибуты тега поля" |
|
||||||
field_add = "Добавить поле" |
|
||||||
form_tpl = "Шаблон формы" |
|
||||||
mail_tpl = "Шаблон письма" |
|
||||||
finish_tpl = "Шаблон страницы после отправки формы" |
|
||||||
conditions = "Условия" |
|
||||||
rubheader = "Скрипты и стили, необходимые для оформления и функционирования формы" |
|
||||||
rubheader_info = "Избегайте дублирования скриптов в модуле и шаблоне" |
|
||||||
tag = "Тег" |
|
||||||
field_creating = "Добавление поля..." |
|
||||||
field_new_error = "Укажите название поля!" |
|
||||||
type_i = "Для <strong>input</strong> в аттрибутах можно указать свой <strong>type</strong> (по умолчанию подставится <strong>text</strong>)" |
|
||||||
fld_tpl_toggle = "Показать/свернуть шаблон вывода поля" |
|
||||||
field_tpl = "Шаблон поля" |
|
||||||
fld_del = "Вы уверены, что хотите удалить это поле?" |
|
||||||
fld_deleting = "Удаление поля..." |
|
||||||
required = "Обязательное поле" |
|
||||||
setting_empty = "Сначала настройте опции для выбора (слева)" |
|
||||||
yes = "да" |
|
||||||
no = "нет" |
|
||||||
fld_i = "Поле работает только если его тег вставлен в шаблон и слева стоит галочка активации" |
|
||||||
copy_fld_i = "<strong>Отправка копии </strong> будет выполнена, даже если в значении по умолчанию стоит галка, а тег в шаблон не вставлен / поле не активировано" |
|
||||||
select_req_i = "Селект будет считаться не заполненным, если выбран первый вариант" |
|
||||||
file_size = "Макс. размер, мб" |
|
||||||
file_size2 = "Ограничение размера файла, мб" |
|
||||||
|
|
||||||
create = "Создать" |
|
||||||
edit = "Редактировать" |
|
||||||
copy = "Копировать" |
|
||||||
delete = "Удалить" |
|
||||||
actions = "Действия" |
|
||||||
saved = "Сохранено" |
|
||||||
notsaved = "Во время сохранения произошла ошибка" |
|
||||||
created = "Форма успешно создана" |
|
||||||
copied = "Форма успешно скопирована и сохранена<br>Отредактируйте название и алиас" |
|
||||||
deleting = "Удаление..." |
|
||||||
add_refresh = "Добавить и обновить" |
|
||||||
save = "Сохранить" |
|
||||||
return_to_forms = "Вернуться к списку контактных форм" |
|
||||||
refresh = "Обновить" |
|
||||||
mail_set = "Настройки письма" |
|
||||||
format = "Формат" |
|
||||||
text = "Текст" |
|
||||||
from_email = "Email отправителя" |
|
||||||
from_name = "Имя отправителя" |
|
||||||
recs_main = "Главные получатели" |
|
||||||
recs_main_i = "Эти адресаты получат письмо в любом случае" |
|
||||||
subject_tpl = "Шаблон темы" |
|
||||||
|
|
||||||
email_accept = "Правильный Email" |
|
||||||
email_error = "Неверный синтаксис Email-а!" |
|
||||||
|
|
||||||
tag_fld = "Тег поля, поле подставляется с использованием своего шаблона" |
|
||||||
tag_fld_mail = "Значение поля, введённое пользователем" |
|
||||||
tag_fld_tpl = "Тег поля, поле подставляется с подстановкой аттрибутов" |
|
||||||
tag_attr = "Вставить основные аттрибуты" |
|
||||||
tag_id = "Id поля" |
|
||||||
tag_title = "Тег названия поля" |
|
||||||
tag_valid = "Выведет контент, если поле соответствует заданному шаблону" |
|
||||||
tag_invalid = "Выведет контент, если поле не соответствует заданному шаблону" |
|
||||||
tag_nempty = "Выведет контент, если поле помечено как обязательное и пользователь ввёл данные" |
|
||||||
tag_empty = "Выведет контент, если поле помечено как обязательное и пользователь не ввёл данные" |
|
||||||
tag_path = "Корневой путь установки" |
|
||||||
tag_media = "Путь до папки с шаблоном<br><br><i>Пример:</i> [tag:mediapath]images/logo.gif" |
|
||||||
tag_css = "Сжимает несколько css-файлов в один. Возвращает путь.<br><b>FFF</b> - имена файлов через запятую<br><b>P</b> - путь к папке с файлами, не обязательно. По умолчанию - [tag:mediapath]css/<br><br><i>Пример:</i> href="[tag:css:reset.css,style.css]"" |
|
||||||
tag_js = "Сжимает несколько js-файлов в один. Возвращает путь.<br><b>FFF</b> - имена файлов через запятую<br><b>P</b> - путь к папке с файлами, не обязательно. По умолчанию - [tag:mediapath]js/<br><br><i>Пример:</i> href="[tag:js:common.js,main.js]"" |
|
||||||
tag_formtitle = "Название формы" |
|
||||||
tag_formalias = "Алиас формы (или id, если алиас не назначен)" |
|
||||||
tag_url = "URL текущей страницы" |
|
||||||
tag_docid = "ID текущего документа" |
|
||||||
tag_hide = "Тег, позволяющий скрыть контент для определенных групп пользователей<br><br><strong>Х</strong> - номер группы<br><strong>TEXT</strong> - текст, если доступ запрещён<br><br><em>Пример:</em> [tag:hide:2:Эта форма не для вас!][/tag:hide]" |
|
||||||
tag_uemail = "Email пользователя (на основе данных из профиля, а не формы!)" |
|
||||||
tag_uname = "И. Фамилия пользователя (на основе данных из профиля)" |
|
||||||
tag_ufname = "Имя пользователя (на основе данных из профиля)" |
|
||||||
tag_ulname = "Фамилия пользователя (на основе данных из профиля)" |
|
||||||
tag_ulogin = "Логин пользователя (на основе данных из профиля)" |
|
||||||
tag_if_fld = "Условие на значение поля. В теге используйте стандартные конструкции сравнения PHP/JS<br><br><em>Пример:</em><br>[tag:if_fld:15 == '1']<br>...<br>[tag:elseif_fld:15 > '2']<br>...<br>[tag:else_fld]<br>...<br>[/tag:if_fld]" |
|
||||||
tag_f_valid = "Выведет контент, если все поля формы прошли валидацию" |
|
||||||
tag_f_invalid = "Выведет контент, если хотя бы одно поле формы не прошло валидацию" |
|
||||||
tag_easymail = "Быстро генерирует список всех значений полей, участвующих в шаблоне формы (вместо того, чтобы прописывать все теги вручную)" |
|
||||||
tag_if_user = "Выведет контент в письме пользователю, заполнившему форму" |
|
||||||
tag_if_admin = "Выведет контент в письме получателям-админам ("главным получателям" или адресату из поля "получатель на выбор")" |
|
||||||
tag_fld_subject = "Значение поля <strong>Тема</strong>" |
|
||||||
tag_fld_email = "Значение поля <strong>Email</strong>" |
|
||||||
tag_sitename = "Название сайта" |
|
||||||
tag_sitehost = "Адрес сайта" |
|
||||||
info_php_tags = "Доступен php и теги" |
|
||||||
|
|
||||||
code = "Исполняемый код" |
|
||||||
code_info = "Данные формы (валидация, шаблоны, получатели и т.д.) хранятся в переменной класса $this->form." |
|
||||||
code_onsubmit = "Код, исполняемый сразу после отправки формы (до валидации)" |
|
||||||
code_onvalidate = "Код, исполняемый после валидации формы" |
|
||||||
code_onsend = "Код, исполняемый после отправки писем" |
|
||||||
|
|
||||||
mfld_email = "Email" |
|
||||||
mfld_subject = "Тема" |
|
||||||
mfld_receivers = "Получатель на выбор" |
|
||||||
mfld_captcha = "Капча" |
|
||||||
mfld_copy = "Отправка копии" |
|
||||||
|
|
||||||
tag_mail_empty = "не заполнено" |
|
||||||
|
|
||||||
history = "История" |
|
||||||
date = "Дата" |
|
||||||
author = "Автор" |
|
||||||
status = "Статус" |
|
||||||
stat_new = "Новое" |
|
||||||
list_new = "Новых" |
|
||||||
stat_viewed = "Просмотрено" |
|
||||||
list_viewed = "Просмотренных" |
|
||||||
stat_replied = "Отвечено" |
|
||||||
list_replied = "Отвеченных" |
|
||||||
request = "Обращение" |
|
||||||
response = "Ответ" |
|
||||||
responses = "Ответы" |
|
||||||
write_response = "Написать ответ" |
|
||||||
body = "Тело письма" |
|
||||||
save_draft = "Сохранить черновик" |
|
||||||
send = "Отправить ответ" |
|
||||||
return_dialogs = "Вернуться к списку обращений" |
|
||||||
profile_look = "Перейти к профилю" |
|
||||||
write_email = "Написать письмо" |
|
||||||
from = "от" |
|
||||||
look = "Посмотреть" |
|
||||||
set_replied = "Пометить как отвеченное" |
|
||||||
marked_replied = "Было отмечено как отвеченное" |
|
||||||
attach = "Вложения" |
|
||||||
|
|
||||||
respose_sent = "Ответ успешно отправлен" |
|
||||||
|
|
||||||
cn_actions = "Действия" |
|
||||||
cn_del_mail = "Вы уверены, что хотите удалить этот e-mail?" |
|
||||||
cn_not_mail = "В этой форме нет писем..." |
|
||||||
cn_view = "Просмотр истории" |
|
||||||
cn_status = "Статус сообщений" |
|
||||||
cn_alias_not = " -- " |
|
||||||
cn_count_messages = "сообщений: " |
|
||||||
cn_copy_to_clipboard = "Скопировать в буфер обмена" |
|
||||||
cn_return_list_form = "Вернуться к списку форм" |
|
||||||
cn_mod_info = "Важно: модуль использует метод отправки почты установленный в системных настройках, в разделе " |
|
||||||
cn_mod_info_a = "Настройки почты." |
|
||||||
info_attr_name = "Значение атрибута name для этого поля:" |
|
||||||
public_key_recaptcha_v3 = "Публичный ключ reCAPTCHA v3" |
|
||||||
title_pub_key_recap = "Открытый ключ reCAPTCHA v3 указанный в системных настройках, используется на стороне клиента (например в js скриптах)" |
|
||||||
found_key_recap_v3 = "В системных настройках обнаружены и будут использоваться модулем API ключи reCAPTCHA v3" |
|
||||||
notfound_key_recap_v3_1 ="API ключи reCAPTCHA v3 не обнаружены." |
|
||||||
notfound_key_recap_v3_2 =" Вы можете установить их в разделе " |
|
||||||
notfound_key_recap_v3_3 ="Системные настройки" |
|
||||||
demo_jqval_cap = "Без Ajax, с jQuery Validation Plugin и reCAPTCHA v3" |
|
||||||
demo_ajax_jqval_cap = "Ajax, с jQuery Validation Plugin и reCAPTCHA v3" |
|
@ -1,166 +0,0 @@ |
|||||||
<?php |
|
||||||
|
|
||||||
/** |
|
||||||
* Модуль "Контакты New" |
|
||||||
* |
|
||||||
* @package AVE.cms |
|
||||||
* @subpackage module: ContactsNew |
|
||||||
* @since 1.4 |
|
||||||
* @author vudaltsov |
|
||||||
* @filesource |
|
||||||
*/ |
|
||||||
|
|
||||||
if(!defined('BASE_DIR')) exit; |
|
||||||
|
|
||||||
if (defined('ACP')) |
|
||||||
{ |
|
||||||
$modul['ModuleName'] = 'Контакты New'; |
|
||||||
$modul['ModuleSysName'] = 'contactsnew'; |
|
||||||
$modul['ModuleVersion'] = '1.2.6'; |
|
||||||
$modul['ModuleDescription'] = 'Данный модуль предназначен для создания веб-форм (например, обратной связи или простейшего оформления заказа), которые могут состоять из любого набора полей. Для вывода в публичной части сайта используйте тег <strong>[mod_contactsnew:XXX]</strong>, где XXX - это id или алиас формы.'; |
|
||||||
$modul['ModuleAutor'] = 'vudaltsov UPD Repellent'; |
|
||||||
$modul['ModuleCopyright'] = '© 2007-2019 AVE.CMS Team'; |
|
||||||
$modul['ModuleIsFunction'] = 1; |
|
||||||
$modul['ModuleAdminEdit'] = 1; |
|
||||||
$modul['ModuleFunction'] = 'mod_contactsnew'; |
|
||||||
$modul['ModuleTag'] = '[mod_contactsnew:alias/id:email]'; |
|
||||||
$modul['ModuleTagLink'] = null; |
|
||||||
$modul['ModuleAveTag'] = '#\\\[mod_contactsnew:([A-Za-z0-9-_]{1,20})]#'; |
|
||||||
$modul['ModulePHPTag'] = "<?php mod_contactsnew(''$1''); ?>";
|
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Тег |
|
||||||
*/ |
|
||||||
function mod_contactsnew($alias_id) |
|
||||||
{ |
|
||||||
global $AVE_Template; |
|
||||||
|
|
||||||
require_once(BASE_DIR . '/modules/contactsnew/class.contactsnew.php'); |
|
||||||
|
|
||||||
$contactsnew = new ContactsNew; |
|
||||||
$contactsnew->tpl_dir = BASE_DIR . '/modules/contactsnew/templates/'; |
|
||||||
|
|
||||||
$lang_file = BASE_DIR . '/modules/contactsnew/lang/' . $_SESSION['user_language'] . '.txt'; |
|
||||||
$AVE_Template->config_load($lang_file); |
|
||||||
|
|
||||||
echo $contactsnew->form_display($alias_id); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* AJAX-методы |
|
||||||
*/ |
|
||||||
if (! defined('ACP') && isset($_REQUEST['module']) && $_REQUEST['module'] == 'contactsnew') |
|
||||||
{ |
|
||||||
global $AVE_Template; |
|
||||||
|
|
||||||
$alias_id = $_REQUEST['alias_id']; |
|
||||||
|
|
||||||
require_once(BASE_DIR . '/modules/contactsnew/class.contactsnew.php'); |
|
||||||
|
|
||||||
$contactsnew = new ContactsNew; |
|
||||||
$contactsnew->tpl_dir = BASE_DIR . '/modules/contactsnew/templates/'; |
|
||||||
|
|
||||||
$lang_file = BASE_DIR . '/modules/contactsnew/lang/' . $_SESSION['user_language'] . '.txt'; |
|
||||||
$AVE_Template->config_load($lang_file); |
|
||||||
|
|
||||||
switch($_REQUEST['action']) |
|
||||||
{ |
|
||||||
case '': |
|
||||||
case 'full': |
|
||||||
exit ($contactsnew->form_display($alias_id)); |
|
||||||
|
|
||||||
case 'validate': |
|
||||||
$contactsnew->form_display($alias_id); |
|
||||||
$contactsnew->_json($contactsnew->form['ajax'], true); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Админка |
|
||||||
*/ |
|
||||||
if (defined('ACP') && isset($_REQUEST['mod']) && $_REQUEST['mod'] == 'contactsnew' && !empty($_REQUEST['moduleaction'])) |
|
||||||
{ |
|
||||||
$fid = !empty($_REQUEST['fid']) ? (int)$_REQUEST['fid'] : 0; |
|
||||||
|
|
||||||
require_once(BASE_DIR . '/modules/contactsnew/class.contactsnew.php'); |
|
||||||
|
|
||||||
$contactsnew = new ContactsNew; |
|
||||||
$contactsnew->tpl_dir = BASE_DIR . '/modules/contactsnew/templates/'; |
|
||||||
|
|
||||||
$lang_file = BASE_DIR . '/modules/contactsnew/lang/' . $_SESSION['admin_language'] . '.txt'; |
|
||||||
$AVE_Template->config_load($lang_file); |
|
||||||
|
|
||||||
// создаём переменные с версией движка |
|
||||||
$ave14 = ((float)str_replace(',', '.', APP_VERSION) < 1.5); |
|
||||||
$AVE_Template->assign('ave14', $ave14); |
|
||||||
$AVE_Template->assign('ave15', !$ave14); |
|
||||||
|
|
||||||
switch($_REQUEST['moduleaction']) |
|
||||||
{ |
|
||||||
case '1': |
|
||||||
$contactsnew->forms_list(); |
|
||||||
break; |
|
||||||
|
|
||||||
case 'form_edit': |
|
||||||
$response = $contactsnew->form_edit($fid); |
|
||||||
break; |
|
||||||
|
|
||||||
case 'form_save': |
|
||||||
$response = $contactsnew->form_save($fid); |
|
||||||
// если передан запрос на обновление полей, передаём tpl |
|
||||||
if (isset($_REQUEST['fields_reload']) && $_REQUEST['fields_reload'] == 1) |
|
||||||
{ |
|
||||||
exit ($contactsnew->form_fields_fetch()); |
|
||||||
} |
|
||||||
break; |
|
||||||
|
|
||||||
case 'form_del': |
|
||||||
$contactsnew->form_del($fid); |
|
||||||
header('Location: index.php?do=modules&action=modedit&mod=contactsnew&moduleaction=1&cp=' . SESSION); |
|
||||||
exit; |
|
||||||
|
|
||||||
case 'form_copy': |
|
||||||
$fid_new = $contactsnew->form_copy($fid); |
|
||||||
$_SESSION['module_contactsnew_admin'][$fid_new]['edit_alert'] = array('text' => 'copied', 'theme' => 'accept'); |
|
||||||
header('Location: index.php?do=modules&action=modedit&mod=contactsnew&moduleaction=form_edit&fid=' . $fid_new . '&cp=' . SESSION); |
|
||||||
exit; |
|
||||||
|
|
||||||
case 'email_validate': |
|
||||||
$response = (int)$contactsnew->_email_validate($_REQUEST['email']); |
|
||||||
break; |
|
||||||
|
|
||||||
case 'alias_validate': |
|
||||||
$response = $contactsnew->_alias_validate($_REQUEST['alias'],$fid); |
|
||||||
$response = ($response === 'syn') ? 'syn' : (int)$response; |
|
||||||
break; |
|
||||||
|
|
||||||
case 'history_list': |
|
||||||
$contactsnew->history_list($fid); |
|
||||||
break; |
|
||||||
|
|
||||||
case 'email_del': |
|
||||||
$hid = !empty($_REQUEST['hid']) ? (int)$_REQUEST['hid'] : 0; |
|
||||||
$contactsnew->email_del($hid); |
|
||||||
$fid = !empty($_REQUEST['fid']) ? (int)$_REQUEST['fid'] : 0; |
|
||||||
header('Location: index.php?do=modules&action=modedit&mod=contactsnew&moduleaction=history_list&fid=' . $fid . '&cp=' . SESSION); |
|
||||||
exit; |
|
||||||
|
|
||||||
case 'history_dialog': |
|
||||||
$hid = !empty($_REQUEST['hid']) ? (int)$_REQUEST['hid'] : 0; |
|
||||||
$contactsnew->history_dialog($hid); |
|
||||||
break; |
|
||||||
|
|
||||||
case 'history_dialog_submit': |
|
||||||
$hid = !empty($_REQUEST['hid']) ? (int)$_REQUEST['hid'] : 0; |
|
||||||
$contactsnew->history_dialog_submit($hid); |
|
||||||
break; |
|
||||||
|
|
||||||
case 'dialog_status': |
|
||||||
$hid = !empty($_REQUEST['hid']) ? (int)$_REQUEST['hid'] : 0; |
|
||||||
$contactsnew->dialog_status($hid); |
|
||||||
break; |
|
||||||
} |
|
||||||
if ($_REQUEST['ajax']) exit((string)$response); |
|
||||||
} |
|
||||||
?> |
|
@ -1,133 +0,0 @@ |
|||||||
<?php |
|
||||||
|
|
||||||
/** |
|
||||||
* Модуль "Контакты New" |
|
||||||
* |
|
||||||
* @package AVE.cms |
|
||||||
* @subpackage module: ContactsNew |
|
||||||
* @since 1.4 - 1.5 |
|
||||||
* @author vudaltsov UPD Repellent |
|
||||||
* @filesource |
|
||||||
*/ |
|
||||||
|
|
||||||
$module_sql_install = array(); |
|
||||||
$module_sql_deinstall = array(); |
|
||||||
$module_sql_update = array(); |
|
||||||
|
|
||||||
// Удаление |
|
||||||
$module_sql_deinstall[] = "DROP TABLE IF EXISTS CPPREFIX_module_contactsnew_forms;"; |
|
||||||
$module_sql_deinstall[] = "DROP TABLE IF EXISTS CPPREFIX_module_contactsnew_fields;"; |
|
||||||
$module_sql_deinstall[] = "DROP TABLE IF EXISTS CPPREFIX_module_contactsnew_history;"; |
|
||||||
|
|
||||||
// Установка |
|
||||||
$module_sql_install[] = " |
|
||||||
CREATE TABLE IF NOT EXISTS `CPPREFIX_module_contactsnew_forms` ( |
|
||||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT, |
|
||||||
`alias` varchar(20) NOT NULL, |
|
||||||
`title` varchar(255) NOT NULL, |
|
||||||
`protection` enum('0','1') NOT NULL DEFAULT '1', |
|
||||||
`rubheader` text NOT NULL, |
|
||||||
`form_tpl` text NOT NULL, |
|
||||||
`mail_set` text NOT NULL, |
|
||||||
`mail_tpl` text NOT NULL, |
|
||||||
`finish_tpl` text NOT NULL, |
|
||||||
`code_onsubmit` text NOT NULL, |
|
||||||
`code_onvalidate` text NOT NULL, |
|
||||||
`code_onsend` text NOT NULL, |
|
||||||
PRIMARY KEY (`id`) |
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0 AUTO_INCREMENT=1; |
|
||||||
"; |
|
||||||
|
|
||||||
$module_sql_install[] = " |
|
||||||
CREATE TABLE IF NOT EXISTS `CPPREFIX_module_contactsnew_fields` ( |
|
||||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT, |
|
||||||
`form_id` int(10) NOT NULL, |
|
||||||
`active` enum('0','1') NOT NULL DEFAULT '1', |
|
||||||
`title` varchar(255) NOT NULL, |
|
||||||
`type` varchar(255) NOT NULL, |
|
||||||
`main` enum('0','1') NOT NULL DEFAULT '0', |
|
||||||
`setting` text NOT NULL, |
|
||||||
`required` enum('0','1') NOT NULL DEFAULT '0', |
|
||||||
`defaultval` varchar(255) NOT NULL, |
|
||||||
`attributes` text NOT NULL, |
|
||||||
`tpl` text NOT NULL, |
|
||||||
PRIMARY KEY (`id`) |
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0 AUTO_INCREMENT=1; |
|
||||||
"; |
|
||||||
|
|
||||||
$module_sql_install[] = " |
|
||||||
CREATE TABLE IF NOT EXISTS `CPPREFIX_module_contactsnew_history` ( |
|
||||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT, |
|
||||||
`form_id` int(10) NOT NULL, |
|
||||||
`email` varchar(255) NOT NULL, |
|
||||||
`subject` varchar(255) NOT NULL, |
|
||||||
`status` enum('new','viewed','replied') NOT NULL DEFAULT 'new', |
|
||||||
`date` int(10) NOT NULL, |
|
||||||
`dialog` longtext NOT NULL, |
|
||||||
`postdata` text NOT NULL, |
|
||||||
PRIMARY KEY (`id`) |
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0 AUTO_INCREMENT=1; |
|
||||||
"; |
|
||||||
|
|
||||||
// Обновление |
|
||||||
$module_sql_update[] = " |
|
||||||
UPDATE `CPPREFIX_module` |
|
||||||
SET |
|
||||||
ModuleAveTag = '" . $modul['ModuleAveTag'] . "', |
|
||||||
ModulePHPTag = '" . $modul['ModulePHPTag'] . "', |
|
||||||
ModuleVersion = '" . $modul['ModuleVersion'] . "' |
|
||||||
WHERE |
|
||||||
ModuleSysName = '" . $modul['ModuleSysName'] . "' |
|
||||||
LIMIT 1; |
|
||||||
"; |
|
||||||
|
|
||||||
// beta 3 |
|
||||||
$module_sql_update[] = " |
|
||||||
ALTER TABLE `CPPREFIX_module_contactsnew_forms` |
|
||||||
ADD IF NOT EXISTS `code_onsubmit` text NOT NULL |
|
||||||
AFTER `finish_tpl`"; |
|
||||||
$module_sql_update[] = " |
|
||||||
ALTER TABLE `CPPREFIX_module_contactsnew_forms` |
|
||||||
ADD IF NOT EXISTS `code_onvalidate` text NOT NULL |
|
||||||
AFTER `code_onsubmit`"; |
|
||||||
$module_sql_update[] = " |
|
||||||
ALTER TABLE `CPPREFIX_module_contactsnew_forms` |
|
||||||
ADD IF NOT EXISTS `code_onsend` text NOT NULL |
|
||||||
AFTER `code_onvalidate`"; |
|
||||||
$module_sql_update[] = " |
|
||||||
ALTER TABLE `CPPREFIX_module_contactsnew_forms` |
|
||||||
DROP INDEX IF EXISTS `alias`"; |
|
||||||
|
|
||||||
// beta 8 |
|
||||||
$module_sql_update[] = " |
|
||||||
ALTER TABLE `CPPREFIX_module_contactsnew_fields` |
|
||||||
ADD IF NOT EXISTS `active` enum('0','1') NOT NULL DEFAULT '1' |
|
||||||
AFTER `form_id`"; |
|
||||||
$module_sql_update[] = " |
|
||||||
ALTER TABLE `CPPREFIX_module_contactsnew_fields` |
|
||||||
DROP IF EXISTS `position`"; |
|
||||||
|
|
||||||
// v1.1 beta 1 |
|
||||||
$module_sql_update[] = " |
|
||||||
CREATE TABLE IF NOT EXISTS `CPPREFIX_module_contactsnew_history` ( |
|
||||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT, |
|
||||||
`form_id` int(10) NOT NULL, |
|
||||||
`email` varchar(255) NOT NULL, |
|
||||||
`subject` varchar(255) NOT NULL, |
|
||||||
`status` enum('new','viewed','replied') NOT NULL DEFAULT 'new', |
|
||||||
`date` int(10) NOT NULL, |
|
||||||
`dialog` longtext NOT NULL, |
|
||||||
PRIMARY KEY (`id`) |
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0 AUTO_INCREMENT=1; |
|
||||||
"; |
|
||||||
$module_sql_update[] = " |
|
||||||
ALTER TABLE `CPPREFIX_module_contactsnew_forms` |
|
||||||
ADD IF NOT EXISTS `protection` enum('0','1') NOT NULL DEFAULT '1' |
|
||||||
AFTER `title`"; |
|
||||||
|
|
||||||
// v1.1 beta 2 |
|
||||||
$module_sql_update[] = " |
|
||||||
ALTER TABLE `CPPREFIX_module_contactsnew_history` |
|
||||||
ADD IF NOT EXISTS`postdata` text NOT NULL |
|
||||||
AFTER `dialog`"; |
|
||||||
?> |
|
@ -1,8 +0,0 @@ |
|||||||
<?php |
|
||||||
/** |
|
||||||
* Файл-заглушка, предназначенный для запрета показа списка файлов в текущей директории, |
|
||||||
* если через адресную строку браузера было прямое общращение к данной директории. |
|
||||||
*/ |
|
||||||
header('Location:/'); |
|
||||||
exit; |
|
||||||
?> |
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.0 KiB |
@ -0,0 +1,8 @@ |
|||||||
|
<?php |
||||||
|
/** |
||||||
|
* Файл-заглушка, предназначенный для запрета показа списка файлов в текущей директории, |
||||||
|
* если через адресную строку браузера было прямое общращение к данной директории. |
||||||
|
*/ |
||||||
|
header('Location:/'); |
||||||
|
exit; |
||||||
|
?> |
@ -0,0 +1,19 @@ |
|||||||
|
<?php |
||||||
|
if (! defined('BASE_DIR')) |
||||||
|
exit; |
||||||
|
|
||||||
|
$module = array( |
||||||
|
'ModuleSysName' => 'forms', |
||||||
|
'ModuleVersion' => '1.26.0', |
||||||
|
'ModuleAutor' => 'AVE.cms Team', |
||||||
|
'ModuleCopyright' => '© 2007-' . date('Y') . ' AVE.cms', |
||||||
|
'ModuleIsFunction' => 1, |
||||||
|
'ModuleTemplate' => 0, |
||||||
|
'ModuleAdminEdit' => 1, |
||||||
|
'ModuleFunction' => 'mod_forms', |
||||||
|
'ModuleTag' => '[mod_forms:alias/id:email]', |
||||||
|
'ModuleTagLink' => null, |
||||||
|
'ModuleAveTag' => '#\\\[mod_forms:([A-Za-z0-9-_]{1,20})\\\]#', |
||||||
|
'ModulePHPTag' => "<?php mod_forms(''$1''); ?>"
|
||||||
|
); |
||||||
|
?> |
@ -0,0 +1,158 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
/** |
||||||
|
* Модуль "Формы" |
||||||
|
* |
||||||
|
* @package AVE.cms |
||||||
|
* @subpackage module: forms |
||||||
|
* @since 1.4 |
||||||
|
* @author vudaltsov |
||||||
|
* @filesource |
||||||
|
*/ |
||||||
|
|
||||||
|
if (! defined('BASE_DIR')) |
||||||
|
exit; |
||||||
|
|
||||||
|
/** |
||||||
|
* Тег |
||||||
|
* |
||||||
|
* @param $alias_id |
||||||
|
*/ |
||||||
|
function mod_forms($alias_id) |
||||||
|
{ |
||||||
|
global $AVE_Template; |
||||||
|
|
||||||
|
require_once(BASE_DIR . '/modules/forms/class/forms.php'); |
||||||
|
|
||||||
|
$forms = new Forms; |
||||||
|
$forms->tpl_dir = BASE_DIR . '/modules/forms/templates/'; |
||||||
|
|
||||||
|
$lang_file = BASE_DIR . '/modules/forms/lang/' . $_SESSION['user_language'] . '.txt'; |
||||||
|
$AVE_Template->config_load($lang_file); |
||||||
|
|
||||||
|
echo $forms->form_display($alias_id); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Паблик |
||||||
|
*/ |
||||||
|
if (! defined('ACP') && (isset($_REQUEST['module']) && $_REQUEST['module'] == 'forms')) |
||||||
|
{ |
||||||
|
global $AVE_Template; |
||||||
|
|
||||||
|
$alias_id = $_REQUEST['alias_id']; |
||||||
|
|
||||||
|
require_once(BASE_DIR . '/modules/forms/class/forms.php'); |
||||||
|
|
||||||
|
$forms = new Forms(); |
||||||
|
$forms->tpl_dir = BASE_DIR . '/modules/forms/templates/'; |
||||||
|
|
||||||
|
$lang_file = BASE_DIR . '/modules/forms/lang/' . $_SESSION['user_language'] . '.txt'; |
||||||
|
$AVE_Template->config_load($lang_file, 'module'); |
||||||
|
|
||||||
|
switch($_REQUEST['action']) |
||||||
|
{ |
||||||
|
case '': |
||||||
|
case 'full': |
||||||
|
exit ($forms->form_display($alias_id)); |
||||||
|
|
||||||
|
case 'validate': |
||||||
|
$forms->form_display($alias_id); |
||||||
|
$forms->_json($forms->form['ajax'], true); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Админка |
||||||
|
*/ |
||||||
|
if ( |
||||||
|
defined('ACP') |
||||||
|
&& (isset($_REQUEST['moduleaction']) && ! empty($_REQUEST['moduleaction'])) |
||||||
|
&& (isset($_REQUEST['mod']) && $_REQUEST['mod'] == 'forms') |
||||||
|
) |
||||||
|
{ |
||||||
|
$fid = !empty($_REQUEST['fid']) ? (int)$_REQUEST['fid'] : 0; |
||||||
|
|
||||||
|
require_once(BASE_DIR . '/modules/forms/class/forms.php'); |
||||||
|
|
||||||
|
$forms = new Forms(); |
||||||
|
$forms->tpl_dir = BASE_DIR . '/modules/forms/templates/'; |
||||||
|
|
||||||
|
$lang_file = BASE_DIR . '/modules/forms/lang/' . $_SESSION['admin_language'] . '.txt'; |
||||||
|
$AVE_Template->config_load($lang_file, 'module'); |
||||||
|
|
||||||
|
// создаём переменные с версией движка |
||||||
|
$ave14 = ((float)str_replace(',', '.', APP_VERSION) < 1.5); |
||||||
|
$AVE_Template->assign('ave14', $ave14); |
||||||
|
$AVE_Template->assign('ave15', !$ave14); |
||||||
|
|
||||||
|
switch($_REQUEST['moduleaction']) |
||||||
|
{ |
||||||
|
case '1': |
||||||
|
$forms->forms_list(); |
||||||
|
break; |
||||||
|
|
||||||
|
case 'form_edit': |
||||||
|
$response = $forms->form_edit($fid); |
||||||
|
break; |
||||||
|
|
||||||
|
case 'form_save': |
||||||
|
$response = $forms->form_save($fid); |
||||||
|
// если передан запрос на обновление полей, передаём tpl |
||||||
|
if (isset($_REQUEST['fields_reload']) && $_REQUEST['fields_reload'] == 1) |
||||||
|
{ |
||||||
|
exit ($forms->form_fields_fetch()); |
||||||
|
} |
||||||
|
break; |
||||||
|
|
||||||
|
case 'form_del': |
||||||
|
$forms->form_del($fid); |
||||||
|
header('Location: index.php?do=modules&action=modedit&mod=forms&moduleaction=1&cp=' . SESSION); |
||||||
|
exit; |
||||||
|
|
||||||
|
case 'form_copy': |
||||||
|
$fid_new = $forms->form_copy($fid); |
||||||
|
$_SESSION['module_forms_admin'][$fid_new]['edit_alert'] = array('text' => 'copied', 'theme' => 'accept'); |
||||||
|
header('Location: index.php?do=modules&action=modedit&mod=forms&moduleaction=form_edit&fid=' . $fid_new . '&cp=' . SESSION); |
||||||
|
exit; |
||||||
|
|
||||||
|
case 'email_validate': |
||||||
|
$response = (int)$forms->_email_validate($_REQUEST['email']); |
||||||
|
break; |
||||||
|
|
||||||
|
case 'alias_validate': |
||||||
|
$response = $forms->_alias_validate($_REQUEST['alias'],$fid); |
||||||
|
$response = ($response === 'syn') ? 'syn' : (int)$response; |
||||||
|
break; |
||||||
|
|
||||||
|
case 'history_list': |
||||||
|
$forms->history_list($fid); |
||||||
|
break; |
||||||
|
|
||||||
|
case 'email_del': |
||||||
|
$hid = !empty($_REQUEST['hid']) ? (int)$_REQUEST['hid'] : 0; |
||||||
|
$forms->email_del($hid); |
||||||
|
$fid = !empty($_REQUEST['fid']) ? (int)$_REQUEST['fid'] : 0; |
||||||
|
header('Location: index.php?do=modules&action=modedit&mod=forms&moduleaction=history_list&fid=' . $fid . '&cp=' . SESSION); |
||||||
|
exit; |
||||||
|
|
||||||
|
case 'history_dialog': |
||||||
|
$hid = !empty($_REQUEST['hid']) ? (int)$_REQUEST['hid'] : 0; |
||||||
|
$forms->history_dialog($hid); |
||||||
|
break; |
||||||
|
|
||||||
|
case 'history_dialog_submit': |
||||||
|
$hid = !empty($_REQUEST['hid']) ? (int)$_REQUEST['hid'] : 0; |
||||||
|
$forms->history_dialog_submit($hid); |
||||||
|
break; |
||||||
|
|
||||||
|
case 'dialog_status': |
||||||
|
$hid = !empty($_REQUEST['hid']) ? (int)$_REQUEST['hid'] : 0; |
||||||
|
$forms->dialog_status($hid); |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
if ($_REQUEST['ajax']) |
||||||
|
exit((string)$response); |
||||||
|
} |
||||||
|
?> |
@ -0,0 +1,81 @@ |
|||||||
|
<?php |
||||||
|
if (! defined('BASE_DIR')) |
||||||
|
exit; |
||||||
|
|
||||||
|
/** |
||||||
|
* Модуль "Формы" |
||||||
|
* |
||||||
|
*/ |
||||||
|
|
||||||
|
$module_sql_install = array(); |
||||||
|
$module_sql_deinstall = array(); |
||||||
|
$module_sql_update = array(); |
||||||
|
|
||||||
|
// Удаление |
||||||
|
$module_sql_deinstall[] = "DROP TABLE IF EXISTS %%PRFX%%_module_forms_forms;"; |
||||||
|
$module_sql_deinstall[] = "DROP TABLE IF EXISTS %%PRFX%%_module_forms_fields;"; |
||||||
|
$module_sql_deinstall[] = "DROP TABLE IF EXISTS %%PRFX%%_module_forms_history;"; |
||||||
|
|
||||||
|
// Установка |
||||||
|
$module_sql_install[] = " |
||||||
|
CREATE TABLE IF NOT EXISTS `%%PRFX%%_module_forms_forms` ( |
||||||
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT, |
||||||
|
`alias` varchar(20) NOT NULL, |
||||||
|
`title` varchar(255) NOT NULL, |
||||||
|
`protection` enum('0','1') NOT NULL DEFAULT '1', |
||||||
|
`rubheader` text NOT NULL, |
||||||
|
`form_tpl` text NOT NULL, |
||||||
|
`mail_set` text NOT NULL, |
||||||
|
`mail_tpl` text NOT NULL, |
||||||
|
`finish_tpl` text NOT NULL, |
||||||
|
`code_onsubmit` text NOT NULL, |
||||||
|
`code_onvalidate` text NOT NULL, |
||||||
|
`code_beforesend` text NOT NULL, |
||||||
|
`code_onsend` text NOT NULL, |
||||||
|
PRIMARY KEY (`id`) |
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0 AUTO_INCREMENT=1; |
||||||
|
"; |
||||||
|
|
||||||
|
$module_sql_install[] = " |
||||||
|
CREATE TABLE IF NOT EXISTS `%%PRFX%%_module_forms_fields` ( |
||||||
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT, |
||||||
|
`form_id` int(10) NOT NULL, |
||||||
|
`active` enum('0','1') NOT NULL DEFAULT '1', |
||||||
|
`title` varchar(255) NOT NULL, |
||||||
|
`type` varchar(255) NOT NULL, |
||||||
|
`main` enum('0','1') NOT NULL DEFAULT '0', |
||||||
|
`setting` text NOT NULL, |
||||||
|
`required` enum('0','1') NOT NULL DEFAULT '0', |
||||||
|
`defaultval` varchar(255) NOT NULL, |
||||||
|
`attributes` text NOT NULL, |
||||||
|
`tpl` text NOT NULL, |
||||||
|
PRIMARY KEY (`id`) |
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0 AUTO_INCREMENT=1; |
||||||
|
"; |
||||||
|
|
||||||
|
$module_sql_install[] = " |
||||||
|
CREATE TABLE IF NOT EXISTS `%%PRFX%%_module_forms_history` ( |
||||||
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT, |
||||||
|
`form_id` int(10) NOT NULL, |
||||||
|
`email` varchar(255) NOT NULL, |
||||||
|
`subject` varchar(255) NOT NULL, |
||||||
|
`status` enum('new','viewed','replied') NOT NULL DEFAULT 'new', |
||||||
|
`date` int(10) NOT NULL, |
||||||
|
`dialog` longtext NOT NULL, |
||||||
|
`postdata` text NOT NULL, |
||||||
|
PRIMARY KEY (`id`) |
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0 AUTO_INCREMENT=1; |
||||||
|
"; |
||||||
|
|
||||||
|
// Обновление |
||||||
|
$module_sql_update[] = " |
||||||
|
UPDATE `%%PRFX%%_module` |
||||||
|
SET |
||||||
|
ModuleAveTag = '" . $module['ModuleAveTag'] . "', |
||||||
|
ModulePHPTag = '" . $module['ModulePHPTag'] . "', |
||||||
|
ModuleVersion = '" . $module['ModuleVersion'] . "' |
||||||
|
WHERE |
||||||
|
ModuleSysName = '" . $module['ModuleSysName'] . "' |
||||||
|
LIMIT 1; |
||||||
|
"; |
||||||
|
?> |
Loading…
Reference in new issue