- Если форма не работает, или не работает валидация (отправляется пустая форма без проверки и т.п.) убедитесь, что библиотека jQuery (jquery.min.js - по умолчанию подключается модулем) подключена на странице только один раз! и расположена в секции <head> , а также подключен скрипт jquery.form.min.js (по умолчанию подключается модулем в разделе Скрипты и стили, необходимые для оформления и функционирования формы)
-
-
- Если не работает валидация (отправляется пустая форма без проверки и т.п.) убедитесь, что библиотека jQuery (jquery.min.js - по умолчанию подключается модулем) подключена на странице только один раз! и расположена в секции <head>
-
-
'
- ),
- 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]'
- )
-
-
- )
-);
\ No newline at end of file
diff --git a/contactsnew/js/jquery.form.min.js b/contactsnew/js/jquery.form.min.js
deleted file mode 100644
index 9a447f7..0000000
--- a/contactsnew/js/jquery.form.min.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/*!
- * jQuery Form Plugin
- * version: 4.2.2
- * Requires jQuery v1.7.2 or later
- * Project repository: https://github.com/jquery-form/form
-
- * Copyright 2017 Kevin Morris
- * Copyright 2006 M. Alsup
-
- * Dual licensed under the LGPL-2.1+ or MIT licenses
- * https://github.com/jquery-form/form#license
-
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- */
-!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=function(t,r){return void 0===r&&(r="undefined"!=typeof window?require("jquery"):require("jquery")(t)),e(r),r}:e(jQuery)}(function(e){"use strict";function t(t){var r=t.data;t.isDefaultPrevented()||(t.preventDefault(),e(t.target).closest("form").ajaxSubmit(r))}function r(t){var r=t.target,a=e(r);if(!a.is("[type=submit],[type=image]")){var n=a.closest("[type=submit]");if(0===n.length)return;r=n[0]}var i=r.form;if(i.clk=r,"image"===r.type)if(void 0!==t.offsetX)i.clk_x=t.offsetX,i.clk_y=t.offsetY;else if("function"==typeof e.fn.offset){var o=a.offset();i.clk_x=t.pageX-o.left,i.clk_y=t.pageY-o.top}else i.clk_x=t.pageX-r.offsetLeft,i.clk_y=t.pageY-r.offsetTop;setTimeout(function(){i.clk=i.clk_x=i.clk_y=null},100)}function a(){if(e.fn.ajaxSubmit.debug){var t="[jquery.form] "+Array.prototype.join.call(arguments,"");window.console&&window.console.log?window.console.log(t):window.opera&&window.opera.postError&&window.opera.postError(t)}}var n=/\r?\n/g,i={};i.fileapi=void 0!==e('').get(0).files,i.formdata=void 0!==window.FormData;var o=!!e.fn.prop;e.fn.attr2=function(){if(!o)return this.attr.apply(this,arguments);var e=this.prop.apply(this,arguments);return e&&e.jquery||"string"==typeof e?e:this.attr.apply(this,arguments)},e.fn.ajaxSubmit=function(t,r,n,s){function u(r){var a,n,i=e.param(r,t.traditional).split("&"),o=i.length,s=[];for(a=0;a',k).val(f.extraData[c].value).appendTo(w)[0]):u.push(e('',k).val(f.extraData[c]).appendTo(w)[0]));f.iframeTarget||h.appendTo(D),v.attachEvent?v.attachEvent("onload",s):v.addEventListener("load",s,!1),setTimeout(t,15);try{w.submit()}catch(e){document.createElement("form").submit.apply(w)}}finally{w.setAttribute("action",i),w.setAttribute("enctype",o),r?w.setAttribute("target",r):p.removeAttr("target"),e(u).remove()}}function s(t){if(!x.aborted&&!X){if((O=n(v))||(a("cannot access response document"),t=L),t===A&&x)return x.abort("timeout"),void S.reject(x,"timeout");if(t===L&&x)return x.abort("server abort"),void S.reject(x,"error","server abort");if(O&&O.location.href!==f.iframeSrc||T){v.detachEvent?v.detachEvent("onload",s):v.removeEventListener("load",s,!1);var r,i="success";try{if(T)throw"timeout";var o="xml"===f.dataType||O.XMLDocument||e.isXMLDoc(O);if(a("isXml="+o),!o&&window.opera&&(null===O.body||!O.body.innerHTML)&&--C)return a("requeing onLoad callback, DOM not available"),void setTimeout(s,250);var u=O.body?O.body:O.documentElement;x.responseText=u?u.innerHTML:null,x.responseXML=O.XMLDocument?O.XMLDocument:O,o&&(f.dataType="xml"),x.getResponseHeader=function(e){return{"content-type":f.dataType}[e.toLowerCase()]},u&&(x.status=Number(u.getAttribute("status"))||x.status,x.statusText=u.getAttribute("statusText")||x.statusText);var c=(f.dataType||"").toLowerCase(),l=/(json|script|text)/.test(c);if(l||f.textarea){var p=O.getElementsByTagName("textarea")[0];if(p)x.responseText=p.value,x.status=Number(p.getAttribute("status"))||x.status,x.statusText=p.getAttribute("statusText")||x.statusText;else if(l){var m=O.getElementsByTagName("pre")[0],g=O.getElementsByTagName("body")[0];m?x.responseText=m.textContent?m.textContent:m.innerText:g&&(x.responseText=g.textContent?g.textContent:g.innerText)}}else"xml"===c&&!x.responseXML&&x.responseText&&(x.responseXML=q(x.responseText));try{M=N(x,c,f)}catch(e){i="parsererror",x.error=r=e||i}}catch(e){a("error caught: ",e),i="error",x.error=r=e||i}x.aborted&&(a("upload aborted"),i=null),x.status&&(i=x.status>=200&&x.status<300||304===x.status?"success":"error"),"success"===i?(f.success&&f.success.call(f.context,M,"success",x),S.resolve(x.responseText,"success",x),d&&e.event.trigger("ajaxSuccess",[x,f])):i&&(void 0===r&&(r=x.statusText),f.error&&f.error.call(f.context,x,i,r),S.reject(x,"error",r),d&&e.event.trigger("ajaxError",[x,f,r])),d&&e.event.trigger("ajaxComplete",[x,f]),d&&!--e.active&&e.event.trigger("ajaxStop"),f.complete&&f.complete.call(f.context,x,i),X=!0,f.timeout&&clearTimeout(j),setTimeout(function(){f.iframeTarget?h.attr("src",f.iframeSrc):h.remove(),x.responseXML=null},100)}}}var u,c,f,d,m,h,v,x,y,b,T,j,w=p[0],S=e.Deferred();if(S.abort=function(e){x.abort(e)},r)for(c=0;c',k)).css({position:"absolute",top:"-1000px",left:"-1000px"}),v=h[0],x={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(t){var r="timeout"===t?"timeout":"aborted";a("aborting upload... "+r),this.aborted=1;try{v.contentWindow.document.execCommand&&v.contentWindow.document.execCommand("Stop")}catch(e){}h.attr("src",f.iframeSrc),x.error=r,f.error&&f.error.call(f.context,x,r,t),d&&e.event.trigger("ajaxError",[x,f,r]),f.complete&&f.complete.call(f.context,x,r)}},(d=f.global)&&0==e.active++&&e.event.trigger("ajaxStart"),d&&e.event.trigger("ajaxSend",[x,f]),f.beforeSend&&!1===f.beforeSend.call(f.context,x,f))return f.global&&e.active--,S.reject(),S;if(x.aborted)return S.reject(),S;(y=w.clk)&&(b=y.name)&&!y.disabled&&(f.extraData=f.extraData||{},f.extraData[b]=y.value,"image"===y.type&&(f.extraData[b+".x"]=w.clk_x,f.extraData[b+".y"]=w.clk_y));var A=1,L=2,F=e("meta[name=csrf-token]").attr("content"),E=e("meta[name=csrf-param]").attr("content");E&&F&&(f.extraData=f.extraData||{},f.extraData[E]=F),f.forceSync?i():setTimeout(i,10);var M,O,X,C=50,q=e.parseXML||function(e,t){return window.ActiveXObject?((t=new ActiveXObject("Microsoft.XMLDOM")).async="false",t.loadXML(e)):t=(new DOMParser).parseFromString(e,"text/xml"),t&&t.documentElement&&"parsererror"!==t.documentElement.nodeName?t:null},_=e.parseJSON||function(e){return window.eval("("+e+")")},N=function(t,r,a){var n=t.getResponseHeader("content-type")||"",i=("xml"===r||!r)&&n.indexOf("xml")>=0,o=i?t.responseXML:t.responseText;return i&&"parsererror"===o.documentElement.nodeName&&e.error&&e.error("parsererror"),a&&a.dataFilter&&(o=a.dataFilter(o,r)),"string"==typeof o&&(("json"===r||!r)&&n.indexOf("json")>=0?o=_(o):("script"===r||!r)&&n.indexOf("javascript")>=0&&e.globalEval(o)),o};return S}if(!this.length)return a("ajaxSubmit: skipping submit process - no element selected"),this;var l,f,d,p=this;"function"==typeof t?t={success:t}:"string"==typeof t||!1===t&&arguments.length>0?(t={url:t,data:r,dataType:n},"function"==typeof s&&(t.success=s)):void 0===t&&(t={}),l=t.method||t.type||this.attr2("method"),(d=(d="string"==typeof(f=t.url||this.attr2("action"))?e.trim(f):"")||window.location.href||"")&&(d=(d.match(/^([^#]+)/)||[])[1]),t=e.extend(!0,{url:d,success:e.ajaxSettings.success,type:l||e.ajaxSettings.type,iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},t);var m={};if(this.trigger("form-pre-serialize",[this,t,m]),m.veto)return a("ajaxSubmit: submit vetoed via form-pre-serialize trigger"),this;if(t.beforeSerialize&&!1===t.beforeSerialize(this,t))return a("ajaxSubmit: submit aborted via beforeSerialize callback"),this;var h=t.traditional;void 0===h&&(h=e.ajaxSettings.traditional);var v,g=[],x=this.formToArray(t.semantic,g,t.filtering);if(t.data){var y=e.isFunction(t.data)?t.data(x):t.data;t.extraData=y,v=e.param(y,h)}if(t.beforeSubmit&&!1===t.beforeSubmit(x,this,t))return a("ajaxSubmit: submit aborted via beforeSubmit callback"),this;if(this.trigger("form-submit-validate",[x,this,t,m]),m.veto)return a("ajaxSubmit: submit vetoed via form-submit-validate trigger"),this;var b=e.param(x,h);v&&(b=b?b+"&"+v:v),"GET"===t.type.toUpperCase()?(t.url+=(t.url.indexOf("?")>=0?"&":"?")+b,t.data=null):t.data=b;var T=[];if(t.resetForm&&T.push(function(){p.resetForm()}),t.clearForm&&T.push(function(){p.clearForm(t.includeHidden)}),!t.dataType&&t.target){var j=t.success||function(){};T.push(function(r,a,n){var i=arguments,o=t.replaceTarget?"replaceWith":"html";e(t.target)[o](r).each(function(){j.apply(this,i)})})}else t.success&&(e.isArray(t.success)?e.merge(T,t.success):T.push(t.success));if(t.success=function(e,r,a){for(var n=t.context||this,i=0,o=T.length;i0,D="multipart/form-data",A=p.attr("enctype")===D||p.attr("encoding")===D,L=i.fileapi&&i.formdata;a("fileAPI :"+L);var F,E=(k||A)&&!L;!1!==t.iframe&&(t.iframe||E)?t.closeKeepAlive?e.get(t.closeKeepAlive,function(){F=c(x)}):F=c(x):F=(k||A)&&L?function(r){for(var a=new FormData,n=0;n0)&&(n={url:n,data:i,dataType:o},"function"==typeof s&&(n.success=s)),n=n||{},n.delegation=n.delegation&&e.isFunction(e.fn.on),!n.delegation&&0===this.length){var u={s:this.selector,c:this.context};return!e.isReady&&u.s?(a("DOM not ready, queuing ajaxForm"),e(function(){e(u.s,u.c).ajaxForm(n)}),this):(a("terminating; zero elements found by selector"+(e.isReady?"":" (DOM not ready)")),this)}return n.delegation?(e(document).off("submit.form-plugin",this.selector,t).off("click.form-plugin",this.selector,r).on("submit.form-plugin",this.selector,n,t).on("click.form-plugin",this.selector,n,r),this):this.ajaxFormUnbind().on("submit.form-plugin",n,t).on("click.form-plugin",n,r)},e.fn.ajaxFormUnbind=function(){return this.off("submit.form-plugin click.form-plugin")},e.fn.formToArray=function(t,r,a){var n=[];if(0===this.length)return n;var o,s=this[0],u=this.attr("id"),c=t||void 0===s.elements?s.getElementsByTagName("*"):s.elements;if(c&&(c=e.makeArray(c)),u&&(t||/(Edge|Trident)\//.test(navigator.userAgent))&&(o=e(':input[form="'+u+'"]').get()).length&&(c=(c||[]).concat(o)),!c||!c.length)return n;e.isFunction(a)&&(c=e.map(c,a));var l,f,d,p,m,h,v;for(l=0,h=c.length;l").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),!(c.settings.submitHandler&&!c.settings.debug)||(e=c.settings.submitHandler.call(c,c.currentForm,b),d&&d.remove(),void 0!==e&&e)}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b,b||(d=d.concat(c.errorList))}),c.errorList=d),b},rules:function(b,c){var d,e,f,g,h,i,j=this[0],k="undefined"!=typeof this.attr("contenteditable")&&"false"!==this.attr("contenteditable");if(null!=j&&(!j.form&&k&&(j.form=this.closest("form")[0],j.name=this.attr("name")),null!=j.form)){if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(a,b){i[b]=f[b],delete f[b]}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g)),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}}),a.extend(a.expr.pseudos||a.expr[":"],{blank:function(b){return!a.trim(""+a(b).val())},filled:function(b){var c=a(b).val();return null!==c&&!!a.trim(""+c)},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:void 0===c?b:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",pendingClass:"pending",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||a.inArray(c.keyCode,d)!==-1||(b.name in this.submitted||b.name in this.invalid)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}."),step:a.validator.format("Please enter a multiple of {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c="undefined"!=typeof a(this).attr("contenteditable")&&"false"!==a(this).attr("contenteditable");if(!this.form&&c&&(this.form=a(this).closest("form")[0],this.name=a(this).attr("name")),d===this.form){var e=a.data(this.form,"validator"),f="on"+b.type.replace(/^validate/,""),g=e.settings;g[f]&&!a(this).is(g.ignore)&&g[f].call(e,this,b)}}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.currentForm,e=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){e[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox'], [contenteditable], [type='button']",b).on("click.validate","select, option, [type='radio'], [type='checkbox']",b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c,d,e=this.clean(b),f=this.validationTargetFor(e),g=this,h=!0;return void 0===f?delete this.invalid[e.name]:(this.prepareElement(f),this.currentElements=a(f),d=this.groups[f.name],d&&a.each(this.groups,function(a,b){b===d&&a!==f.name&&(e=g.validationTargetFor(g.clean(g.findByName(a))),e&&e.name in g.invalid&&(g.currentElements.push(e),h=g.check(e)&&h))}),c=this.check(f)!==!1,h=h&&c,c?this.invalid[f.name]=!1:this.invalid[f.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),a(b).attr("aria-invalid",!c)),h},showErrors:function(b){if(b){var c=this;a.extend(this.errorMap,b),this.errorList=a.map(this.errorMap,function(a,b){return{message:a,element:c.findByName(b)[0]}}),this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.invalid={},this.submitted={},this.prepareForm(),this.hideErrors();var b=this.elements().removeData("previousValue").removeAttr("aria-invalid");this.resetElements(b)},resetElements:function(a){var b;if(this.settings.unhighlight)for(b=0;a[b];b++)this.settings.unhighlight.call(this,a[b],this.settings.errorClass,""),this.findByName(a[b].name).removeClass(this.settings.validClass);else a.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)void 0!==a[b]&&null!==a[b]&&a[b]!==!1&&c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea, [contenteditable]").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){var d=this.name||a(this).attr("name"),e="undefined"!=typeof a(this).attr("contenteditable")&&"false"!==a(this).attr("contenteditable");return!d&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),e&&(this.form=a(this).closest("form")[0],this.name=d),this.form===b.currentForm&&(!(d in c||!b.objectLength(a(this).rules()))&&(c[d]=!0,!0))})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},resetInternals:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([])},reset:function(){this.resetInternals(),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d,e=a(b),f=b.type,g="undefined"!=typeof e.attr("contenteditable")&&"false"!==e.attr("contenteditable");return"radio"===f||"checkbox"===f?this.findByName(b.name).filter(":checked").val():"number"===f&&"undefined"!=typeof b.validity?b.validity.badInput?"NaN":e.val():(c=g?e.text():e.val(),"file"===f?"C:\\fakepath\\"===c.substr(0,12)?c.substr(12):(d=c.lastIndexOf("/"),d>=0?c.substr(d+1):(d=c.lastIndexOf("\\"),d>=0?c.substr(d+1):c)):"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f,g=a(b).rules(),h=a.map(g,function(a,b){return b}).length,i=!1,j=this.elementValue(b);"function"==typeof g.normalizer?f=g.normalizer:"function"==typeof this.settings.normalizer&&(f=this.settings.normalizer),f&&(j=f.call(b,j),delete g.normalizer);for(d in g){e={method:d,parameters:g[d]};try{if(c=a.validator.methods[d].call(this,j,b,e.parameters),"dependency-mismatch"===c&&1===h){i=!0;continue}if(i=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(k){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",k),k instanceof TypeError&&(k.message+=". Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),k}}if(!i)return this.objectLength(g)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;aWarning: No message defined for "+b.name+""),e=/\$?\{(\d+)\}/g;return"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),d},formatAndAdd:function(a,b){var c=this.defaultMessage(a,b);this.errorList.push({message:c,element:a,method:b.method}),this.errorMap[a.name]=c,this.submitted[a.name]=c},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g,h=this.errorsFor(b),i=this.idOrName(b),j=a(b).attr("aria-describedby");h.length?(h.removeClass(this.settings.validClass).addClass(this.settings.errorClass),h.html(c)):(h=a("<"+this.settings.errorElement+">").attr("id",i+"-error").addClass(this.settings.errorClass).html(c||""),d=h,this.settings.wrapper&&(d=h.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement.call(this,d,a(b)):d.insertAfter(b),h.is("label")?h.attr("for",i):0===h.parents("label[for='"+this.escapeCssMeta(i)+"']").length&&(f=h.attr("id"),j?j.match(new RegExp("\\b"+this.escapeCssMeta(f)+"\\b"))||(j+=" "+f):j=f,a(b).attr("aria-describedby",j),e=this.groups[b.name],e&&(g=this,a.each(g.groups,function(b,c){c===e&&a("[name='"+g.escapeCssMeta(b)+"']",g.currentForm).attr("aria-describedby",h.attr("id"))})))),!c&&this.settings.success&&(h.text(""),"string"==typeof this.settings.success?h.addClass(this.settings.success):this.settings.success(h,b)),this.toShow=this.toShow.add(h)},errorsFor:function(b){var c=this.escapeCssMeta(this.idOrName(b)),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+this.escapeCssMeta(d).replace(/\s+/g,", #")),this.errors().filter(e)},escapeCssMeta:function(a){return a.replace(/([\\!"#$%&'()*+,.\/:;<=>?@\[\]^`{|}~])/g,"\\$1")},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+this.escapeCssMeta(b)+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return!this.dependTypes[typeof a]||this.dependTypes[typeof a](a,b)},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(b){this.pending[b.name]||(this.pendingRequest++,a(b).addClass(this.settings.pendingClass),this.pending[b.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],a(b).removeClass(this.settings.pendingClass),c&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(a(this.currentForm).submit(),this.submitButton&&a("input:hidden[name='"+this.submitButton.name+"']",this.currentForm).remove(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b,c){return c="string"==typeof c&&c||"remote",a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,{method:c})})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur").find(".validate-lessThan-blur").off(".validate-lessThan").removeClass("validate-lessThan-blur").find(".validate-lessThanEqual-blur").off(".validate-lessThanEqual").removeClass("validate-lessThanEqual-blur").find(".validate-greaterThanEqual-blur").off(".validate-greaterThanEqual").removeClass("validate-greaterThanEqual-blur").find(".validate-greaterThan-blur").off(".validate-greaterThan").removeClass("validate-greaterThan-blur")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max|step/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a[c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),""===d&&(d=!0),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0===e.param||e.param:(a.data(c.form,"validator").resetElements(a(c)),delete b[d])}}),a.each(b,function(d,e){b[d]=a.isFunction(e)&&"normalizer"!==d?e(c):e}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var c;b[this]&&(a.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(c=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(c[0]),Number(c[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:void 0!==b&&null!==b&&b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[\/?#]\S*)?$/i.test(a)},date:function(){var a=!1;return function(b,c){return a||(a=!0,this.settings.debug&&window.console&&console.warn("The `date` method is deprecated and will be removed in version '2.0.0'.\nPlease don't use it, since it relies on the Date constructor, which\nbehaves very differently across browsers and locales. Use `dateISO`\ninstead or one of the locale specific methods in `localizations/`\nand `additional-methods.js`.")),this.optional(c)||!/Invalid|NaN/.test(new Date(b).toString())}}(),dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},minlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d},maxlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e<=d},rangelength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d[0]&&e<=d[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||a<=c},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},step:function(b,c,d){var e,f=a(c).attr("type"),g="Step attribute on input type "+f+" is not supported.",h=["text","number","range"],i=new RegExp("\\b"+f+"\\b"),j=f&&!i.test(h.join()),k=function(a){var b=(""+a).match(/(?:\.(\d+))?$/);return b&&b[1]?b[1].length:0},l=function(a){return Math.round(a*Math.pow(10,e))},m=!0;if(j)throw new Error(g);return e=k(d),(k(b)>e||l(b)%l(d)!==0)&&(m=!1),this.optional(c)||m},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-equalTo-blur").length&&e.addClass("validate-equalTo-blur").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d,e){if(this.optional(c))return"dependency-mismatch";e="string"==typeof e&&e||"remote";var f,g,h,i=this.previousValue(c,e);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),i.originalMessage=i.originalMessage||this.settings.messages[c.name][e],this.settings.messages[c.name][e]=i.message,d="string"==typeof d&&{url:d}||d,h=a.param(a.extend({data:b},d.data)),i.old===h?i.valid:(i.old=h,f=this,this.startRequest(c),g={},g[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:"validate"+c.name,dataType:"json",data:g,context:f.currentForm,success:function(a){var d,g,h,j=a===!0||"true"===a;f.settings.messages[c.name][e]=i.originalMessage,j?(h=f.formSubmitted,f.resetInternals(),f.toHide=f.errorsFor(c),f.formSubmitted=h,f.successList.push(c),f.invalid[c.name]=!1,f.showErrors()):(d={},g=a||f.defaultMessage(c,{method:e,parameters:b}),d[c.name]=i.message=g,f.invalid[c.name]=!0,f.showErrors(d)),i.valid=j,f.stopRequest(c,j)}},d)),"pending")}}});var b,c={};return a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,d){var e=a.port;"abort"===a.mode&&(c[e]&&c[e].abort(),c[e]=d)}):(b=a.ajax,a.ajax=function(d){var e=("mode"in d?d:a.ajaxSettings).mode,f=("port"in d?d:a.ajaxSettings).port;return"abort"===e?(c[f]&&c[f].abort(),c[f]=b.apply(this,arguments),c[f]):b.apply(this,arguments)}),a});
\ No newline at end of file
diff --git a/contactsnew/lang/bg.txt b/contactsnew/lang/bg.txt
deleted file mode 100644
index ed45f7a..0000000
--- a/contactsnew/lang/bg.txt
+++ /dev/null
@@ -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 = "Грешен алиас! Алиасът не може да бъде число, може да съдържа само цифри, латински букви, долна черта и дължина не повече от 20 символа"
-alias_er_exists = "Грешен алиас! Този алиас вече е зададен на друга контактна форма"
-recs = "Получатели"
-name = "Име"
-fields_sets = "Настройки на полетата"
-active_i = "Активиране на поле (ако чекбокса е празен, тагът в шаблона ще бъде заменен с празен ред)"
-type = "Тип"
-doc = "Документ"
-multidoc = "Документ (multi)"
-other_input = "Друг input"
-other_input_i = "Атрибут type"
-pattern_i = "Шаблон за preg_match Пример:/^[A-Za-z0-9]+$/ie
Или филтър за filter_var Пример:FILTER_VALIDATE_EMAIL"
-pattern = "Валидация"
-defaultval = "По подразбиране"
-sets = "Параметри"
-attributes = "Атрибути на тега поле"
-field_add = "Добави поле"
-form_tpl = "Шаблон на формата"
-mail_tpl = "Шаблон на писмо"
-finish_tpl = "Шаблон на страница след изпращане на формата"
-conditions = "Условия"
-rubheader = "Скриптове и стилове, необходими за оформяне и функциониране на формата"
-rubheader_info = "Избягвайте дублиране на скриптовете в модула и шаблона"
-tag = "Таг"
-field_creating = "Добавяне на поле..."
-field_new_error = "Моля, въведете наименование на полето!"
-type_i = "За input в атрибутите може да се укаже свой type (по подразбиране се поставя text)"
-fld_tpl_toggle = "Покажи/скрий шаблона за извеждане на полето"
-field_tpl = "Шаблон на полето"
-fld_del = "Сигурни ли сте, че желаете да изтриете това поле?"
-fld_deleting = "Изтриване на поле..."
-required = "Задължително поле"
-setting_empty = "Първо настройте опциите за избор (вляво)"
-yes = "да"
-no = "не"
-fld_i = "Полето работи само ако тагът в поставен в шаблон и вляво е маркирано полето активация"
-copy_fld_i = "Отправка копии будет выполнена, даже если в значении по умолчанию стоит галка, а тег в шаблон не вставлен / поле не активировано"
-select_req_i = "Селект будет считаться не заполненным, если выбран первый вариант"
-file_size = "Макс. размер, мб"
-file_size2 = "Ограничение на размера на файла, мб"
-
-create = "Добави"
-edit = "Редактиране"
-copy = "Копиране"
-delete = "Изтриване"
-actions = "Действия"
-saved = "Съхранено"
-notsaved = "Възникна грешка по време на съхранението"
-created = "Формата е успешно записана"
-copied = "Формата е успешно копирана и записана Моля, редактирайте наименованието и алиаса"
-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 = "Път към папката с шаблона
Пример: [tag:mediapath]images/logo.gif"
-tag_css = "Свива няколко css-файла в един. Връща път. FFF - имена на файлове, разделени с запетая P - път към папката с файлове, назадължителен. По подразбиране - [tag:mediapath]css/
Пример: href="[tag:css:reset.css,style.css]""
-tag_js = "Свива няколко js-файла в един. Връща път. FFF - имена на файлове, разделени с запетая P - път към папката с файлове, назадължителен. По подразбиране - [tag:mediapath]js/
Пример: href="[tag:js:common.js,main.js]""
-tag_formtitle = "Наименование на формата"
-tag_formalias = "Алиас на формата (или id, ако не е въведен алиас)"
-tag_url = "URL на текущата страница"
-tag_docid = "ID на текущия документ"
-tag_hide = "Таг, позволяващ скрит контент за определени групи потребители
Х - номер на групата TEXT - текст, ако достъпа е забранен
Пример: [tag:hide:2:Тази форма не е за вас!][/tag:hide]"
-tag_uemail = "Имейл на потребителя (въз основата на данните от профила, а не на формата!)"
-tag_uname = "Име и Фамилия на потребителя (въз основа на данните от профила)"
-tag_ufname = "Име на потребителя (въз основа на данните от профила)"
-tag_ulname = "Фамилия на потребителя (въз основа на данните от профила)"
-tag_ulogin = "Потребителско име (въз основа на данните от профила)"
-tag_if_fld = "Условие за значението на полето. В тага, използвайте стандартните конструкции за сравнение на PHP/JS
Пример: [tag:if_fld:15 == '1'] ... [tag:elseif_fld:15 > '2'] ... [tag:else_fld] ... [/tag:if_fld]"
-tag_f_valid = "Извеждано съдържание, ако всички полета са преминали валидацията"
-tag_f_invalid = "Извеждано съдържание, ако поне едно поле не преминало валидацията"
-tag_easymail = "Генерива списък на всички значения на полетата, участващи в шаблона на формата ( вместо ръчно да се описват всички тагове)"
-tag_if_user = "Извежда съдържанието в писмото на потребителя, попълнил формата"
-tag_if_admin = "Извежда съдържанието в писмото за получателя-админ ("главен получател" или получател от поле "избор на получателр")"
-tag_fld_subject = "Значение на полето Тема"
-tag_fld_email = "Значение на полето Имейл"
-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"
\ No newline at end of file
diff --git a/contactsnew/lang/en.txt b/contactsnew/lang/en.txt
deleted file mode 100644
index c803440..0000000
--- a/contactsnew/lang/en.txt
+++ /dev/null
@@ -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 = "Неверный алиас! Алиас не должен являться числом, может содержать только цифры, латинские буквы, дефис, подчёркивание и иметь длину не более 20 символов"
-alias_er_exists = "Неверный алиас! Данный алиас уже привязан к другой контактной форме"
-recs = "Получатели"
-name = "Имя"
-fields_sets = "Настройки полей"
-active_i = "Активировать поле (если чекбокс пустой, тег в шаблоне будет заменён на пустую строку)"
-type = "Тип"
-doc = "Документ"
-multidoc = "Документ (multi)"
-other_input = "Другой input"
-other_input_i = "Аттрибут type"
-pattern_i = "Шаблон для preg_match Пример:/^[A-Za-z0-9]+$/ie
Либо фильтр для filter_var Пример:FILTER_VALIDATE_EMAIL"
-pattern = "Валидация"
-defaultval = "По умолчанию"
-sets = "Параметры"
-attributes = "Аттрибуты тега поля"
-field_add = "Добавить поле"
-form_tpl = "Шаблон формы"
-mail_tpl = "Шаблон письма"
-finish_tpl = "Шаблон страницы после отправки формы"
-conditions = "Условия"
-rubheader = "Скрипты и стили, необходимые для оформления и функционирования формы"
-rubheader_info = "Избегайте дублирования скриптов в модуле и шаблоне"
-tag = "Тег"
-field_creating = "Добавление поля..."
-field_new_error = "Укажите название поля!"
-type_i = "Для input в аттрибутах можно указать свой type (по умолчанию подставится text)"
-fld_tpl_toggle = "Показать/свернуть шаблон вывода поля"
-field_tpl = "Шаблон поля"
-fld_del = "Вы уверены, что хотите удалить это поле?"
-fld_deleting = "Удаление поля..."
-required = "Обязательное поле"
-setting_empty = "Сначала настройте опции для выбора (слева)"
-yes = "да"
-no = "нет"
-fld_i = "Поле работает только если его тег вставлен в шаблон и слева стоит галочка активации"
-copy_fld_i = "Отправка копии будет выполнена, даже если в значении по умолчанию стоит галка, а тег в шаблон не вставлен / поле не активировано"
-select_req_i = "Селект будет считаться не заполненным, если выбран первый вариант"
-file_size = "Макс. размер, мб"
-file_size2 = "Ограничение размера файла, мб"
-
-create = "Создать"
-edit = "Редактировать"
-copy = "Копировать"
-delete = "Удалить"
-actions = "Действия"
-saved = "Сохранено"
-notsaved = "Во время сохранения произошла ошибка"
-created = "Форма успешно создана"
-copied = "Форма успешно скопирована и сохранена Отредактируйте название и алиас"
-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 = "Путь до папки с шаблоном
Пример: [tag:mediapath]images/logo.gif"
-tag_css = "Сжимает несколько css-файлов в один. Возвращает путь. FFF - имена файлов через запятую P - путь к папке с файлами, не обязательно. По умолчанию - [tag:mediapath]css/
Пример: href="[tag:css:reset.css,style.css]""
-tag_js = "Сжимает несколько js-файлов в один. Возвращает путь. FFF - имена файлов через запятую P - путь к папке с файлами, не обязательно. По умолчанию - [tag:mediapath]js/
Пример: href="[tag:js:common.js,main.js]""
-tag_formtitle = "Название формы"
-tag_formalias = "Алиас формы (или id, если алиас не назначен)"
-tag_url = "URL текущей страницы"
-tag_docid = "ID текущего документа"
-tag_hide = "Тег, позволяющий скрыть контент для определенных групп пользователей
Х - номер группы TEXT - текст, если доступ запрещён
Пример: [tag:hide:2:Эта форма не для вас!][/tag:hide]"
-tag_uemail = "Email пользователя (на основе данных из профиля, а не формы!)"
-tag_uname = "И. Фамилия пользователя (на основе данных из профиля)"
-tag_ufname = "Имя пользователя (на основе данных из профиля)"
-tag_ulname = "Фамилия пользователя (на основе данных из профиля)"
-tag_ulogin = "Логин пользователя (на основе данных из профиля)"
-tag_if_fld = "Условие на значение поля. В теге используйте стандартные конструкции сравнения PHP/JS
Пример: [tag:if_fld:15 == '1'] ... [tag:elseif_fld:15 > '2'] ... [tag:else_fld] ... [/tag:if_fld]"
-tag_f_valid = "Выведет контент, если все поля формы прошли валидацию"
-tag_f_invalid = "Выведет контент, если хотя бы одно поле формы не прошло валидацию"
-tag_easymail = "Быстро генерирует список всех значений полей, участвующих в шаблоне формы (вместо того, чтобы прописывать все теги вручную)"
-tag_if_user = "Выведет контент в письме пользователю, заполнившему форму"
-tag_if_admin = "Выведет контент в письме получателям-админам ("главным получателям" или адресату из поля "получатель на выбор")"
-tag_fld_subject = "Значение поля Тема"
-tag_fld_email = "Значение поля Email"
-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"
\ No newline at end of file
diff --git a/contactsnew/lang/index.php b/contactsnew/lang/index.php
deleted file mode 100644
index 9c20174..0000000
--- a/contactsnew/lang/index.php
+++ /dev/null
@@ -1,8 +0,0 @@
-
\ No newline at end of file
diff --git a/contactsnew/lang/ua.txt b/contactsnew/lang/ua.txt
deleted file mode 100644
index c803440..0000000
--- a/contactsnew/lang/ua.txt
+++ /dev/null
@@ -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 = "Неверный алиас! Алиас не должен являться числом, может содержать только цифры, латинские буквы, дефис, подчёркивание и иметь длину не более 20 символов"
-alias_er_exists = "Неверный алиас! Данный алиас уже привязан к другой контактной форме"
-recs = "Получатели"
-name = "Имя"
-fields_sets = "Настройки полей"
-active_i = "Активировать поле (если чекбокс пустой, тег в шаблоне будет заменён на пустую строку)"
-type = "Тип"
-doc = "Документ"
-multidoc = "Документ (multi)"
-other_input = "Другой input"
-other_input_i = "Аттрибут type"
-pattern_i = "Шаблон для preg_match Пример:/^[A-Za-z0-9]+$/ie
Либо фильтр для filter_var Пример:FILTER_VALIDATE_EMAIL"
-pattern = "Валидация"
-defaultval = "По умолчанию"
-sets = "Параметры"
-attributes = "Аттрибуты тега поля"
-field_add = "Добавить поле"
-form_tpl = "Шаблон формы"
-mail_tpl = "Шаблон письма"
-finish_tpl = "Шаблон страницы после отправки формы"
-conditions = "Условия"
-rubheader = "Скрипты и стили, необходимые для оформления и функционирования формы"
-rubheader_info = "Избегайте дублирования скриптов в модуле и шаблоне"
-tag = "Тег"
-field_creating = "Добавление поля..."
-field_new_error = "Укажите название поля!"
-type_i = "Для input в аттрибутах можно указать свой type (по умолчанию подставится text)"
-fld_tpl_toggle = "Показать/свернуть шаблон вывода поля"
-field_tpl = "Шаблон поля"
-fld_del = "Вы уверены, что хотите удалить это поле?"
-fld_deleting = "Удаление поля..."
-required = "Обязательное поле"
-setting_empty = "Сначала настройте опции для выбора (слева)"
-yes = "да"
-no = "нет"
-fld_i = "Поле работает только если его тег вставлен в шаблон и слева стоит галочка активации"
-copy_fld_i = "Отправка копии будет выполнена, даже если в значении по умолчанию стоит галка, а тег в шаблон не вставлен / поле не активировано"
-select_req_i = "Селект будет считаться не заполненным, если выбран первый вариант"
-file_size = "Макс. размер, мб"
-file_size2 = "Ограничение размера файла, мб"
-
-create = "Создать"
-edit = "Редактировать"
-copy = "Копировать"
-delete = "Удалить"
-actions = "Действия"
-saved = "Сохранено"
-notsaved = "Во время сохранения произошла ошибка"
-created = "Форма успешно создана"
-copied = "Форма успешно скопирована и сохранена Отредактируйте название и алиас"
-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 = "Путь до папки с шаблоном
Пример: [tag:mediapath]images/logo.gif"
-tag_css = "Сжимает несколько css-файлов в один. Возвращает путь. FFF - имена файлов через запятую P - путь к папке с файлами, не обязательно. По умолчанию - [tag:mediapath]css/
Пример: href="[tag:css:reset.css,style.css]""
-tag_js = "Сжимает несколько js-файлов в один. Возвращает путь. FFF - имена файлов через запятую P - путь к папке с файлами, не обязательно. По умолчанию - [tag:mediapath]js/
Пример: href="[tag:js:common.js,main.js]""
-tag_formtitle = "Название формы"
-tag_formalias = "Алиас формы (или id, если алиас не назначен)"
-tag_url = "URL текущей страницы"
-tag_docid = "ID текущего документа"
-tag_hide = "Тег, позволяющий скрыть контент для определенных групп пользователей
Х - номер группы TEXT - текст, если доступ запрещён
Пример: [tag:hide:2:Эта форма не для вас!][/tag:hide]"
-tag_uemail = "Email пользователя (на основе данных из профиля, а не формы!)"
-tag_uname = "И. Фамилия пользователя (на основе данных из профиля)"
-tag_ufname = "Имя пользователя (на основе данных из профиля)"
-tag_ulname = "Фамилия пользователя (на основе данных из профиля)"
-tag_ulogin = "Логин пользователя (на основе данных из профиля)"
-tag_if_fld = "Условие на значение поля. В теге используйте стандартные конструкции сравнения PHP/JS
|
php |
@@ -401,5 +395,4 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/contactsnew/templates/forms.tpl b/forms/templates/forms.tpl
old mode 100755
new mode 100644
similarity index 67%
rename from contactsnew/templates/forms.tpl
rename to forms/templates/forms.tpl
index d1697fd..df5df4c
--- a/contactsnew/templates/forms.tpl
+++ b/forms/templates/forms.tpl
@@ -13,7 +13,6 @@