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