From cd7b175c2e29da66bdd4bb1b27361cc3262b38db Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:05:26 +0900 Subject: [PATCH 01/92] mm_default and mm_inherit rule date format set in Site Configuration(yama) --- .../functions/fieldvalues.inc.php | 20 +++++-------------- 1 file changed, 5 insertions(+), 15 deletions(-) mode change 100644 => 100755 assets/plugins/managermanager/functions/fieldvalues.inc.php diff --git a/assets/plugins/managermanager/functions/fieldvalues.inc.php b/assets/plugins/managermanager/functions/fieldvalues.inc.php old mode 100644 new mode 100755 index 8f496a1007..5b9073fb0b --- a/assets/plugins/managermanager/functions/fieldvalues.inc.php +++ b/assets/plugins/managermanager/functions/fieldvalues.inc.php @@ -31,27 +31,16 @@ function mm_default($field, $value='', $roles='', $templates='', $eval=false) { // Work out the correct date time format based on the config setting - switch($modx->config['datetime_format']) { - case 'dd-mm-YYYY': - $date_format = 'd-m-Y'; - break; - case 'mm/dd/YYYY': - $date_format = 'm-d-Y'; - break; - case 'YYYY/mm/dd': - $date_format = 'Y-m-d'; - break; - } - + $date_format = $modx->toDateFormat(null, 'formatOnly'); switch ($field) { case 'pub_date': - $new_value = ($new_value=='') ? date("$date_format H:i:s") : $new_value; + $new_value = ($new_value=='') ? strftime($date_format . ' %H:%M:%S') : $new_value; $output .= '$j("input[name=pub_date]").val("'.jsSafe($new_value).'"); '."\n"; break; case 'unpub_date': - $new_value = ($new_value=='') ? date("$date_format H:i:s") : $new_value; + $new_value = ($new_value=='') ? strftime($date_format . ' %H:%M:%S') : $new_value; $output .= '$j("input[name=unpub_date]").val("'.jsSafe($new_value).'"); '."\n"; break; @@ -230,6 +219,7 @@ function mm_inherit($fields, $roles='', $templates='') { // dbname $dbname // newvalue $newvalue "; + $date_format = $modx->toDateFormat(null, 'formatOnly'); switch ($field) { @@ -249,7 +239,7 @@ function mm_inherit($fields, $roles='', $templates='') { case 'pub_date': case 'unpub_date': - $output .= '$j("input[name='.$fieldname.']").val("'.date('d-m-Y H:i:s', $newvalue).'"); '; + $output .= '$j("input[name='.$fieldname.']").val("'.strftime($date_format . ' %H:%M:%S', $newvalue).'"); '; break; default: From db8c20cb13ceb134916b133ae0706703a40cd0ee Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:14:27 +0900 Subject: [PATCH 02/92] [ManagerManager] use modx API (makeSqlList function/utilities.inc.php)(yama) --- assets/plugins/managermanager/functions/utilities.inc.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) mode change 100644 => 100755 assets/plugins/managermanager/functions/utilities.inc.php diff --git a/assets/plugins/managermanager/functions/utilities.inc.php b/assets/plugins/managermanager/functions/utilities.inc.php old mode 100644 new mode 100755 index 7b43edd827..ccff438c15 --- a/assets/plugins/managermanager/functions/utilities.inc.php +++ b/assets/plugins/managermanager/functions/utilities.inc.php @@ -139,10 +139,12 @@ function tplUseTvs($tpl_id, $tvs='', $types='') { // Create a MySQL-safe list from an array function makeSqlList($arr) { + global $modx; + $arr = makeArray($arr); foreach($arr as $k=>$tv) { //if (substr($tv, 0, 2) == 'tv') {$tv=substr($tv,2);} - $arr[$k] = "'".mysql_escape_string($tv)."'"; // Escape them for MySQL + $arr[$k] = "'".$modx->db->escape($tv)."'"; // Escape them for MySQL } $sql = " (".implode(',',$arr).") "; return $sql; From 7cf66d5e10843799bc879e4a50935dcb9a4241ca Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:15:56 +0900 Subject: [PATCH 03/92] [ManagerManager] mm_widget_showimagetvs function @bindings reference missing image(yama) --- .../plugins/managermanager/widgets/showimagetvs/showimagetvs.php | 1 + 1 file changed, 1 insertion(+) mode change 100644 => 100755 assets/plugins/managermanager/widgets/showimagetvs/showimagetvs.php diff --git a/assets/plugins/managermanager/widgets/showimagetvs/showimagetvs.php b/assets/plugins/managermanager/widgets/showimagetvs/showimagetvs.php old mode 100644 new mode 100755 index 9625e77f76..a83257f968 --- a/assets/plugins/managermanager/widgets/showimagetvs/showimagetvs.php +++ b/assets/plugins/managermanager/widgets/showimagetvs/showimagetvs.php @@ -56,6 +56,7 @@ function mm_widget_showimagetvs($tvs='', $w=300, $h=100, $thumbnailerUrl='', $ro $j("#tv'.$tv['id'].'").addClass("imageField").bind( "change load", function() { // Get the new URL var url = $j(this).val(); + url = (url != "" && url.search(/^@[a-z]+/i) == -1) ? url : url.replace(new RegExp(/^@[a-z]+/i), ""); url = (url != "" && url.search(/http:\/\//i) == -1) ? ("'.$site.'" + url) : url; '; From 25fc0c0844d6089bb50697ebd7b07597c9496cf1 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:17:10 +0900 Subject: [PATCH 04/92] [ManagerManager] New method mm_set_clear_cache()(yama) --- .../functions/fieldvalues.inc.php | 39 ++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/assets/plugins/managermanager/functions/fieldvalues.inc.php b/assets/plugins/managermanager/functions/fieldvalues.inc.php index 5b9073fb0b..9bfce9c939 100755 --- a/assets/plugins/managermanager/functions/fieldvalues.inc.php +++ b/assets/plugins/managermanager/functions/fieldvalues.inc.php @@ -340,5 +340,42 @@ function mm_synch_fields($fields, $roles='', $templates='') { +//--------------------------------------------------------------------------------- +// mm_set_clear_cache +// Sets a default value for a empty cache field when editing a document everything +//--------------------------------------------------------------------------------- +function mm_set_clear_cache($value='', $roles='', $templates='') { -?> + global $mm_fields, $modx; + $e = &$modx->Event; + + // 85 = + // 4 = + // 27 = Edit resource + + $allowed_actions = array('85','4','27'); + if (!in_array($modx->manager->action, $allowed_actions)) { + return; + } + if (useThisRule($roles, $templates)) { + $doc_id = $_REQUEST['id']; + + $output = " // ----------- mm_set_clear_cache -------------- \n"; + + $new_value = ($value)?'1':'0'; + $output .= '$j("input[name=syncsite]").val("'.$new_value.'"); '."\n"; + if ($value) { + $output .= '$j("input[name=syncsitecheck]").attr("checked", "checked"); '."\n"; + } else { + $output .= '$j("input[name=syncsitecheck]").removeAttr("checked"); '."\n"; + } + + $cache_file = MODX_BASE_PATH . 'assets/cache/docid_' . $doc_id . '.pageCache.php'; + if(!file_exists($cache_file)) { + $output .= '$j("input[name=syncsitecheck]").attr("disabled", "disabled"); '."\n"; + } + + $e->output($output . "\n"); + } + +} From 5808e4698a89a753e586382ec1bcf5be8e1fe571 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:19:43 +0900 Subject: [PATCH 05/92] Add jquery-1.4.2.min.js(yama) --- assets/js/jquery-1.4.2.min.js | 154 ++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100755 assets/js/jquery-1.4.2.min.js diff --git a/assets/js/jquery-1.4.2.min.js b/assets/js/jquery-1.4.2.min.js new file mode 100755 index 0000000000..7c24308023 --- /dev/null +++ b/assets/js/jquery-1.4.2.min.js @@ -0,0 +1,154 @@ +/*! + * jQuery JavaScript Library v1.4.2 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Sat Feb 13 22:33:48 2010 -0500 + */ +(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/, +Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&& +(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this, +a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b=== +"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this, +function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b
a"; +var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected, +parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent= +false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n= +s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true, +applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando]; +else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this, +a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b=== +w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i, +cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected= +c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed"); +a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g, +function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split("."); +k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a), +C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B=0){a.type= +e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&& +f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive; +if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data", +e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a, +"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a, +d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, +e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift(); +t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D|| +g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()}, +CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m, +g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)}, +text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}}, +setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return hl[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h= +h[3];l=0;for(m=h.length;l=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m=== +"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g, +h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&& +q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML=""; +if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="

";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}(); +(function(){var g=s.createElement("div");g.innerHTML="
";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}: +function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f0)for(var j=d;j0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j= +{},i;if(f&&a.length){e=0;for(var o=a.length;e-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a=== +"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode", +d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")? +a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType=== +1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/"},F={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div
","
"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= +c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, +wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, +prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, +this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); +return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja, +""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]); +return this}else{e=0;for(var j=d.length;e0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["", +""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]===""&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e= +c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]? +c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja= +function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter= +Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a, +"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f= +a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b= +a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=//gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!== +"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("
").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this}, +serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), +function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href, +global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&& +e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)? +"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache=== +false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B= +false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since", +c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E|| +d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x); +g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status=== +1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b=== +"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional; +if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration=== +"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]|| +c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start; +this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now= +this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem, +e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b
"; +a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b); +c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a, +d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top- +f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset": +"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in +e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window); From 238f0ee9121fe405cb9f5b8883e35c130115b077 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:20:52 +0900 Subject: [PATCH 06/92] [hq][QuickManager] Google Chrome font problem (text-shadow)(yama) --- assets/plugins/qm/css/style.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/assets/plugins/qm/css/style.css b/assets/plugins/qm/css/style.css index 7d622389c2..14b3cdeedd 100755 --- a/assets/plugins/qm/css/style.css +++ b/assets/plugins/qm/css/style.css @@ -284,9 +284,9 @@ -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; - -webkit-text-shadow: 0 1px 1px #fff; - -moz-text-shadow: 0 1px 1px #fff; - text-shadow: 0 1px 1px #fff; + -webkit-text-shadow: 1px 1px 0 #fff; + -moz-text-shadow: 1px 1px 0 #fff; + text-shadow: 1px 1px 0 #fff; border: 1px solid #8ea4be; outline: none; } From f1c4c3a7869c625e1fc2a6c504da7fef725cf14b Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:23:14 +0900 Subject: [PATCH 07/92] [hq][QuickManager] EOL style (unix LF)(yama) --- assets/plugins/qm/qm.inc.php | 2120 +++++++++++++++++----------------- 1 file changed, 1060 insertions(+), 1060 deletions(-) diff --git a/assets/plugins/qm/qm.inc.php b/assets/plugins/qm/qm.inc.php index e89d089032..e7c111eb3f 100755 --- a/assets/plugins/qm/qm.inc.php +++ b/assets/plugins/qm/qm.inc.php @@ -1,1061 +1,1061 @@ -modx = $modx; - - // Get plugin parameters - $this->jqpath = $jqpath; - $this->loadmanagerjq = $loadmanagerjq; - $this->loadfrontendjq = $loadfrontendjq; - $this->noconflictjq = $noconflictjq; - $this->loadtb = $loadtb; - $this->tbwidth = $tbwidth; - $this->tbheight = $tbheight; - $this->usemm = $usemm; - $this->hidefields = $hidefields; - $this->hidetabs = $hidetabs; - $this->hidesections = $hidesections; - $this->addbutton = $addbutton; - $this->tpltype = $tpltype; - $this->tplid = $tplid; - $this->custombutton = $custombutton; - $this->managerbutton = $managerbutton; - $this->logout = $logout; - $this->autohide = $autohide; - $this->editbuttons = $editbuttons; - $this->editbclass = $editbclass; - $this->newbuttons = $newbuttons; - $this->newbclass = $newbclass; - $this->tvbuttons = $tvbuttons; - $this->tvbclass = $tvbclass; - - // Includes - include_once($this->modx->config['base_path'].'assets/plugins/qm/mcc.class.php'); - - // Run plugin - $this->Run(); - } - - //_______________________________________________________ - function Run() { - - // Include MODx manager language file - global $_lang; - - // Get manager language - $manager_language = $this->modx->config['manager_language']; - - // Individual user language setting (if set) - $query = 'SELECT setting_name, setting_value FROM '.$this->modx->getFullTableName('user_settings').' WHERE setting_name=\'manager_language\' AND user='.$_SESSION['mgrInternalKey']; - $records = $this->modx->db->query($query); - if ($this->modx->db->getRecordCount($records) > 0) { - $record = $this->modx->db->getRow($records); - $manager_language = $record['setting_value']; - } - - // Include_once the language file - if(!isset($manager_language) || !file_exists(MODX_MANAGER_PATH."includes/lang/".$manager_language.".inc.php")) { - $manager_language = "english"; // if not set, get the english language file. - } - // Include default language - include_once MODX_MANAGER_PATH."includes/lang/english.inc.php"; - - // Include user language - if($manager_language!="english" && file_exists(MODX_MANAGER_PATH."includes/lang/".$manager_language.".inc.php")) { - include_once MODX_MANAGER_PATH."includes/lang/".$manager_language.".inc.php"; - } - - // Get event - $e = &$this->modx->Event; - - // Run plugin based on event - switch ($e->name) { - - // Save document - case 'OnDocFormSave': - - // Saving process for Qm only - if(intval($_REQUEST['quickmanager']) == 1) { - - $id = $e->params['id']; - $key = $id; - - // Normal saving document procedure stops to redirect => Before redirecting secure documents and clear cache - - // Secure web documents - flag as private (code from: manager/processors/save_content.processor.php) - include $this->modx->config['base_path']."manager/includes/secure_web_documents.inc.php"; - secureWebDocument($key); - - // Secure manager documents - flag as private (code from: manager/processors/save_content.processor.php) - include $this->modx->config['base_path']."manager/includes/secure_mgr_documents.inc.php"; - secureMgrDocument($key); - - // Clear cache - $this->clearCache(); - - // Different doc to be refreshed than the one we are editing? - if (isset($_POST['qmrefresh'])) { - $id = intval($_POST['qmrefresh']); - } - - // Redirect to clearer page which refreshes parent window and closes modal box frame - $this->modx->sendRedirect($this->modx->config['base_url'].'index.php?id='.$id.'&quickmanagerclose=1', 0, 'REDIRECT_HEADER', 'HTTP/1.1 301 Moved Permanently'); - } - - break; - - // Display page in front-end - case 'OnWebPagePrerender': - - // Get document id - $docID = $this->modx->documentIdentifier; - - // Get page output - $output = &$this->modx->documentOutput; - - // Close modal box after saving (previously close.php) - if (isset($_GET['quickmanagerclose'])) { - - // Set url to refresh - $url = $this->modx->makeUrl($docID, '', '', 'full'); - - $output = ' - - - - - - - - - - '; - - break; - } - - // QM+ TV edit - if(intval($_GET['quickmanagertv'] == 1) && $_GET['tvname'] != '' && $this->tvbuttons == 'true') { - - $tvName = ''; - $locked = FALSE; - $access = FALSE; - $save = 0; - $imagePreview = ''; - - // Includes - $manager_path = 'manager/'; - include_once($manager_path.'includes/tmplvars.inc.php'); - include_once($manager_path.'includes/tmplvars.commands.inc.php'); - include_once($manager_path.'includes/tmplvars.format.inc.php'); - - // Get save status - if (isset($_POST['save'])) $save = intval($_POST['save']); - - // Get TV name - if (preg_match('/^([A-Za-z0-9&:;_\-]+)/i', $_GET['tvname'])) $tvName = $_GET['tvname']; - - // Get TV array - $tv = $this->modx->getTemplateVar($tvName, '*', $docID); - - // Handle default TVs - switch ($tvName) { - case 'pagetitle' : $tv['type'] = 'text'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; - case 'longtitle' : $tv['type'] = 'text'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; - case 'description' : $tv['type'] = 'text'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; - case 'content' : $tv['type'] = 'richtext'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; - case 'menutitle' : $tv['type'] = 'text'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; - case 'introtext' : $tv['type'] = 'textarea'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; - } - - // Check TV access - if (!$access) { $access = $this->checkTvAccess($tv['id']); } - - // User can access TV - if ($access) { - - // Show TV form - if ($save == 0) { - - // Check is document locked? Someone else is editing the document... //$_lang['lock_msg'] - if ($this->checkLocked()) $locked = TRUE; - - // Set document locked - else $this->setLocked(1); - - // Handle RTE - if($tv['type'] == 'richtext') { - // Invoke OnRichTextEditorInit event - $eventOutput = $this->modx->invokeEvent("OnRichTextEditorInit", array('editor'=>$this->modx->config['which_editor'], 'elements'=>array('tv'.$tvName))); - - if(is_array($eventOutput)) { - $editorHtml = implode("",$eventOutput); - } - } - - // Render TV html - $tvHtml = renderFormElement($tv['type'], $tv['name'], $tv['default_text'], $tv['elements'], $tv['value']); - - // Get jQuery conflict mode - if ($this->noconflictjq == 'true') $jq_mode = '$j'; - else $jq_mode = '$'; - } - - // Save TV - else { - // Remove document locked - $this->setLocked(0); - - // Save TV - $this->saveTv($tvName); - } - - // Page output: header - $output = ' - - - - - - - - - - - '; - - // Page output: TV form - if ($save == 0) { - $output .= ' - - '; - - // Document is locked message - if ($locked) { - $output .= ' -

'.$_lang['locked'].'

-
'.$_lang['lock_msg'].'
- '; - } - - // Normal form - else { - // Image preview - if ($tv['type'] == 'image') { - $imagePreview = ' -
- - '; - } - - $output .= ' -
- - - - - -

'.$tv['caption'].'

- -
'.$tv['description'].'
- -
- '.$tvHtml.' -
- - '.$imagePreview.' - -
- '.$editorHtml.' - '; - } - } - - // Page output: close modal box and refresh parent frame - else $output .= ''; - - // Page output: footer - $output .= ' - - - '; - } - - else { - $output = 'Error: Access denied.'; - } - } - - // QM+ with toolbar - else { - - if(isset($_SESSION['mgrValidated']) && $_REQUEST['z'] != 'manprev') { - - // If logout break here - if(isset($_REQUEST['logout'])) { - $this->Logout(); - break; - } - - $userID = $_SESSION['mgrInternalKey']; - //$docID = $this->modx->documentIdentifier; - $doc = $this->modx->getDocument($docID); - - // Edit button - - $editButton = ' -
  • - '.$_lang['edit_resource'].' -
  • - '; - - // Check if user has manager access to current document - $access = $this->checkAccess(); - - // Does user have permissions to edit document - if($access) $controls .= $editButton; - - if ($this->addbutton == 'true' && $access) { - // Add button - $addButton = ' -
  • - '.$_lang['create_resource_here'].' -
  • - '; - - // Does user have permissions to add document - if($this->modx->hasPermission('new_document')) $controls .= $addButton; - } - - // Custom add buttons if not empty and enough permissions - if ($this->custombutton != '') { - - // Replace [*id*] with current doc id - $this->custombutton = str_replace("[*id*]", $docID, $this->custombutton); - - // Handle [~id~] links - $this->custombutton = $this->modx->rewriteUrls($this->custombutton); - - $buttons = explode("||", $this->custombutton); // Buttons are divided by "||" - - // Custom buttons class index - $i = 0; - - // Parse buttons - foreach($buttons as $key => $field) { - $i++; - - $field = substr($field, 1, -1); // Trim "'" from beginning and from end - $buttonParams = explode("','", $field); // Button params are divided by "','" - - $buttonTitle = $buttonParams[0]; - $buttonAction = $buttonParams[1]; // Contains URL if this is not add button - $buttonParentId = $buttonParams[2]; // Is empty is this is not add button - $buttonTplId = $buttonParams[3]; - - // Button visible for all - if ($buttonParams[4] == '') { - $showButton = TRUE; - } - // Button is visible for specific user roles - else { - $showButton = FALSE; - - // Get user roles the button is visible for - $buttonRoles = explode(",", $buttonParams[4]); // Roles are divided by ',' - - // Check if user role is found - foreach($buttonRoles as $key => $field) { - if ($field == $_SESSION['mgrRole']) { - $showButton = TRUE; - } - } - } - - // Show custom button - if ($showButton) { - switch ($buttonAction) - { - case 'new': - $customButton = ' -
  • - '.$buttonTitle.' -
  • - '; - break; - - case 'link': - $customButton = ' -
  • - '.$buttonTitle.' -
  • - '; - break; - - case 'modal': - $customButton = ' -
  • - '.$buttonTitle.' -
  • - '; - break; - } - $controls .= $customButton; - } - } - } - - // Go to Manager button - if ($this->managerbutton == 'true') { - $managerButton = ' -
  • - '.$_lang['manager'].' -
  • - '; - $controls .= $managerButton; - } - - // Logout button - $logout = $this->modx->config['site_url'].'manager/index.php?a=8&quickmanager=logout&logoutid='.$docID; - $logoutButton = ' -
  • - '.$_lang['logout'].' -
  • - '; - $controls .= $logoutButton; - - // Add action buttons - $editor = ' -
    - -
    - - X - -
      -
    • - '.$controls.' -
    -
    '; - - $css = ' - - - - '; - - // Autohide toolbar? Default: true - if ($this->autohide == 'false') { - $css .= ' - - '; - } - - // Insert jQuery and ColorBox in head if needed - if ($this->loadfrontendjq == 'true') $head .= ''; - if ($this->loadtb == 'true') { - $head .= ' - - - - - - '; - } - - // Insert ColorBox jQuery definitions for QuickManager+ - $head .= ' - - '; - - // Insert QM+ css in head - $head .= $css; - - // Place QM+ head information in head, just before tag - $output = preg_replace('~()~i', $head . '\1', $output); - - // Insert editor toolbar right after tag - $output = preg_replace('~(]*>)~i', '\1' . $editor, $output); - - // Search and create edit buttons in to the content - if ($this->editbuttons == 'true' && $access) { - $output = preg_replace('//', '$2', $output); - } - - // Search and create new document buttons in to the content - if ($this->newbuttons == 'true' && $access) { - $output = preg_replace('//', '$3', $output); - } - - // Search and create new document buttons in to the content - if ($this->tvbuttons == 'true' && $access) { - // Set and get user doc groups for TV permissions - $this->docGroup = ''; - $mrgDocGroups = $_SESSION['mgrDocgroups']; - if (!empty($mrgDocGroups)) $this->docGroup = implode(",", $mrgDocGroups); - - // Create TV buttons and check TV permissions - $output = preg_replace_callback('//', array(&$this, 'createTvButtons'), $output); - } - } - } - - break; - - // Edit document in ThickBox frame (MODx manager frame) - case 'OnDocFormPrerender': - - // If there is Qm call, add control buttons and modify to edit document page - if (intval($_REQUEST['quickmanager']) == 1) { - - global $content; - - // Set template for new document, action = 4 - if(intval($_GET['a']) == 4) { - - // Custom add button - if (isset($_GET['customaddtplid'])) { - // Set template - $content['template'] = intval($_GET['customaddtplid']); - } - - // Normal add button - else { - switch ($this->tpltype) { - // Template type is parent - case 'parent': - // Get parent document id - $pid = $content['parent'] ? $content['parent'] : intval($_REQUEST['pid']); - - // Get parent document - $parent = $this->modx->getDocument($pid); - - // Set parent template - $content['template'] = $parent['template']; - - break; - - // Template is specific id - case 'id': - $content['template'] = $this->tplid; - - break; - - // Template is inherited by Inherit Selected Template plugin - case 'selected': - // Get parent document id - $pid = $content['parent'] ? $content['parent'] : intval($_REQUEST['pid']); - - // Get inheritTpl TV - $tv = $this->modx->getTemplateVar("inheritTpl", "", $pid); - - // Set template to inherit - if ($tv['value'] != '') $content['template'] = $tv['value']; - else $content['template'] = $this->modx->config['default_template']; - - break; - } - } - } - - // Manager control class - $mc = new Mcc(); - - // Hide default manager action buttons - $mc->addLine('$("#actions").hide();'); - - // Get MODx theme - $qm_theme = $this->modx->config['manager_theme']; - - // Get doc id - $doc_id = intval($_REQUEST['id']); - - // Get jQuery conflict mode - if ($this->noconflictjq == 'true') $jq_mode = '$j'; - else $jq_mode = '$'; - - // Add action buttons - $mc->addLine('var controls = "";'); - - // Modify head - $mc->head = ''; - if ($this->loadmanagerjq == 'true') $mc->head .= ''; - - // Add control button - $mc->addLine('$("body").prepend(controls);'); - - // Hide fields to from front-end editors - if ($this->hidefields != '') { - $hideFields = explode(",", $this->hidefields); - - foreach($hideFields as $key => $field) { - $mc->hideField($field); - } - } - - // Hide tabs to from front-end editors - if ($this->hidetabs != '') { - $hideTabs = explode(",", $this->hidetabs); - - foreach($hideTabs as $key => $field) { - $mc->hideTab($field); - } - } - - // Hide sections from front-end editors - if ($this->hidesections != '') { - $hideSections = explode(",", $this->hidesections); - - foreach($hideSections as $key => $field) { - $mc->hideSection($field); - } - } - - // Hidden field to verify that QM+ call exists - $hiddenFields = ''; - - // Different doc to be refreshed? - if (isset($_REQUEST['qmrefresh'])) { - $hiddenFields .= ''; - } - - // Output - $e->output($mc->Output().$hiddenFields); - } - - break; - - // Where to logout - case 'OnManagerLogout': - // Only if cancel editing the document and QuickManager is in use - if ($_REQUEST['quickmanager'] == 'logout') { - // Redirect to document id - if ($this->logout != 'manager') { - $this->modx->sendRedirect($this->modx->makeUrl($_REQUEST['logoutid']), 0, 'REDIRECT_HEADER', 'HTTP/1.1 301 Moved Permanently'); - } - } - - break; - } - } - - // Check if user has manager access permissions to current document - //_______________________________________________________ - function checkAccess() { - $access = FALSE; - - // If user is admin (role = 1) - if ($_SESSION['mgrRole'] == 1) $access = TRUE; - - else { - $docID = $this->modx->documentIdentifier; - - // Database table - $table= $this->modx->getFullTableName("document_groups"); - - // Check if current document is assigned to one or more doc groups - $sql= "SELECT id FROM {$table} WHERE document={$docID}"; - $result= $this->modx->db->query($sql); - $rowCount= $this->modx->recordCount($result); - - // If document is assigned to one or more doc groups, check access - if ($rowCount >= 1) { - - // Get document groups for current user - $mrgDocGroups = $_SESSION['mgrDocgroups']; - if (!empty($mrgDocGroups)) { - $docGroup = implode(",", $mrgDocGroups); - - // Check if user has access to current document - $sql= "SELECT id FROM {$table} WHERE document = {$docID} AND document_group IN ({$docGroup})"; - $result= $this->modx->db->query($sql); - $rowCount = $this->modx->recordCount($result); - - if ($rowCount >= 1) $access = TRUE; - } - - else $access = FALSE; - } - - else $access = TRUE; - } - - return $access; - } - - // Function from: manager/processors/cache_sync.class.processor.php - //_____________________________________________________ - function getParents($id, $path = '') { // modx:returns child's parent - global $modx; - if(empty($this->aliases)) { - $sql = "SELECT id, IF(alias='', id, alias) AS alias, parent FROM ".$modx->getFullTableName('site_content'); - $qh = $modx->db->query($sql); - if ($qh && $modx->db->getRecordCount($qh) > 0) { - while ($row = $modx->db->getRow($qh)) { - $this->aliases[$row['id']] = $row['alias']; - $this->parents[$row['id']] = $row['parent']; - } - } - } - if (isset($this->aliases[$id])) { - $path = $this->aliases[$id] . ($path != '' ? '/' : '') . $path; - return $this->getParents($this->parents[$id], $path); - } - return $path; - } - - // Create TV buttons if user has permissions to TV - //_____________________________________________________ - function createTvButtons($matches) { - - $access = FALSE; - $table = $this->modx->getFullTableName('site_tmplvar_access'); - $docID = $this->modx->documentIdentifier; - - // Get TV caption for button title - $tv = $this->modx->getTemplateVar($matches[1]); - $caption = $tv['caption']; - - // If caption is empty this must be a "build-in-tv-field" like pagetitle etc. - if ($caption == '') { - - // Allowed for all - $access = TRUE; - - // Resolve caption - $caption = $this->getDefaultTvCaption($matches[1]); - } - - // Check TV access - else { - $access = $this->checkTvAccess($tv['id']); - } - - // Return TV button link if access - if ($access && $caption != '') { - return ''.$caption.''; - } - } - - // Check user access to TV - //_____________________________________________________ - function checkTvAccess($tvId) { - $access = FALSE; - $table = $this->modx->getFullTableName('site_tmplvar_access'); - - // If user is admin (role = 1) - if ($_SESSION['mgrRole'] == 1 && !$access) { $access = TRUE; } - - // Check permission to TV, is TV in document group? - if (!$access) { - $sql = "SELECT id FROM {$table} WHERE tmplvarid = {$tvId}"; - $result = $this->modx->db->query($sql); - $rowCount = $this->modx->recordCount($result); - // TV is not in any document group - if ($rowCount == 0) { $access = TRUE; } - } - - // Check permission to TV, TV is in document group - if (!$access && $this->docGroup != '') { - $sql = "SELECT id FROM {$table} WHERE tmplvarid = {$tvId} AND documentgroup IN ({$this->docGroup})"; - $result = $this->modx->db->query($sql); - $rowCount = $this->modx->recordCount($result); - if ($rowCount >= 1) { $access = TRUE; } - } - - return $access; - } - - // Get default TV ("build-in" TVs) captions - //_____________________________________________________ - function getDefaultTvCaption($name) { - - global $_lang; - $caption = ''; - - switch ($name) { - case 'pagetitle' : $caption = $_lang['resource_title']; break; - case 'longtitle' : $caption = $_lang['long_title']; break; - case 'description' : $caption = $_lang['resource_description']; break; - case 'content' : $caption = $_lang['resource_content']; break; - case 'menutitle' : $caption = $_lang['resource_opt_menu_title']; break; - case 'introtext' : $caption = $_lang['resource_summary']; break; - } - - return $caption; - } - - // Check that a document isn't locked for editing - //_____________________________________________________ - function checkLocked() { - - $activeUsersTable = $this->modx->getFullTableName('active_users'); - $pageId = $this->modx->documentIdentifier; - $locked = TRUE; - $userId = $_SESSION['mgrInternalKey']; - - $sql = "SELECT `internalKey` - FROM {$activeUsersTable} - WHERE (`action` = 27) - AND `internalKey` != '{$userId}' - AND `id` = '{$pageId}';"; - $result = $this->modx->db->query($sql); - - if ($this->modx->db->getRecordCount($result) === 0) { - $locked = FALSE; - } - - return $locked; - } - - // Set document locked on/off - //_____________________________________________________ - function setLocked($locked) { - - $activeUsersTable = $this->modx->getFullTableName('active_users'); - $pageId = $this->modx->documentIdentifier; - $userId = $_SESSION['mgrInternalKey']; - - // Set document locked - if ($locked == 1) { - $fields = array ( - 'id' => $pageId, - 'action' => 27 - ); - } - - // Set document unlocked - else { - $fields = array ( - 'id' => 'NULL', - 'action' => 2 - ); - } - - $where = 'internalKey = "' . $userId . '"'; - - $result = $this->modx->db->update($fields, $activeUsersTable, $where); - } - - // Save TV - //_____________________________________________________ - function saveTv($tvName) { - - $tmplvarContentValuesTable = $this->modx->getFullTableName('site_tmplvar_contentvalues'); - $siteContentTable = $this->modx->getFullTableName('site_content'); - $pageId = $this->modx->documentIdentifier; - $result = null; - $time = time(); - $user = $_SESSION['mgrInternalKey']; - $tvId = isset($_POST['tvid']) ? intval($_POST['tvid']) : ''; - $tvContent = isset($_POST['tv'.$tvName]) ? $_POST['tv'.$tvName] : ''; - $tvContentTemp = ''; - - // Invoke OnBeforeDocFormSave event - $this->modx->invokeEvent('OnBeforeDocFormSave', array('mode'=>'upd', 'id'=>$pageId)); - - // Handle checkboxes and other arrays, TV to be saved must be e.g. value1||value2||value3 - if (is_array($tvContent)) { - foreach($tvContent as $key => $value) { - $tvContentTemp .= $value . '||'; - } - $tvContentTemp = substr($tvContentTemp, 0, -2); // Remove last || - $tvContent = $tvContentTemp; - } - - // Save TV - if ($tvId != '') { - // Escape TV content - $tvContent = $this->modx->db->escape($tvContent); - - $sql = "SELECT id - FROM {$tmplvarContentValuesTable} - WHERE `tmplvarid` = '{$tvId}' - AND `contentid` = '{$pageId}';"; - $result = $this->modx->db->query($sql); - - // TV exists, update TV - if($this->modx->db->getRecordCount($result)) { - - $sql = "UPDATE {$tmplvarContentValuesTable} - SET `value` = '{$tvContent}' - WHERE `tmplvarid` = '{$tvId}' - AND `contentid` = '{$pageId}';"; - } - - // TV does not exist, create new TV - else { - $sql = "INSERT INTO {$tmplvarContentValuesTable} (tmplvarid, contentid, value) - VALUES('{$tvId}', '{$pageId}', '{$tvContent}');"; - } - - // Page edited by - $this->modx->db->update(array('editedon'=>$time, 'editedby'=>$user), $siteContentTable, 'id = "' . $pageId . '"'); - } - - // Save default field, e.g. pagetitle - else { - $sql = "UPDATE {$siteContentTable} - SET - `{$tvName}` = '{$tvContent}', - `editedon` = '{$time}', - `editedby` = '{$user}' - WHERE `id` = '{$pageId}';"; - - } - - // Update TV - if($sql) { $result = $this->modx->db->query($sql); } - - // Log possible errors - if(!$result) { - $modx->logEvent(0, 0, "

    Save failed!

    SQL:
    {$sql}
    ", 'QuickManager+'); - } - - // No errors - else { - // Invoke OnDocFormSave event - $this->modx->invokeEvent('OnDocFormSave', array('mode'=>'upd', 'id'=>$pageId)); - - // Clear cache - $this->clearCache(); - } - } - - // Clear cache - //_____________________________________________________ - function clearCache() { - // Clear cache - include_once $this->modx->config['base_path']."manager/processors/cache_sync.class.processor.php"; - $sync = new synccache(); - $sync->setCachepath($this->modx->config['base_path']."assets/cache/"); - $sync->setReport(false); - $sync->emptyCache(); - } - -} -} +modx = $modx; + + // Get plugin parameters + $this->jqpath = $jqpath; + $this->loadmanagerjq = $loadmanagerjq; + $this->loadfrontendjq = $loadfrontendjq; + $this->noconflictjq = $noconflictjq; + $this->loadtb = $loadtb; + $this->tbwidth = $tbwidth; + $this->tbheight = $tbheight; + $this->usemm = $usemm; + $this->hidefields = $hidefields; + $this->hidetabs = $hidetabs; + $this->hidesections = $hidesections; + $this->addbutton = $addbutton; + $this->tpltype = $tpltype; + $this->tplid = $tplid; + $this->custombutton = $custombutton; + $this->managerbutton = $managerbutton; + $this->logout = $logout; + $this->autohide = $autohide; + $this->editbuttons = $editbuttons; + $this->editbclass = $editbclass; + $this->newbuttons = $newbuttons; + $this->newbclass = $newbclass; + $this->tvbuttons = $tvbuttons; + $this->tvbclass = $tvbclass; + + // Includes + include_once($this->modx->config['base_path'].'assets/plugins/qm/mcc.class.php'); + + // Run plugin + $this->Run(); + } + + //_______________________________________________________ + function Run() { + + // Include MODx manager language file + global $_lang; + + // Get manager language + $manager_language = $this->modx->config['manager_language']; + + // Individual user language setting (if set) + $query = 'SELECT setting_name, setting_value FROM '.$this->modx->getFullTableName('user_settings').' WHERE setting_name=\'manager_language\' AND user='.$_SESSION['mgrInternalKey']; + $records = $this->modx->db->query($query); + if ($this->modx->db->getRecordCount($records) > 0) { + $record = $this->modx->db->getRow($records); + $manager_language = $record['setting_value']; + } + + // Include_once the language file + if(!isset($manager_language) || !file_exists(MODX_MANAGER_PATH."includes/lang/".$manager_language.".inc.php")) { + $manager_language = "english"; // if not set, get the english language file. + } + // Include default language + include_once MODX_MANAGER_PATH."includes/lang/english.inc.php"; + + // Include user language + if($manager_language!="english" && file_exists(MODX_MANAGER_PATH."includes/lang/".$manager_language.".inc.php")) { + include_once MODX_MANAGER_PATH."includes/lang/".$manager_language.".inc.php"; + } + + // Get event + $e = &$this->modx->Event; + + // Run plugin based on event + switch ($e->name) { + + // Save document + case 'OnDocFormSave': + + // Saving process for Qm only + if(intval($_REQUEST['quickmanager']) == 1) { + + $id = $e->params['id']; + $key = $id; + + // Normal saving document procedure stops to redirect => Before redirecting secure documents and clear cache + + // Secure web documents - flag as private (code from: manager/processors/save_content.processor.php) + include $this->modx->config['base_path']."manager/includes/secure_web_documents.inc.php"; + secureWebDocument($key); + + // Secure manager documents - flag as private (code from: manager/processors/save_content.processor.php) + include $this->modx->config['base_path']."manager/includes/secure_mgr_documents.inc.php"; + secureMgrDocument($key); + + // Clear cache + $this->clearCache(); + + // Different doc to be refreshed than the one we are editing? + if (isset($_POST['qmrefresh'])) { + $id = intval($_POST['qmrefresh']); + } + + // Redirect to clearer page which refreshes parent window and closes modal box frame + $this->modx->sendRedirect($this->modx->config['base_url'].'index.php?id='.$id.'&quickmanagerclose=1', 0, 'REDIRECT_HEADER', 'HTTP/1.1 301 Moved Permanently'); + } + + break; + + // Display page in front-end + case 'OnWebPagePrerender': + + // Get document id + $docID = $this->modx->documentIdentifier; + + // Get page output + $output = &$this->modx->documentOutput; + + // Close modal box after saving (previously close.php) + if (isset($_GET['quickmanagerclose'])) { + + // Set url to refresh + $url = $this->modx->makeUrl($docID, '', '', 'full'); + + $output = ' + + + + + + + + + + '; + + break; + } + + // QM+ TV edit + if(intval($_GET['quickmanagertv'] == 1) && $_GET['tvname'] != '' && $this->tvbuttons == 'true') { + + $tvName = ''; + $locked = FALSE; + $access = FALSE; + $save = 0; + $imagePreview = ''; + + // Includes + $manager_path = 'manager/'; + include_once($manager_path.'includes/tmplvars.inc.php'); + include_once($manager_path.'includes/tmplvars.commands.inc.php'); + include_once($manager_path.'includes/tmplvars.format.inc.php'); + + // Get save status + if (isset($_POST['save'])) $save = intval($_POST['save']); + + // Get TV name + if (preg_match('/^([A-Za-z0-9&:;_\-]+)/i', $_GET['tvname'])) $tvName = $_GET['tvname']; + + // Get TV array + $tv = $this->modx->getTemplateVar($tvName, '*', $docID); + + // Handle default TVs + switch ($tvName) { + case 'pagetitle' : $tv['type'] = 'text'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; + case 'longtitle' : $tv['type'] = 'text'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; + case 'description' : $tv['type'] = 'text'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; + case 'content' : $tv['type'] = 'richtext'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; + case 'menutitle' : $tv['type'] = 'text'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; + case 'introtext' : $tv['type'] = 'textarea'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; + } + + // Check TV access + if (!$access) { $access = $this->checkTvAccess($tv['id']); } + + // User can access TV + if ($access) { + + // Show TV form + if ($save == 0) { + + // Check is document locked? Someone else is editing the document... //$_lang['lock_msg'] + if ($this->checkLocked()) $locked = TRUE; + + // Set document locked + else $this->setLocked(1); + + // Handle RTE + if($tv['type'] == 'richtext') { + // Invoke OnRichTextEditorInit event + $eventOutput = $this->modx->invokeEvent("OnRichTextEditorInit", array('editor'=>$this->modx->config['which_editor'], 'elements'=>array('tv'.$tvName))); + + if(is_array($eventOutput)) { + $editorHtml = implode("",$eventOutput); + } + } + + // Render TV html + $tvHtml = renderFormElement($tv['type'], $tv['name'], $tv['default_text'], $tv['elements'], $tv['value']); + + // Get jQuery conflict mode + if ($this->noconflictjq == 'true') $jq_mode = '$j'; + else $jq_mode = '$'; + } + + // Save TV + else { + // Remove document locked + $this->setLocked(0); + + // Save TV + $this->saveTv($tvName); + } + + // Page output: header + $output = ' + + + + + + + + + + + '; + + // Page output: TV form + if ($save == 0) { + $output .= ' + + '; + + // Document is locked message + if ($locked) { + $output .= ' +

    '.$_lang['locked'].'

    +
    '.$_lang['lock_msg'].'
    + '; + } + + // Normal form + else { + // Image preview + if ($tv['type'] == 'image') { + $imagePreview = ' +
    + + '; + } + + $output .= ' +
    + + + + + +

    '.$tv['caption'].'

    + +
    '.$tv['description'].'
    + +
    + '.$tvHtml.' +
    + + '.$imagePreview.' + +
    + '.$editorHtml.' + '; + } + } + + // Page output: close modal box and refresh parent frame + else $output .= ''; + + // Page output: footer + $output .= ' + + + '; + } + + else { + $output = 'Error: Access denied.'; + } + } + + // QM+ with toolbar + else { + + if(isset($_SESSION['mgrValidated']) && $_REQUEST['z'] != 'manprev') { + + // If logout break here + if(isset($_REQUEST['logout'])) { + $this->Logout(); + break; + } + + $userID = $_SESSION['mgrInternalKey']; + //$docID = $this->modx->documentIdentifier; + $doc = $this->modx->getDocument($docID); + + // Edit button + + $editButton = ' +
  • + '.$_lang['edit_resource'].' +
  • + '; + + // Check if user has manager access to current document + $access = $this->checkAccess(); + + // Does user have permissions to edit document + if($access) $controls .= $editButton; + + if ($this->addbutton == 'true' && $access) { + // Add button + $addButton = ' +
  • + '.$_lang['create_resource_here'].' +
  • + '; + + // Does user have permissions to add document + if($this->modx->hasPermission('new_document')) $controls .= $addButton; + } + + // Custom add buttons if not empty and enough permissions + if ($this->custombutton != '') { + + // Replace [*id*] with current doc id + $this->custombutton = str_replace("[*id*]", $docID, $this->custombutton); + + // Handle [~id~] links + $this->custombutton = $this->modx->rewriteUrls($this->custombutton); + + $buttons = explode("||", $this->custombutton); // Buttons are divided by "||" + + // Custom buttons class index + $i = 0; + + // Parse buttons + foreach($buttons as $key => $field) { + $i++; + + $field = substr($field, 1, -1); // Trim "'" from beginning and from end + $buttonParams = explode("','", $field); // Button params are divided by "','" + + $buttonTitle = $buttonParams[0]; + $buttonAction = $buttonParams[1]; // Contains URL if this is not add button + $buttonParentId = $buttonParams[2]; // Is empty is this is not add button + $buttonTplId = $buttonParams[3]; + + // Button visible for all + if ($buttonParams[4] == '') { + $showButton = TRUE; + } + // Button is visible for specific user roles + else { + $showButton = FALSE; + + // Get user roles the button is visible for + $buttonRoles = explode(",", $buttonParams[4]); // Roles are divided by ',' + + // Check if user role is found + foreach($buttonRoles as $key => $field) { + if ($field == $_SESSION['mgrRole']) { + $showButton = TRUE; + } + } + } + + // Show custom button + if ($showButton) { + switch ($buttonAction) + { + case 'new': + $customButton = ' +
  • + '.$buttonTitle.' +
  • + '; + break; + + case 'link': + $customButton = ' +
  • + '.$buttonTitle.' +
  • + '; + break; + + case 'modal': + $customButton = ' +
  • + '.$buttonTitle.' +
  • + '; + break; + } + $controls .= $customButton; + } + } + } + + // Go to Manager button + if ($this->managerbutton == 'true') { + $managerButton = ' +
  • + '.$_lang['manager'].' +
  • + '; + $controls .= $managerButton; + } + + // Logout button + $logout = $this->modx->config['site_url'].'manager/index.php?a=8&quickmanager=logout&logoutid='.$docID; + $logoutButton = ' +
  • + '.$_lang['logout'].' +
  • + '; + $controls .= $logoutButton; + + // Add action buttons + $editor = ' +
    + +
    + + X + +
      +
    • + '.$controls.' +
    +
    '; + + $css = ' + + + + '; + + // Autohide toolbar? Default: true + if ($this->autohide == 'false') { + $css .= ' + + '; + } + + // Insert jQuery and ColorBox in head if needed + if ($this->loadfrontendjq == 'true') $head .= ''; + if ($this->loadtb == 'true') { + $head .= ' + + + + + + '; + } + + // Insert ColorBox jQuery definitions for QuickManager+ + $head .= ' + + '; + + // Insert QM+ css in head + $head .= $css; + + // Place QM+ head information in head, just before tag + $output = preg_replace('~()~i', $head . '\1', $output); + + // Insert editor toolbar right after tag + $output = preg_replace('~(]*>)~i', '\1' . $editor, $output); + + // Search and create edit buttons in to the content + if ($this->editbuttons == 'true' && $access) { + $output = preg_replace('//', '$2', $output); + } + + // Search and create new document buttons in to the content + if ($this->newbuttons == 'true' && $access) { + $output = preg_replace('//', '$3', $output); + } + + // Search and create new document buttons in to the content + if ($this->tvbuttons == 'true' && $access) { + // Set and get user doc groups for TV permissions + $this->docGroup = ''; + $mrgDocGroups = $_SESSION['mgrDocgroups']; + if (!empty($mrgDocGroups)) $this->docGroup = implode(",", $mrgDocGroups); + + // Create TV buttons and check TV permissions + $output = preg_replace_callback('//', array(&$this, 'createTvButtons'), $output); + } + } + } + + break; + + // Edit document in ThickBox frame (MODx manager frame) + case 'OnDocFormPrerender': + + // If there is Qm call, add control buttons and modify to edit document page + if (intval($_REQUEST['quickmanager']) == 1) { + + global $content; + + // Set template for new document, action = 4 + if(intval($_GET['a']) == 4) { + + // Custom add button + if (isset($_GET['customaddtplid'])) { + // Set template + $content['template'] = intval($_GET['customaddtplid']); + } + + // Normal add button + else { + switch ($this->tpltype) { + // Template type is parent + case 'parent': + // Get parent document id + $pid = $content['parent'] ? $content['parent'] : intval($_REQUEST['pid']); + + // Get parent document + $parent = $this->modx->getDocument($pid); + + // Set parent template + $content['template'] = $parent['template']; + + break; + + // Template is specific id + case 'id': + $content['template'] = $this->tplid; + + break; + + // Template is inherited by Inherit Selected Template plugin + case 'selected': + // Get parent document id + $pid = $content['parent'] ? $content['parent'] : intval($_REQUEST['pid']); + + // Get inheritTpl TV + $tv = $this->modx->getTemplateVar("inheritTpl", "", $pid); + + // Set template to inherit + if ($tv['value'] != '') $content['template'] = $tv['value']; + else $content['template'] = $this->modx->config['default_template']; + + break; + } + } + } + + // Manager control class + $mc = new Mcc(); + + // Hide default manager action buttons + $mc->addLine('$("#actions").hide();'); + + // Get MODx theme + $qm_theme = $this->modx->config['manager_theme']; + + // Get doc id + $doc_id = intval($_REQUEST['id']); + + // Get jQuery conflict mode + if ($this->noconflictjq == 'true') $jq_mode = '$j'; + else $jq_mode = '$'; + + // Add action buttons + $mc->addLine('var controls = "";'); + + // Modify head + $mc->head = ''; + if ($this->loadmanagerjq == 'true') $mc->head .= ''; + + // Add control button + $mc->addLine('$("body").prepend(controls);'); + + // Hide fields to from front-end editors + if ($this->hidefields != '') { + $hideFields = explode(",", $this->hidefields); + + foreach($hideFields as $key => $field) { + $mc->hideField($field); + } + } + + // Hide tabs to from front-end editors + if ($this->hidetabs != '') { + $hideTabs = explode(",", $this->hidetabs); + + foreach($hideTabs as $key => $field) { + $mc->hideTab($field); + } + } + + // Hide sections from front-end editors + if ($this->hidesections != '') { + $hideSections = explode(",", $this->hidesections); + + foreach($hideSections as $key => $field) { + $mc->hideSection($field); + } + } + + // Hidden field to verify that QM+ call exists + $hiddenFields = ''; + + // Different doc to be refreshed? + if (isset($_REQUEST['qmrefresh'])) { + $hiddenFields .= ''; + } + + // Output + $e->output($mc->Output().$hiddenFields); + } + + break; + + // Where to logout + case 'OnManagerLogout': + // Only if cancel editing the document and QuickManager is in use + if ($_REQUEST['quickmanager'] == 'logout') { + // Redirect to document id + if ($this->logout != 'manager') { + $this->modx->sendRedirect($this->modx->makeUrl($_REQUEST['logoutid']), 0, 'REDIRECT_HEADER', 'HTTP/1.1 301 Moved Permanently'); + } + } + + break; + } + } + + // Check if user has manager access permissions to current document + //_______________________________________________________ + function checkAccess() { + $access = FALSE; + + // If user is admin (role = 1) + if ($_SESSION['mgrRole'] == 1) $access = TRUE; + + else { + $docID = $this->modx->documentIdentifier; + + // Database table + $table= $this->modx->getFullTableName("document_groups"); + + // Check if current document is assigned to one or more doc groups + $sql= "SELECT id FROM {$table} WHERE document={$docID}"; + $result= $this->modx->db->query($sql); + $rowCount= $this->modx->recordCount($result); + + // If document is assigned to one or more doc groups, check access + if ($rowCount >= 1) { + + // Get document groups for current user + $mrgDocGroups = $_SESSION['mgrDocgroups']; + if (!empty($mrgDocGroups)) { + $docGroup = implode(",", $mrgDocGroups); + + // Check if user has access to current document + $sql= "SELECT id FROM {$table} WHERE document = {$docID} AND document_group IN ({$docGroup})"; + $result= $this->modx->db->query($sql); + $rowCount = $this->modx->recordCount($result); + + if ($rowCount >= 1) $access = TRUE; + } + + else $access = FALSE; + } + + else $access = TRUE; + } + + return $access; + } + + // Function from: manager/processors/cache_sync.class.processor.php + //_____________________________________________________ + function getParents($id, $path = '') { // modx:returns child's parent + global $modx; + if(empty($this->aliases)) { + $sql = "SELECT id, IF(alias='', id, alias) AS alias, parent FROM ".$modx->getFullTableName('site_content'); + $qh = $modx->db->query($sql); + if ($qh && $modx->db->getRecordCount($qh) > 0) { + while ($row = $modx->db->getRow($qh)) { + $this->aliases[$row['id']] = $row['alias']; + $this->parents[$row['id']] = $row['parent']; + } + } + } + if (isset($this->aliases[$id])) { + $path = $this->aliases[$id] . ($path != '' ? '/' : '') . $path; + return $this->getParents($this->parents[$id], $path); + } + return $path; + } + + // Create TV buttons if user has permissions to TV + //_____________________________________________________ + function createTvButtons($matches) { + + $access = FALSE; + $table = $this->modx->getFullTableName('site_tmplvar_access'); + $docID = $this->modx->documentIdentifier; + + // Get TV caption for button title + $tv = $this->modx->getTemplateVar($matches[1]); + $caption = $tv['caption']; + + // If caption is empty this must be a "build-in-tv-field" like pagetitle etc. + if ($caption == '') { + + // Allowed for all + $access = TRUE; + + // Resolve caption + $caption = $this->getDefaultTvCaption($matches[1]); + } + + // Check TV access + else { + $access = $this->checkTvAccess($tv['id']); + } + + // Return TV button link if access + if ($access && $caption != '') { + return ''.$caption.''; + } + } + + // Check user access to TV + //_____________________________________________________ + function checkTvAccess($tvId) { + $access = FALSE; + $table = $this->modx->getFullTableName('site_tmplvar_access'); + + // If user is admin (role = 1) + if ($_SESSION['mgrRole'] == 1 && !$access) { $access = TRUE; } + + // Check permission to TV, is TV in document group? + if (!$access) { + $sql = "SELECT id FROM {$table} WHERE tmplvarid = {$tvId}"; + $result = $this->modx->db->query($sql); + $rowCount = $this->modx->recordCount($result); + // TV is not in any document group + if ($rowCount == 0) { $access = TRUE; } + } + + // Check permission to TV, TV is in document group + if (!$access && $this->docGroup != '') { + $sql = "SELECT id FROM {$table} WHERE tmplvarid = {$tvId} AND documentgroup IN ({$this->docGroup})"; + $result = $this->modx->db->query($sql); + $rowCount = $this->modx->recordCount($result); + if ($rowCount >= 1) { $access = TRUE; } + } + + return $access; + } + + // Get default TV ("build-in" TVs) captions + //_____________________________________________________ + function getDefaultTvCaption($name) { + + global $_lang; + $caption = ''; + + switch ($name) { + case 'pagetitle' : $caption = $_lang['resource_title']; break; + case 'longtitle' : $caption = $_lang['long_title']; break; + case 'description' : $caption = $_lang['resource_description']; break; + case 'content' : $caption = $_lang['resource_content']; break; + case 'menutitle' : $caption = $_lang['resource_opt_menu_title']; break; + case 'introtext' : $caption = $_lang['resource_summary']; break; + } + + return $caption; + } + + // Check that a document isn't locked for editing + //_____________________________________________________ + function checkLocked() { + + $activeUsersTable = $this->modx->getFullTableName('active_users'); + $pageId = $this->modx->documentIdentifier; + $locked = TRUE; + $userId = $_SESSION['mgrInternalKey']; + + $sql = "SELECT `internalKey` + FROM {$activeUsersTable} + WHERE (`action` = 27) + AND `internalKey` != '{$userId}' + AND `id` = '{$pageId}';"; + $result = $this->modx->db->query($sql); + + if ($this->modx->db->getRecordCount($result) === 0) { + $locked = FALSE; + } + + return $locked; + } + + // Set document locked on/off + //_____________________________________________________ + function setLocked($locked) { + + $activeUsersTable = $this->modx->getFullTableName('active_users'); + $pageId = $this->modx->documentIdentifier; + $userId = $_SESSION['mgrInternalKey']; + + // Set document locked + if ($locked == 1) { + $fields = array ( + 'id' => $pageId, + 'action' => 27 + ); + } + + // Set document unlocked + else { + $fields = array ( + 'id' => 'NULL', + 'action' => 2 + ); + } + + $where = 'internalKey = "' . $userId . '"'; + + $result = $this->modx->db->update($fields, $activeUsersTable, $where); + } + + // Save TV + //_____________________________________________________ + function saveTv($tvName) { + + $tmplvarContentValuesTable = $this->modx->getFullTableName('site_tmplvar_contentvalues'); + $siteContentTable = $this->modx->getFullTableName('site_content'); + $pageId = $this->modx->documentIdentifier; + $result = null; + $time = time(); + $user = $_SESSION['mgrInternalKey']; + $tvId = isset($_POST['tvid']) ? intval($_POST['tvid']) : ''; + $tvContent = isset($_POST['tv'.$tvName]) ? $_POST['tv'.$tvName] : ''; + $tvContentTemp = ''; + + // Invoke OnBeforeDocFormSave event + $this->modx->invokeEvent('OnBeforeDocFormSave', array('mode'=>'upd', 'id'=>$pageId)); + + // Handle checkboxes and other arrays, TV to be saved must be e.g. value1||value2||value3 + if (is_array($tvContent)) { + foreach($tvContent as $key => $value) { + $tvContentTemp .= $value . '||'; + } + $tvContentTemp = substr($tvContentTemp, 0, -2); // Remove last || + $tvContent = $tvContentTemp; + } + + // Save TV + if ($tvId != '') { + // Escape TV content + $tvContent = $this->modx->db->escape($tvContent); + + $sql = "SELECT id + FROM {$tmplvarContentValuesTable} + WHERE `tmplvarid` = '{$tvId}' + AND `contentid` = '{$pageId}';"; + $result = $this->modx->db->query($sql); + + // TV exists, update TV + if($this->modx->db->getRecordCount($result)) { + + $sql = "UPDATE {$tmplvarContentValuesTable} + SET `value` = '{$tvContent}' + WHERE `tmplvarid` = '{$tvId}' + AND `contentid` = '{$pageId}';"; + } + + // TV does not exist, create new TV + else { + $sql = "INSERT INTO {$tmplvarContentValuesTable} (tmplvarid, contentid, value) + VALUES('{$tvId}', '{$pageId}', '{$tvContent}');"; + } + + // Page edited by + $this->modx->db->update(array('editedon'=>$time, 'editedby'=>$user), $siteContentTable, 'id = "' . $pageId . '"'); + } + + // Save default field, e.g. pagetitle + else { + $sql = "UPDATE {$siteContentTable} + SET + `{$tvName}` = '{$tvContent}', + `editedon` = '{$time}', + `editedby` = '{$user}' + WHERE `id` = '{$pageId}';"; + + } + + // Update TV + if($sql) { $result = $this->modx->db->query($sql); } + + // Log possible errors + if(!$result) { + $modx->logEvent(0, 0, "

    Save failed!

    SQL:
    {$sql}
    ", 'QuickManager+'); + } + + // No errors + else { + // Invoke OnDocFormSave event + $this->modx->invokeEvent('OnDocFormSave', array('mode'=>'upd', 'id'=>$pageId)); + + // Clear cache + $this->clearCache(); + } + } + + // Clear cache + //_____________________________________________________ + function clearCache() { + // Clear cache + include_once $this->modx->config['base_path']."manager/processors/cache_sync.class.processor.php"; + $sync = new synccache(); + $sync->setCachepath($this->modx->config['base_path']."assets/cache/"); + $sync->setReport(false); + $sync->emptyCache(); + } + +} +} ?> \ No newline at end of file From 689a203630540ece5158c1357303c5215adac7ee Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:38:45 +0900 Subject: [PATCH 08/92] [hq][ManagerManager][QuickManager] Update jQuery 1.3.2 -> 1.4.2(yama) --- install/assets/plugins/mgrmgr.tpl | 4 ++-- install/assets/plugins/qm.tpl | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) mode change 100644 => 100755 install/assets/plugins/mgrmgr.tpl mode change 100644 => 100755 install/assets/plugins/qm.tpl diff --git a/install/assets/plugins/mgrmgr.tpl b/install/assets/plugins/mgrmgr.tpl old mode 100644 new mode 100755 index 4c76705cba..95ca638134 --- a/install/assets/plugins/mgrmgr.tpl +++ b/install/assets/plugins/mgrmgr.tpl @@ -30,8 +30,8 @@ // or specify a URL to a custom location. // Here we set some default values, because this is a convenient place to change them if we need to, // but you should configure your preference via the Configuration tab. -$js_default_url_local = $modx->config['site_url']. '/assets/js/jquery-1.3.2.min.js'; -$js_default_url_remote = 'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js'; +$js_default_url_local = $modx->config['site_url'] . 'assets/js/jquery-1.4.2.min.js'; +$js_default_url_remote = 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'; // You don't need to change anything else from here onwards //------------------------------------------------------- diff --git a/install/assets/plugins/qm.tpl b/install/assets/plugins/qm.tpl old mode 100644 new mode 100755 index 435eb2487d..a3e6134fe6 --- a/install/assets/plugins/qm.tpl +++ b/install/assets/plugins/qm.tpl @@ -7,7 +7,7 @@ * @category plugin * @version 1.5.3-GA * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) - * @internal @properties &jqpath=Path to jQuery;text;assets/js/jquery-1.3.2.min.js &loadmanagerjq=Load jQuery in manager;list;true,false;false &loadfrontendjq=Load jQuery in front-end;list;true,false;true &noconflictjq=jQuery noConflict mode in front-end;list;true,false;false &loadtb=Load modal box in front-end;list;true,false;true &tbwidth=Modal box window width;text;80% &tbheight=Modal box window height;text;90% &hidefields=Hide document fields from front-end editors;text;parent &hidetabs=Hide document tabs from front-end editors;text; &hidesections=Hide document sections from front-end editors;text; &addbutton=Show add document here button;list;true,false;true &tpltype=New document template type;list;parent,id,selected;parent &tplid=New document template id;int;3 &custombutton=Custom buttons;textarea; &1=undefined;; &managerbutton=Show go to manager button;list;true,false;true &logout=Logout to;list;manager,front-end;manager &disabled=Plugin disabled on documents;text; &autohide=Autohide toolbar;list;true,false;true &editbuttons=Inline edit buttons;list;true,false;false &editbclass=Edit button CSS class;text;qm-edit &newbuttons=Inline new resource buttons;list;true,false;false &newbclass=New resource button CSS class;text;qm-new &tvbuttons=Inline template variable buttons;list;true,false;false &tvbclass=Template variable button CSS class;text;qm-tv + * @internal @properties &jqpath=Path to jQuery;text;assets/js/jquery-1.4.2.min.js &loadmanagerjq=Load jQuery in manager;list;true,false;false &loadfrontendjq=Load jQuery in front-end;list;true,false;true &noconflictjq=jQuery noConflict mode in front-end;list;true,false;false &loadtb=Load modal box in front-end;list;true,false;true &tbwidth=Modal box window width;text;80% &tbheight=Modal box window height;text;90% &hidefields=Hide document fields from front-end editors;text;parent &hidetabs=Hide document tabs from front-end editors;text; &hidesections=Hide document sections from front-end editors;text; &addbutton=Show add document here button;list;true,false;true &tpltype=New document template type;list;parent,id,selected;parent &tplid=New document template id;int;3 &custombutton=Custom buttons;textarea; &1=undefined;; &managerbutton=Show go to manager button;list;true,false;true &logout=Logout to;list;manager,front-end;manager &disabled=Plugin disabled on documents;text; &autohide=Autohide toolbar;list;true,false;true &editbuttons=Inline edit buttons;list;true,false;false &editbclass=Edit button CSS class;text;qm-edit &newbuttons=Inline new resource buttons;list;true,false;false &newbclass=New resource button CSS class;text;qm-new &tvbuttons=Inline template variable buttons;list;true,false;false &tvbclass=Template variable button CSS class;text;qm-tv * @internal @events OnParseDocument,OnWebPagePrerender,OnDocFormPrerender,OnDocFormSave,OnManagerLogout * @internal @modx_category Manager and Admin * @internal @legacy_names QM+ From c045c64198218ee0a6758979c54365b55f3a40ff Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:39:41 +0900 Subject: [PATCH 09/92] Quick Manager window open style tuning(yama) --- assets/plugins/qm/qm.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/plugins/qm/qm.inc.php b/assets/plugins/qm/qm.inc.php index e7c111eb3f..a4a2ffdde0 100755 --- a/assets/plugins/qm/qm.inc.php +++ b/assets/plugins/qm/qm.inc.php @@ -539,7 +539,7 @@ function Run() { $head .= ' { - $("a.colorbox").colorbox({width:"'.$this->tbwidth.'", height:"'.$this->tbheight.'", iframe:true, overlayClose:false}); + $("a.colorbox").colorbox({width:"'.$this->tbwidth.'", height:"'.$this->tbheight.'", iframe:true, overlayClose:false, opacity:0.5, transition:"fade", speed:150}); // Bindings $().bind("cbox_open", function(){ From b8accfcf1a5ac31fb257f6b19485d02db959d0e2 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:40:59 +0900 Subject: [PATCH 10/92] For QuickManager(yama) --- assets/plugins/tinymce/tinymce.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 assets/plugins/tinymce/tinymce.tpl diff --git a/assets/plugins/tinymce/tinymce.tpl b/assets/plugins/tinymce/tinymce.tpl old mode 100644 new mode 100755 index 643809dc09..b0022a68c9 --- a/assets/plugins/tinymce/tinymce.tpl +++ b/assets/plugins/tinymce/tinymce.tpl @@ -7,7 +7,7 @@ * @category plugin * @version 3.3.9.2 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) - * @internal @properties &customparams=Custom Parameters;textarea; &mce_formats=Block Formats;text;p,h1,h2,h3,h4,h5,h6,div,blockquote,code,pre &entity_encoding=Entity Encoding;list;named,numeric,raw;named &entities=Entities;text; &mce_path_options=Path Options;list;rootrelative,docrelative,fullpathurl;docrelative &mce_resizing=Advanced Resizing;list;true,false;true &disabledButtons=Disabled Buttons;text; &link_list=Link List;list;enabled,disabled;enabled &webtheme=Web Theme;list;simple,editor,creative,custom;simple &webPlugins=Web Plugins;text;style,advimage,advlink,searchreplace,contextmenu,paste,fullscreen,nonbreaking,xhtmlxtras,visualchars,media &webButtons1=Web Buttons 1;text;undo,redo,selectall,|,pastetext,pasteword,|,search,replace,|,nonbreaking,hr,charmap,|,image,link,unlink,anchor,media,|,cleanup,removeformat,|,fullscreen,code,help &webButtons2=Web Buttons 2;text;bold,italic,underline,strikethrough,sub,sup,|,|,blockquote,bullist,numlist,outdent,indent,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,|,styleprops &webButtons3=Web Buttons 3;text; &webButtons4=Web Buttons 4;text; &webAlign=Web Toolbar Alignment;list;ltr,rtl;ltr &width=Width;text;100% &height=Height;text;400 + * @internal @properties &customparams=Custom Parameters;textarea;valid_elements : "*[*]", &mce_formats=Block Formats;text;p,h1,h2,h3,h4,h5,h6,div,blockquote,code,pre &entity_encoding=Entity Encoding;list;named,numeric,raw;named &entities=Entities;text; &mce_path_options=Path Options;list;rootrelative,docrelative,fullpathurl;fullpathurl &mce_resizing=Advanced Resizing;list;true,false;true &disabledButtons=Disabled Buttons;text; &link_list=Link List;list;enabled,disabled;enabled &webtheme=Web Theme;list;simple,editor,creative,custom;simple &webPlugins=Web Plugins;text;style,advimage,advlink,searchreplace,contextmenu,paste,fullscreen,xhtmlxtras,media &webButtons1=Web Buttons 1;text;undo,redo,selectall,|,pastetext,pasteword,|,search,replace,|,hr,charmap,|,image,link,unlink,anchor,media,|,cleanup,removeformat,|,fullscreen,code,help &webButtons2=Web Buttons 2;text;bold,italic,underline,strikethrough,sub,sup,|,|,blockquote,bullist,numlist,outdent,indent,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,|,styleprops &webButtons3=Web Buttons 3;text; &webButtons4=Web Buttons 4;text; &webAlign=Web Toolbar Alignment;list;ltr,rtl;ltr &width=Width;text;100% &height=Height;text;400 * @internal @events OnRichTextEditorRegister,OnRichTextEditorInit,OnInterfaceSettingsRender * @internal @modx_category Manager and Admin * @internal @legacy_names TinyMCE From e55c2c47a633b51b3fe16ce4775feb5808a4fe73 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:42:00 +0900 Subject: [PATCH 11/92] DocManager sort list style tune(yama) --- .../modules/docmanager/classes/dm_backend.class.php | 6 ++++-- assets/modules/docmanager/templates/sort_list.tpl | 12 +++++++++++- 2 files changed, 15 insertions(+), 3 deletions(-) mode change 100644 => 100755 assets/modules/docmanager/classes/dm_backend.class.php mode change 100644 => 100755 assets/modules/docmanager/templates/sort_list.tpl diff --git a/assets/modules/docmanager/classes/dm_backend.class.php b/assets/modules/docmanager/classes/dm_backend.class.php old mode 100644 new mode 100755 index 4e1e30efb8..f886e1b3a7 --- a/assets/modules/docmanager/classes/dm_backend.class.php +++ b/assets/modules/docmanager/classes/dm_backend.class.php @@ -40,7 +40,7 @@ function showSortList($id) { $resource = array(); if (is_numeric($id)) { - $query = 'SELECT id , pagetitle , parent , menuindex FROM '. $this->modx->getFullTableName('site_content') .' WHERE parent=' . $id . ' ORDER BY menuindex ASC'; + $query = 'SELECT id , pagetitle , parent , menuindex, hidemenu, published FROM '. $this->modx->getFullTableName('site_content') .' WHERE parent=' . $id . ' ORDER BY menuindex ASC'; if (!$rs = $this->modx->db->query($query)) { return false; } @@ -63,7 +63,9 @@ function showSortList($id) { $this->dm->ph['sort.message'] = $this->dm->lang['DM_sort_nochildren']; } else { foreach ($resource as $item) { - $this->dm->ph['sort.options'] .= '
  • ' . $item['pagetitle'] . '
  • '; + $hidemenu = ($item['hidemenu']==1) ? ' hidemenu' : ''; + $published = ($item['published']==0) ? ' unpublished' : ''; + $this->dm->ph['sort.options'] .= '
  • ' . $item['pagetitle'] . '
  • '; } } diff --git a/assets/modules/docmanager/templates/sort_list.tpl b/assets/modules/docmanager/templates/sort_list.tpl old mode 100644 new mode 100755 index 33da56a9a5..7b32f7ce8e --- a/assets/modules/docmanager/templates/sort_list.tpl +++ b/assets/modules/docmanager/templates/sort_list.tpl @@ -36,8 +36,18 @@ From 4a232cb0038fed1f179d13cb47897f870e2625f6 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:42:53 +0900 Subject: [PATCH 12/92] =?UTF-8?q?=E3=83=9E=E3=83=BC=E3=82=B8=E3=83=9F?= =?UTF-8?q?=E3=82=B9=20orz(yama)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/plugins/tinymce/tinymce.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/plugins/tinymce/tinymce.tpl b/assets/plugins/tinymce/tinymce.tpl index b0022a68c9..643809dc09 100755 --- a/assets/plugins/tinymce/tinymce.tpl +++ b/assets/plugins/tinymce/tinymce.tpl @@ -7,7 +7,7 @@ * @category plugin * @version 3.3.9.2 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) - * @internal @properties &customparams=Custom Parameters;textarea;valid_elements : "*[*]", &mce_formats=Block Formats;text;p,h1,h2,h3,h4,h5,h6,div,blockquote,code,pre &entity_encoding=Entity Encoding;list;named,numeric,raw;named &entities=Entities;text; &mce_path_options=Path Options;list;rootrelative,docrelative,fullpathurl;fullpathurl &mce_resizing=Advanced Resizing;list;true,false;true &disabledButtons=Disabled Buttons;text; &link_list=Link List;list;enabled,disabled;enabled &webtheme=Web Theme;list;simple,editor,creative,custom;simple &webPlugins=Web Plugins;text;style,advimage,advlink,searchreplace,contextmenu,paste,fullscreen,xhtmlxtras,media &webButtons1=Web Buttons 1;text;undo,redo,selectall,|,pastetext,pasteword,|,search,replace,|,hr,charmap,|,image,link,unlink,anchor,media,|,cleanup,removeformat,|,fullscreen,code,help &webButtons2=Web Buttons 2;text;bold,italic,underline,strikethrough,sub,sup,|,|,blockquote,bullist,numlist,outdent,indent,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,|,styleprops &webButtons3=Web Buttons 3;text; &webButtons4=Web Buttons 4;text; &webAlign=Web Toolbar Alignment;list;ltr,rtl;ltr &width=Width;text;100% &height=Height;text;400 + * @internal @properties &customparams=Custom Parameters;textarea; &mce_formats=Block Formats;text;p,h1,h2,h3,h4,h5,h6,div,blockquote,code,pre &entity_encoding=Entity Encoding;list;named,numeric,raw;named &entities=Entities;text; &mce_path_options=Path Options;list;rootrelative,docrelative,fullpathurl;docrelative &mce_resizing=Advanced Resizing;list;true,false;true &disabledButtons=Disabled Buttons;text; &link_list=Link List;list;enabled,disabled;enabled &webtheme=Web Theme;list;simple,editor,creative,custom;simple &webPlugins=Web Plugins;text;style,advimage,advlink,searchreplace,contextmenu,paste,fullscreen,nonbreaking,xhtmlxtras,visualchars,media &webButtons1=Web Buttons 1;text;undo,redo,selectall,|,pastetext,pasteword,|,search,replace,|,nonbreaking,hr,charmap,|,image,link,unlink,anchor,media,|,cleanup,removeformat,|,fullscreen,code,help &webButtons2=Web Buttons 2;text;bold,italic,underline,strikethrough,sub,sup,|,|,blockquote,bullist,numlist,outdent,indent,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,|,styleprops &webButtons3=Web Buttons 3;text; &webButtons4=Web Buttons 4;text; &webAlign=Web Toolbar Alignment;list;ltr,rtl;ltr &width=Width;text;100% &height=Height;text;400 * @internal @events OnRichTextEditorRegister,OnRichTextEditorInit,OnInterfaceSettingsRender * @internal @modx_category Manager and Admin * @internal @legacy_names TinyMCE From 44cd1f8539d0e1e39bc2d2bca4e29e256c2da86e Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:43:46 +0900 Subject: [PATCH 13/92] [hq][TinyMCE] For QuickManager(yama) --- assets/plugins/tinymce/tinymce.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/plugins/tinymce/tinymce.tpl b/assets/plugins/tinymce/tinymce.tpl index 643809dc09..d2b89b663f 100755 --- a/assets/plugins/tinymce/tinymce.tpl +++ b/assets/plugins/tinymce/tinymce.tpl @@ -69,7 +69,7 @@ switch ($e->name) $params['use_browser'] = $modx->config['use_browser']; $params['editor_css_path'] = $modx->config['editor_css_path']; - if($modx->isBackend()) + if($modx->isBackend() || (intval($_GET['quickmanagertv']) == 1 && isset($_SESSION['mrgValidated']))) { $params['theme'] = $modx->config['tinymce_editor_theme']; $params['language'] = getTinyMCELang($modx->config['manager_language']); From d7b039dedfa94bc32fdf51cd04c871924f31cf1e Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:44:58 +0900 Subject: [PATCH 14/92] Japanese language files update.(yama) --- .../docmanager/lang/japanese-utf8.inc.php | 22 +- .../tinymce/lang/japanese-utf8.inc.php | 12 +- .../ajaxSearch/lang/japanese-utf8.inc.php | 26 +- manager/includes/lang/japanese-utf8.inc.php | 408 +++++++++--------- 4 files changed, 234 insertions(+), 234 deletions(-) mode change 100644 => 100755 assets/plugins/tinymce/lang/japanese-utf8.inc.php mode change 100644 => 100755 assets/snippets/ajaxSearch/lang/japanese-utf8.inc.php diff --git a/assets/modules/docmanager/lang/japanese-utf8.inc.php b/assets/modules/docmanager/lang/japanese-utf8.inc.php index c50afc8233..193f32055b 100755 --- a/assets/modules/docmanager/lang/japanese-utf8.inc.php +++ b/assets/modules/docmanager/lang/japanese-utf8.inc.php @@ -15,7 +15,7 @@ //-- titles $_lang['DM_module_title'] = 'Doc Manager'; $_lang['DM_action_title'] = 'æ“ä½œã‚’é¸æŠžã—ã¾ã™'; -$_lang['DM_range_title'] = 'リソースIDを指定'; +$_lang['DM_range_title'] = 'æ“作対象(æ“作元)ã®ãƒªã‚½ãƒ¼ã‚¹IDを指定'; $_lang['DM_tree_title'] = 'サイトツリーã‹ã‚‰ãƒªã‚½ãƒ¼ã‚¹ã‚’é¸æŠž'; $_lang['DM_update_title'] = '更新完了'; $_lang['DM_sort_title'] = 'メニューインデックスエディタ'; @@ -26,13 +26,13 @@ $_lang['DM_sort_menu'] = 'メニュー整列'; $_lang['DM_change_template'] = 'ãƒ†ãƒ³ãƒ—ãƒ¬ãƒ¼ãƒˆé¸æŠž'; $_lang['DM_publish'] = '公開/éžå…¬é–‹'; -$_lang['DM_other'] = 'ãã®ä»–ã®ãƒ—ロパティ'; +$_lang['DM_other'] = 'ãã®ä»–'; //-- buttons -$_lang['DM_close'] = 'Doc Managerã‚’é–‰ã˜ã‚‹'; +$_lang['DM_close'] = 'é–‰ã˜ã‚‹'; $_lang['DM_cancel'] = '戻る'; $_lang['DM_go'] = 'Go'; -$_lang['DM_save'] = 'ä¿å­˜'; +$_lang['DM_save'] = 'æ›´æ–°'; $_lang['DM_sort_another'] = 'åˆ¥ã®æ•´åˆ—'; //-- templates tab @@ -68,16 +68,16 @@ $_lang['DM_doc_skip_message2'] = 'ã¯é¸æŠžã—ãŸãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—ã«æ—¢ã«å«ã¾ã‚Œã¦ã„ã¾ã™ã€‚(スキップ)'; //-- sort menu tab -$_lang['DM_sort_pick_item'] = 'サイトルートã‹ã€æ•´åˆ—ã—ãŸã„範囲ã®è¦ªãƒªã‚½ãƒ¼ã‚¹(コンテナ)をクリックã—ã¦ãã ã•ã„。'; +$_lang['DM_sort_pick_item'] = 'メニューã®ä¸¦ã³é †(menuindex)をマウスæ“作ã§ã¾ã¨ã‚ã¦å¤‰æ›´ã§ãã¾ã™ã€‚
    サイトルートã‹ã€ä¸¦ã¹æ›¿ãˆãŸã„範囲ã®è¦ªãƒªã‚½ãƒ¼ã‚¹(コンテナ)をクリックã—ã¦ãã ã•ã„。'; $_lang['DM_sort_updating'] = '更新中 ...'; -$_lang['DM_sort_updated'] = 'æ›´æ–°'; +$_lang['DM_sort_updated'] = 'æ›´æ–°ã—ã¾ã—ãŸã€‚「閉ã˜ã‚‹ã€ã¾ãŸã¯ã€Œæˆ»ã‚‹ã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¦ãã ã•ã„。'; $_lang['DM_sort_nochildren'] = 'ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã«ã¯ã‚µãƒ–リソースãŒã‚りã¾ã›ã‚“。'; $_lang['DM_sort_noid']='リソースãŒé¸æŠžã•れã¦ã„ã¾ã›ã‚“。戻ã£ã¦ãƒªã‚½ãƒ¼ã‚¹ã‚’é¸æŠžã—ã¦ãã ã•ã„。'; //-- other tab $_lang['DM_other_header'] = 'リソースã®å„種設定'; $_lang['DM_misc_label'] = '変更対象ã®è¨­å®š:'; -$_lang['DM_misc_desc'] = '変更ã™ã‚‹è¨­å®šã‚’ドロップダウンメニューã‹ã‚‰é¸æŠžã—ã¦ãã ã•ã„。ãã—ã¦å¿…è¦ãªã‚ªãƒ—ションを指定ã—ã¾ã™ã€‚1度ã«1ã¤ã®è¨­å®šã—ã‹å¤‰æ›´ã§ãã¾ã›ã‚“。'; +$_lang['DM_misc_desc'] = '変更ã™ã‚‹è¨­å®šã‚’ドロップダウンメニューã‹ã‚‰é¸æŠžã—ã¦ãã ã•ã„。ãã—ã¦å¿…è¦ãªã‚ªãƒ—ションを指定ã—ã¾ã™ã€‚一度ã«ã²ã¨ã¤ã®è¨­å®šã—ã‹å¤‰æ›´ã§ãã¾ã›ã‚“。'; $_lang['DM_other_dropdown_publish'] = '公開/éžå…¬é–‹'; $_lang['DM_other_dropdown_show'] = 'メニューã«è¡¨ç¤º/éžè¡¨ç¤º'; @@ -102,7 +102,7 @@ //-- adjust dates $_lang['DM_adjust_dates_header'] = 'リソースã®å„種日時設定'; -$_lang['DM_adjust_dates_desc'] = 'æ¬¡ã®æ—¥æ™‚設定を変更ã§ãã¾ã™ã€‚「カレンダーを表示ã€ã‚’ãŠä½¿ã„ãã ã•ã„。'; +$_lang['DM_adjust_dates_desc'] = '複数ã®ãƒªã‚½ãƒ¼ã‚¹ã®æ—¥æ™‚設定をã¾ã¨ã‚ã¦å¤‰æ›´ã§ãã¾ã™ã€‚'; $_lang['DM_view_calendar'] = 'カレンダーを表示'; $_lang['DM_clear_date'] = 'リセット'; @@ -115,7 +115,7 @@ //-- labels $_lang['DM_date_pubdate'] = '公開日時:'; -$_lang['DM_date_unpubdate'] = 'éžå…¬é–‹æ—¥æ™‚:'; +$_lang['DM_date_unpubdate'] = '公開終了日時:'; $_lang['DM_date_createdon'] = 'ä½œæˆæ—¥æ™‚:'; $_lang['DM_date_editedon'] = '編集日時:'; //$_lang['DM_date_deletedon'] = 'Deleted On Date'; @@ -140,9 +140,9 @@ $_lang['DM_process_noselection'] = 'å¿…è¦ãªæŒ‡å®šãŒã•れã¦ã„ã¾ã›ã‚“。'; $_lang['DM_process_novalues'] = 'å€¤ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“ã§ã—ãŸã€‚'; $_lang['DM_process_limits_error'] = '上é™ãŒä¸‹é™ã‚ˆã‚Šã‚‚å°ã•ã„ã§ã™:'; -$_lang['DM_process_invalid_error'] = '値ãŒå¤‰ã§ã—ãŸ:'; +$_lang['DM_process_invalid_error'] = '値ãŒã‚¤ãƒ¬ã‚®ãƒ¥ãƒ©ãƒ¼ã§ã™ '; $_lang['DM_process_update_success'] = '変更ã¯ç„¡äº‹å®Œäº†ã—ã¾ã—ãŸã€‚'; -$_lang['DM_process_update_error'] = '変更ã¯å®Œäº†ã—ã¾ã—ãŸãŒã‚¨ãƒ©ãƒ¼ãŒã‚りã¾ã—ãŸ:'; +$_lang['DM_process_update_error'] = '変更ã¯å®Œäº†ã—ã¾ã—ãŸãŒã€ã‚¨ãƒ©ãƒ¼ãŒã‚りã¾ã—ãŸ:'; $_lang['DM_process_back'] = '戻る'; //-- manager access logging diff --git a/assets/plugins/tinymce/lang/japanese-utf8.inc.php b/assets/plugins/tinymce/lang/japanese-utf8.inc.php old mode 100644 new mode 100755 index 554e0e6648..2980876abe --- a/assets/plugins/tinymce/lang/japanese-utf8.inc.php +++ b/assets/plugins/tinymce/lang/japanese-utf8.inc.php @@ -3,18 +3,18 @@ * Filename: assets/plugins/tinymce/lang/japanese-utf8.inc.php * Function: Japanese language file for TinyMCE. * Encoding: UTF-8 - * Author: Japanese community - * Date: 2009/07/29 - * Version: 2.1.0 - * MODx version: 0.9.5-1.0.2 + * Author: yama + * Date: 2010/07/29 + * Version: 2.1.1 + * MODx version: 0.9.5-1.0.5 */ $_lang['tinymce_editor_theme_title'] = 'テーマ:'; $_lang['tinymce_editor_theme_message'] = 'ãƒ†ãƒ¼ãƒžã‚’é¸æŠžã—ã€ãƒ„ールãƒãƒ¼ã‚¢ã‚¤ã‚³ãƒ³ã®ã‚»ãƒƒãƒˆãŠã‚ˆã³ã‚¨ãƒ‡ã‚£ã‚¿ã®ãƒ‡ã‚¶ã‚¤ãƒ³ã‚’変更ã§ãã¾ã™ã€‚'; $_lang['tinymce_editor_custom_plugins_title'] = 'カスタムテーマã®ãƒ—ラグイン設定:'; -$_lang['tinymce_editor_custom_plugins_message'] = 'ã‚«ã‚¹ã‚¿ãƒ ãƒ†ãƒ¼ãƒžã‚’é¸æŠžã—ãŸã¨ãã«åˆ©ç”¨ã™ã‚‹ãƒ—ラグインをカンマ(,)ã§åŒºåˆ‡ã£ã¦è¨˜è¿°ã—ã¾ã™ã€‚'; +$_lang['tinymce_editor_custom_plugins_message'] = 'ã‚«ã‚¹ã‚¿ãƒ ãƒ†ãƒ¼ãƒžã‚’é¸æŠžã—ãŸã¨ãã«åˆ©ç”¨ã™ã‚‹ãƒ—ラグインをカンマ(,)ã§åŒºåˆ‡ã£ã¦è¨˜è¿°ã—ã¾ã™ã€‚
    値を空ã«ã—ã¦æ›´æ–°ã™ã‚‹ã¨ãƒ‡ãƒ•ォルト値をセットã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚'; $_lang['tinymce_editor_custom_buttons_title'] = 'カスタムボタン:'; -$_lang['tinymce_editor_custom_buttons_message'] = 'ã‚«ã‚¹ã‚¿ãƒ ãƒ†ãƒ¼ãƒžã‚’é¸æŠžã—ãŸã¨ãã«åˆ©ç”¨ã™ã‚‹ãƒœã‚¿ãƒ³ã‚’カンマ(,)ã§åŒºåˆ‡ã£ã¦ãれãžã‚Œã®è¡Œã«è¨˜è¿°ã—ã¾ã™ã€‚セパレータã¯ã€Œseparatorã€ã¾ãŸã¯ã€Œ|ã€ã¨è¨˜è¿°ã—ã¾ã™ã€‚プラグインã«ã‚ˆã£ã¦æ©Ÿèƒ½ãŒæä¾›ã•れるボタンã¯ã€ãƒ—ラグイン指定も必è¦ã§ã™ã€‚詳細ã«ã¤ã„ã¦ã¯TinyMCE開発元ã®å…¬å¼ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®Control referenceã®ãƒšãƒ¼ã‚¸ã‚’ã”確èªãã ã•ã„。'; +$_lang['tinymce_editor_custom_buttons_message'] = 'ã‚«ã‚¹ã‚¿ãƒ ãƒ†ãƒ¼ãƒžã‚’é¸æŠžã—ãŸã¨ãã«åˆ©ç”¨ã™ã‚‹ãƒœã‚¿ãƒ³ã‚’カンマ(,)ã§åŒºåˆ‡ã£ã¦ãれãžã‚Œã®è¡Œã«è¨˜è¿°ã—ã¾ã™ã€‚セパレータã¯ã€Œseparatorã€ã¾ãŸã¯ã€Œ|ã€ã¨è¨˜è¿°ã—ã¾ã™ã€‚プラグインã«ã‚ˆã£ã¦æ©Ÿèƒ½ãŒæä¾›ã•れるボタンã¯ã€ãƒ—ラグイン指定も必è¦ã§ã™ã€‚詳細ã«ã¤ã„ã¦ã¯TinyMCE開発元ã®å…¬å¼ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®Control referenceã®ãƒšãƒ¼ã‚¸ã‚’ã”確èªãã ã•ã„。
    値を空ã«ã—ã¦æ›´æ–°ã™ã‚‹ã¨ãƒ‡ãƒ•ォルト値をセットã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚'; $_lang['tinymce_editor_css_selectors_title'] = 'CSSスタイルセレクタ:'; $_lang['tinymce_editor_css_selectors_message'] = 'class=xxxxxã¨ã„ã†å½¢ã§ä»»æ„ã®ã‚¿ã‚°ã«å‰²ã‚Šå½“ã¦ã‚‹ã€ŒCSSクラスã€ã‚’ã“ã“ã§è¨­å®šã§ãã¾ã™ã€‚
    書å¼ï¼šæœ¬ã®ã‚¿ã‚¤ãƒˆãƒ«=booktitle;著者=author
    上記ã®ã‚ˆã†ã«ã€è¤‡æ•°ã®ã‚¯ãƒ©ã‚¹ã‚’セミコロンã§åŒºåˆ‡ã£ã¦æŒ‡å®šã—ã¾ã™ã€‚'; $_lang['tinymce_settings'] = 'TinyMCEã®è¨­å®š'; diff --git a/assets/snippets/ajaxSearch/lang/japanese-utf8.inc.php b/assets/snippets/ajaxSearch/lang/japanese-utf8.inc.php old mode 100644 new mode 100755 index 41abb53af4..1104a6a1cc --- a/assets/snippets/ajaxSearch/lang/japanese-utf8.inc.php +++ b/assets/snippets/ajaxSearch/lang/japanese-utf8.inc.php @@ -5,32 +5,32 @@ Created on: 01/22/07, Modified on 18/05/10 Description: Language strings for AjaxSearch */ -$_lang['as_resultsIntroFailure'] = '一致ã™ã‚‹æ¤œç´¢çµæžœãŒã‚りã¾ã›ã‚“ã§ã—ãŸã€‚類似ã™ã‚‹åˆ¥ã®å˜èªžã§å†åº¦æ¤œç´¢ã—ã¦ãã ã•ã„。'; +$_lang['as_resultsIntroFailure'] = '指定キーワードをå«ã‚€ãƒšãƒ¼ã‚¸ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。'; $_lang['as_searchButtonText'] = '検索'; -$_lang['as_boxText'] = '検索語を入力ã—ã¦ãã ã•ã„'; -$_lang['as_introMessage'] = '検索ã™ã‚‹å˜èªžã‚’入力ã—ã¦ãã ã•ã„'; +$_lang['as_boxText'] = 'キーワードを入力'; +$_lang['as_introMessage'] = 'キーワードを入力ã—ã¦ãã ã•ã„'; $_lang['as_resultsFoundTextSingle'] = '%2$sã§æ¤œç´¢ã—ãŸçµæžœã€%1$d件見ã¤ã‹ã‚Šã¾ã—ãŸã€‚'; $_lang['as_resultsFoundTextMultiple'] = '%2$sã§æ¤œç´¢ã—ãŸçµæžœã€%1$d件見ã¤ã‹ã‚Šã¾ã—ãŸã€‚'; $_lang['as_paginationTextSinglePage'] = ''; -$_lang['as_paginationTextMultiplePages'] = 'æ¤œç´¢çµæžœãƒšãƒ¼ã‚¸ï¼šã€€'; +$_lang['as_paginationTextMultiplePages'] = 'æ¤œç´¢çµæžœãƒšãƒ¼ã‚¸ï¼š'; $_lang['as_moreResultsText'] = 'ã™ã¹ã¦ã®çµæžœã‚’見る'; $_lang['as_moreResultsTitle'] = 'ã‚‚ã£ã¨è¦‹ã‚‹'; -$_lang['as_maxWords'] = '検索ã«ã¯ã€æœ€å¤§ %d 文字ã¾ã§å…¥åŠ›ã§ãã¾ã™ã€‚'; -$_lang['as_minChars'] = '検索ã«ã¯ã€æœ€ä½Ž %d 文字以上ã®å…¥åŠ›ãŒå¿…è¦ã§ã™ã€‚'; -$_lang['as_maxChars'] = '検索ã«ã¯ã€æœ€å¤§ %d 文字ã¾ã§å…¥åŠ›ã§ãã¾ã™ã€‚'; -$_lang['oneword'] = '最低ã²ã¨ã¤ã®å˜èªžã‚’å«ã‚€'; -$_lang['allwords'] = 'ã™ã¹ã¦ã®å˜èªžã‚’å«ã‚€'; +$_lang['as_maxWords'] = '最大 %d 文字ã¾ã§å…¥åŠ›ã§ãã¾ã™ã€‚'; +$_lang['as_minChars'] = '最少 %d 文字以上ã®å…¥åŠ›ãŒå¿…è¦ã§ã™ã€‚'; +$_lang['as_maxChars'] = '最大 %d 文字ã¾ã§å…¥åŠ›ã§ãã¾ã™ã€‚'; +$_lang['oneword'] = '最低ã²ã¨ã¤ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã‚’å«ã‚€'; +$_lang['allwords'] = 'ã™ã¹ã¦ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã‚’å«ã‚€'; $_lang['exactphrase'] = '完全ã«ä¸€è‡´ã™ã‚‹æ–‡ç« '; -$_lang['nowords'] = 'å˜èªžã‚’å«ã¾ãªã„'; +$_lang['nowords'] = 'キーワードをå«ã¾ãªã„'; $_lang['as_cmtHiddenFieldIntro'] = 'ã“ã®æ¬„ã¯ç©ºç™½ã®ã¾ã¾ã«ã—ã¦ãã ã•ã„。
    何も入力ã—ãªã„ã§ãã ã•ã„。'; -$_lang['as_cmtIntroMessage'] = '検索ã—ã¦ã„ãŸã‚‚ã®ãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸã‹ï¼Ÿã‚³ãƒ¡ãƒ³ãƒˆã‚’ã“ã¡ã‚‰ã¸ã©ã†ãžã€‚'; +$_lang['as_cmtIntroMessage'] = '探ã—物ã¯è¦‹ã¤ã‹ã‚Šã¾ã—ãŸã‹ï¼Ÿã‚³ãƒ¡ãƒ³ãƒˆã‚’ã©ã†ãžã€‚'; $_lang['as_cmtSubmitText'] = 'é€ä¿¡'; $_lang['as_cmtResetText'] = '消去'; $_lang['as_cmtThksMessage'] = 'コメントをã‚りãŒã¨ã†ã”ã–ã„ã¾ã—ãŸã€‚'; $_lang['as_resultsTextSingle'] = '%d result found.'; $_lang['as_resultsTextMultiple'] = '%d results found.'; -$_lang['as_grpResultsDisplayedText'] = '(Displaying %d - %d of %d)'; -$_lang['as_resultsDisplayed'] = 'Displayed: %d'; +$_lang['as_grpResultsDisplayedText'] = '%dä»¶ ã‹ã‚‰ %dä»¶ ã¾ã§ã‚’表示(å…¨%dä»¶)'; +$_lang['as_resultsDisplayed'] = '最åˆã®%d件を表示ã—ã¾ã™ã€‚'; $_lang['as_paging1Text'] = '%d - %d / %d'; $_lang['as_paging2Text'] = 'Show more %d results'; ?> \ No newline at end of file diff --git a/manager/includes/lang/japanese-utf8.inc.php b/manager/includes/lang/japanese-utf8.inc.php index 226d90c298..d8a76d470d 100755 --- a/manager/includes/lang/japanese-utf8.inc.php +++ b/manager/includes/lang/japanese-utf8.inc.php @@ -3,10 +3,10 @@ * Filename: includes/lang/japanese-utf8.inc.php * Function: Language file. * Encoding: UTF8 - * Author: MODx CMS JAPAN - * Date: 2010/05/19 - * Version: 2.0.5 - * MODx version: Evolution 1.0.4 + * Author: eastbind, MEGU, yamamoto + * Date: 2010/10/31 + * Version: 2.0.7 + * MODx version: Evolution 1.0.5 */ //$modx_textdir = 'rtl'; // uncomment this line for RTL langauges $modx_lang_attribute = 'ja'; // Manager HTML and XML Language Attribute @@ -17,31 +17,31 @@ $_lang["about_title"] = 'MODx ã«ã¤ã„ã¦'; $_lang["access_permission_denied"] = 'ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹æ¨©é™ãŒã‚りã¾ã›ã‚“。'; $_lang["access_permission_parent_denied"] = 'ã“ã“ã«ãƒªã‚½ãƒ¼ã‚¹ã‚’作æˆã™ã‚‹æ¨©é™ãŒã‚りã¾ã›ã‚“。'; -$_lang["access_permissions"] = 'アクセス許å¯'; -$_lang["access_permissions_add_resource_group"] = 'リソースグループã®ä½œæˆ'; -$_lang["access_permissions_add_user_group"] = 'ユーザーグループã®ä½œæˆ'; +$_lang["access_permissions"] = '所属グループ'; +$_lang["access_permissions_add_resource_group"] = 'リソースグループを作æˆ'; +$_lang["access_permissions_add_user_group"] = 'ユーザーグループを作æˆ'; $_lang["access_permissions_docs_collision"] = 'ウェブユーザーグループã¨ãƒžãƒãƒ¼ã‚¸ãƒ£ãƒ¼ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚°ãƒ«ãƒ¼ãƒ—ã®è¨­å®šã«å•題ãŒã‚ã‚‹ãŸã‚ã€ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã¯å…¬é–‹ã•れã¾ã™ã€‚詳細ã«ã¤ã„ã¦ã¯ç®¡ç†è€…ã¸ãŠå•ã„åˆã‚ã›ãã ã•ã„。'; -$_lang["access_permissions_docs_message"] = 'ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’所属ã•ã›ãŸã„ãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—ã‚’é¸æŠžã—ã¦ãã ã•ã„。アクセスを制é™ã™ã‚‹å¿…è¦ãŒãªã‘れã°ã€Œå…¨ãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—ã€ã«ãƒã‚§ãƒƒã‚¯ã‚’入れã¦ãŠãã¾ã™ã€‚ã¾ãŸã¯ã€Œã‚°ãƒ­ãƒ¼ãƒãƒ«è¨­å®šã€ã®ã€Œè©³ç´°è¨­å®šã€ã§ã€Œã‚¢ã‚¯ã‚»ã‚¹æ¨©é™è¨­å®šã®ä½¿ç”¨ã€ã‚’「ã„ã„ãˆã€ã«ã—ã¾ã™ã€‚'; +$_lang["access_permissions_docs_message"] = 'ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’所属ã•ã›ãŸã„ãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—ã‚’é¸æŠžã—ã¦ãã ã•ã„。グループã§åˆ¶é™ã™ã‚‹å¿…è¦ãŒãªã‘れã°ã€Œã‚°ãƒ«ãƒ¼ãƒ—制é™ãªã—ã€ã«ãƒã‚§ãƒƒã‚¯ã‚’入れã¾ã™ã€‚ã¾ãŸã¯ã€Œã‚°ãƒ­ãƒ¼ãƒãƒ«è¨­å®šã€ã®ã€Œè©³ç´°è¨­å®šã€ã§ã€Œã‚°ãƒ«ãƒ¼ãƒ—ç®¡ç†æ©Ÿèƒ½ã‚’使用ã™ã‚‹ã€ã‚’「ã„ã„ãˆã€ã«ã—ã¾ã™ã€‚'; $_lang["access_permissions_group_link"] = 'グループリンクを新è¦ä½œæˆ'; -$_lang["access_permissions_introtext"] = 'ユーザーグループã¨ãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—を管ç†ã—ã¾ã™ã€‚ã“ã“ã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚°ãƒ«ãƒ¼ãƒ—ã¾ãŸã¯ãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—を作るã¨ã€ãƒ¦ãƒ¼ã‚¶ç·¨é›†ç”»é¢ã¾ãŸã¯ãƒªã‚½ãƒ¼ã‚¹ç·¨é›†ç”»é¢ã§æ‰€å±žã‚°ãƒ«ãƒ¼ãƒ—ã‚’é¸æŠžã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ã¾ãŸã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚°ãƒ«ãƒ¼ãƒ—ã¨ãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ã“ã“ã§é–¢é€£ä»˜ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã¤ã¾ã‚Šèª°ãŒã©ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’ã¨ã„ã†é–¢é€£ä»˜ã‘ã‚’ã“ã“ã§è¡Œãªã„ã¾ã™ã€‚利用ã§ãる機能を制é™ãƒ»ç®¡ç†ã™ã‚‹ã€Œãƒ­ãƒ¼ãƒ«ã€ã¨é•ã„ã€å½“機能ã§ã¯ã‚³ãƒ³ãƒ†ãƒ³ãƒ„(リソース)å¯¾è±¡ã®æ¨©é™ã‚’管ç†ã—ã¾ã™ã€‚
    ロール管ç†ã¨ã¯åŒºåˆ¥ã•れã¦ã„ã‚‹ãŸã‚ã€åŒã˜ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚°ãƒ«ãƒ¼ãƒ—内ã«ã€Œå¼·ã„権é™ã‚’æŒã¤ãƒ¦ãƒ¼ã‚¶ãƒ¼ã€ã‚„「é™å®šã•ã‚ŒãŸæ¨©é™ã‚’æŒã¤ãƒ¦ãƒ¼ã‚¶ãƒ¼ã€ã‚’è‡ªç”±ã«æ··åœ¨ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
    ※グローãƒãƒ«è¨­å®šã®ã€Œã‚¢ã‚¯ã‚»ã‚¹æ¨©é™è¨­å®šã®ä½¿ç”¨(詳細設定タブ)ã€ã‚’「ã„ã„ãˆã€ã«ã™ã‚‹ã¨ã€ã‚°ãƒ«ãƒ¼ãƒ—設定を経由ã—ãªã„é‹ç”¨ã«ãªã‚Šã¾ã™ã€‚信用ã§ãã‚‹å°‘æ•°ã®ãƒ¡ãƒ³ãƒãƒ¼ã§ã‚·ãƒ³ãƒ—ルã«ã‚µã‚¤ãƒˆã‚’管ç†é‹ç”¨ã—ãŸã„å ´åˆã¯å‚考ã«ã—ã¦ãã ã•ã„。'; +$_lang["access_permissions_introtext"] = 'ã“ã“ã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚°ãƒ«ãƒ¼ãƒ—ã¾ãŸã¯ãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—を作るã¨ã€ãƒ¦ãƒ¼ã‚¶ç·¨é›†ç”»é¢ã¾ãŸã¯ãƒªã‚½ãƒ¼ã‚¹ç·¨é›†ç”»é¢ã§æ‰€å±žã‚°ãƒ«ãƒ¼ãƒ—ã‚’é¸æŠžã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚グループ機能を利用ã™ã‚‹ãŸã‚ã«ã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚°ãƒ«ãƒ¼ãƒ—ã¨ãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—ã‚’å¿…ãšé–¢é€£ä»˜ã‘ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ã¾ãŸã€å€‹åˆ¥ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼åŠã³ãƒªã‚½ãƒ¼ã‚¹ã‚’ãれãžã‚Œç›´æŽ¥é–¢é€£ä»˜ã‘ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。
    ※グローãƒãƒ«è¨­å®šã®ã€Œã‚°ãƒ«ãƒ¼ãƒ—ç®¡ç†æ©Ÿèƒ½ã‚’使用ã™ã‚‹(詳細設定タブ)ã€ã‚’「ã„ã„ãˆã€ã«ã™ã‚‹ã¨ã€ã“ã®ç”»é¢ã®è¨­å®šã¯ç„¡åйã«ãªã‚Šã¾ã™ã€‚'; $_lang["access_permissions_link_to_group"] = 'リソースグループ'; $_lang["access_permissions_link_user_group"] = 'ユーザーグループ'; $_lang["access_permissions_links"] = 'グループリンク'; -$_lang["access_permissions_links_tab"] = 'リソースグループã¨ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚°ãƒ«ãƒ¼ãƒ—を関連付ã‘ã¾ã™ã€‚'; +$_lang["access_permissions_links_tab"] = 'リソースグループã¨ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚°ãƒ«ãƒ¼ãƒ—を関連付ã‘ã¾ã™(â€»ã‚°ãƒ«ãƒ¼ãƒ—ç®¡ç†æ©Ÿèƒ½ã‚’使ã†å ´åˆã¯å¿…é ˆã§ã™)。'; $_lang["access_permissions_no_resources_in_group"] = 'ãªã—'; $_lang["access_permissions_no_users_in_group"] = 'ãªã—'; -$_lang["access_permissions_off"] = 'アクセス権é™è¨­å®š(グローãƒãƒ«è¨­å®šâ†’詳細設定)ãŒç„¡åйã«ãªã£ã¦ã„ã¾ã™ã€‚ This means any changes made here will not have any effect until Access Permissions are activated.'; +$_lang["access_permissions_off"] = 'ã‚°ãƒ«ãƒ¼ãƒ—ç®¡ç†æ©Ÿèƒ½(グローãƒãƒ«è¨­å®š > 詳細設定)ãŒç„¡åйã«ãªã£ã¦ã„ã¾ã™ã€‚'; $_lang["access_permissions_resource_groups"] = 'リソースグループ'; $_lang["access_permissions_resources_in_group"] = 'グループ内リソース: '; -$_lang["access_permissions_resources_tab"] = 'リソースグループã®è¨­å®šä¸€è¦§ã§ã™ã€‚グループã®ä½œæˆãƒ»ãƒªãƒãƒ¼ãƒ ãƒ»å‰Šé™¤ã‚‚ã“ã“ã§æ“作ã—ã¾ã™ã€‚ ã¾ãŸã€ãƒªã‚½ãƒ¼ã‚¹ãŒã©ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«å±žã—ã¦ã„ã‚‹ã‹ã‚’閲覧ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™(リソースåを表示ã™ã‚‹ã«ã¯ã€idã®ä¸Šã«ãƒžã‚¦ã‚¹ãƒã‚¤ãƒ³ã‚¿ã‚’é‡ã­ã¦ãã ã•ã„)。 リソースをグループã«è¿½åŠ ã—ãŸã‚Šã€ã‚°ãƒ«ãƒ¼ãƒ—ã‹ã‚‰å‰Šé™¤ã™ã‚‹ã«ã¯ã€ãƒªã‚½ãƒ¼ã‚¹ã‚’直接編集ã—ã¦ãã ã•ã„。'; +$_lang["access_permissions_resources_tab"] = 'IDã®ä¸Šã«ãƒžã‚¦ã‚¹ãƒã‚¤ãƒ³ã‚¿ã‚’é‡ã­ã‚‹ã¨ãƒªã‚½ãƒ¼ã‚¹åを確èªã§ãã¾ã™ã€‚リソースをグループã«åŠ ãˆã‚‹ã«ã¯ã€ãƒªã‚½ãƒ¼ã‚¹ç·¨é›†ç”»é¢ã‚’個別ã«é–‹ã„ã¦ã€Œæ‰€å±žã‚°ãƒ«ãƒ¼ãƒ—ã€ã‚¿ãƒ–ã§è¨­å®šã—ã¦ãã ã•ã„。管ç†ç”»é¢ã¨ã‚¦ã‚§ãƒ–ページを区別ã—ã¦æ‰±ã‚ãªã„ãŸã‚ã€ä¸¡æ–¹ã®ã‚°ãƒ«ãƒ¼ãƒ—を作る場åˆã¯ã‚°ãƒ«ãƒ¼ãƒ—åを工夫ã™ã‚‹ã¨ã‚ˆã„ã§ã—ょã†ã€‚'; $_lang["access_permissions_user_groups"] = 'ユーザーグループ '; -$_lang["access_permissions_user_message"] = 'ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’所属ã•ã›ãŸã„ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚°ãƒ«ãƒ¼ãƒ—ã‚’é¸æŠžã—ã¦ãã ã•ã„ '; +$_lang["access_permissions_user_message"] = 'ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’所属ã•ã›ãŸã„ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚°ãƒ«ãƒ¼ãƒ—ã‚’é¸æŠžã—ã¦ãã ã•ã„ã€‚ãƒ¦ãƒ¼ã‚¶ã¯æ‰€å±žã—ã¦ã„るグループã«å‰²ã‚Šå½“ã¦ã‚‰ã‚ŒãŸãƒªã‚½ãƒ¼ã‚¹ã®ã¿ã‚’編集ã§ãã¾ã™ã€‚'; $_lang["access_permissions_users_in_group"] = 'グループ内ユーザー: '; -$_lang["access_permissions_users_tab"] = 'ユーザーグループã®è¨­å®šä¸€è¦§ã‚’表示ã—ã¾ã™ã€‚グループã®ä½œæˆãƒ»ãƒªãƒãƒ¼ãƒ ãƒ»å‰Šé™¤ã‚‚ã“ã“ã§æ“作ã—ã¾ã™ã€‚ã¾ãŸã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒã©ã®ã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒ¡ãƒ³ãƒãƒ¼ã«ãªã£ã¦ã„ã‚‹ã‹ã‚’閲覧ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ユーザーをグループã«è¿½åŠ ã—ãŸã‚Šã€ã‚°ãƒ«ãƒ¼ãƒ—ã‹ã‚‰å‰Šé™¤ã™ã‚‹ã«ã¯ã€å€‹ã€…ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼è¨­å®šã‚’直接編集ã—ã¦ãã ã•ã„。
    ※管ç†è€…(ロールID 1ãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¦ã„るユーザー)ã¯å¸¸ã«å…¨ã¦ã®ãƒªã‚½ãƒ¼ã‚¹ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ãŒã§ãã‚‹ãŸã‚ã€ç®¡ç†è€…をグループã«è¿½åŠ ã™ã‚‹å¿…è¦ã¯ã‚りã¾ã›ã‚“。'; +$_lang["access_permissions_users_tab"] = '管ç†ç”»é¢ã‚’扱ã†ãƒ¦ãƒ¼ã‚¶ã®ã‚°ãƒ«ãƒ¼ãƒ—ã¨ã€ã‚¦ã‚§ãƒ–ページã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹æ¨©é™ã‚’æŒã¤ãƒ¦ãƒ¼ã‚¶ã®ã‚°ãƒ«ãƒ¼ãƒ—ã¯åŒºåˆ¥ã•れã¾ã™ã€‚ユーザーをグループã«å‚加ã•ã›ã‚‹ã«ã¯ã€å€‹ã€…ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼è¨­å®šã§ç·¨é›†ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
    ※Administrator(ID=1ã®ãƒ­ãƒ¼ãƒ«ã‚’æŒã¤ãƒ¦ãƒ¼ã‚¶)ã¯å¸¸ã«å…¨ã¦ã®ãƒªã‚½ãƒ¼ã‚¹ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ãŒã§ãã‚‹ãŸã‚ã€Administratorをグループã«è¿½åŠ ã™ã‚‹å¿…è¦ã¯ã‚りã¾ã›ã‚“。'; $_lang["account_email"] = 'メールアドレス'; $_lang["actioncomplete"] = '処ç†ãŒæ­£å¸¸ã«å®Œäº†ã—ã¾ã—ãŸã€‚
    - クリーンアップ処ç†ä¸­ã§ã™ã€‚ãŠå¾…ã¡ãã ã•ã„。'; -$_lang["activity_message"] = '最近作æˆã¾ãŸã¯ç·¨é›†ã—ãŸãƒªã‚½ãƒ¼ã‚¹ä¸€è¦§ã‚’表示ã—ã¦ã„ã¾ã™ '; -$_lang["activity_title"] = '最近編集/作æˆã•れãŸãƒªã‚½ãƒ¼ã‚¹'; +$_lang["activity_message"] = '自分ãŒç·¨é›†ã—ãŸãƒªã‚½ãƒ¼ã‚¹ã®ä¸€è¦§(最新順ã«10ä»¶ã¾ã§)'; +$_lang["activity_title"] = '最近編集ã—ãŸãƒªã‚½ãƒ¼ã‚¹'; $_lang["add"] = '追加'; $_lang["add_chunk"] = 'ãƒãƒ£ãƒ³ã‚¯ã®è¿½åŠ '; $_lang["add_doc"] = 'リソースã®è¿½åŠ '; @@ -53,24 +53,24 @@ $_lang["add_template"] = 'テンプレートã®è¿½åŠ '; $_lang["add_tv"] = 'テンプレート変数ã®è¿½åŠ '; $_lang["add_weblink"] = 'ウェブリンクã®ä½œæˆ'; -$_lang["administrator_role_message"] = 'ã“ã®ãƒ­ãƒ¼ãƒ«ã¯ç·¨é›†ãƒ»å‰Šé™¤ã§ãã¾ã›ã‚“。'; -$_lang['administrators'] = 'Administrators'; +$_lang["administrator_role_message"] = 'å…¨ã¦ã®æ¨©é™ã‚’æŒã¡ã¾ã™ã€‚ã“ã®ãƒ­ãƒ¼ãƒ«ã¯ç·¨é›†ãƒ»å‰Šé™¤ã§ãã¾ã›ã‚“。'; +$_lang["administrators"] = '管ç†è€…ã®ã¿(Administrator)'; $_lang["after_saving"] = 'ä¿å­˜å¾Œã¯'; $_lang["alert_delete_self"] = '自分自身を削除ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。'; $_lang["alias"] = 'エイリアス'; -$_lang["all_doc_groups"] = '全リソースグループ (Public)'; +$_lang["all_doc_groups"] = 'グループ制é™ãªã—(Public)'; $_lang["all_events"] = 'å…¨ã¦ã®ã‚¤ãƒ™ãƒ³ãƒˆ'; $_lang["all_usr_groups"] = '全ユーザーグループ(Public)'; $_lang["allow_mgr_access"] = '管ç†ç”»é¢ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹'; -$_lang["allow_mgr_access_message"] = 'ã“ã®ã‚ªãƒ—ションã¯ç®¡ç†ç”»é¢ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’ユーザーã«è¨±å¯ã™ã‚‹ã‹ã—ãªã„ã‹ã‚’é¸æŠžã™ã‚‹ã‚‚ã®ã§ã™ã€‚
    注æ„: ã“ã®ã‚ªãƒ—ションを「ã„ã„ãˆã€ã«è¨­å®šã™ã‚‹ã¨ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯ä¸Šè¨˜ã®ã€Œç®¡ç†ç”»é¢ãƒ­ã‚°ã‚¤ãƒ³é–‹å§‹ãƒšãƒ¼ã‚¸ã€ã‹ã€ãれãŒç©ºç™½ãªã‚‰ã‚µã‚¤ãƒˆã‚¹ã‚¿ãƒ¼ãƒˆã®ãƒšãƒ¼ã‚¸ã¸ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•れã¾ã™ã€‚'; +$_lang["allow_mgr_access_message"] = 'ã“ã®ã‚ªãƒ—ションã¯ç®¡ç†ç”»é¢ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’ユーザーã«è¨±å¯ã™ã‚‹ã‹ã—ãªã„ã‹ã‚’é¸æŠžã™ã‚‹ã‚‚ã®ã§ã™ã€‚
    ※ã“ã®ã‚ªãƒ—ションを「ã„ã„ãˆã€ã«è¨­å®šã™ã‚‹ã¨ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯ä¸Šè¨˜ã®ã€Œç®¡ç†ç”»é¢ãƒ­ã‚°ã‚¤ãƒ³é–‹å§‹ãƒšãƒ¼ã‚¸ã€ã‹ã€ãれãŒç©ºç™½ãªã‚‰ã‚µã‚¤ãƒˆã‚¹ã‚¿ãƒ¼ãƒˆã®ãƒšãƒ¼ã‚¸ã¸ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•れã¾ã™ã€‚'; $_lang["already_deleted"] = 'ã¯ã™ã§ã«å‰Šé™¤ã•れã¦ã„ã¾ã™'; $_lang["attachment"] = 'ファイルã¨ã—ã¦ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰'; $_lang["automatic_alias_message"] = '「ã¯ã„ã€ã‚’é¸æŠžã™ã‚‹ã¨ã€ãƒªã‚½ãƒ¼ã‚¹ã®ä¿å­˜ã®ã¨ãリソースã®ã‚¿ã‚¤ãƒˆãƒ«ã‚’å…ƒã«ã‚·ã‚¹ãƒ†ãƒ ãŒè‡ªå‹•çš„ã«ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã‚’作æˆã—ã¾ã™ã€‚
    ※日本語環境ã§ã®ä½¿ç”¨ã¯æŽ¨å¥¨ã—ã¾ã›ã‚“。'; $_lang["automatic_alias_title"] = 'エイリアス自動生æˆ
    (日本語環境ã§ã¯æŽ¨å¥¨ã—ã¾ã›ã‚“) '; $_lang["backup"] = 'ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—'; $_lang["bk_manager"] = 'ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—マãƒãƒ¼ã‚¸ãƒ£ãƒ¼'; -$_lang["block_message"] = '更新後ã€ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ã‚¢ã‚¯ã‚»ã‚¹ã¯æ‹’å¦ã•れã¾ã™ã€‚'; -$_lang["blocked_minutes_message"] = '上記ã®ã€Œãƒ­ã‚°ã‚¤ãƒ³å¤±æ•—ã®å›žæ•°ã€ã§æŒ‡å®šã—ãŸå›žæ•°ãƒ­ã‚°ã‚¤ãƒ³ã«å¤±æ•—ã—ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’ロックã™ã‚‹æœŸé–“を分å˜ä½ã§æŒ‡å®šã—ã¾ã™ã€‚å¿…ãšæ•°å­—ã®ã¿ã‚’入力ã—ã¦ãã ã•ã„。カンマやスペースも使ãˆã¾ã›ã‚“。(※必ãšå‹•作確èªã—ã¦ãã ã•ã„)'; +$_lang["block_message"] = '更新後ã€ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¯ä¼‘止状態ã«ãªã‚Šã¾ã™ã€‚'; +$_lang["blocked_minutes_message"] = '上記ã®ã€Œãƒ­ã‚°ã‚¤ãƒ³å¤±æ•—を許容ã™ã‚‹å›žæ•°ã€ã§æŒ‡å®šã—ãŸå›žæ•°ãƒ­ã‚°ã‚¤ãƒ³ã«å¤±æ•—ã—ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’ロックã™ã‚‹æ™‚間を分å˜ä½ã§æŒ‡å®šã—ã¾ã™ã€‚å¿…ãšæ•°å­—ã®ã¿ã‚’入力ã—ã¦ãã ã•ã„。カンマやスペースも使ãˆã¾ã›ã‚“。'; $_lang["blocked_minutes_title"] = 'ã‚¢ã‚«ã‚¦ãƒ³ãƒˆãƒ­ãƒƒã‚¯ã®æ™‚é–“ '; $_lang["cache_files_deleted"] = '次ã®ãƒ•ァイルãŒå‰Šé™¤ã•れã¾ã—㟠'; $_lang["cancel"] = 'キャンセル'; @@ -81,18 +81,18 @@ $_lang["captcha_words_message"] = '「CAPTCHAコードã®ä½¿ç”¨ã€ã‚’「ã¯ã„ã€ã«ã—ãŸå ´åˆã«ä½¿ç”¨ã•れるCAPTCHAワードリストを入力ã—ã¦ãã ã•ã„。CAPTCHAワードã¯ã‚«ãƒ³ãƒžã§åŒºåˆ‡ã£ã¦å…¥åŠ›ã—ã¾ã™ã€‚ã“ã®ãƒ•ィールドã«ã¯ã€255文字ã¾ã§å…¥åŠ›ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚'; $_lang["captcha_words_title"] = 'CAPTCHA用ワード'; $_lang["category_heading"] = 'カテゴリー'; -$_lang["category_msg"] = '

    全エレメントã®ä¸€è¦§

    カテゴリーã§ã‚°ãƒ«ãƒ¼ãƒ—化ã—ãŸã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆã‚’一覧・編集ã§ãã¾ã™ã€‚ä¸è¦ãªã‚«ãƒ†ã‚´ãƒªãƒ¼ã®å‰Šé™¤ã‚‚ã“ã¡ã‚‰ã§ã€‚カテゴリーåãŒå‰Šé™¤ã•れるã ã‘ã§ã€ã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆã¯ã€Œã‚«ãƒ†ã‚´ãƒªãƒ¼ãªã—ã€ã«ç§»å‹•ã—ã¾ã™ã€‚

    '; +$_lang["category_msg"] = '

    全エレメントã®ä¸€è¦§

    カテゴリーã§ã‚°ãƒ«ãƒ¼ãƒ—化ã—ãŸã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆã‚’一覧・編集ã§ãã¾ã™ã€‚ä¸è¦ãªã‚«ãƒ†ã‚´ãƒªãƒ¼ã®å‰Šé™¤ã‚‚ã“ã¡ã‚‰ã§ã€‚削除ã•れるã®ã¯ã‚«ãƒ†ã‚´ãƒªãƒ¼åã ã‘ã§ã€ã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆã¯ã€Œã‚«ãƒ†ã‚´ãƒªãƒ¼ãªã—ã€ã«ç§»å‹•ã—ã¾ã™ã€‚

    '; $_lang["cfg_base_path"] = 'MODX_BASE_PATH'; $_lang["cfg_base_url"] = 'MODX_BASE_URL'; $_lang["cfg_manager_path"] = 'MODX_MANAGER_PATH'; $_lang["cfg_manager_url"] = 'MODX_MANAGER_URL'; $_lang["cfg_site_url"] = 'MODX_SITE_URL'; -$_lang["change_name"] = 'åå‰ã®å¤‰æ›´'; -$_lang["change_password"] = 'パスワードã®å¤‰æ›´'; +$_lang["change_name"] = 'ログインåを変更'; +$_lang["change_password"] = 'パスワード変更'; $_lang["change_password_confirm"] = 'パスワードをもã†ä¸€åº¦'; $_lang["change_password_message"] = 'ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã®æ–‡å­—æ•°ã¯6~15文字ã§ã™ã€‚'; -$_lang["change_password_new"] = 'æ–°ã—ã„パスワード'; -$_lang["charset_message"] = '管ç†ç”»é¢ã§ä½¿ç”¨ã—ãŸã„ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã‚’é¸æŠžã§ãã¾ã™ã€‚ã™ã§ã«æ—¥æœ¬èªžãƒ™ãƒ¼ã‚¹ã§é‹ç”¨ã—ã¦ã„ã‚‹å ´åˆã€EUCã‚’é¸æŠžã™ã‚‹ã¨æ—¢å­˜ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„や設定ãªã©ã¯æ–‡å­—化ã‘ã—ã¾ã™ã€‚phpMyAdminãªã©ã‚’利用ã—ã¦äº‹å‰ã«å¤‰æ›ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚'; +$_lang["change_password_new"] = 'パスワード'; +$_lang["charset_message"] = '管ç†ç”»é¢ã§ä½¿ç”¨ã—ãŸã„ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã‚’é¸æŠžã§ãã¾ã™ã€‚ã™ã§ã«UTF-8ã§é‹ç”¨ã—ã¦ã„ã‚‹å ´åˆã€EUCã‚’é¸æŠžã™ã‚‹ã¨æ—¢å­˜ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„や設定ãªã©ã¯æ–‡å­—化ã‘ã—ã¾ã™ã€‚事å‰ã«phpMyAdminãªã©ã‚’利用ã—ã¦å¤‰æ›ã—ã€è¨­å®šå¤‰æ›´å¾Œã«ã‚¤ãƒ³ãƒãƒ¼ãƒˆã—ç›´ã™å¿…è¦ãŒã‚りã¾ã™ã€‚'; $_lang["charset_title"] = 'エンコード '; $_lang["chunk"] = 'ãƒãƒ£ãƒ³ã‚¯'; $_lang["chunk_code"] = 'ãƒãƒ£ãƒ³ã‚¯ コード (html)'; @@ -109,7 +109,7 @@ $_lang["comment"] = 'コメント'; $_lang["configcheck_admin"] = 'ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’システム管ç†è€…ã«å ±å‘Šã—ã¦ãã ã•ã„'; $_lang["configcheck_cache"] = 'ã‚­ãƒ£ãƒƒã‚·ãƒ¥ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«æ›¸ãè¾¼ã¿ã§ãã¾ã›ã‚“'; -$_lang["configcheck_cache_msg"] = 'キャッシュファイルをä¿å­˜ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚MODxã¯å‹•作ã—ã¾ã™ãŒã€ã‚­ãƒ£ãƒƒã‚·ãƒ¥ãŒåˆ©ç”¨ã§ããªã„ãŸã‚ã€è»½å¿«ãªãƒ¬ã‚¹ãƒãƒ³ã‚¹ã‚’得られã¾ã›ã‚“。ã“ã®å•題を解消ã™ã‚‹ã«ã¯ã€ /cache/ ディレクトリを書ãè¾¼ã¿å¯èƒ½ã«ã—ã¦ãã ã•ã„。'; +$_lang["configcheck_cache_msg"] = 'キャッシュファイルをä¿å­˜ã§ãã¾ã›ã‚“。MODxã¯å‹•作ã—ã¾ã™ãŒã€ã‚­ãƒ£ãƒƒã‚·ãƒ¥ãŒåˆ©ç”¨ã§ããªã„ãŸã‚軽快ãªãƒ¬ã‚¹ãƒãƒ³ã‚¹ã‚’得られã¾ã›ã‚“。キャッシュを有効ã«ã™ã‚‹ãŸã‚ã«ã¯ /cache/ ディレクトリを書ãè¾¼ã¿å¯èƒ½ã«ã—ã¦ãã ã•ã„。'; $_lang["configcheck_configinc"] = '設定ファイルãŒã¾ã æ›¸ãè¾¼ã¿å¯èƒ½ã«ãªã£ã¦ã„ã¾ã™'; $_lang["configcheck_configinc_msg"] = '今ã®çŠ¶æ…‹ã§ã¯ã€æ‚ªæ„ã‚る人ãŒã“ã®ã‚µã‚¤ãƒˆã‚’壊ã™ã“ã¨ãŒã§ãã¦ã—ã¾ã„ã¾ã™ã€‚設定ファイル (/manager/includes/config.inc.php)ã®ãƒ‘ーミッションを404ãªã©ã«è¨­å®šã—ã€æ›¸è¾¼ã¿ä¸å¯ã«ã—ã¦ãã ã•ã„。'; $_lang["configcheck_default_msg"] = 'åŽŸå› ä¸æ˜Žã®ã‚¨ãƒ©ãƒ¼ãŒå­˜åœ¨ã—ã¾ã™ã€‚'; @@ -135,10 +135,10 @@ $_lang["configcheck_unauthorizedpage_unpublished"] = 'グローãƒãƒ«è¨­å®šã§è¨­å®šã•ã‚ŒãŸæ¨©é™å¤–告知ã®ãƒšãƒ¼ã‚¸ã¯å…¬é–‹ã•れã¦ã„ã¾ã›ã‚“。'; $_lang["configcheck_unauthorizedpage_unpublished_msg"] = '設定ã—ãŸæ¨©é™å¤–告知ã®ãƒšãƒ¼ã‚¸ãŒèª°ã§ã‚‚見られるよã†ã«ã¯ãªã£ã¦ã„ãªã„ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚権é™å¤–告知ページã¯å…¨ã¦ã®äººã€ŒPublicã€ã«å…¬é–‹ã™ã‚‹ã‚ˆã†ã«ã—ã¦ãã ã•ã„。'; $_lang["configcheck_validate_referer"] = 'セキュリティ警告: å‚ç…§å…ƒãƒã‚§ãƒƒã‚¯ã®è¨­å®š'; -$_lang["configcheck_validate_referer_msg"] = "グローãƒãƒ«è¨­å®šã®ã€Œç®¡ç†ç”»é¢ã®ãƒªãƒ•ァラãƒã‚§ãƒƒã‚¯ã€ãŒã‚ªãƒ•ã«ãªã£ã¦ã„ã¾ã™ã€‚セキュリティ強化ã®ãŸã‚オンã«ã™ã‚‹ã“ã¨ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚
    今後ã“ã®è­¦å‘Šã‚’表示ã—ãªã„"; +$_lang["configcheck_validate_referer_msg"] = 'グローãƒãƒ«è¨­å®šã®ã€Œç®¡ç†ç”»é¢ã®ãƒªãƒ•ァラãƒã‚§ãƒƒã‚¯ã€ãŒã‚ªãƒ•ã«ãªã£ã¦ã„ã¾ã™ã€‚セキュリティ強化ã®ãŸã‚オンã«ã™ã‚‹ã“ã¨ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚
    今後ã“ã®è­¦å‘Šã‚’表示ã—ãªã„'; $_lang["configcheck_warning"] = '警告 '; $_lang["configcheck_what"] = 'ã©ã†ã„ã†æ„味ã§ã™ã‹?'; -$_lang["confirm_block"] = 'ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’アクセス拒å¦ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹?'; +$_lang["confirm_block"] = 'ã“ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’休止ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹?'; $_lang["confirm_delete_eventlog"] = 'ã“ã®ãƒ­ã‚°ã‚¨ãƒ³ãƒˆãƒªãƒ¼ã‚’削除ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹?'; $_lang["confirm_delete_file"] = 'ã“ã®ãƒ•ァイルを削除ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹?'; $_lang["confirm_delete_htmlsnippet"] = 'ã“ã®ãƒãƒ£ãƒ³ã‚¯ã‚’削除ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹?'; @@ -151,19 +151,19 @@ $_lang["confirm_delete_snippet"] = 'ã“ã®ã‚¹ãƒ‹ãƒšãƒƒãƒˆã‚’削除ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹?'; $_lang["confirm_delete_tags"] = 'ã“ã®METAタグを削除ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹?'; $_lang["confirm_delete_template"] = 'ã“ã®ãƒ†ãƒ³ãƒ—レートを削除ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹?'; -$_lang["confirm_delete_tmplvars"] = 'ã“ã®ãƒ†ãƒ³ãƒ—ãƒ¬ãƒ¼ãƒˆå¤‰æ•°ã¨æ ¼ç´ã•れã¦ã„る値を全ã¦å‰Šé™¤ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹?'; +$_lang["confirm_delete_tmplvars"] = 'ã“ã®ãƒ†ãƒ³ãƒ—レート変数ã¨è¨˜éŒ²ã•れã¦ã„る値を全ã¦å‰Šé™¤ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹?'; $_lang["confirm_delete_user"] = 'ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’削除ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹?'; $_lang["confirm_duplicate_record"] = 'ã“ã®ãƒ¬ã‚³ãƒ¼ãƒ‰ã‚’複製ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹?'; $_lang["confirm_empty_trash"] = 'å…¨ã¦ã®å‰Šé™¤æ¸ˆã¿ãƒªã‚½ãƒ¼ã‚¹ã‚’å®Œå…¨ã«æ¶ˆåŽ»ã—ã¾ã™ã€‚'; $_lang["confirm_load_depends"] = '変更をä¿å­˜ã›ãšã«ã€Œé–¢é€£ä»˜ã‘ã®ç®¡ç†ã€ç”»é¢ã‚’ロードã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹?'; -$_lang["confirm_name_change"] = 'ユーザーåを変更ã™ã‚‹ã¨MODxã«ãƒªãƒ³ã‚¯ã™ã‚‹ä»–ã®ã‚¢ãƒ—リケーションã«å½±éŸ¿ãŒåŠã¶å ´åˆãŒã‚りã¾ã™ã€‚ \n\n 本当ã«ãƒ¦ãƒ¼ã‚¶ãƒ¼åを変更ã—ã¦ã‚ˆã‚ã—ã„ã§ã™ã‹?'; -$_lang["confirm_publish"] = '\n\nã“ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’公開ã™ã‚‹ã“ã¨ã§ã€è¨­å®šã•れãŸå…¬é–‹/公開終了日時ã¯ä¸Šæ›¸ãã•れã¾ã™ã€‚公開・公開終了日時をãã®ã¾ã¾ã«ã—ãŸã„å ´åˆã¯ãƒªã‚½ãƒ¼ã‚¹ã®ç·¨é›†ç”»é¢å†…ã§è¨­å®šã‚’変更ã—ã¦ãã ã•ã„。'; +$_lang["confirm_name_change"] = 'ログインåを変更ã™ã‚‹ã¨ã€ãƒ­ã‚°ã‚¤ãƒ³åã«ãƒªãƒ³ã‚¯ã™ã‚‹ä»–ã®ãƒ—ログラム(スニペット・モジュールãªã©)ã«å½±éŸ¿ãŒåŠã¶å ´åˆãŒã‚りã¾ã™ã€‚ \n\n 本当ã«ãƒ­ã‚°ã‚¤ãƒ³åを変更ã—ã¦ã‚ˆã‚ã—ã„ã§ã™ã‹?'; +$_lang["confirm_publish"] = '\n\nã“ã®æ“作ã§å…¬é–‹ã™ã‚‹ã¨ã€Œå…¬é–‹é–‹å§‹æ—¥æ™‚ã€ã€Œå…¬é–‹çµ‚了日時ã€ã®è¨­å®šã¯æ¶ˆåŽ»ã•れã¾ã™ã€‚公開開始日時をéŽåŽ»ã®æ—¥æ™‚ã«è¨­å®šã™ã‚‹ã“ã¨ã§å…¬é–‹ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã®ã§ã€ãã®å ´åˆã¯ã€Œãƒªã‚½ãƒ¼ã‚¹ã®ç·¨é›†ã€ã§æ—¥æ™‚を変更ã—ã¦ãã ã•ã„。'; $_lang["confirm_remove_locks"] = '他ユーザーãŒç·¨é›†æ“作を正常ã«çµ‚了ã—ãªã‹ã£ãŸãŸã‚残ã•れãŸãƒ­ãƒƒã‚¯ã‚’å…¨ã¦è§£é™¤ã—ã¾ã™ã€‚\n\nç¶šã‘ã¾ã™ã‹?'; $_lang["confirm_resource_duplicate"] = 'ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’複製ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹ï¼Ÿé…下ã®ãƒªã‚½ãƒ¼ã‚¹ã‚‚複製ã•れã¾ã™ã€‚'; $_lang["confirm_setting_language_change"] = '変更を破棄ã—ã€ã‚·ã‚¹ãƒ†ãƒ ã®æ—¢å®šå€¤ã«æˆ»ã—ã¾ã™ã€‚'; -$_lang["confirm_unblock"] = 'ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ã‚¢ã‚¯ã‚»ã‚¹æ‹’å¦ã‚’解除ã—ã¾ã™ã€‚'; +$_lang["confirm_unblock"] = 'ã“ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®ä¼‘止を解除ã—ã¾ã™ã€‚'; $_lang["confirm_undelete"] = '\n\n削除ã—ãŸãƒªã‚½ãƒ¼ã‚¹ã‚’復活ã—ã¾ã™ã€‚連動ã—ã¦å‰Šé™¤ã•れãŸã‚µãƒ–リソースãŒã‚ã‚‹å ´åˆã¯ã€ãれらもã¾ã¨ã‚ã¦å¾©æ´»ã—ã¾ã™ã€‚\nç•°ãªã‚‹ã‚¿ã‚¤ãƒŸãƒ³ã‚°ã§å‰Šé™¤ã—ãŸã‚µãƒ–リソースã¯å¾©æ—§ã—ã¾ã›ã‚“。'; -$_lang["confirm_unpublish"] = '\n\nã“ã®ãƒªã‚½ãƒ¼ã‚¹ã®å…¬é–‹ã‚’å–り消ã™ã“ã¨ã§ã€è¨­å®šã•れãŸå…¬é–‹/公開終了日時ã¯ä¸Šæ›¸ãã•れã¾ã™ã€‚公開・公開終了日時をãã®ã¾ã¾ã«ã—ãŸã„å ´åˆã¯ã€Œãƒªã‚½ãƒ¼ã‚¹ã®ç·¨é›†ã€ã‚’é¸æŠžã—ã¦ãã ã•ã„。'; +$_lang["confirm_unpublish"] = '\n\nã“ã®æ“作ã§éžå…¬é–‹ã«ã™ã‚‹ã¨ã€Œå…¬é–‹é–‹å§‹æ—¥æ™‚ã€ã€Œå…¬é–‹çµ‚了日時ã€ã®è¨­å®šã¯æ¶ˆåŽ»ã•れã¾ã™ã€‚公開終了日時をéŽåŽ»ã®æ—¥æ™‚ã«è¨­å®šã™ã‚‹ã“ã¨ã§éžå…¬é–‹ã«ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã®ã§ã€ãã®å ´åˆã¯ã€Œãƒªã‚½ãƒ¼ã‚¹ã®ç·¨é›†ã€ã§æ—¥æ™‚を変更ã—ã¦ãã ã•ã„。'; $_lang["confirm_unzip_file"] = 'ã“ã®ãƒ•ァイルを解å‡ã—ã¦ã‚ˆã‚ã—ã„ã§ã™ã‹?\n\nã™ã§ã«ã‚るファイルã¯ä¸Šæ›¸ãã•れã¾ã™ã€‚'; $_lang["could_not_find_user"] = 'ユーザーãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“'; $_lang["create_folder_here"] = 'コンテナã®ä½œæˆ'; @@ -183,7 +183,7 @@ $_lang["database_table_clickbackup"] = 'é¸æŠžã—ãŸãƒ†ãƒ¼ãƒ–ルをãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—・ダウンロード'; $_lang["database_table_clickhere"] = 'ã“ã“をクリック'; $_lang["database_table_datasize"] = 'データサイズ'; -$_lang["database_table_droptablestatements"] = 'DROP文を生æˆ'; +$_lang["database_table_droptablestatements"] = 'DROP文を生æˆ(※推奨)'; $_lang["database_table_effectivesize"] = '有効サイズ'; $_lang["database_table_indexsize"] = 'インデックス'; $_lang["database_table_overhead"] = 'オーãƒãƒ¼ãƒ˜ãƒƒãƒ‰'; @@ -200,8 +200,8 @@ $_lang["datetime_format"] = 'æ—¥æ™‚ã®æ›¸å¼'; $_lang["datetime_format_message"] = '管ç†ç”»é¢å†…ã§ä½¿ç”¨ã™ã‚‹æ—¥æ™‚ã®æ›¸å¼ã‚’é¸æŠžã—ã¦ãã ã•ã„。'; $_lang["default"] = '既定値 '; -$_lang["defaultcache_message"] = 'æ–°ã—ã作æˆã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã‚’デフォルトã§ã‚­ãƒ£ãƒƒã‚·ãƒ¥å¯èƒ½ã«ã™ã‚‹å ´åˆã¯ã€Œã¯ã„ã€ã‚’é¸æŠžã—ã¦ãã ã•ã„。'; -$_lang["defaultcache_title"] = 'キャッシュデフォルト'; +$_lang["defaultcache_message"] = 'æ–°ã—ã作æˆã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥åˆ¶å¾¡ã‚’ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§æœ‰åйã«ã™ã‚‹å ´åˆã¯ã€Œã¯ã„ã€ã‚’é¸æŠžã—ã¦ãã ã•ã„。'; +$_lang["defaultcache_title"] = 'デフォルトã§ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’有効'; $_lang["defaultmenuindex_message"] = '「ã¯ã„ã€ã‚’é¸æŠžã™ã‚‹ã¨ã€ãƒªã‚½ãƒ¼ã‚¹ã‚’æ–°è¦ã«ä½œæˆã™ã‚‹æ™‚ã«ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚ªãƒ¼ãƒ€ãƒ¼ã®å€¤ãŒè‡ªå‹•çš„ã«å¢—分ã—ã¾ã™ã€‚'; $_lang["defaultmenuindex_title"] = 'メニューオーダー
    自動増分'; $_lang["defaultpublish_message"] = 'æ–°ã—ã作æˆã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã‚’デフォルトã§å…¬é–‹ã«è¨­å®šã™ã‚‹å ´åˆã¯ã€Œã¯ã„ã€ã‚’é¸æŠžã—ã¦ãã ã•ã„。'; @@ -221,7 +221,7 @@ $_lang["doc_data_title"] = 'リソースã®è©³ç´°æƒ…å ±'; $_lang["duplicate"] = '複製'; $_lang["duplicate_alias_found"] = 'リソース「%sã€ãŒã€Œ%sã€ã¨ã„ã†ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã‚’ã™ã§ã«ä½¿ç”¨ã—ã¦ã„ã¾ã™ã€‚ä»–ã®ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã‚’入力ã—ã¦ãã ã•ã„。'; -$_lang["duplicate_alias_message"] = '「ã¯ã„ã€ã‚’é¸æŠžã™ã‚‹ã¨é‡è¤‡ã™ã‚‹ã‚¨ã‚¤ãƒªã‚¢ã‚¹ãŒå…±å­˜ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚'; +$_lang["duplicate_alias_message"] = '「ã¯ã„ã€ã‚’é¸æŠžã™ã‚‹ã¨ã€åŒã˜ã‚¨ã‚¤ãƒªã‚¢ã‚¹åã‚’æŒã¤è¤‡æ•°ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’作るã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ã“ã®å ´åˆã€ã‚¨ã‚¤ãƒªã‚¢ã‚¹åã‚’URL表ç¾ã«ç”¨ã„ã‚‹ã¨å•題ãŒç™ºç”Ÿã™ã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹ãŸã‚ã€ã”注æ„ãã ã•ã„。'; $_lang["duplicate_alias_title"] = 'é‡è¤‡ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã‚’è¨±å¯ '; $_lang["duplicate_name_found_general"] = '%sã«ã¯ã™ã§ã«\'%s\'ã¨ã„ã†åå‰ãŒå­˜åœ¨ã—ã¾ã™ã€‚é‡è¤‡ã—ãªã„åå‰ã‚’指定ã—ã¦ãã ã•ã„。'; $_lang["duplicate_name_found_module"] = 'ã™ã§ã«\'%s\'ã¨ã„ã†åå‰ãŒå­˜åœ¨ã—ã¾ã™ã€‚é‡è¤‡ã—ãªã„åå‰ã‚’指定ã—ã¦ãã ã•ã„。'; @@ -231,9 +231,9 @@ $_lang["edit_settings"] = 'グローãƒãƒ«è¨­å®š'; $_lang["editedon"] = '編集日時'; $_lang["editing_file"] = 'ファイルã®ç·¨é›†: '; -$_lang["editor_css_path_message"] = 'RTE(リッãƒãƒ†ã‚­ã‚¹ãƒˆã‚¨ãƒ‡ã‚£ã‚¿ãƒ¼)ã§ä½¿ç”¨ã™ã‚‹CSSファイルã®ãƒ‘スを入力ã—ã¾ã™ã€‚例ãˆã°ã€Œ/assets/site/style.cssã€ã¨ã—ã¾ã™ã€‚ã‚‚ã—RTEデフォルトã®çŠ¶æ…‹ã§ã‚ˆã‘れã°ã€ã“ã®ãƒ•ィールドã¯ç©ºç™½ã«ã—ã¦ãŠãã¾ã™ã€‚'; +$_lang["editor_css_path_message"] = 'RTE(リッãƒãƒ†ã‚­ã‚¹ãƒˆã‚¨ãƒ‡ã‚£ã‚¿ãƒ¼)ã§ä½¿ç”¨ã™ã‚‹CSSファイルã®ãƒ‘スを入力ã—ã¾ã™ã€‚例ãˆã°ã€Œ/template/style.cssã€ã¨ã—ã¾ã™ã€‚ã‚‚ã—RTEデフォルトã®çŠ¶æ…‹ã§ã‚ˆã‘れã°ã€ã“ã®ãƒ•ィールドã¯ç©ºç™½ã«ã—ã¦ãŠãã¾ã™ã€‚'; $_lang["editor_css_path_title"] = 'CSSファイルã¸ã®ãƒ‘ス '; -$_lang["element"] = 'エレメント'; +$_lang["element"] = '外部ファイル'; $_lang["element_categories"] = 'エレメント一覧'; $_lang["element_management"] = 'エレメント管ç†'; $_lang["element_name"] = 'エレメントå'; @@ -250,19 +250,19 @@ $_lang["empty_folder"] = 'ã“ã®ã‚³ãƒ³ãƒ†ãƒŠã¯ç©ºã§ã™'; $_lang["empty_recycle_bin"] = '削除済ã¿ãƒªã‚½ãƒ¼ã‚¹ã‚’消去'; $_lang["empty_recycle_bin_empty"] = '消去ã™ã‚‹ãŸã‚ã®å‰Šé™¤æ¸ˆã¿ãƒªã‚½ãƒ¼ã‚¹ãŒã‚りã¾ã›ã‚“。'; -$_lang["enable_resource"] = 'エレメントファイルを有効ã«';//※è¦ç¢ºèª +$_lang["enable_resource"] = '外部ファイルを有効ã«'; $_lang["enable_sharedparams"] = '共有パラメータを使用'; $_lang["enable_sharedparams_msg"] = '注æ„: 上ã®globally unique id (GUID)ã¯ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¨ãã®å…±æœ‰ãƒ‘ラメータを一æ„ã«è­˜åˆ¥ã™ã‚‹ãŸã‚ã«ç”¨ã„られã¾ã™ã€‚GUIDã¯ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¨ã€å…±æœ‰ãƒ‘ラメータã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãƒ—ラグインやスニペットã¨ã®é–“ã®ãƒªãƒ³ã‚¯ã«ã‚‚用ã„られã¾ã™ã€‚'; $_lang["enabled"] = '有効'; $_lang["error"] = 'エラー'; $_lang["error_sending_email"] = 'メールé€ä¿¡ä¸­ã«ã‚¨ãƒ©ãƒ¼'; -$_lang["errorpage_message"] = 'リソースãŒå­˜åœ¨ã—ãªã„å ´åˆã®ã‚¨ãƒ©ãƒ¼ãƒšãƒ¼ã‚¸(404 ページ)ã¨ã—ã¦è¡¨ç¤ºã™ã‚‹ã€ãƒªã‚½ãƒ¼ã‚¹ã®IDを入力ã—ã¦ãã ã•ã„。
    注æ„: æ—¢ã«å­˜åœ¨ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã®IDを入力ã—ã¦ãã ã•ã„。権é™ãƒ•リーã®å…¬é–‹ãƒªã‚½ãƒ¼ã‚¹ã‚’指定ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚'; +$_lang["errorpage_message"] = 'リソースãŒå­˜åœ¨ã—ãªã„å ´åˆã®ã‚¨ãƒ©ãƒ¼ãƒšãƒ¼ã‚¸(404 ページ)ã¨ã—ã¦è¡¨ç¤ºã™ã‚‹ã€ãƒªã‚½ãƒ¼ã‚¹ã®IDを入力ã—ã¦ãã ã•ã„。
    ※éžå…¬é–‹ã¾ãŸã¯ã‚¦ã‚§ãƒ–ユーザé™å®šã®ãƒªã‚½ãƒ¼ã‚¹ã¯æŒ‡å®šã§ãã¾ã›ã‚“。'; $_lang["errorpage_title"] = 'エラーページ '; $_lang["event_id"] = 'イベントID'; $_lang["eventlog"] = 'イベントログ'; $_lang["eventlog_msg"] = 'イベントログã¯MODxã®ã‚·ã‚¹ãƒ†ãƒ ãŒå‡ºåŠ›ã™ã‚‹å‘ŠçŸ¥ãƒ»è­¦å‘Šãƒ»ã‚¨ãƒ©ãƒ¼ã®å„メッセージを記録ã™ã‚‹ã‚‚ã®ã§ã™ã€‚'; $_lang["eventlog_viewer"] = 'イベントログ'; -$_lang["everybody"] = 'Everybody'; +$_lang["everybody"] = '全メンãƒãƒ¼'; $_lang["existing_category"] = '既存ã®ã‚«ãƒ†ã‚´ãƒªãƒ¼'; $_lang["expand_tree"] = 'サイトツリーを展開'; $_lang["export_site"] = 'サイトã®ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆ'; @@ -274,9 +274,9 @@ $_lang["export_site_failed_no_write"] = 'ファイルを書ãè¾¼ã‚ã¾ã›ã‚“。'; $_lang["export_site_html"] = 'サイト全体をé™çš„HTMLã¨ã—ã¦ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆ'; $_lang["export_site_maxtime"] = '最大エクスãƒãƒ¼ãƒˆæ™‚é–“ '; -$_lang["export_site_maxtime_message"] = 'エクスãƒãƒ¼ãƒˆå‡¦ç†ã®åˆ¶é™æ™‚é–“ã‚’ç§’æ•°ã§æŒ‡å®šã—ã¦ãã ã•ã„(PHPã®è¨­å®šã‚’上書ãã—ã¾ã™)。0を入力ã™ã‚‹ã¨ç„¡åˆ¶é™ã«è¨­å®šã§ãã¾ã™ãŒã€é€šå¸¸ã¯åˆ¶é™æ™‚間を設定ã™ã‚‹ã‚ˆã†ãŠã™ã™ã‚ã—ã¾ã™ã€‚'; -$_lang["export_site_message"] = '

    サイト全体をHTMLファイルã¨ã—ã¦ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆ(一括書ã出ã—)ã§ãã¾ã™ã€‚書ã出ã—ãŸãƒ•ァイルをã¾ã¨ã‚ã¦ã‚µãƒ¼ãƒä¸Šã«è»¢é€ã™ã‚Œã°ã€é€šå¸¸ã®ã‚µã‚¤ãƒˆã¨åŒæ§˜ã®é‹ç”¨ãŒå¯èƒ½ã§ã™ã€‚

    • エクスãƒãƒ¼ãƒˆãƒ•ァイルã¯é™çš„ãªhtmlファイルãªã®ã§ã€å‹•çš„ãªã‚¹ãƒ‹ãƒšãƒƒãƒˆã¯å‹•作ã—ã¾ã›ã‚“。
    • リソースã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãƒ˜ãƒƒãƒ€ã‚’é€ä¿¡ã™ã‚‹ã‚¹ãƒ‹ãƒšãƒƒãƒˆãŒå«ã¾ã‚Œã¦ã„ã‚‹å ´åˆã€ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆãƒ—ロセスãŒå¤±æ•—ã™ã‚‹å ´åˆãŒã‚りã¾ã™ã€‚

    フォームã«å¿…è¦äº‹é …を入力ã—ã¦ã€Œã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã®é–‹å§‹ã€ã‚’クリックã™ã‚‹ã¨å‡¦ç†ã‚’é–‹å§‹ã—ã¾ã™ã€‚作æˆã•れãŸãƒ•ァイルã¯ã€ãƒªã‚½ãƒ¼ã‚¹ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã‚’ファイルåã¨ã—ã¦ã€æŒ‡å®šã—ãŸå ´æ‰€ã«ä¿å­˜ã•れã¾ã™ã€‚サイトをエクスãƒãƒ¼ãƒˆã™ã‚‹å ´åˆã€ã‚°ãƒ­ãƒ¼ãƒãƒ«è¨­å®šã§ã€Œãƒ•レンドリエイリアスã€ã‚’「ã¯ã„ã€ã«ã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚サイトã®ã‚µã‚¤ã‚ºã«ã‚ˆã‚Šã€ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã«ã—ã°ã‚‰ã時間をè¦ã™ã‚‹å ´åˆã‚‚ã‚りã¾ã™ã€‚

    ファイルåãŒåŒã˜å ´åˆã€æ–°ã—ã„ãƒ•ã‚¡ã‚¤ãƒ«ã¯æ—¢å­˜ã®ãƒ•ァイルã«ä¸Šæ›¸ãã•れã¾ã™

    '; -$_lang["export_site_numberdocs"] = '

    %s 個ã®ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆå¯¾è±¡ãƒªã‚½ãƒ¼ã‚¹ãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸ...

    '; +$_lang["export_site_maxtime_message"] = 'エクスãƒãƒ¼ãƒˆå‡¦ç†ã®åˆ¶é™æ™‚é–“ã‚’ç§’æ•°ã§æŒ‡å®šã—ã¦ãã ã•ã„(PHPã®è¨­å®šã‚’上書ãã—ã¾ã™)。0を入力ã™ã‚‹ã¨ç„¡åˆ¶é™ã«è¨­å®šã§ãã¾ã™ãŒã€é€šå¸¸ã¯åˆ¶é™æ™‚間を設定ã™ã‚‹ã‚ˆã†ãŠã™ã™ã‚ã—ã¾ã™ã€‚'; +$_lang["export_site_message"] = '

    サイト全体をHTMLファイルã¨ã—ã¦ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆ(一括書ã出ã—)ã§ãã¾ã™ã€‚書ã出ã—ãŸãƒ•ァイルをã¾ã¨ã‚ã¦ã‚µãƒ¼ãƒä¸Šã«è»¢é€ã™ã‚Œã°ã€é€šå¸¸ã®ã‚µã‚¤ãƒˆã¨åŒæ§˜ã®é‹ç”¨ãŒå¯èƒ½ã§ã™ã€‚

    • エクスãƒãƒ¼ãƒˆãƒ•ァイルã¯é™çš„ãªhtmlファイルãªã®ã§ã€å‹•çš„ãªã‚¹ãƒ‹ãƒšãƒƒãƒˆã¯å‹•作ã—ã¾ã›ã‚“。
    • リソースã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãƒ˜ãƒƒãƒ€ã‚’é€ä¿¡ã™ã‚‹ã‚¹ãƒ‹ãƒšãƒƒãƒˆãŒå«ã¾ã‚Œã¦ã„ã‚‹å ´åˆã€ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆãŒå¤±æ•—ã™ã‚‹å ´åˆãŒã‚りã¾ã™ã€‚
    • exportディレクトリ内ã®ãƒ•ァイルã¯å‡¦ç†ã®ç›´å‰ã«å…¨ã¦æ¶ˆåŽ»ã•れã¾ã™ã€‚

    グローãƒãƒ«è¨­å®šã§ã€Œãƒ•レンドリーURLã®ä½¿ç”¨ã€ã‚’「ã¯ã„ã€ã«ã—ã¦ãã ã•ã„。サイトã®è¦æ¨¡ã«ã‚ˆã£ã¦ã¯ã€ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã«ã—ã°ã‚‰ã時間をè¦ã™ã‚‹å ´åˆã‚‚ã‚りã¾ã™ã€‚

    ファイルåãŒåŒã˜å ´åˆã€æ–°ã—ã„ãƒ•ã‚¡ã‚¤ãƒ«ã¯æ—¢å­˜ã®ãƒ•ァイルã«ä¸Šæ›¸ãã•れã¾ã™

    '; +$_lang["export_site_numberdocs"] = '

    %s 個ã®ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆå¯¾è±¡ãƒªã‚½ãƒ¼ã‚¹ãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸã€‚

    '; $_lang["export_site_prefix"] = 'ファイルåã®æŽ¥é ­è¾ž '; $_lang["export_site_start"] = 'エクスãƒãƒ¼ãƒˆã®é–‹å§‹'; $_lang["export_site_success"] = 'æˆåŠŸ'; @@ -285,8 +285,8 @@ $_lang["export_site_suffix"] = 'ファイルåã®æŽ¥å°¾è¾ž '; $_lang["export_site_target_unwritable"] = 'ã‚¿ãƒ¼ã‚²ãƒƒãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…ã«æ›¸ãè¾¼ã¿ãŒã§ãã¾ã›ã‚“ã€‚ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒæ›¸ãè¾¼ã¿å¯èƒ½ã§ã‚ã‚‹ã‹ç¢ºèªã—ã¦ã€å†åº¦å‡¦ç†ã‚’行ã£ã¦ãã ã•ã„。'; $_lang["export_site_time"] = 'エクスãƒãƒ¼ãƒˆãŒå®Œäº†ã—ã¾ã—ãŸã€‚エクスãƒãƒ¼ãƒˆã«è¦ã—ãŸæ™‚間㯠%s ç§’ã§ã™ã€‚'; -$_lang["failed_login_message"] = 'ユーザーアカウントãŒãƒ­ãƒƒã‚¯ã•れるã¾ã§ä½•回ログイン失敗を許ã™ã‹å›žæ•°ã‚’入力ã—ã¾ã™ã€‚'; -$_lang["failed_login_title"] = 'ログイン失敗回数ã®ä¸Šé™ '; +$_lang["failed_login_message"] = 'ログイン失敗を許容ã™ã‚‹å›žæ•°ã‚’設定ã—ã¾ã™ã€‚ã“ã“ã§è¨­å®šã—ãŸå›žæ•°ã‚’è¶…ãˆã‚‹ã¨ä¸€å®šæ™‚間ロックã•れログインã§ããªããªã‚Šã¾ã™ã€‚'; +$_lang["failed_login_title"] = 'ログイン失敗を許容ã™ã‚‹å›žæ•°'; $_lang["fe_editor_lang_message"] = 'フロントエンドエディターã§ç”¨ã„るリッãƒãƒ†ã‚­ã‚¹ãƒˆã‚¨ãƒ‡ã‚£ã‚¿ãƒ¼ã®è¨€èªžã‚’é¸ã‚“ã§ãã ã•ã„。'; $_lang["fe_editor_lang_title"] = 'フロントエンドエディターã®è¨€èªž '; $_lang["file_delete_file"] = 'ファイルã®å‰Šé™¤'; @@ -304,9 +304,9 @@ $_lang["file_saved"] = 'ファイルをä¿å­˜ã—ã¾ã—ãŸã€‚'; $_lang["file_unzip"] = 'è§£å‡ã—ã¾ã—ãŸã€‚'; $_lang["file_unzip_fail"] = 'è§£å‡ã§ãã¾ã›ã‚“。'; -$_lang["filemanager_path_message"] = 'ã“ã“ã§ã¯ã€Œãƒ•ァイル管ç†ã€ã§æ‰±ãˆã‚‹ç¯„囲を決定ã—ã¾ã™ã€‚コンテンツ編集ã«åˆ©ç”¨ã™ã‚‹ãƒ•ァイルブラウザã¨é•ã„ã€MODxã‚’å«ã‚ãŸã‚µã‚¤ãƒˆå…¨ä½“ã®ãƒ•ァイルマãƒãƒ¼ã‚¸ãƒ¡ãƒ³ãƒˆãŒå¯èƒ½ã§ã€ãƒ‡ãƒ•ォルトã§ã¯ãƒªã‚½ãƒ¼ã‚¹ãƒ«ãƒ¼ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ç‰©ç†ãƒ‘スを指ã—ã¾ã™ã€‚IISãªã©ä¸€éƒ¨ã®ã‚µãƒ¼ãƒã§ã¯ç‰©ç†ãƒ‘スãŒé©åˆ‡ã«å¾—られãªã„ã“ã¨ãŒã‚ã‚‹ãŸã‚ã”æ³¨æ„ãã ã•ã„。'; -$_lang["filemanager_path_title"] = '対象ディレクトリã®ç‰©ç†ãƒ‘ス '; -$_lang["files_access_denied"] = 'ã‚¢ã‚¯ã‚»ã‚¹ãŒæ‹’å¦ã•れã¾ã—ãŸã€‚'; +$_lang["filemanager_path_message"] = '「ファイル管ç†ã€ã§æ‰±ãˆã‚‹ç¯„囲を決定ã—ã¾ã™ã€‚コンテンツ編集ã«åˆ©ç”¨ã™ã‚‹ãƒ•ァイルブラウザã¨é•ã„ã€åŒã˜ã‚µãƒ¼ãƒå†…ã§æ¨©é™ã‚’æŒã¤é ˜åŸŸã§ã‚れã°ã©ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã‚‚管ç†ã§ãã¾ã™ã€‚ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãƒ«ãƒ¼ãƒˆå¤–ã®æŒ‡å®šã‚‚å¯èƒ½ã§ã™ã€‚'; +$_lang["filemanager_path_title"] = 'ãƒ•ã‚¡ã‚¤ãƒ«ç®¡ç†æ©Ÿèƒ½ã®
    管ç†å¯¾è±¡ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª
    [(filemanager_path)] '; +$_lang["files_access_denied"] = 'ã“ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¯ä¼‘止中ã§ã™ã€‚'; $_lang["files_data"] = 'データ'; $_lang["files_dir_listing"] = 'ディレクトリ一覧 '; $_lang["files_directories"] = 'ディレクトリ'; @@ -338,18 +338,18 @@ $_lang["files_viewfile"] = 'ファイルã®è¡¨ç¤º'; $_lang["folder"] = 'ディレクトリ'; $_lang["forgot_password_email_fine_print"] = '注æ„:上記ã®URLã¯ã€24時間後ã¾ãŸã¯ãƒ‘スワード変更をã™ã‚‹ã¨ç„¡åйã«ãªã‚Šã¾ã™ã€‚'; -$_lang["forgot_password_email_instructions"] = 'ãã®ãƒšãƒ¼ã‚¸ã®ã€Œãƒ‘スワードã®å¤‰æ›´ã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰ãƒ‘スワードを変更ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚'; +$_lang["forgot_password_email_instructions"] = 'ãã®ãƒšãƒ¼ã‚¸ã®ã€Œãƒ‘スワード変更ã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰ãƒ‘スワードを変更ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚'; $_lang["forgot_password_email_intro"] = 'アカウントã¸ã®ãƒ‘スワード変更リクエストをå—ã‘付ã‘ã¾ã—ãŸã€‚'; $_lang["forgot_password_email_link"] = '処ç†ã‚’完了ã™ã‚‹ãŸã‚ã“ã“をクリックã—ã¦ãã ã•ã„。'; $_lang["forgot_your_password"] = 'パスワードを忘れãŸå ´åˆã¯ã“ã¡ã‚‰'; -$_lang["friday"] = '金曜'; +$_lang["friday"] = '金'; $_lang["friendly_alias_message"] = 'フレンドリーURLを使用ã—ã¦ã€ã‹ã¤ãƒªã‚½ãƒ¼ã‚¹ãŒã‚¨ã‚¤ãƒªã‚¢ã‚¹ã‚’æŒã¤å ´åˆã€ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã¯å¸¸ã«ãƒ•レンドリーURLã«å„ªå…ˆã—ã¾ã™ã€‚ã“ã®ã‚ªãƒ—ションを「ã¯ã„ã€ã«è¨­å®šã™ã‚‹ã“ã¨ã§ã€ãƒ•レンドリーURLã®æŽ¥é ­è¾žã¨æŽ¥å°¾è¾žã‚‚ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã«é©ç”¨ã•れã¾ã™ã€‚例ãˆã°ã€ãƒªã‚½ãƒ¼ã‚¹ã®IDãŒ1ã€ã‚¨ã‚¤ãƒªã‚¢ã‚¹ãŒã€Œintroductionã€ã€æŽ¥é ­è¾žãŒã€Œã€(空白)ã€æŽ¥å°¾è¾žãŒã€Œ.htmlã€ã®å ´åˆã€ã“ã®ã‚ªãƒ—ションを「ã¯ã„ã€ã«ã™ã‚‹ã¨ã€URLã¯ã€Œintroduction.htmlã€ã¨ãªã‚Šã¾ã™ã€‚ エイリアスを設定ã—ã¦ã„ãªã„å ´åˆã¯ã€MODxãŒã€Œ1.htmlã€ã¨ã„ã†ãƒªãƒ³ã‚¯ã‚’生æˆã—ã¾ã™ã€‚'; $_lang["friendly_alias_title"] = 'フレンドリエイリアス '; $_lang["friendlyurls_message"] = 'é™çš„URI機能(フレンドリーURL)を有効ã«ã—ã¾ã™ã€‚ã“ã®æ©Ÿèƒ½ã¯MODxãŒApache上ã§å‹•作ã—ã¦ã„る時ã®ã¿æœ‰åйã§ã™ã€‚ã“ã®æ©Ÿèƒ½ã‚’動作ã•ã›ã‚‹ãŸã‚ã«ã¯MODxインストールディレクトリã®ht.accessファイルを.htaccessã«ãƒªãƒãƒ¼ãƒ ã—ã¦ãã ã•ã„。動作ã—ãªã„å ´åˆã¯.htaccessã‚’é–‹ã„ã¦ã€ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã•れã¦ã„る「Options +FollowSymlinksã€ã®è¨˜è¿°ã‚’有効ã«ã—ã¦ã¿ã¦ãã ã•ã„。'; $_lang["friendlyurls_title"] = 'フレンドリーURLã®ä½¿ç”¨ '; -$_lang["friendlyurlsprefix_message"] = 'ユーザーフレンドリーURLã®æŽ¥é ­è¾žã‚’æŒ‡å®šã—ã¦ãã ã•ã„。例ãˆã°æŽ¥é ­è¾žã‚’「pageã€ã«è¨­å®šã—ãŸå ´åˆã€URLã® /index.php?id=2 ã¯ã€ /page2.htmlã¨ã„ã†ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒ•レンドリーURLã«å¤‰æ›ã•れã¾ã™(接尾辞㌠.htmlã«è¨­å®šã•れã¦ã„ã‚‹ã¨ä»®å®šã—ã¦)。ã“ã®ã‚ˆã†ã«ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼(ãã—ã¦ã‚µãƒ¼ãƒã‚¨ãƒ³ã‚¸ãƒ³)ãŒã€ã‚µã‚¤ãƒˆã‚’閲覧ã™ã‚‹ãŸã‚ã®ãƒªãƒ³ã‚¯ã‚’指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚'; +$_lang["friendlyurlsprefix_message"] = 'フレンドリーURLã®æŽ¥é ­è¾žã‚’æŒ‡å®šã—ã¦ãã ã•ã„。例ãˆã°æŽ¥é ­è¾žã‚’「pageã€ã«è¨­å®šã—ãŸå ´åˆã€URLã® /index.php?id=2 ã¯ã€ /page2.htmlã¨ã„ã†ãƒ•レンドリーURLã«å¤‰æ›ã•れã¾ã™(接尾辞㌠.htmlã«è¨­å®šã•れã¦ã„ã‚‹ã¨ä»®å®š)。'; $_lang["friendlyurlsprefix_title"] = 'フレンドリーURLã®æŽ¥é ­è¾ž '; -$_lang["friendlyurlsuffix_message"] = 'ユーザーフレンドリーURLã®æŽ¥å°¾è¾žã‚’æŒ‡å®šã—ã¦ãã ã•ã„。例ãˆã°ã€Œ.htmlã€ã¨æŒ‡å®šã™ã‚‹ã¨ã€å…¨ã¦ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒ•レンドリーURLã®æœ«å°¾ã« .htmlを追加ã—ã¾ã™ã€‚'; +$_lang["friendlyurlsuffix_message"] = 'フレンドリーURLã®æŽ¥å°¾è¾žã‚’æŒ‡å®šã—ã¦ãã ã•ã„。例ãˆã°ã€Œ.htmlã€ã¨æŒ‡å®šã™ã‚‹ã¨ã€å…¨ã¦ã®ãƒ•レンドリーURLã®æœ«å°¾ã« .htmlを追加ã—ã¾ã™ã€‚'; $_lang["friendlyurlsuffix_title"] = 'フレンドリーURLã®æŽ¥å°¾è¾ž '; $_lang["functionnotimpl"] = 'ã¾ã å®Ÿè£…ã•れã¦ã„ãªã„機能'; $_lang["functionnotimpl_message"] = 'ã“ã®æ©Ÿèƒ½ã¯ã€ã¾ã å®Ÿè£…ã•れã¦ã„ã¾ã›ã‚“'; @@ -357,13 +357,13 @@ $_lang["group_access_permissions"] = 'ユーザーグループã®ã‚¢ã‚¯ã‚»ã‚¹'; $_lang["guid"] = 'GUID'; $_lang["help"] = 'ヘルプ'; -$_lang["help_msg"] = '

    MODx日本公å¼ãƒ•ォーラムã«ã¦ã‚³ãƒŸãƒ¥ãƒ‹ãƒ†ã‚£ã«ã‚ˆã‚‹ã‚µãƒãƒ¼ãƒˆãŒå¾—られã¾ã™ã€‚ ã¾ãŸã€é€æ¬¡åŸ·ç­†ãŒé€²ã‚られã¦ã„ã‚‹MODxドキュメントã¨ã‚¬ã‚¤ãƒ‰ï¼ˆè‹±èªžï¼‰ãŒã‚りã€MODx ã®ã»ã¼ã™ã¹ã¦ã«é–¢ã—ã¦è¨˜ã•れã¦ã„ã¾ã™ã€‚

    ã¾ãŸã€MODxã®æœ‰å„Ÿã‚µãƒãƒ¼ãƒˆã‚µãƒ¼ãƒ“ã‚¹ã®æä¾›ãŒè¨ˆç”»ã•れã¦ã„ã¾ã™(※ãŸã ã—ç¾æ™‚点ã§ã¯è‹±èªžåœ)。興味ãŒã‚ã‚‹æ–¹ã¯emailã«ã¦ãŠå•ã„åˆã‚ã›ãã ã•ã„。

    '; +$_lang["help_msg"] = '

    MODx日本公å¼ãƒ•ォーラムã§ã‚µãƒãƒ¼ãƒˆã‚’å¾—ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ ã¾ãŸã€é€æ¬¡åŸ·ç­†ãŒé€²ã‚られã¦ã„ã‚‹MODxドキュメントã¨ã‚¬ã‚¤ãƒ‰ï¼ˆè‹±èªžï¼‰ãŒã‚りã€MODx ã®ã»ã¼ã™ã¹ã¦ã«é–¢ã—ã¦è¨˜ã•れã¦ã„ã¾ã™ã€‚

    '; $_lang["help_title"] = 'サãƒãƒ¼ãƒˆ'; $_lang["hide_tree"] = 'サイトツリーをéžè¡¨ç¤º'; $_lang["home"] = 'ダッシュボード'; $_lang["htmlsnippet_desc"] = 'ãƒãƒ£ãƒ³ã‚¯ã®èª¬æ˜Ž'; -$_lang["htmlsnippet_management_msg"] = '

    ãƒãƒ£ãƒ³ã‚¯ã®ç®¡ç†

    編集ã—ãŸã„ãƒãƒ£ãƒ³ã‚¯ã‚’é¸æŠžã—ã¦ãã ã•ã„。ãƒãƒ£ãƒ³ã‚¯ã¯ã€ãƒ‘ーツ感覚ã§åˆ©ç”¨ã§ãる「生ã®ã€HTMLコードã§ã™ã€‚リソースやテンプレートã‹ã‚‰æ‰‹è»½ã«å‘¼ã³å‡ºã™ã“ã¨ãŒã§ãã¾ã™ã€‚PHPコードを記述ã™ã‚‹å ´åˆã¯ã‚¹ãƒ‹ãƒšãƒƒãƒˆã‚’利用ã—ã¦ãã ã•ã„。

    '; -$_lang["htmlsnippet_msg"] = 'ãƒãƒ£ãƒ³ã‚¯ã‚’追加・編集ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ãƒãƒ£ãƒ³ã‚¯ã¯ã€ãƒ‘ーツ感覚ã§åˆ©ç”¨ã§ãる「生ã®ã€HTMLコードã§ã™ã€‚リソースやテンプレートã‹ã‚‰æ‰‹è»½ã«å‘¼ã³å‡ºã™ã“ã¨ãŒã§ãã¾ã™ã€‚PHPコードを記述ã™ã‚‹å ´åˆã¯ã‚¹ãƒ‹ãƒšãƒƒãƒˆã‚’利用ã—ã¦ãã ã•ã„。'; +$_lang["htmlsnippet_management_msg"] = '

    ãƒãƒ£ãƒ³ã‚¯ã®ç®¡ç†

    編集ã—ãŸã„ãƒãƒ£ãƒ³ã‚¯ã‚’é¸æŠžã—ã¦ãã ã•ã„。ãƒãƒ£ãƒ³ã‚¯ã¯ã€ãƒ‘ーツ感覚ã§åˆ©ç”¨ã§ãる「生ã®ã€HTMLコードã§ã™ã€‚ {{ãƒãƒ£ãƒ³ã‚¯å}} ã¨è¨˜è¿°ã™ã‚‹ã ã‘ã§ã€ãƒªã‚½ãƒ¼ã‚¹ã‚„テンプレートã‹ã‚‰æ‰‹è»½ã«å‘¼ã³å‡ºã™ã“ã¨ãŒã§ãã¾ã™ã€‚å˜ç´”ãªä»•組ã¿ã§ã™ãŒã€ä½¿ã„慣れれã°ãƒ‡ã‚¶ã‚¤ãƒŠãƒ¼ã«ã¯æ‰‹æ”¾ã›ãªã„ã‚‚ã®ã«ãªã‚‹ã§ã—ょã†ã€‚詳ã—ãã¯ãƒ˜ãƒ«ãƒ—ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

    '; +$_lang["htmlsnippet_msg"] = '

    ãƒãƒ£ãƒ³ã‚¯åã«ã¯æ—¥æœ¬èªžã‚’用ã„ã‚‹ã“ã¨ãŒã§ãã¾ã™(※スニペット内ã‹ã‚‰ã¯æ—¥æœ¬èªžãƒãƒ£ãƒ³ã‚¯åã§ã¯å‘¼ã³å‡ºã›ãªã„ã“ã¨ãŒã‚りã¾ã™)。ãƒãƒ£ãƒ³ã‚¯ã®ä½¿ã„æ–¹ã«ã¤ã„ã¦ã¯ãƒ˜ãƒ«ãƒ—ã®ã€ŒTutorialã€ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

    '; $_lang["htmlsnippet_name"] = 'ãƒãƒ£ãƒ³ã‚¯å'; $_lang["htmlsnippet_title"] = 'ãƒãƒ£ãƒ³ã‚¯ã®ä½œæˆ/編集'; $_lang["icon"] = 'Icon'; @@ -382,8 +382,8 @@ $_lang["import_site_html"] = 'HTMLã‹ã‚‰ã‚µã‚¤ãƒˆã‚’インãƒãƒ¼ãƒˆ'; $_lang["import_site_importing_document"] = 'インãƒãƒ¼ãƒˆä¸­ã®ãƒ•ァイル %s '; $_lang["import_site_maxtime"] = 'インãƒãƒ¼ãƒˆæ™‚é–“ã®ä¸Šé™ '; -$_lang["import_site_maxtime_message"] = 'MODxãŒã‚µã‚¤ãƒˆã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆå‡¦ç†ã«ä½¿ç”¨ã§ãる最大秒数を指定ã—ã¾ã™ã€‚(PHPã®æŒ‡å®šå‡¦ç†ç§’数を上書ãã—ã¾ã™ï¼‰0ã¯å‡¦ç†æ™‚é–“ã®åˆ¶é™ãªã—ã‚’æ„味ã—ã¾ã™ã€‚0や大ããªæ•°å­—を指定ã™ã‚‹ã“ã¨ã¯ã‚µãƒ¼ãƒãƒ¼ã«è² è·ã‚’ã‹ã‘å•題を起ã“ã—ã‚„ã™ããªã‚‹ãŸã‚ã€ãŠå‹§ã‚ã§ãã¾ã›ã‚“。'; -$_lang["import_site_message"] = 'ã“ã®æ©Ÿèƒ½ã‚’使ã†ã¨ã€HTMLã§è¨˜è¿°ã•れãŸã‚µã‚¤ãƒˆã‚’丸ã”ã¨ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã‚¤ãƒ³ãƒãƒ¼ãƒˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã¾ãšã‚¤ãƒ³ãƒãƒ¼ãƒˆã™ã‚‹ãƒ•ァイルやディレクトリをassets/importディレクトリã«ã‚³ãƒ”ーã—ã¾ã™ã€‚

    「インãƒãƒ¼ãƒˆé–‹å§‹ã€ãƒœã‚¿ãƒ³ã‚’クリックã™ã‚Œã°ã‚¹ã‚¿ãƒ¼ãƒˆã—ã¾ã™ã€‚インãƒãƒ¼ãƒˆã—ãŸãƒ•ァイルã®ãƒ‡ãƒ¼ã‚¿ã¯ã‚µã‚¤ãƒˆãƒ„リーã®é¸æŠžã—ãŸå ´æ‰€ã«æ ¼ç´ã•れã¾ã™ã€‚ファイルåã¯ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã«ãªã‚Šã€ãƒšãƒ¼ã‚¸ã‚¿ã‚¤ãƒˆãƒ«ã¯ãƒªã‚½ãƒ¼ã‚¹å(pagetitle)ã«ãªã‚Šã¾ã™ã€‚

    <body>è¦ç´ ã®å†…å´ãŒãã®ã¾ã¾å–り込ã¾ã‚Œã¾ã™ã€‚<head>è¦ç´ ã¯<title>è¦ç´ ã®ã¿å–り込ã¿ã¾ã™ã€‚'; +$_lang["import_site_maxtime_message"] = 'MODxãŒã‚µã‚¤ãƒˆã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆå‡¦ç†ã«ä½¿ç”¨ã§ãる最大秒数を指定ã—ã¾ã™ã€‚(PHPã®æŒ‡å®šå‡¦ç†ç§’数を上書ãã—ã¾ã™ï¼‰ã€Œ0ã€ã‚’指定ã™ã‚‹ã¨å‡¦ç†æ™‚間を制é™ã—ã¾ã›ã‚“ãŒã€æƒ³å®šå¤–ã®è² è·ãŒç™ºç”Ÿã™ã‚‹æã‚ŒãŒã‚ã‚‹ãŸã‚注æ„ã—ã¦ãã ã•ã„。'; +$_lang["import_site_message"] = 'HTMLã§è¨˜è¿°ã•れãŸã‚µã‚¤ãƒˆã‚’丸ã”ã¨ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã‚¤ãƒ³ãƒãƒ¼ãƒˆã—ã¾ã™ã€‚htmlファイルをディレクトリã”㨠/assets/import/ ディレクトリã«ã‚³ãƒ”ーã—ã€ã€Œã‚¤ãƒ³ãƒãƒ¼ãƒˆé–‹å§‹ã€ãƒœã‚¿ãƒ³ã‚’クリックã™ã‚Œã°ã‚¹ã‚¿ãƒ¼ãƒˆã—ã¾ã™ã€‚ファイルåã¯ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã«ãªã‚Šã€<title>è¦ç´ ã¯ãƒªã‚½ãƒ¼ã‚¹å [*pagetitle*] ã«ãªã‚Šã¾ã™ã€‚

    <body>è¦ç´ ã®å†…å´ãŒãã®ã¾ã¾å–り込ã¾ã‚Œã¾ã™ã€‚<head>è¦ç´ ã¯<title>è¦ç´ ã®ã¿å–り込ã¿ã¾ã™ã€‚
    å·¦å´ã®ã‚µã‚¤ãƒˆãƒ„リー上ã®ä»»æ„ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’クリックã™ã‚‹ã¨ã€Œè¦ªãƒªã‚½ãƒ¼ã‚¹ã€(インãƒãƒ¼ãƒˆå…ˆ)を変更ã§ãã¾ã™ã€‚'; $_lang["import_site_skip"] = '処ç†ã‚’スキップã—ã¾ã—ãŸ'; $_lang["import_site_start"] = 'インãƒãƒ¼ãƒˆé–‹å§‹'; $_lang["import_site_success"] = 'æˆåŠŸ'; @@ -402,25 +402,25 @@ $_lang["link_attributes"] = 'リンク属性'; $_lang["link_attributes_help"] = "ã“ã®ãƒšãƒ¼ã‚¸å†…ã®ä»»æ„ã®ãƒªãƒ³ã‚¯ã®å±žæ€§ã‚’管ç†ã—ã¾ã™ã€‚\n\n例:target="_blank" ・rel="lightbox"\nリソース変数:[*link_attributes*]\n\n※ã“ã®å¤‰æ•°ã¯ãƒªãƒ³ã‚¯ã®å±žæ€§ã‚’管ç†ã™ã‚‹ãŸã‚ã®ç‰¹åˆ¥ãªæ©Ÿèƒ½ã‚’æŒã£ã¦ã„ãªã„ã®ã§ã€ä»–ã®ç”¨é€”ã«æµç”¨ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚"; $_lang["list_mode"] = 'リストモードã®ON/OFF - グリッドã«å…¨ã¦ã®ãƒ¬ã‚³ãƒ¼ãƒ‰ã‚’リストã™ã‚‹ãŸã‚ã«ä½¿ã‚れã¾ã™ã€‚'; -$_lang["loading_doc_tree"] = 'サイトツリーã®ãƒ­ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ä¸­ ...'; -$_lang["loading_menu"] = 'メニューã®ãƒ­ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ä¸­ ...'; -$_lang["loading_page"] = 'MODxã¯ãƒšãƒ¼ã‚¸ã‚’ロードã—ã¦ã„ã¾ã™ã€‚ãŠå¾…ã¡ãã ã•ã„ ...'; +$_lang["loading_doc_tree"] = 'サイトツリーã®ãƒ­ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ä¸­'; +$_lang["loading_menu"] = 'メニューã®ãƒ­ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ä¸­'; +$_lang["loading_page"] = 'MODxã¯ãƒšãƒ¼ã‚¸ã‚’ロードã—ã¦ã„ã¾ã™ã€‚ãŠå¾…ã¡ãã ã•ã„'; $_lang["localtime"] = 'ローカル時刻'; $_lang["lock_htmlsnippet"] = 'ãƒãƒ£ãƒ³ã‚¯ã®ç·¨é›†ã‚’ロック'; -$_lang["lock_htmlsnippet_msg"] = '管ç†è€…(ロールID 1)ã®ã¿ç·¨é›†ã§ãã¾ã™ã€‚'; +$_lang["lock_htmlsnippet_msg"] = 'Administrator(ロールID 1)ã®ã¿ç·¨é›†ã§ãã¾ã™ã€‚'; $_lang["lock_module"] = 'モジュールをロック'; -$_lang["lock_module_msg"] = '管ç†è€…(ロールID 1)ã®ã¿ç·¨é›†ã§ãã¾ã™ã€‚'; +$_lang["lock_module_msg"] = 'Administrator(ロールID 1)ã®ã¿ç·¨é›†ã§ãã¾ã™ã€‚'; $_lang["lock_msg"] = '%s ã•ん㌠%s を編集中ã§ã™ã€‚作業ãŒçµ‚ã‚ã‚‹ã¾ã§å¾…ã¤ã‹ã€ãƒ­ãƒƒã‚¯ã‚’解除ã—ã¦ãã ã•ã„。'; $_lang["lock_plugin"] = 'プラグインをロック'; -$_lang["lock_plugin_msg"] = '管ç†è€…(ロールID 1)ã®ã¿ç·¨é›†ã§ãã¾ã™ã€‚'; +$_lang["lock_plugin_msg"] = 'Administrator(ロールID 1)ã®ã¿ç·¨é›†ã§ãã¾ã™ã€‚'; $_lang["lock_settings_msg"] = '%s ãŒè¨­å®šã‚’編集中ã§ã™ã€‚ä»–ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒçµ‚了ã™ã‚‹ã¾ã§ã—ã°ã‚‰ããŠå¾…ã¡ãã ã•ã„。'; $_lang["lock_snippet"] = 'スニペットをロック'; -$_lang["lock_snippet_msg"] = '管ç†è€…(ロールID 1)ã®ã¿ç·¨é›†ã§ãã¾ã™ã€‚'; +$_lang["lock_snippet_msg"] = 'Administrator(ロールID 1)ã®ã¿ç·¨é›†ã§ãã¾ã™ã€‚'; $_lang["lock_template"] = 'テンプレートã®ç·¨é›†ã‚’ロック'; -$_lang["lock_template_msg"] = '管ç†è€…(ロールID 1)ã®ã¿ç·¨é›†ã§ãã¾ã™ã€‚'; +$_lang["lock_template_msg"] = 'Administrator(ロールID 1)ã®ã¿ç·¨é›†ã§ãã¾ã™ã€‚'; $_lang["lock_tmplvars"] = '変数をロック'; -$_lang["lock_tmplvars_msg"] = '管ç†è€…(ロールID 1)ã®ã¿ç·¨é›†ã§ãã¾ã™ã€‚'; -$_lang["locked"] = 'ロック'; +$_lang["lock_tmplvars_msg"] = 'Administrator(ロールID 1)ã®ã¿ç·¨é›†ã§ãã¾ã™ã€‚'; +$_lang["locked"] = 'ロック中'; $_lang["login_allowed_days"] = '曜日制é™'; $_lang["login_allowed_days_message"] = 'ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒãƒ­ã‚°ã‚¤ãƒ³ã§ãã‚‹æ›œæ—¥ã‚’é¸æŠžã—ã¦ãã ã•ã„'; $_lang["login_allowed_ip"] = 'IPアドレス制é™'; @@ -430,8 +430,8 @@ $_lang["login_cancelled_site_was_updated"] = 'ã“ã®ã‚µã‚¤ãƒˆã¯ã€ã‚¢ãƒƒãƒ—デートã¾ãŸã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ãŒå®Ÿè¡Œã•れã—ã¾ãŸã€‚申ã—訳ã‚りã¾ã›ã‚“ãŒã€ã‚‚ã†ä¸€åº¦ãƒ­ã‚°ã‚¤ãƒ³ã—ç›´ã—ã¦ãã ã•ã„。
    '; $_lang["login_captcha_message"] = 'ç”»åƒã§è¡¨ç¤ºã•れるセキュリティコードを入力ã—ã¦ãã ã•ã„。セキュリティコードãŒèª­ã‚ãªã„å ´åˆã¯ç”»åƒã‚’クリックã™ã‚‹ã¨ç”»åƒã¯å†ç”Ÿæˆã•れã¾ã™ã€‚ã‚‚ã—ãã¯ã‚µã‚¤ãƒˆç®¡ç†è€…ã«é€£çµ¡ã‚’ãŠé¡˜ã„ã¾ã™ã€‚'; $_lang["login_homepage"] = 'ログインã™ã‚‹ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸'; -$_lang["login_homepage_message"] = 'ログインã—ãŸã‚¦ã‚§ãƒ–ユーザーã«å¯¾ã—ã¦è¡¨ç¤ºã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã®IDを入力ã—ã¦ãã ã•ã„。
    注æ„: æ—¢ã«å­˜åœ¨ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã®IDを入力ã—ã¦ãã ã•ã„。リソースã¯å…¬é–‹ã•れã¦ã„ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ã¾ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ã§ã‚ã‚‹ã‚‚ã®ã«é™ã‚Šã¾ã™ã€‚'; -$_lang["login_message"] = 'MODxã¸ã‚ˆã†ã“ã。ユーザーåã¨ãƒ‘スワードã¯å¤§æ–‡å­—ãƒ»å°æ–‡å­—を区別ã—ã¾ã™ã€‚'; +$_lang["login_homepage_message"] = 'ログインã—ãŸã‚¦ã‚§ãƒ–ユーザーã«å¯¾ã—ã¦è¡¨ç¤ºã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã®IDを入力ã—ã¦ãã ã•ã„。
    ※éžå…¬é–‹ã®ãƒªã‚½ãƒ¼ã‚¹ã¯æŒ‡å®šã§ãã¾ã›ã‚“。ã¾ãŸè©²å½“ユーザーãŒã‚¢ã‚¯ã‚»ã‚¹æ¨©é™ã‚’ã‚‚ã¤ãƒªã‚½ãƒ¼ã‚¹ã«é™ã‚Šã¾ã™ã€‚'; +$_lang["login_message"] = 'MODxã¸ã‚ˆã†ã“ã。ログインåã¨ãƒ‘スワードã¯å¤§æ–‡å­—ãƒ»å°æ–‡å­—を区別ã—ã¾ã™ã€‚'; $_lang["logo_slogan"] = 'MODx Content Manager - \nCreate and do more with less'; $_lang["logout"] = 'ログアウト'; $_lang["long_title"] = 'タイトル'; @@ -447,7 +447,7 @@ $_lang["manage_templates"] = 'テンプレート'; $_lang["manager"] = '管ç†ç”»é¢'; $_lang["manager_lockout_message"] = '管ç†ç”»é¢ã«ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„ã¾ã™ã€‚セッションを閉ã˜ãŸã„ã¨ãã¯ã€Œãƒ­ã‚°ã‚¢ã‚¦ãƒˆã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¦ãã ã•ã„。

    管ç†ç”»é¢ã®ãƒ›ãƒ¼ãƒ ã‚ã‚‹ã„ã¯ã‚¹ã‚¿ãƒ¼ãƒˆç”»é¢ã«è¡ŒããŸã„ã¨ãã¯ã€Œãƒ›ãƒ¼ãƒ ã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¾ã™ã€‚'; -$_lang["manager_permissions"] = '管ç†ç”»é¢ã®ã‚¢ã‚¯ã‚»ã‚¹è¨±å¯'; +$_lang["manager_permissions"] = 'グループ管ç†'; $_lang["manager_theme"] = '管ç†ç”»é¢ã®ãƒ†ãƒ¼ãƒž '; $_lang["manager_theme_message"] = '管ç†ç”»é¢ã§ä½¿ç”¨ã™ã‚‹ãƒ‡ã‚¶ã‚¤ãƒ³ãƒ†ãƒ¼ãƒžã‚’é¸æŠžã—ã¦ãã ã•ã„。ã“ã®é¸æŠžè‚¢ã‚’増やã™ã«ã¯MODx開発元ã®é…布ページã‹ã‚‰å…¥æ‰‹ã—㦠/manager/media/style/ ディレクトリã«ç½®ãå¿…è¦ãŒã‚りã¾ã™ã€‚'; $_lang["messages"] = 'メッセージ'; @@ -458,7 +458,7 @@ $_lang["messages_group"] = 'グループ'; $_lang["messages_inbox"] = 'å—信トレイ'; $_lang["messages_message"] = 'メッセージ'; -$_lang["messages_no_messages"] = 'å—信トレイã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯ã‚りã¾ã›ã‚“。'; +$_lang["messages_no_messages"] = '未読ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯ã‚りã¾ã›ã‚“。'; $_lang["messages_not_allowed_to_read"] = 'ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’読むã“ã¨ã¯ã§ãã¾ã›ã‚“。'; $_lang["messages_private"] = 'プライベート'; $_lang["messages_read_message"] = 'メッセージを読む'; @@ -476,11 +476,11 @@ $_lang["metatag_intro"] = 'METAã‚¿ã‚°ã®ä½œæˆã‚„削除ã€ç·¨é›†ã‚’行ã„ã¾ã™ã€‚リソースã¨METAタグをリンクã™ã‚‹ã«ã¯ãƒªã‚½ãƒ¼ã‚¹ã®ç·¨é›†ä¸­ã«META キーワードタブをクリックã—ã¾ã™ã€‚ãã—ã¦ç›®çš„ã¨ã™ã‚‹METAã‚¿ã‚°ã¨ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã‚’é¸æŠžã—ã¾ã™ã€‚æ–°ã—ã„タグを追加ã™ã‚‹ã«ã¯ã€ãã®åå‰ã¨å€¤ã‚’入力ã—ã¦ã€Œã‚¿ã‚°è¿½åŠ ã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¾ã™ã€‚タグを編集ã™ã‚‹ã«ã¯ãƒ‡ãƒ¼ã‚¿ã‚°ãƒªãƒƒãƒ‰ä¸­ã®ã‚¿ã‚°åをクリックã—ã¾ã™ã€‚'; $_lang["metatag_notice"] = 'METAã‚¿ã‚°ã«é–¢ã—ã¦ã®è©³ç´°ã¯ã“ã¡ã‚‰ã‚’å‚ç…§ã—ã¦ãã ã•ã„。'; $_lang["metatags"] = 'METAã‚¿ã‚°'; -$_lang["mgr_access_permissions"] = '管ç†ç”»é¢ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹è¨±å¯'; +$_lang["mgr_access_permissions"] = 'グループ管ç†(ç®¡ç†æ“作グループ)'; $_lang["mgr_login_start"] = '管ç†ç”»é¢ãƒ­ã‚°ã‚¤ãƒ³é–‹å§‹ãƒšãƒ¼ã‚¸'; -$_lang["mgr_login_start_message"] = 'ユーザーãŒç®¡ç†ç”»é¢ã«ãƒ­ã‚°ã‚¤ãƒ³ã—ãŸã¨ãã€ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã—ãŸã„リソースã®IDを入力ã—ã¾ã™ã€‚
    注æ„: æ—¢ã«å­˜åœ¨ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã®IDを入力ã—ã¦ãã ã•ã„。リソースã¯å…¬é–‹ã•れã¦ã„ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ã¾ãŸã€ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ã§ã‚ã‚‹ã‚‚ã®ã«é™ã‚Šã¾ã™ã€‚'; +$_lang["mgr_login_start_message"] = 'ユーザーãŒç®¡ç†ç”»é¢ã«ãƒ­ã‚°ã‚¤ãƒ³ã—ãŸã¨ãã€ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã—ãŸã„リソースã®IDを入力ã—ã¾ã™ã€‚
    ※éžå…¬é–‹ã®ãƒªã‚½ãƒ¼ã‚¹ã¯æŒ‡å®šã§ãã¾ã›ã‚“。ã¾ãŸè©²å½“ユーザーãŒã‚¢ã‚¯ã‚»ã‚¹æ¨©é™ã‚’ã‚‚ã¤ãƒªã‚½ãƒ¼ã‚¹ã«é™ã‚Šã¾ã™ã€‚'; $_lang["mgrlog_action"] = 'アクション'; -$_lang["mgrlog_actionid"] = 'ID'; +$_lang["mgrlog_actionid"] = 'アクションID'; $_lang["mgrlog_anyall"] = 'å…¨ã¦'; $_lang["mgrlog_datecheckfalse"] = 'checkdate() ã§èª¤ã‚Šã‚’検出ã—ã¾ã—ãŸã€‚'; $_lang["mgrlog_datefr"] = 'ã“ã®æ—¥ä»˜ã‹ã‚‰'; @@ -488,16 +488,16 @@ $_lang["mgrlog_dateto"] = 'ã“ã®æ—¥ä»˜ã®å‰'; $_lang["mgrlog_emptysrch"] = 'ã“ã®å•åˆã›ã®çµæžœã¯ç©ºã§ã—ãŸã€‚(マッãƒã™ã‚‹ãƒ­ã‚°ã‚¨ãƒ³ãƒˆãƒªãƒ¼ãŒç„¡ã‹ã£ãŸã¨ã„ã†ã“ã¨ã§ã™ï¼‰'; $_lang["mgrlog_field"] = '分類'; -$_lang["mgrlog_itemid"] = '対象ID'; +$_lang["mgrlog_itemid"] = 'æ“作対象'; $_lang["mgrlog_itemname"] = '対象å'; -$_lang["mgrlog_msg"] = 'メッセージ'; +$_lang["mgrlog_msg"] = 'アクション(文字列)'; $_lang["mgrlog_noquery"] = '検索ã•れã¦ã„ã¾ã›ã‚“。'; $_lang["mgrlog_qresults"] = 'çµæžœ'; $_lang["mgrlog_query"] = 'ãƒ­ã‚°ã®æ¤œç´¢'; -$_lang["mgrlog_query_msg"] = '管ç†ç”»é¢ã®æ“作履歴ã«å¯¾ã™ã‚‹æ¤œç´¢æ¡ä»¶ã‚’指定ã—ã¾ã™ã€‚æ—¥ä»˜ã®æ¡ä»¶æŒ‡å®šã¯ã€ã€Œä»¥ä¸Šã€ã€Œæœªæº€ã€ã§ã™ã€‚

    メッセージã¨ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã¯ã»ã¼åŒã˜ã‚‚ã®ã§ã™ã€‚何ã‹ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’探ã—ãŸã„ã¨ãã¯ã€ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã‚’「全ã¦ã€ã®ã¾ã¾ã«ã—ã¦ãŠãã¨ã‚ˆã„ã§ã—ょã†ã€‚'; -$_lang["mgrlog_results"] = 'çµæžœã®ä»¶æ•°'; +$_lang["mgrlog_query_msg"] = '管ç†ç”»é¢ã®æ“作履歴ã«å¯¾ã™ã‚‹æ¤œç´¢æ¡ä»¶ã‚’指定ã—ã¾ã™ã€‚æ—¥ä»˜ã®æ¡ä»¶æŒ‡å®šã¯ã€ã€Œä»¥ä¸Šã€ã€Œæœªæº€ã€ã§ã™ã€‚'; +$_lang["mgrlog_results"] = 'ページã‚ãŸã‚Šã®è¡¨ç¤ºä»¶æ•°'; $_lang["mgrlog_searchlogs"] = '検索ã®å±¥æ­´'; -$_lang["mgrlog_sortinst"] = 'å„列ã®ãƒ˜ãƒƒãƒ€ã‚’クリックã™ã‚‹ã¨è¡¨ã®è¡¨ç¤ºé †ã‚’変更ã§ãã¾ã™ã€‚ãƒ­ã‚°ãŒæºœã¾ã£ã¦ããŸã¨ãã«ã¯ã€empty をクリックã™ã‚‹ã“ã¨ã§ãƒ­ã‚°ã‚’全部消去ã§ãã¾ã™ã€‚ ã“ã®æ“作ã¯å³å®Ÿè¡Œã•ã‚Œå…ƒã«æˆ»ã›ã¾ã›ã‚“。'; +$_lang["mgrlog_sortinst"] = 'å„列ã®ãƒ˜ãƒƒãƒ€ã‚’クリックã™ã‚‹ã¨è¡¨ç¤ºé †ã‚’変更ã§ãã¾ã™ã€‚ãƒ­ã‚°ãŒæºœã¾ã£ã¦ããŸã¨ãã«ã¯ã€empty をクリックã™ã‚‹ã“ã¨ã§ãƒ­ã‚°ã‚’全部消去ã§ãã¾ã™ã€‚ ã“ã®æ“作ã¯å³å®Ÿè¡Œã•ã‚Œå…ƒã«æˆ»ã›ã¾ã›ã‚“。'; $_lang["mgrlog_time"] = '時刻'; $_lang["mgrlog_user"] = 'ユーザー'; $_lang["mgrlog_username"] = 'ユーザーå'; @@ -510,8 +510,8 @@ $_lang["module_edit_click_title"] = 'ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’編集'; $_lang["module_group_access_msg"] = '管ç†ç”»é¢å†…ã§ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’実行ã§ãã‚‹ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚°ãƒ«ãƒ¼ãƒ—ã‚’é¸æŠžã—ã¦ãã ã•ã„。'; $_lang["module_management"] = 'モジュール管ç†'; -$_lang["module_management_msg"] = '実行や変更をã—ãŸã„ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’é¸æŠžã—ã¾ã™ã€‚モジュールを実行ã™ã‚‹ã«ã¯ã‚°ãƒªãƒƒãƒ‰ã®ä¸­ã®ã‚¢ã‚¤ã‚³ãƒ³ã‚’クリックã—ã¦ãã ã•ã„。モジュールを変更ã™ã‚‹ã«ã¯ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«åをクリックã—ã¦ãã ã•ã„。'; -$_lang["module_msg"] = 'ã“ã“ã§ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®è¿½åŠ ãƒ»ç·¨é›†ãŒã§ãã¾ã™ã€‚モジュールã¯ä»»æ„ã®ã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆã®æ©Ÿèƒ½ã‚’管ç†ã™ã‚‹ãŸã‚ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイスã§ã™ã€‚多ãã®å ´åˆã€å®Ÿéš›ã®æ©Ÿèƒ½ã¯ãƒ—ラグインやスニペットå´ã§å®Ÿè£…ã—ã¾ã™ã€‚'; +$_lang["module_management_msg"] = 'アイコンをクリックã—ã¦æ“ä½œã‚’é¸æŠžã—ã¦ãã ã•ã„。モジュールã¯ç®¡ç†ç”»é¢ã‚’æ‹¡å¼µã™ã‚‹å½¢ã§æ©Ÿèƒ½ã‚’追加ã§ãã¾ã™ã€‚追加ã™ã‚‹æ©Ÿèƒ½è‡ªä½“ã¯ãƒ—ラグインやスニペットã§ä½œã‚Šã€ã“れをモジュールå´ã®ãƒ•ォームã§ã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ«ã™ã‚‹å®Ÿè£…を推奨ã—ã¾ã™ã€‚'; +$_lang["module_msg"] = 'モジュールåã«ã¯æ—¥æœ¬èªžã‚’用ã„ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚å…ˆé ­ã¨æœ«å°¾ã®ã€Œ<?phpã€ã€Œ?>ã€ã¯ä¸è¦ã§ã™ã€‚モジュールã®ä½œã‚Šæ–¹ã«ã¤ã„ã¦ã¯ãƒ˜ãƒ«ãƒ—ã®ã€ŒTutorialã€ã‚’å‚ç…§ã—ã¦ãã ã•ã„。'; $_lang["module_name"] = 'モジュールå'; $_lang["module_resource_msg"] = 'ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«é–¢é€£ä»˜ã‘るエレメントを追加・削除ã—ã¾ã™ã€‚æ–°ã—ã„エレメントを追加ã™ã‚‹ã«ã¯ä¸‹ã®ãƒœã‚¿ãƒ³ã®ã²ã¨ã¤ã‚’クリックã—ã¾ã™ã€‚'; $_lang["module_resource_title"] = 'モジュール関連付ã‘'; @@ -523,31 +523,31 @@ $_lang["modx_news_title"] ='MODxã®æœ€æ–°æƒ…å ±'; $_lang["modx_security_notices"] ='MODx セキュリティ情報'; $_lang["modx_version"] = 'MODxãƒãƒ¼ã‚¸ãƒ§ãƒ³'; -$_lang["monday"] = '月曜'; +$_lang["monday"] = '月'; $_lang["move"] = '移動'; $_lang["move_resource"] = '移動ã™ã‚‹'; $_lang["move_resource_message"] = 'ã‚µã‚¤ãƒˆãƒ„ãƒªãƒ¼å†…ã®æ–°ã—ã„è¦ªãƒªã‚½ãƒ¼ã‚¹ã‚’é¸æŠžã—ã¦ã€ãƒªã‚½ãƒ¼ã‚¹ã‚’サブリソースã”ã¨ç§»å‹•ã§ãã¾ã™ã€‚コンテナã§ã¯ãªã„リソースを親リソースã¨ã—ã¦é¸æŠžã—ãŸå ´åˆã€ãƒªã‚½ãƒ¼ã‚¹ã¯ã‚³ãƒ³ãƒ†ãƒŠã«å¤‰æ›´ã•れã¾ã™ã€‚ ã‚µã‚¤ãƒˆãƒ„ãƒªãƒ¼å†…ã®æ–°ã—ã„親リソースをクリックã—ã¦ãã ã•ã„。'; $_lang["move_resource_new_parent"] = 'æ–°ã—ã„親リソースをサイトツリーã‹ã‚‰é¸æŠžã—ã¦ãã ã•ã„'; $_lang["move_resource_title"] = 'リソースã®ç§»å‹•'; -$_lang["name"] = 'åå‰'; +$_lang["name"] = 'ログインå'; $_lang["new_category"] = 'カテゴリー作æˆ'; $_lang["new_file_permissions_message"] = '管ç†ç”»é¢ã‚’通ã˜ã¦æ–°ã—ã„ファイルをアップロードã—ãŸã¨ãã€ã“ã“ã§è¨­å®šã—ãŸãƒ‘ーミッションã«å¤‰æ›´ã—ã¾ã™ã€‚ã“ã®æ©Ÿèƒ½ã¯IIS上ãªã©ä¸€éƒ¨ã®ç’°å¢ƒã§ã¯å‹•作ã—ã¾ã›ã‚“。'; -$_lang["new_file_permissions_title"] = '新ファイルã®ã‚¢ã‚¯ã‚»ã‚¹è¨±å¯'; +$_lang["new_file_permissions_title"] = 'æ–°è¦ãƒ•ァイルã®ãƒ‘ーミッション'; $_lang["new_folder_permissions_message"] = '管ç†ç”»é¢ã‚’通ã˜ã¦æ–°ã—ã„ディレクトリを作æˆã—ãŸã¨ãã€ã“ã“ã§è¨­å®šã—ãŸãƒ‘ーミッションã«å¤‰æ›´ã—ã¾ã™ã€‚ã“ã®æ©Ÿèƒ½ã¯IIS上ãªã©ä¸€éƒ¨ã®ç’°å¢ƒã§ã¯å‹•作ã—ã¾ã›ã‚“。'; -$_lang["new_folder_permissions_title"] = '新ディレクトリã®ã‚¢ã‚¯ã‚»ã‚¹è¨±å¯'; -$_lang["new_htmlsnippet"] = 'ãƒãƒ£ãƒ³ã‚¯ã®ä½œæˆ'; +$_lang["new_folder_permissions_title"] = 'æ–°è¦ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãƒ‘ーミッション'; +$_lang["new_htmlsnippet"] = 'ãƒãƒ£ãƒ³ã‚¯ã‚’作æˆ'; $_lang["new_keyword"] = 'キーワードã®è¿½åŠ  '; -$_lang["new_module"] = 'モジュールã®ä½œæˆ'; +$_lang["new_module"] = 'モジュールを作æˆ'; $_lang["new_parent"] = 'æ–°ã—ã„親リソース'; -$_lang["new_plugin"] = 'プラグインã®ä½œæˆ'; -$_lang["new_role"] = 'ロールã®ä½œæˆ'; -$_lang["new_snippet"] = 'スニペットã®ä½œæˆ'; -$_lang["new_template"] = 'テンプレートã®ä½œæˆ'; -$_lang["new_tmplvars"] = 'テンプレート変数ã®ä½œæˆ'; -$_lang["new_user"] = 'ユーザーã®ä½œæˆ'; -$_lang["new_web_user"] = 'ウェブユーザーã®ä½œæˆ'; +$_lang["new_plugin"] = 'プラグインを作æˆ'; +$_lang["new_role"] = 'ロールを作æˆ'; +$_lang["new_snippet"] = 'スニペットを作æˆ'; +$_lang["new_template"] = 'テンプレートを作æˆ'; +$_lang["new_tmplvars"] = 'テンプレート変数を作æˆ'; +$_lang["new_user"] = 'ユーザーを作æˆ'; +$_lang["new_web_user"] = 'ウェブユーザーを作æˆ'; $_lang["no"] = 'ã„ã„ãˆ'; -$_lang["no_active_users_found"] = '有効ãªãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚'; +$_lang["no_active_users_found"] = '管ç†ç”»é¢ã«ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„るメンãƒãƒ¼ã¯ã„ã¾ã›ã‚“。'; $_lang["no_activity_message"] = 'ã¾ã ãƒªã‚½ãƒ¼ã‚¹ã‚’作æˆã¾ãŸã¯ç·¨é›†ã—ã¦ã„ã¾ã›ã‚“。'; $_lang["no_category"] = 'カテゴリーãªã—'; $_lang["no_docs_pending_publishing"] = '公開を予定ã—ã¦ã„るリソースã¯ã‚りã¾ã›ã‚“。'; @@ -557,7 +557,7 @@ $_lang["no_groups_found"] = 'グループãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。'; $_lang["no_keywords_found"] = 'キーワードã¯ã‚りã¾ã›ã‚“'; $_lang["no_records_found"] = 'レコードã¯ã‚りã¾ã›ã‚“。'; -$_lang["no_results"] = 'çµæžœãŒã‚りã¾ã›ã‚“'; +$_lang["no_results"] = '何もã‚りã¾ã›ã‚“'; $_lang["nologentries_message"] = 'ç®¡ç†æ“作ログ閲覧時ã€1ページã‚ãŸã‚Šã«è¡¨ç¤ºã•れるログエントリー数を入力ã—ã¦ãã ã•ã„。'; $_lang["nologentries_title"] = 'ログエントリー数 '; $_lang["nomessages_message"] = 'メッセージ閲覧時ã€å—信ボックスã«è¡¨ç¤ºã•れるメッセージ数を入力ã—ã¦ãã ã•ã„。'; @@ -573,14 +573,14 @@ $_lang["onlineusers_actionid"] = 'ID'; $_lang["onlineusers_ipaddress"] = 'IPアドレス'; $_lang["onlineusers_lasthit"] = '最終アクセス'; -$_lang["onlineusers_message"] = 'ç›´è¿‘20分以内ã®ã‚¢ã‚¯ãƒ†ã‚£ãƒ–ãªãƒ¦ãƒ¼ã‚¶ãƒ¼ä¸€è¦§ã‚’表示ã—ã¦ã„ã¾ã™ã€‚(ç¾åœ¨æ™‚刻 '; +$_lang["onlineusers_message"] = 'ç¾åœ¨(ç›´è¿‘20分以内)管ç†ç”»é¢ã«ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„るユーザーã®ä¸€è¦§ã§ã™ã€‚(ç¾åœ¨æ™‚刻 '; $_lang["onlineusers_title"] = 'オンラインユーザー'; $_lang["onlineusers_user"] = 'ユーザー'; $_lang["onlineusers_userid"] = 'ユーザーID'; $_lang["optimize_table"] = 'ã“ã®ãƒ†ãƒ¼ãƒ–ルを最é©åŒ–ã™ã‚‹ã«ã¯ã“ã“をクリック'; -$_lang["page_data_cacheable"] = 'キャッシュを生æˆ'; -$_lang["page_data_cacheable_help"] = 'ã“ã®ãƒ•ィールドをãƒã‚§ãƒƒã‚¯ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€ãƒªã‚½ãƒ¼ã‚¹ãŒã‚­ãƒ£ãƒƒã‚·ãƒ¥ã«ä¿å­˜ã•れるã“ã¨ã‚’許å¯ã—ã¾ã™ã€‚リソースã«ã‚¹ãƒ‹ãƒšãƒƒãƒˆãŒå«ã¾ã‚Œã¦ã„ã‚‹å ´åˆã¯ã€å¿…ãšãƒã‚§ãƒƒã‚¯ã‚’外ã—ã¦ãã ã•ã„。ã¾ãŸã¯ã€ãƒã‚§ãƒƒã‚¯ã‚’入れãŸã¾ã¾ã§ã‚¹ãƒ‹ãƒšãƒƒãƒˆã‚³ãƒ¼ãƒ«ã®æ›¸å¼ã‚’[!xxxxx!]ã¨ã™ã‚‹æ–¹æ³•ã‚‚ã‚りã¾ã™ã€‚詳ã—ãã¯ãƒ˜ãƒ«ãƒ—ã‚’ã”覧ãã ã•ã„。'; -$_lang["page_data_cached"] = 'キャッシュより抽出ã—ãŸã‚½ãƒ¼ã‚¹:'; +$_lang["page_data_cacheable"] = 'キャッシュ制御を行ãªã†'; +$_lang["page_data_cacheable_help"] = 'ã“ã®ãƒšãƒ¼ã‚¸å…¨ä½“をキャッシュ制御ã®å¯¾è±¡ã¨ã—ã¾ã™ã€‚ãŸã ã—リソース中ã®ã‚¹ãƒ‹ãƒšãƒƒãƒˆã‚³ãƒ¼ãƒ«ã®è¨˜è¿°ãŒ[!xxxxx!]å½¢å¼ã«ãªã£ã¦ã„ã‚‹å ´åˆã¯ã€ãã®éƒ¨åˆ†ã¯ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’通ã•ãšå¸¸ã«å‹•çš„ã«å‡¦ç†ãƒ»å‡ºåŠ›ã—ã¾ã™ã€‚'; +$_lang["page_data_cached"] = 'ソース(ページキャッシュã®ä¸­èº«ã§ã™)'; $_lang["page_data_changes"] = '編集履歴'; $_lang["page_data_contentType"] = 'コンテントタイプ'; $_lang["page_data_contentType_help"] = 'ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—ã‚’é¸æŠžã—ã¦ãã ã•ã„。コンテントタイプãŒåˆ†ã‹ã‚‰ãªã„å ´åˆã¯ã€é€šå¸¸ã®Webページをæ„味ã™ã‚‹text/htmlã®ã¾ã¾ã«ã—ã¦ãã ã•ã„。'; @@ -593,7 +593,7 @@ $_lang["page_data_mgr_access"] = '管ç†ç”»é¢ã‹ã‚‰ã‚¢ã‚¯ã‚»ã‚¹'; $_lang["page_data_notcached"] = 'ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã¯ã€ã¾ã ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•れã¦ã„ã¾ã›ã‚“。'; $_lang["page_data_publishdate"] = '公開開始日時'; -$_lang["page_data_publishdate_help"] = '公開日時を設定ã—ãŸå ´åˆã€ãƒªã‚½ãƒ¼ã‚¹ã¯å…¬é–‹æ—¥æ™‚ã®åˆ°æ¥ã¨å…±ã«å…¬é–‹ã•れã¾ã™ã€‚入力フィールドをクリックã—ã¦å…¬é–‹æ—¥æ™‚ã‚’é¸æŠžã™ã‚‹ã‹(※カレンダーãŒè¡¨ç¤ºã•れã¾ã™ãŒæ‰‹å…¥åŠ›ã‚‚ã§ãã¾ã™)ã€ã‚«ãƒ¬ãƒ³ãƒ€ãƒ¼ã‚¢ã‚¤ã‚³ãƒ³ã®éš£ã®ã‚¢ã‚¤ã‚³ãƒ³ã‚’クリックã—ã¦å…¬é–‹æ—¥æ™‚を削除ã—ã¦ãã ã•ã„。公開日時を削除ã™ã‚‹ã¨ãƒªã‚½ãƒ¼ã‚¹ã¯è‡ªå‹•çš„ã«ã¯å…¬é–‹ã•れã¾ã›ã‚“。'; +$_lang["page_data_publishdate_help"] = '公開日時を設定ã—ãŸå ´åˆã€ãƒªã‚½ãƒ¼ã‚¹ã¯å…¬é–‹æ—¥æ™‚ã®åˆ°æ¥ã¨å…±ã«å…¬é–‹ã•れã¾ã™ã€‚ã“ã®è¨­å®šã¯ã€Œå…¬é–‹ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã€ã‚ˆã‚Šã‚‚優先ã•れã¾ã™ã€‚'; $_lang["page_data_published"] = '公開'; $_lang["page_data_searchable"] = '検索対象ã«å«ã‚ã‚‹'; $_lang["page_data_searchable_help"] = 'ã“ã®ãƒ•ィールドをãƒã‚§ãƒƒã‚¯ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€ãƒªã‚½ãƒ¼ã‚¹ã‚’検索対象ã«ã—ã¾ã™ã€‚ã“ã®ãƒ•ィールドをスニペット内ã§åˆ¥ã®ç›®çš„ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚'; @@ -603,7 +603,7 @@ $_lang["page_data_template_help"] = 'ã“ã®ãƒªã‚½ãƒ¼ã‚¹ãŒä½¿ç”¨ã™ã‚‹ãƒ†ãƒ³ãƒ—ãƒ¬ãƒ¼ãƒˆã‚’é¸æŠžã—ã¦ãã ã•ã„。'; $_lang["page_data_title"] = 'ページデータ'; $_lang["page_data_unpublishdate"] = '公開終了日時'; -$_lang["page_data_unpublishdate_help"] = '公開終了日時を設定ã™ã‚‹ã¨ã€å…¬é–‹çµ‚了日時を迎ãˆãŸæ™‚点ã§ãƒªã‚½ãƒ¼ã‚¹ãŒéžå…¬é–‹çŠ¶æ…‹ã«æˆ»ã‚Šã¾ã™ã€‚'; +$_lang["page_data_unpublishdate_help"] = '公開終了日時を設定ã™ã‚‹ã¨ã€å…¬é–‹çµ‚了日時を迎ãˆãŸæ™‚点ã§ãƒªã‚½ãƒ¼ã‚¹ãŒéžå…¬é–‹çŠ¶æ…‹ã«æˆ»ã‚Šã¾ã™ã€‚ã“ã®è¨­å®šã¯ã€Œå…¬é–‹ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã€ã‚ˆã‚Šã‚‚優先ã•れã¾ã™ã€‚'; $_lang["page_data_unpublished"] = 'éžå…¬é–‹'; $_lang["page_data_web_access"] = 'ウェブã‹ã‚‰ã‚¢ã‚¯ã‚»ã‚¹'; $_lang["pagetitle"] = 'リソースタイトル'; @@ -620,23 +620,23 @@ $_lang["parameter"] = 'パラメータ'; $_lang["password"] = 'パスワード'; $_lang["password_change_request"] = 'パスワード変更リクエスト'; -$_lang["password_gen_gen"] = 'MODxã«ãƒ‘スワードを生æˆã•ã›ã‚‹ã€‚'; -$_lang["password_gen_length"] = 'パスワードã¯å°‘ãªãã¨ã‚‚6文字以上ã®é•·ã•ã«ã—ã¦ãã ã•ã„。'; +$_lang["password_gen_gen"] = 'パスワードを自動生æˆã™ã‚‹(ãŠã™ã™ã‚)'; +$_lang["password_gen_length"] = 'パスワードã¯6文字以上ã®é•·ã•ã«ã—ã¦ãã ã•ã„。'; $_lang["password_gen_method"] = 'ã©ã®ã‚ˆã†ã«ãƒ‘スワードを作æˆã—ã¾ã™ã‹?'; $_lang["password_gen_specify"] = 'パスワードを指定ã™ã‚‹ '; $_lang["password_method"] = 'ã©ã®ã‚ˆã†ã«ãƒ‘スワードを通知ã—ã¾ã™ã‹?'; -$_lang["password_method_email"] = 'æ–°ã—ã„パスワードをメールã§é€šçŸ¥ã™ã‚‹ã€‚'; -$_lang["password_method_screen"] = 'æ–°ã—ã„パスワードを画é¢ã«è¡¨ç¤ºã™ã‚‹ã€‚'; -$_lang["password_msg"] = '%sã®æ–°ã—ã„パスワードã¯%sã§ã™ã€‚'; +$_lang["password_method_email"] = '対象ユーザã«ãƒ¡ãƒ¼ãƒ«ã§é€šçŸ¥ã™ã‚‹'; +$_lang["password_method_screen"] = '生æˆã—ãŸãƒ‘スワードを次ã®ç”»é¢ã§è¡¨ç¤ºã™ã‚‹'; +$_lang["password_msg"] = '%sã®ãƒ‘スワードã¯%sã§ã™ã€‚'; $_lang["php_version_check"] = 'MODxã¯PHPãƒãƒ¼ã‚¸ãƒ§ãƒ³4.0.3ã¾ãŸã¯ãれ以上ã§å‹•作ã—ã¾ã™ã€‚インストールã•れã¦ã„ã‚‹PHPをアップグレードã—ã¦ãã ã•ã„。'; $_lang["plugin"] = 'プラグイン'; $_lang["plugin_code"] = 'プラグイン コード (php)'; $_lang["plugin_config"] = 'プラグイン設定'; $_lang["plugin_desc"] = '説明'; -$_lang["plugin_disabled"] = 'プラグインã®åœæ­¢'; +$_lang["plugin_disabled"] = 'ãƒ—ãƒ©ã‚°ã‚¤ãƒ³ã‚’åœæ­¢'; $_lang["plugin_event_msg"] = 'ã“ã®ãƒ—ラグインãŒä½¿ç”¨ã™ã‚‹ã‚¤ãƒ™ãƒ³ãƒˆã‚’é¸æŠžã—ã¦ãã ã•ã„。'; -$_lang["plugin_management_msg"] = '

    プラグインã®ç®¡ç†

    編集ã—ãŸã„ãƒ—ãƒ©ã‚°ã‚¤ãƒ³ã‚’é¸æŠžã—ã¾ã™ã€‚

    '; -$_lang["plugin_msg"] = 'プラグインã®è¿½åŠ ã‚„ç·¨é›†ã‚’ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚プラグインã¯é¸æŠžã—ãŸã‚·ã‚¹ãƒ†ãƒ ã‚¤ãƒ™ãƒ³ãƒˆã®ç™ºç”Ÿæ™‚ã«å®Ÿè¡Œã•れるPHPã®ã‚³ãƒ¼ãƒ‰ç¾¤ã§ã™ã€‚'; +$_lang["plugin_management_msg"] = '

    プラグインã®ç®¡ç†

    プラグインã¯ã‚·ã‚¹ãƒ†ãƒ å¯„ã‚Šã®æ‹¡å¼µæ©Ÿèƒ½ã§ã€å®Ÿè¡Œã™ã‚‹ãŸã‚ã«ã¯ä»»æ„ã®ã‚·ã‚¹ãƒ†ãƒ ã‚¤ãƒ™ãƒ³ãƒˆã«é–¢é€£ä»˜ã‘ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚スニペットã»ã©ç›´æ„Ÿçš„ã§ã¯ã‚りã¾ã›ã‚“ãŒã€ç®¡ç†ç”»é¢ã®ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºã‚‚ã§ãã‚‹ãªã©å¿œç”¨å¹…ãŒåºƒã„ã§ã™ã€‚詳ã—ãã¯ãƒ˜ãƒ«ãƒ—ã‚’ã”覧ãã ã•ã„。

    '; +$_lang["plugin_msg"] = 'プラグインåã«ã¯æ—¥æœ¬èªžã‚’用ã„ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚å…ˆé ­ã¨æœ«å°¾ã®ã€Œ<?phpã€ã€Œ?>ã€ã¯ä¸è¦ã§ã™ã€‚プラグインを実行ã™ã‚‹ãŸã‚ã«ã¯ã€å¿…ãšä»»æ„ã®ã‚·ã‚¹ãƒ†ãƒ ã‚¤ãƒ™ãƒ³ãƒˆã¨é–¢é€£ä»˜ã‘ã¦ãã ã•ã„。プラグインã®ä½œã‚Šæ–¹ã«ã¤ã„ã¦ã¯ãƒ˜ãƒ«ãƒ—ã®ã€ŒTutorialã€ã‚’å‚ç…§ã—ã¦ãã ã•ã„。'; $_lang["plugin_name"] = 'プラグインå'; $_lang["plugin_priority"] = 'イベント発生時ã®ãƒ—ラグインã®å®Ÿè¡Œé †ã‚’編集'; $_lang["plugin_priority_instructions"] = 'プラグインã®å®Ÿè¡Œé †ã‚’変更ã™ã‚‹ã«ã¯ã€å„イベントåã®ä¸‹ã«ã‚るプラグインをドラッグã—ã¦ãã ã•ã„。最åˆã«å®Ÿè¡Œã™ã‚‹ãƒ—ãƒ©ã‚°ã‚¤ãƒ³ã¯æœ€ä¸Šä½ã«ã—ã¦ãã ã•ã„。'; @@ -645,18 +645,18 @@ $_lang["preview"] = 'プレビュー'; $_lang["preview_msg"] = 'ã“ã“ã«ã¯æœ€å¾Œã«ä¿å­˜ã—ãŸå†…容をプレビューã—ã¦ã„ã¾ã™ã€‚ ä¿å­˜ã¨å†æç”»ã‚’行ã†ã«ã¯ã“ã“をクリックã—ã¦ãã ã•ã„。'; $_lang["preview_resource"] = 'プレビュー(別窓)'; -$_lang["private"] = 'プライベート'; -$_lang["public"] = 'パブリック'; +$_lang["private"] = 'グループ設定'; +$_lang["public"] = 'グループ制é™ãªã—'; $_lang["publish_date"] = '公開日付'; -$_lang["publish_events"] = '公開予定リソースã®ä¸€è¦§'; +$_lang["publish_events"] = '公開を予定ã—ã¦ã„るリソースã®ä¸€è¦§'; $_lang["publish_resource"] = '公開ã™ã‚‹'; -$_lang["rb_base_dir_message"] = 'ファイルブラウザディレクトリ(通常ã¯assetsディレクトリ)ã¸ã®ç‰©ç†ãƒ‘スを入力ã—ã¦ãã ã•ã„。通常ã“ã®è¨­å®šã¯è‡ªå‹•çš„ã«ç”Ÿæˆã•れã¾ã™ãŒã€IISãªã©ä¸€éƒ¨ã®ã‚µãƒ¼ãƒã§ã¯æ­£å¸¸ã«æ¤œå‡ºã•れãªã„ã“ã¨ãŒã‚りã¾ã™ã€‚ã“ã®å ´åˆã¯æ‰‹å…¥åŠ›ã§å…¥åŠ›ã—ã¦ãã ã•ã„。'; -$_lang["rb_base_dir_title"] = 'ファイルベースパス '; -$_lang["rb_base_url_message"] = 'ファイルブラウザディレクトリ(通常ã¯assetsディレクトリ)ã¸ã®ä»®æƒ³ãƒ‘スを入力ã—ã¦ãã ã•ã„。MODx設置ディレクトリを基準ã¨ã—ãŸç›¸å¯¾ãƒ‘スã¾ãŸã¯http://ã‹ã‚‰å§‹ã¾ã‚‹ãƒ•ルパスを記述ã—ã¾ã™ã€‚通常ã“ã®è¨­å®šã¯è‡ªå‹•çš„ã«ç”Ÿæˆã•れã¾ã™ãŒã€IISãªã©ä¸€éƒ¨ã®ã‚µãƒ¼ãƒã§ã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ™‚ã®æ¤œå‡ºãŒæ­£å¸¸ã«ã§ãã¦ã„ãªã„ã“ã¨ãŒã‚りã¾ã™ã€‚'; -$_lang["rb_base_url_title"] = 'ファイルブラウザURL '; -$_lang["rb_message"] = '「ã¯ã„ã€ã‚’é¸æŠžã™ã‚‹ã¨ãƒ•ァイルブラウザを使用ã§ãã¾ã™ã€‚ãƒ•ã‚¡ã‚¤ãƒ«ãƒ–ãƒ©ã‚¦ã‚¶ã¯æŠ•ç¨¿ç”»é¢ã‹ã‚‰å‘¼ã³å‡ºã—ã¾ã™ã€‚サーãƒãƒ¼ä¸Šã®ç”»åƒã‚„Flashãªã©ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ã‚¢ãƒƒãƒ—ãƒ­ãƒ¼ãƒ‰ãƒ»é¸æŠžã—ã€æŠ•ç¨¿ç”»é¢ã«è²¼ã‚Šä»˜ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚'; +$_lang["rb_base_dir_message"] = 'ファイルブラウザディレクトリã®ç‰©ç†ãƒ‘スã§ã™ã€‚デフォルトã§ã¯assetsãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒæŒ‡å®šã•れã€snippets・pluginsディレクトリãªã©ãŒåŒã˜éšŽå±¤ã«å…±å­˜ã—ã¦ã„ã¾ã™ã€‚ã“ã®è¨­å®šã‚’変更ã™ã‚‹ã¨ã€images・files・flash・mediaã®4ã¤ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®å‚ç…§å…ˆãŒå¤‰ã‚りã¾ã™ã€‚'; +$_lang["rb_base_dir_title"] = 'ファイルブラウザディレクトリã®
    物ç†ãƒ‘ス '; +$_lang["rb_base_url_message"] = 'ファイルブラウザディレクトリ(通常ã¯assetsディレクトリ)ã®ãƒ‘スã§ã™ã€‚「ファイルブラウザディレクトリã®ç‰©ç†ãƒ‘スã€ãŒå‚ç…§ã™ã‚‹å ´æ‰€ã¨åŒã˜ã§ã™ãŒã€ã“ã“ã§ã¯MODx設置ディレクトリを基準ã¨ã—ãŸç›¸å¯¾ãƒ‘スを記述ã—ã¾ã™ã€‚'; +$_lang["rb_base_url_title"] = 'ファイルブラウザディレクトリã®
    相対パス'; +$_lang["rb_message"] = '「ã¯ã„ã€ã‚’é¸æŠžã™ã‚‹ã¨ãƒ•ァイルブラウザを使用ã§ãã¾ã™ã€‚ãƒ•ã‚¡ã‚¤ãƒ«ãƒ–ãƒ©ã‚¦ã‚¶ã¯æŠ•ç¨¿ç”»é¢ã‹ã‚‰å‘¼ã³å‡ºã—ã¾ã™ã€‚サーãƒãƒ¼ä¸Šã«ç”»åƒãªã©ã‚’アップロードã—ã€æŠ•ç¨¿ç”»é¢ã«è²¼ã‚Šä»˜ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®è¨­å®šã¯images・files・flash・mediaã®4ã¤ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’å‚ç…§ã—ã¾ã™ã€‚å‚照範囲ãŒåºƒã„「ファイル管ç†ã€ã¨é•ã„ã€ãƒ•ã‚¡ã‚¤ãƒ«ãƒ–ãƒ©ã‚¦ã‚¶ã¯æŠ•ç¨¿ç”»é¢ã¨ã®é€£å‹•ã‚’å‰æã¨ã—ã¦ãŠã‚Šã€ä¸»ã«ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã«ç´ä»˜ãファイルã®ã¿ã‚’扱ã„ã¾ã™ã€‚'; $_lang["rb_title"] = 'ファイルブラウザを使用 '; -$_lang["rb_webuser_message"] = 'ウェブユーザーã«ãƒ•ァイルブラウザã®åˆ©ç”¨ã‚’許å¯ã™ã‚‹ã‹ã©ã†ã‹ã‚’é¸æŠžã—ã¾ã™ã€‚
    警告: ウェブユーザーã«ãƒ•ァイルブラウザã®åˆ©ç”¨ã‚’許å¯ã™ã‚‹ã¨ã„ã†ã“ã¨ã¯ã€ç®¡ç†ç”»é¢ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒåˆ©ç”¨ã™ã‚‹ãƒ•ァイルを見ã›ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚信用ã§ãるウェブユーザーã«ã®ã¿è¨±å¯ã™ã‚‹ã¹ãã§ã—ょã†ã€‚'; +$_lang["rb_webuser_message"] = 'ウェブユーザーã«ãƒ•ァイルブラウザã®åˆ©ç”¨ã‚’許å¯ã™ã‚‹ã‹ã©ã†ã‹ã‚’é¸æŠžã—ã¾ã™ã€‚'; $_lang["rb_webuser_title"] = 'ウェブユーザーã®
    ファイルブラウザ利用'; $_lang["recent_docs"] = '最近ã®ãƒªã‚½ãƒ¼ã‚¹'; $_lang["recommend_setting_change_title"] = '設定を確èªã—ã¦ãã ã•ã„。'; @@ -667,12 +667,13 @@ $_lang["refresh_title"] = 'サイトをリフレッシュ'; $_lang["refresh_tree"] = 'サイトツリーã®å†æç”»'; $_lang["refresh_unpublished"] = '%sä»¶ã®ãƒªã‚½ãƒ¼ã‚¹ãŒéžå…¬é–‹ã«æˆ»ã‚Šã¾ã—ãŸã€‚'; -$_lang["remember_last_tab"] = 'Remember tabs'; -$_lang["remember_last_tab_message"] = 'Tabbed Manager pages load with the last tab viewed instead of defaulting to the first tab'; -$_lang["remember_username"] = 'ログイン情報を記憶ã™ã‚‹'; +$_lang["release_date"] = 'リリース日'; +$_lang["remember_last_tab"] = 'アクティブãªã‚¿ãƒ–を記憶ã™ã‚‹'; +$_lang["remember_last_tab_message"] = 'タブ構æˆã®ãƒšãƒ¼ã‚¸(投稿画é¢ãƒ»ã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆç·¨é›†ç”»é¢ãƒ»ã‚°ãƒ­ãƒ¼ãƒãƒ«è¨­å®šãªã©)ã«ãŠã„ã¦ã€æœ€å¾Œã«é–‹ã„ãŸã‚¿ãƒ–を記憶ã—ã¾ã™ã€‚「Stay modeã€ã‚’é¸æŠžã™ã‚‹ã¨ã€Œä¿å­˜å¾Œã«ç¶šã‘ã¦ç·¨é›†ã€ã‚’実行ã—ãŸæ™‚ã¨ä¸€éƒ¨ã®ç®¡ç†ç”»é¢ã§ã‚¿ãƒ–é¸æŠžã‚’è¨˜æ†¶ã—ã¾ã™ã€‚'; +$_lang["remember_username"] = 'ãƒ­ã‚°ã‚¤ãƒ³çŠ¶æ…‹ã‚’ä¿æŒã™ã‚‹'; $_lang["remove"] = '削除'; $_lang["remove_date"] = '日付を削除'; -$_lang["remove_locks"] = 'ロックã®è§£é™¤'; +$_lang["remove_locks"] = 'ロックを解除'; $_lang["rename"] = 'リãƒãƒ¼ãƒ '; $_lang["reports"] = 'レãƒãƒ¼ãƒˆ'; $_lang["require_tagname"] = 'ã‚¿ã‚°åãŒå¿…è¦ã§ã™ã€‚'; @@ -684,7 +685,7 @@ $_lang["resource"] = 'リソース'; $_lang["resource_alias"] = 'エイリアス'; $_lang["resource_alias_help"] = "ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã®ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã‚’指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚フレンドリーURLæ©Ÿèƒ½ãŒæœ‰åйãªå ´åˆã€æ¬¡ã®ã‚ˆã†ã«ãƒªã‚½ãƒ¼ã‚¹ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™:\n\nhttp://yourserver/エイリアス\n\nリソース変数:[*alias*]"; -$_lang["resource_content"] = '内容 ( リソース変数:[*content*] )'; +$_lang["resource_content"] = '本文[*content*]'; $_lang["resource_description"] = '説明(description)'; $_lang["resource_description_help"] = 'リソースã«é–¢ã™ã‚‹ä»»æ„ã®èª¬æ˜Žã‚’ã“ã“ã«å…¥åŠ›ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚リソース変数:[*description*]'; $_lang["resource_duplicate"] = '複製を作る'; @@ -692,16 +693,16 @@ $_lang["resource_metatag_help"] = 'ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã«ä»˜åŠ ã—ãŸã„METAã‚¿ã‚°ã‚„ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã‚’é¸æŠžã—ã¦ãã ã•ã„。CTRLキーを押ã—ãªãŒã‚‰ã‚¯ãƒªãƒƒã‚¯ã™ã‚‹ã¨è¤‡æ•°ã®ã‚¿ã‚°ã‚„ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã‚’é¸æŠžã§ãã¾ã™ã€‚é¸æŠžå…ƒã¨ã™ã‚‹METAタグ・キーワードã®ä½œæˆãƒ»ç®¡ç†ã¯ã€Œã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆã€â†’「METAã‚¿ã‚°ã¨ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã®ç®¡ç†ã€ã§è¡Œãªã„ã¾ã™ã€‚'; $_lang["resource_opt_contentdispo"] = 'リソースã®å‡ºåŠ›'; $_lang["resource_opt_contentdispo_help"] = 'ウェブブラウザãŒã“ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’ã©ã†æ‰±ã†ã‹ã‚’指定ã§ãã¾ã™ã€‚「ファイルã¨ã—ã¦ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã€ã‚’é¸æŠžã™ã‚‹ã¨ãƒªã‚½ãƒ¼ã‚¹ã‚’ダウンロードファイルã¨ã¿ãªã—ã¾ã™ã€‚'; -$_lang["resource_opt_emptycache"] = '更新時ã«ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’削除'; -$_lang["resource_opt_emptycache_help"] = 'ã“ã®ã‚ªãƒ—ションをãƒã‚§ãƒƒã‚¯ã—ã¦ãŠãã¨ã€MODxã¯ãƒªã‚½ãƒ¼ã‚¹ãŒä¿å­˜ã•れãŸç›´å¾Œã«è‡ªå‹•çš„ã«ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’クリアã—ã€æ¬¡å›žã®ã‚¢ã‚¯ã‚»ã‚¹ã§æœ€æ–°çŠ¶æ…‹ã‚’å‡ºåŠ›ã—ã¾ã™ã€‚'; +$_lang["resource_opt_emptycache"] = '更新時ã«ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’
    削除(記憶ã•れã¾ã›ã‚“)'; +$_lang["resource_opt_emptycache_help"] = 'ã“ã®ã‚ªãƒ—ションã®ãƒã‚§ãƒƒã‚¯ã‚’外ã™ã¨ã€ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’削除ã—ã¾ã›ã‚“ã€‚è¨­å®šã®æˆ»ã—忘れãªã©ã®äº‹æ•…を防ããŸã‚ã«ã€ã“ã®è¨­å®šã¯è¨˜æ†¶ã•れã¾ã›ã‚“ã®ã§ã€ã”注æ„ãã ã•ã„。'; $_lang["resource_opt_folder"] = 'コンテナã¨ã—ã¦æ‰±ã†'; $_lang["resource_opt_folder_help"] = 'ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’コンテナã¨ã—ã¦æ˜Žç¤ºçš„ã«æ‰±ã„ãŸã„å ´åˆã«ãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„。通常ã¯ã‚µãƒ–ãƒªã‚½ãƒ¼ã‚¹ã®æœ‰ç„¡ã«ã‚ˆã‚Šè‡ªå‹•çš„ã«åˆ¤å®šã•れã¾ã™'; $_lang["resource_opt_menu_index"] = 'メニューオーダー'; $_lang["resource_opt_menu_index_help"] = 'メニューオーダーã¯ã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚¹ãƒ‹ãƒšãƒƒãƒˆå†…ã§ãƒªã‚½ãƒ¼ã‚¹ã®é…置順を指定ã™ã‚‹ãŸã‚ã«ç”¨ã„ã¾ã™ã€‚ã‚‚ã¡ã‚ã‚“ã€ã‚¹ãƒ‹ãƒšãƒƒãƒˆæ¬¡ç¬¬ã§ä»–ã®ç›®çš„ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚'; $_lang["resource_opt_menu_title"] = 'メニュータイトル'; $_lang["resource_opt_menu_title_help"] = 'メニュータイトルã¯ã€ã‚¹ãƒ‹ãƒšãƒƒãƒˆã‚„モジュールã§ä½¿ç”¨ã§ãる短ã„タイトルã§ã™ã€‚リソース変数:[*menutitle*]'; -$_lang["resource_opt_published"] = '公開ã™ã‚‹'; -$_lang["resource_opt_published_help"] = 'ä¿å­˜å¾Œã€ã™ãã«ãƒªã‚½ãƒ¼ã‚¹ã‚’公開ã™ã‚‹å ´åˆã¯ãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„。'; +$_lang["resource_opt_published"] = '公開ステータス'; +$_lang["resource_opt_published_help"] = 'ã“ã®ãƒšãƒ¼ã‚¸ã‚’公開ã™ã‚‹å ´åˆã¯ãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„。
    ※「公開開始日時ã€ã€Œå…¬é–‹çµ‚了日時ã€ã®å€¤ã¨é€£å‹•ã™ã‚‹ãŸã‚ã”æ³¨æ„ãã ã•ã„。公開開始日時ã«é”ã—ã¦ã„ãªã„・公開終了日時をéŽãŽã¦ã„ã‚‹ãªã©ã®ç†ç”±ã§ã€ã“ã“ã«ãƒã‚§ãƒƒã‚¯ãŒå…¥ã£ã¦ã„ãªã„ã¨å…¬é–‹ã•れã¾ã›ã‚“。'; $_lang["resource_opt_richtext"] = 'リッãƒãƒ†ã‚­ã‚¹ãƒˆã§ç·¨é›†'; $_lang["resource_opt_richtext_help"] = '通常ã®è¨˜äº‹ã‚’書ãå ´åˆã¯ã“ã“ã«ãƒã‚§ãƒƒã‚¯ã‚’入れãŸã¾ã¾ã¨ã—ã€ãƒªãƒƒãƒãƒ†ã‚­ã‚¹ãƒˆã‚¨ãƒ‡ã‚£ã‚¿ãƒ¼ã§ãƒªã‚½ãƒ¼ã‚¹ã‚’編集ã™ã‚‹ã“ã¨ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚リソースãŒJavaScriptやフォームをå«ã‚€å ´åˆã¯ã€ãƒã‚§ãƒƒã‚¯ã‚’外ã—ã¦ãƒ—レーンテキストã«ã‚ˆã‚‹ç·¨é›†ã‚’行ã£ã¦ãã ã•ã„。'; $_lang["resource_opt_show_menu"] = 'メニューã«è¡¨ç¤º'; @@ -712,7 +713,7 @@ $_lang["resource_parent_help"] = '上ã®ã‚³ãƒ³ãƒ†ãƒŠã‚¢ã‚¤ã‚³ãƒ³ã‚’クリックã™ã‚‹ã¨ã€ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã®è¦ª(コンテナ)ã‚’é¸æŠžã§ãる状態ã«ãªã‚Šã¾ã™ã€‚アイコンãŒå¤‰åŒ–ã—ã¦ã„る状態ã§ã€è¦ªã«ã—ãŸã„リソースをサイトツリー上ã§ã‚¯ãƒªãƒƒã‚¯ã—ã¦ãã ã•ã„。もã†ä¸€åº¦ã‚¯ãƒªãƒƒã‚¯ã™ã‚‹ã¨ã‚‚ã¨ã«æˆ»ã‚Šã¾ã™ã€‚'; $_lang["resource_permissions_error"] = 'ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’ã€å°‘ãªãã¨ã‚‚アクセスå¯èƒ½ãªä¸€ã¤ä»¥ä¸Šã®ãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—ã¸å‰²ã‚Šå½“ã¦ã¦ãã ã•ã„。'; $_lang["resource_setting"] = 'リソース設定'; -$_lang["resource_summary"] = 'è¦ç´„(åºèª¬ï¼‰'; +$_lang["resource_summary"] = 'è¦ç´„(åºèª¬)'; $_lang["resource_summary_help"] = 'リソースã®è¦ç´„を入力ã—ã¾ã™ã€‚リソース変数:[*introtext*]'; $_lang["resource_title"] = 'リソースå'; $_lang["resource_title_help"] = 'リソースã®åç§°/タイトルを入力ã—ã¦ãã ã•ã„。ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。管ç†ç”»é¢ã®ã‚µã‚¤ãƒˆãƒ„リーã§è¡¨ç¤ºã•れるãŸã‚短ã‚ã«ã™ã‚‹ã¨ã„ã„ã§ã—ょã†(リソース変数:[*pagetitle*])'; @@ -726,19 +727,19 @@ $_lang["resources_in_container_no"] = 'サブリソースã¯ã‚りã¾ã›ã‚“。'; $_lang["role"] = 'ロール(役割)'; $_lang["role_about"] = '「MODxã«ã¤ã„ã¦ã€ãƒšãƒ¼ã‚¸ã®è¡¨ç¤º'; -$_lang["role_access_persmissions"] = 'アクセス許å¯'; +$_lang["role_access_persmissions"] = '所属グループ'; $_lang["role_actionok"] = '処ç†å®Œäº†ãƒšãƒ¼ã‚¸ã®è¡¨ç¤º'; $_lang["role_bk_manager"] = 'ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—マãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã®ä½¿ç”¨'; $_lang["role_cache_refresh"] = 'サイトをリフレッシュ'; -$_lang["role_change_password"] = 'パスワードã®å¤‰æ›´'; +$_lang["role_change_password"] = 'パスワード変更'; $_lang["role_chunk_management"] = 'ãƒãƒ£ãƒ³ã‚¯ã®ç®¡ç†'; $_lang["role_config_management"] = '設定管ç†'; $_lang["role_content_management"] = 'コンテンツ管ç†'; -$_lang["role_create_chunk"] = 'ãƒãƒ£ãƒ³ã‚¯ã®ä½œæˆ'; -$_lang["role_create_doc"] = 'リソースã®ä½œæˆ'; -$_lang["role_create_plugin"] = 'プラグインã®ä½œæˆ'; -$_lang["role_create_snippet"] = 'スニペットã®ä½œæˆ'; -$_lang["role_create_template"] = 'テンプレートã®ä½œæˆ'; +$_lang["role_create_chunk"] = 'ãƒãƒ£ãƒ³ã‚¯ã‚’作æˆ'; +$_lang["role_create_doc"] = 'リソースを作æˆ'; +$_lang["role_create_plugin"] = 'プラグインを作æˆ'; +$_lang["role_create_snippet"] = 'スニペットを作æˆ'; +$_lang["role_create_template"] = 'テンプレートを作æˆ'; $_lang["role_credits"] = '著作権表示/è¬è¾žã®è¡¨ç¤º'; $_lang["role_delete_chunk"] = 'ãƒãƒ£ãƒ³ã‚¯ã‚’削除'; $_lang["role_delete_doc"] = 'リソースã®å‰Šé™¤'; @@ -772,18 +773,18 @@ $_lang["role_import_static"] = 'é™çš„HTMLファイルをインãƒãƒ¼ãƒˆ'; $_lang["role_logout"] = '管ç†ç”»é¢ã‚’ログアウト'; $_lang["role_manage_metatags"] = 'サイト全体METAã‚¿ã‚°ã¨ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã®ç®¡ç†'; -$_lang["role_management_msg"] = 'ロール(役割)ã”ã¨ã«ã€ã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ãªæ©Ÿèƒ½ã‚’é¸æŠžãƒ»è¨­å®šã—ã¾ã™ã€‚ãŸã¨ãˆã°ã€Œç®¡ç†è€…ã€ã€ŒæŠ•稿者ã€ã¨ã„ã£ãŸãƒ­ãƒ¼ãƒ«ã‚’作る場åˆã€ã€Œç®¡ç†è€…ã€ã«ã¯å…¨æ¨©ã‚’ã€ãã—ã¦ã€ŒæŠ•稿者ã€ã«ã¯ã‚µã‚¤ãƒˆç®¡ç†ã«é–¢ã™ã‚‹è¨­å®šã‚’ã•ã‚れãªã„よã†ã«åˆ¶é™ã‚’ã‹ã‘ã¾ã™ã€‚ロールã¯å½¹å‰²ãƒ»å½¹è·ã®ã‚ˆã†ãªã‚‚ã®ã§ã€ãŸã¨ãˆã°å–¶æ¥­ã‚°ãƒ«ãƒ¼ãƒ—ã¨ç§˜æ›¸ã‚°ãƒ«ãƒ¼ãƒ—ã¨ã§å½¹å‰²ãŒé•ã†ã®ã¨ä¼¼ã¦ã„ã¾ã™ã€‚å„ユーザã”ã¨ã«å€‹åˆ¥ã«æ¨©é™ã‚’直接割り当ã¦ã‚‹ã®ã§ã¯ãªãã€ãƒ­ãƒ¼ãƒ«ã¨ã„ã†å½¢ã§å½¹å‰²ãƒ»æ¨©é™ã‚’割り当ã¦ã‚‹è€ƒãˆæ–¹ã¨ãªã£ã¦ã„ã¾ã™ã€‚MODxã§ã¯ã€ç®¡ç†ç”»é¢ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹å…¨ã¦ã®ãƒ¦ãƒ¼ã‚¶ãŒä½•らã‹ã®ãƒ­ãƒ¼ãƒ«(役割)ã‚’æŒã¡ã¾ã™ã€‚'; +$_lang["role_management_msg"] = 'ロール(役割)ã”ã¨ã«ã€åˆ©ç”¨å¯èƒ½ãªæ©Ÿèƒ½ã‚’é¸æŠžãƒ»è¨­å®šã—ã¾ã™ã€‚ロールã¯å½¹å‰²ãƒ»å½¹è·ã®ã‚ˆã†ãªã‚‚ã®ã§ã€ãŸã¨ãˆã°ã€éƒ¨é•·ãƒ»ä¸€èˆ¬ç¤¾å“¡ãƒ»ã‚¢ãƒ«ãƒã‚¤ãƒˆã®3者ã®ç•°ãªã‚‹æ¨©é™ã‚’システム的ã«è¡¨ç¾ã—ã¦ã„ã¾ã™ã€‚MODxã§ã¯ã€ç®¡ç†ç”»é¢ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹å…¨ã¦ã®ãƒ¦ãƒ¼ã‚¶ãŒä½•らã‹ã®ãƒ­ãƒ¼ãƒ«(役割)ã‚’æŒã¡ã¾ã™ã€‚'; $_lang["role_management_title"] = 'ロール管ç†'; $_lang["role_messages"] = 'メッセージã®è¡¨ç¤ºãŠã‚ˆã³é€ä¿¡'; $_lang["role_module_management"] = 'モジュール管ç†'; $_lang["role_name"] = 'ロールå'; -$_lang["role_new_module"] = 'モジュールã®ä½œæˆ'; -$_lang["role_new_role"] = 'ロールã®ä½œæˆ'; -$_lang["role_new_user"] = 'ユーザーã®ä½œæˆ'; -$_lang["role_new_web_user"] = 'ウェブユーザーã®ä½œæˆ'; +$_lang["role_new_module"] = 'モジュールを作æˆ'; +$_lang["role_new_role"] = 'ロールを作æˆ'; +$_lang["role_new_user"] = 'ユーザーを作æˆ'; +$_lang["role_new_web_user"] = 'ウェブユーザーを作æˆ'; $_lang["role_plugin_management"] = 'プラグイン管ç†'; $_lang["role_publish_doc"] = 'リソースã®å…¬é–‹'; -$_lang['role_remove_locks'] = 'Remove Locks'; +$_lang["role_remove_locks"] = 'ロックã®è§£é™¤'; $_lang["role_role_management"] = 'ロール管ç†'; $_lang["role_run_module"] = 'モジュールã®å®Ÿè¡Œ'; $_lang["role_save_chunk"] = 'ãƒãƒ£ãƒ³ã‚¯ã®ä¿å­˜'; @@ -808,17 +809,17 @@ $_lang["role_web_access_persmissions"] = 'ウェブアクセス許å¯'; $_lang["role_web_user_management"] = 'ウェブユーザー管ç†'; $_lang["rss_url_news_default"] = 'http://feeds2.feedburner.com/modxjp'; -$_lang["rss_url_news_message"] = '管ç†ç”»é¢ãƒˆãƒƒãƒ—ã®ã€ŒMODx Newsã€ã®ãƒ•ィードURL.'; +$_lang["rss_url_news_message"] = '管ç†ç”»é¢ãƒˆãƒƒãƒ—ã®ã€ŒMODx Newsã€ã®ãƒ•ィードURL'; $_lang["rss_url_news_title"] = 'RSS ニュースフィード'; $_lang["rss_url_security_default"] = 'http://feeds2.feedburner.com/modxjpsec'; $_lang["rss_url_security_message"] = '管ç†ç”»é¢ãƒˆãƒƒãƒ—ã®ã€ŒMODx Securityã€ã®ãƒ•ィードURL'; $_lang["rss_url_security_title"] = 'RSS セキュリティ情報フィード'; $_lang["run_module"] = 'モジュールã®å®Ÿè¡Œ'; -$_lang["saturday"] = '土曜'; +$_lang["saturday"] = '土'; $_lang["save"] = 'ä¿å­˜'; $_lang["save_all_changes"] = 'å…¨ã¦ã®å¤‰æ›´ã‚’æ›´æ–°'; $_lang["save_tag"] = 'ã‚¿ã‚°ä¿å­˜'; -$_lang["saving"] = 'ä¿å­˜ä¸­ã§ã™ã€‚ãŠå¾…ã¡ãã ã•ã„ ...'; +$_lang["saving"] = 'ä¿å­˜ä¸­ã§ã™ã€‚ãŠå¾…ã¡ãã ã•ã„'; $_lang["search"] = '検索'; $_lang["search_criteria"] = '検索 æ¡ä»¶'; $_lang["search_criteria_content"] = 'å†…å®¹ã§æ¤œç´¢'; @@ -871,27 +872,27 @@ $_lang["show_meta_message"] = 'リソース編集画é¢ã«META Keywordsタブを表示ã—ã¾ã™ã€‚éŽåŽ»ã®MODxã¨ã®äº’æ›æ€§ãŒå¿…è¦ãªå ´åˆã‚’除ãã€å½“設定ã¯ä½¿ã„勿‰‹ã®å•題ã«ã‚ˆã‚пލ奍ã—ã¾ã›ã‚“。'; $_lang["show_tree"] = 'サイトツリーã®è¡¨ç¤º'; $_lang["showing"] = '表示中'; -$_lang["signupemail_message"] = 'ユーザ管ç†ç”»é¢ã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’作æˆã—ãŸæ™‚ã«ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼åã¨ãƒ‘スワードを記載ã—ãŸãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®ãƒ¡ãƒ¼ãƒ«ã®å†…容ã¯å¤‰æ›´ã§ãã¾ã™
    å‚考: 下記ã®å·®ã—è¾¼ã¿æ–‡å­—列ã¯é€ä¿¡æ™‚ã«è‡ªå‹•çš„ã«ç½®ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚

    [+sname+] - サイトã®åå‰,
    [+saddr+] - サイト管ç†è€…ã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹,
    [+surl+] - サイトã®URL,
    [+uid+] - ユーザーã®ãƒ­ã‚°ã‚¤ãƒ³å,
    [+pwd+] - ユーザーã®ãƒ‘スワード,
    [+ufn+] - ユーザーã®ãƒ•ルãƒãƒ¼ãƒ . '; +$_lang["signupemail_message"] = 'ユーザ管ç†ç”»é¢ã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’作æˆã—ãŸæ™‚ã«ã€ãƒ­ã‚°ã‚¤ãƒ³åã¨ãƒ‘スワードを記載ã—ãŸãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®ãƒ¡ãƒ¼ãƒ«ã®å†…容ã¯å¤‰æ›´ã§ãã¾ã™
    å‚考: 下記ã®å·®ã—è¾¼ã¿æ–‡å­—列ã¯é€ä¿¡æ™‚ã«è‡ªå‹•çš„ã«ç½®ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚

    [+sname+] - サイトã®åå‰
    [+saddr+] - サイト管ç†è€…ã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹
    [+surl+] - サイトã®URL
    [+uid+] - ログインå
    [+pwd+] - パスワード
    [+ufn+] - フルãƒãƒ¼ãƒ  '; $_lang["signupemail_title"] = 'サインアップメール '; $_lang["site"] = 'メイン'; $_lang["site_schedule"] = '公開状態ã®ä¸€è¦§'; $_lang["sitename_message"] = 'サイトåを入力ã—ã¦ãã ã•ã„。titleè¦ç´ ãªã©ã§ [*pagetitle*] ãªã©ã¨çµ„ã¿åˆã‚ã›ã¦ç”¨ã„ã¾ã™ã€‚
    コンフィグ変数: [(site_name)]'; $_lang["sitename_title"] = 'サイトå '; -$_lang["sitestart_message"] = 'トップページã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã®IDを入力ã—ã¦ãã ã•ã„。
    注æ„: æ—¢ã«å­˜åœ¨ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã®IDを入力ã—ã¦ãã ã•ã„。リソースã¯å…¬é–‹ã•れã¦ã„ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚'; +$_lang["sitestart_message"] = 'トップページã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã®IDを入力ã—ã¦ãã ã•ã„。
    ※éžå…¬é–‹ã®ãƒªã‚½ãƒ¼ã‚¹ã¯æŒ‡å®šã§ãã¾ã›ã‚“。'; $_lang["sitestart_title"] = 'サイトスタート '; $_lang["sitestatus_message"] = 'ã“ã®ã‚µã‚¤ãƒˆã‚’ウェブ上ã«å…¬é–‹ã™ã‚‹ã«ã¯ã€Œã‚ªãƒ³ãƒ©ã‚¤ãƒ³ã€ã‚’é¸æŠžã—ã¦ãã ã•ã„。「メンテナンスモードã€ã‚’é¸æŠžã™ã‚‹ã¨ã€è¨ªå•者ã«ã¯ã€Œãƒ¡ãƒ³ãƒ†ãƒŠãƒ³ã‚¹ä¸­ãƒšãƒ¼ã‚¸ã€ã¾ãŸã¯ã€Œãƒ¡ãƒ³ãƒ†ãƒŠãƒ³ã‚¹ä¸­ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã€ãŒè¡¨ç¤ºã•れã¾ã™ã€‚'; $_lang["sitestatus_title"] = '公開ステータス '; -$_lang["siteunavailable_message"] = 'サイトãŒãƒ¡ãƒ³ãƒ†ãƒŠãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ä¸­ã€ã¾ãŸã¯ã‚¨ãƒ©ãƒ¼ç™ºç”Ÿæ™‚ã«è¡¨ç¤ºã™ã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã§ã™ã€‚
    コンフィグ変数:[(site_unavailable_message)]
    注æ„: ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯ãƒ¡ãƒ³ãƒ†ãƒŠãƒ³ã‚¹ä¸­ãƒšãƒ¼ã‚¸ãŒè¨­å®šã•れã¦ã„ãªã„ã¨ãã®ã¿è¡¨ç¤ºã•れã¾ã™ã€‚'; +$_lang["siteunavailable_message"] = 'サイトãŒãƒ¡ãƒ³ãƒ†ãƒŠãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ä¸­ã€ã¾ãŸã¯ã‚¨ãƒ©ãƒ¼ç™ºç”Ÿæ™‚ã«è¡¨ç¤ºã™ã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã§ã™ã€‚
    コンフィグ変数:[(site_unavailable_message)]
    ※ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯ãƒ¡ãƒ³ãƒ†ãƒŠãƒ³ã‚¹ä¸­ãƒšãƒ¼ã‚¸ãŒè¨­å®šã•れã¦ã„ãªã„ã¨ãã®ã¿è¡¨ç¤ºã•れã¾ã™ã€‚'; $_lang["siteunavailable_message_default"] = 'ãŸã ã„ã¾èª¿æ•´ä¸­ã§ã™ã€‚ã—ã°ã‚‰ããŠå¾…ã¡ãã ã•ã„。'; -$_lang["siteunavailable_page_message"] = 'メンテナンスモード設定時ã«è¡¨ç¤ºã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã®IDã‚’ã“ã“ã«å…¥åŠ›ã—ã¦ãã ã•ã„。
    注æ„: æ—¢ã«å­˜åœ¨ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã®IDを入力ã—ã¦ãã ã•ã„。リソースã¯å…¬é–‹ã•れã¦ã„ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚'; +$_lang["siteunavailable_page_message"] = 'メンテナンスモード設定時ã«è¡¨ç¤ºã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã®IDã‚’ã“ã“ã«å…¥åŠ›ã—ã¦ãã ã•ã„。
    ※éžå…¬é–‹ã¾ãŸã¯ã‚¦ã‚§ãƒ–ユーザé™å®šã®ãƒªã‚½ãƒ¼ã‚¹ã¯æŒ‡å®šã§ãã¾ã›ã‚“。'; $_lang["siteunavailable_page_title"] = 'メンテナンス中ページ '; $_lang["siteunavailable_title"] = 'メンテナンス中メッセージ '; $_lang["snippet"] = 'スニペット'; $_lang["snippet_code"] = 'スニペット コード (php)'; $_lang["snippet_desc"] = '説明'; $_lang["snippet_execonsave"] = 'ä¿å­˜å¾Œã«ã‚¹ãƒ‹ãƒšãƒƒãƒˆã‚’実行'; -$_lang["snippet_management_msg"] = '

    スニペットã®ç®¡ç†

    編集ã—ãŸã„ã‚¹ãƒ‹ãƒšãƒƒãƒˆã‚’é¸æŠžã—ã¦ãã ã•ã„。

    '; -$_lang["snippet_msg"] = 'スニペットを追加・編集ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚スニペットã¯ã€Œç”Ÿã®ã€PHPコードã§ã™ã€‚スニペットã®å‡ºåŠ›ã‚’ãƒ†ãƒ³ãƒ—ãƒ¬ãƒ¼ãƒˆã®ç‰¹å®šã®å ´æ‰€ã«è¡¨ç¤ºã—ãŸã„å ´åˆã¯ã€ãƒ†ãƒ³ãƒ—レート内ã«ã‚¹ãƒ‹ãƒšãƒƒãƒˆåを記述ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ - 基本的ã«ã€ã‚¹ãƒ‹ãƒšãƒƒãƒˆã®ã‚¢ã‚¦ãƒˆãƒ—ットã¯ã‚¹ãƒ‹ãƒšãƒƒãƒˆè‡ªèº«ã¨åŒã˜åå‰ã§ä¿å­˜ã•れãŸå¤‰æ•°ã‚’å¿…è¦ã¨ã—ã¾ã™ã€‚'; +$_lang["snippet_management_msg"] = '

    スニペットã®ç®¡ç†

    スニペットã¯ä¸»ã«ãƒªã‚½ãƒ¼ã‚¹ã‚„テンプレートã‹ã‚‰å‘¼ã³å‡ºã™ã“ã¨ã‚’想定ã—ãŸç°¡æ˜“ã®æ©Ÿèƒ½æ‹¡å¼µã§ã™ã€‚リソースã¾ãŸã¯ãƒ†ãƒ³ãƒ—レート内ã®ä»»æ„ã®å ´æ‰€ã« [[スニペットå]] ã¾ãŸã¯ [!スニペットå!] (キャッシュ無効)ã¨è¨˜è¿°ã™ã‚‹ã ã‘ã§æ‰‹è»½ã«å‘¼ã³å‡ºã›ã¾ã™ã€‚詳ã—ãã¯ãƒ˜ãƒ«ãƒ—ã‚’ã”覧ãã ã•ã„。

    '; +$_lang["snippet_msg"] = '

    スニペットåã«ã¯æ—¥æœ¬èªžã‚’用ã„ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚å…ˆé ­ã¨æœ«å°¾ã®ã€Œ<?phpã€ã€Œ?>ã€ã¯å¿…é ˆã§ã™ã€‚çœç•¥ã—ãŸå ´åˆã¯è‡ªå‹•çš„ã«è¿½åŠ ã•れã¾ã™ã€‚スニペットã®ä½œã‚Šæ–¹ã«ã¤ã„ã¦ã¯ãƒ˜ãƒ«ãƒ—ã®ã€ŒTutorialã€ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

    '; $_lang["snippet_name"] = 'スニペットå'; $_lang["snippet_properties"] = '既定ã®ãƒ—ロパティ'; $_lang["snippet_title"] = 'スニペットã®ä½œæˆ/編集'; @@ -902,14 +903,14 @@ $_lang["stay"] = 'ä¿å­˜å¾Œã«ç¶šã‘ã¦ç·¨é›†'; $_lang["stay_new"] = '次ã®ä½œæˆ'; $_lang["submit"] = '実行'; -$_lang["sunday"] = '日曜'; +$_lang["sunday"] = 'æ—¥'; $_lang["sys_alert"] = 'システム警告'; -$_lang["sysinfo_activity_message"] = '最近ã©ã®ãƒªã‚½ãƒ¼ã‚¹ãŒæœ€è¿‘ユーザーã«ã‚ˆã£ã¦ç·¨é›†ã•れãŸã‹ã‚’表示ã—ã¾ã™ã€‚'; +$_lang["sysinfo_activity_message"] = '最近編集ã•れãŸãƒªã‚½ãƒ¼ã‚¹ã®ä¸€è¦§'; $_lang["sysinfo_userid"] = 'ユーザー'; -$_lang["system_email_signup"] = "ã“ã‚“ã«ã¡ã¯ [+uid+] ã•ã‚“\n\n「[+sname+] ([+surl+])ã€ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒˆç®¡ç†ã‚·ã‚¹ãƒ†ãƒ ã¸ã®ãƒ­ã‚°ã‚¤ãƒ³æƒ…å ±ã«ã¤ã„ã¦ä¸‹è¨˜ã®ã¨ãŠã‚ŠãŠçŸ¥ã‚‰ã›ã—ã¾ã™ã€‚\n\nログインユーザーå: [+uid+]\nパスワード: [+pwd+]\n\nコンテント管ç†ã‚·ã‚¹ãƒ†ãƒ ã¸ãƒ­ã‚°ã‚¤ãƒ³ã™ã‚Œã°ã€è‡ªåˆ†ã®ãƒ‘スワードã¯è‡ªç”±ã«å¤‰æ›´ã§ãã¾ã™ã€‚\n\n以上ã€ã‚ˆã‚ã—ããŠé¡˜ã„ã—ã¾ã™ã€‚\nサイト管ç†è€…より"; -$_lang["system_email_webreminder"] = "ã“ã‚“ã«ã¡ã¯ [+uid+] ã•ã‚“\n\næ–°ã—ã„パスワードを有効ã«ã™ã‚‹ãŸã‚ã«ã¯ã€ä¸‹è¨˜ã®ãƒªãƒ³ã‚¯ã‚’クリックã—ã¦ãã ã•ã„。\n\n[+surl+]\n\n処ç†å®Œäº†å¾Œã€ä¸‹è¨˜ã®ãƒ‘スワードをログインã«ä½¿ç”¨ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚\n\nパスワード:[+pwd+]\n\nã“ã®ãƒ¡ãƒ¼ãƒ«ã«è¦šãˆãŒç„¡ã„ã¨ãã¯ç„¡è¦–ã—ã¦ä¸‹ã•ã„。\n\n以上ã€ã‚ˆã‚ã—ããŠé¡˜ã„ã—ã¾ã™ã€‚\nサイト管ç†è€…より"; -$_lang["system_email_websignup"] = "ã“ã‚“ã«ã¡ã¯ [+uid+] ã•ã‚“\n\n「[+sname+] ([+surl+])ã€ã¸ã®ãƒ­ã‚°ã‚¤ãƒ³æƒ…å ±ã«ã¤ã„ã¦ä¸‹è¨˜ã®ã¨ãŠã‚ŠãŠçŸ¥ã‚‰ã›ã—ã¾ã™ã€‚\n\nログインユーザーå: [+uid+]\nパスワード: [+pwd+]\n\n [+sname+]ã¸ãƒ­ã‚°ã‚¤ãƒ³ã™ã‚Œã°ã€è‡ªåˆ†ã®ãƒ‘スワードã¯è‡ªç”±ã«å¤‰æ›´ã§ãã¾ã™ã€‚\n\n以上ã€ã‚ˆã‚ã—ããŠé¡˜ã„ã—ã¾ã™ã€‚\nサイト管ç†è€…より"; -$_lang["table_hoverinfo"] = 'テーブルåã«ãƒžã‚¦ã‚¹ã‚«ãƒ¼ã‚½ãƒ«ã‚’é‡ã­ã‚‹ã¨ç°¡å˜ãªèª¬æ˜Žæ–‡ã‚’表示ã—ã¾ã™ï¼ˆä¸€éƒ¨ã®ãƒ†ãƒ¼ãƒ–ルã®ã¿ï¼‰ã€‚'; +$_lang["system_email_signup"] = "ã“ã‚“ã«ã¡ã¯ [+uid+] ã•ã‚“\n\n「[+sname+] ( [+surl+] )ã€ã®ç®¡ç†ç”»é¢ã¸ã®ãƒ­ã‚°ã‚¤ãƒ³æƒ…å ±ã«ã¤ã„ã¦ä¸‹è¨˜ã®ã¨ãŠã‚ŠãŠçŸ¥ã‚‰ã›ã—ã¾ã™ã€‚\n\nログインå: [+uid+]\nパスワード: [+pwd+]\n\n管ç†ç”»é¢ã«ãƒ­ã‚°ã‚¤ãƒ³ã™ã‚Œã°ã€ãƒ‘スワードを自由ã«å¤‰æ›´ã§ãã¾ã™ã€‚\n\n以上ã€ã‚ˆã‚ã—ããŠé¡˜ã„ã—ã¾ã™ã€‚\nサイト管ç†è€…より"; +$_lang["system_email_webreminder"] = "ã“ã‚“ã«ã¡ã¯ [+uid+] ã•ã‚“\n\nパスワードを有効ã«ã™ã‚‹ãŸã‚ã«ã¯ã€ä¸‹è¨˜ã®ãƒªãƒ³ã‚¯ã‚’クリックã—ã¦ãã ã•ã„。\n\n[+surl+]\n\n処ç†å®Œäº†å¾Œã€ä¸‹è¨˜ã®ãƒ‘スワードをログインã«ä½¿ç”¨ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚\n\nパスワード:[+pwd+]\n\nã“ã®ãƒ¡ãƒ¼ãƒ«ã«è¦šãˆãŒç„¡ã„ã¨ãã¯ç„¡è¦–ã—ã¦ä¸‹ã•ã„。\n\n以上ã€ã‚ˆã‚ã—ããŠé¡˜ã„ã—ã¾ã™ã€‚\nサイト管ç†è€…より"; +$_lang["system_email_websignup"] = "ã“ã‚“ã«ã¡ã¯ [+uid+] ã•ã‚“\n\n「[+sname+] ([+surl+])ã€ã¸ã®ãƒ­ã‚°ã‚¤ãƒ³æƒ…å ±ã«ã¤ã„ã¦ä¸‹è¨˜ã®ã¨ãŠã‚ŠãŠçŸ¥ã‚‰ã›ã—ã¾ã™ã€‚\n\nログインå: [+uid+]\nパスワード: [+pwd+]\n\n [+sname+]ã¸ãƒ­ã‚°ã‚¤ãƒ³ã™ã‚Œã°ã€è‡ªåˆ†ã®ãƒ‘スワードã¯è‡ªç”±ã«å¤‰æ›´ã§ãã¾ã™ã€‚\n\n以上ã€ã‚ˆã‚ã—ããŠé¡˜ã„ã—ã¾ã™ã€‚\nサイト管ç†è€…より"; +$_lang["table_hoverinfo"] = 'ã“ã“ã§å–å¾—ã—ãŸSQLファイルを用ã„ã¦ã€ã‚µã‚¤ãƒˆã‚’リストアã§ãã¾ã™ã€‚phpMyAdminãªã©ã‚’用ã„ã¦SQLファイルをインãƒãƒ¼ãƒˆã—ã¾ã™ã€‚「DROP文を生æˆã€ã«ãƒã‚§ãƒƒã‚¯ã‚’入れã¦ãŠãã¨ã€ã‚¤ãƒ³ãƒãƒ¼ãƒˆæ™‚ã«ãƒ†ãƒ¼ãƒ–ルを作り直ã™ãŸã‚ã€ã‚ˆã‚Šç¢ºå®Ÿã«ã‚µã‚¤ãƒˆã‚’å†ç¾ã§ãã¾ã™ã€‚
    ã€æ³¨æ„1】SQLファイルã®ã‚µã‚¤ã‚ºãŒå¤§ãéŽãŽã‚‹ã¨ãƒªã‚¹ãƒˆã‚¢(インãƒãƒ¼ãƒˆ)ã«å¤±æ•—ã—ã‚„ã™ããªã‚‹ãŸã‚ã”æ³¨æ„ãã ã•ã„。特ã«_event_logテーブルã¨_manager_logテーブルãŒè‚¥å¤§ã®åŽŸå› ã«ãªã£ã¦ã„ã‚‹ã“ã¨ãŒå¤šã„ã§ã™ã€‚「データサイズã€ã®ãƒªãƒ³ã‚¯ã‚’クリックã—ã¦ãƒ­ã‚°ã‚’リセットã™ã‚‹ã‹ã€ã“れら2ã¤ã®ãƒ†ãƒ¼ãƒ–ルをãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—対象ã‹ã‚‰å¤–ã™ã¨ã‚ˆã„ã§ã—ょã†ã€‚ãれã§ã‚‚ã¾ã å¤§ãã„å ´åˆã¯BigDumpãªã©ã®ãƒ„ールを試ã—ã¦ã¿ã¦ãã ã•ã„。
    ã€æ³¨æ„2】 データをリストアã™ã‚‹æ™‚ã€ãƒªã‚¹ãƒˆã‚¢å…ƒã¨ãƒªã‚¹ãƒˆã‚¢å…ˆã®MODxã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒé•ã†å ´åˆã¯æ³¨æ„ãŒå¿…è¦ã§ã™ã€‚リストアã™ã‚‹ã¨ã€æ‹¡å¼µæ©Ÿèƒ½ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚‚å…ƒã®çŠ¶æ…‹ã«æˆ»ã‚Šã¾ã™ã€‚å•題を回é¿ã™ã‚‹ã«ã¯ã€MODxã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’æƒãˆã¦ãƒªã‚¹ãƒˆã‚¢ã™ã‚‹ã‹ã€ãƒªã‚¹ãƒˆã‚¢å¾Œã«ã‚‚ã†ä¸€åº¦MODxをインストーラを用ã„ã¦æœ€æ–°çŠ¶æ…‹ã«ã‚¢ãƒƒãƒ—デートã™ã‚‹ã¨ã‚ˆã„ã§ã—ょã†ã€‚'; $_lang["table_prefix"] = 'テーブル接頭辞'; $_lang["tag"] = 'ã‚¿ã‚°'; $_lang["template"] = 'テンプレート'; @@ -917,38 +918,38 @@ $_lang["template_code"] = 'テンプレート コード (html)'; $_lang["template_desc"] = '説明'; $_lang["template_edit_tab"] = 'テンプレートã®ç·¨é›†'; -$_lang["template_management_msg"] = '

    テンプレートデザインã®ç®¡ç†

    テンプレートã¯ã„ãã¤ã§ã‚‚作æˆã§ãã€ãƒªã‚½ãƒ¼ã‚¹ã”ã¨ã«è‡ªç”±ã«å‰²ã‚Šå½“ã¦ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

    '; -$_lang["template_msg"] = 'テンプレートを作æˆ/編集ã§ãã¾ã™ã€‚作æˆãƒ»å¤‰æ›´ã•れãŸãƒ†ãƒ³ãƒ—レートã¯ã€ã‚­ãƒ£ãƒƒã‚·ãƒ¥ãŒã‚¯ãƒªã‚¢ã•れるã¾ã§è¦‹ã‚Œãªã„ã‹ã‚‚ã—れã¾ã›ã‚“。ã—ã‹ã—ã€ãƒ—レビュー機能を使用ã—ã¦ãƒ†ãƒ³ãƒ—レートã®å‹•作を確èªã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚'; +$_lang["template_management_msg"] = '

    テンプレートデザインã®ç®¡ç†

    テンプレートã¯ã„ãã¤ã§ã‚‚作æˆã§ãã€å„ページ(リソース)ã”ã¨ã«è‡ªç”±ã«å‰²ã‚Šå½“ã¦ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã‚«ãƒƒã‚³å†…ã®æ•°å­—ã¯ãƒ†ãƒ³ãƒ—レートIDã§ã™ã€‚

    '; +$_lang["template_msg"] = 'テンプレートを作æˆ/編集ã—ã¾ã™ã€‚通常ã®htmlã«åŸ‹ã‚込む独自タグã¨ã—ã¦ã€ãƒ†ãƒ³ãƒ—レート変数(リソース変数å«ã‚€)・コンフィグ変数・リンクタグ・スニペット・ãƒãƒ£ãƒ³ã‚¯ãƒ»ãƒ™ãƒ³ãƒãƒžãƒ¼ã‚¯ã‚¿ã‚°ãªã©ã‚’記述ã§ãã¾ã™ã€‚詳ã—ãã¯ãƒ˜ãƒ«ãƒ—ã‚’å‚ç…§ã—ã¦ãã ã•ã„。'; $_lang["template_name"] = 'テンプレートå'; $_lang["template_no_tv"] = 'テンプレート変数ã¯å®šç¾©ã•れã¦ã„ã¾ã›ã‚“。'; $_lang["template_reset_all"] = 'å…¨ã¦ã®ãƒªã‚½ãƒ¼ã‚¹ã«é©ç”¨ã™ã‚‹'; $_lang["template_reset_specific"] = '「%sã€ãƒ†ãƒ³ãƒ—レートを使用ã—ã¦ã„るリソースã«é©ç”¨ã™ã‚‹'; $_lang["template_title"] = 'テンプレートã®ä½œæˆ/編集'; $_lang["template_tv_edit"] = 'テンプレート変数ã®é †åºã‚’æ›¸ãæ›ãˆã‚‹'; -$_lang["template_tv_edit_message"] = 'ãƒ†ãƒ³ãƒ—ãƒ¬ãƒ¼ãƒˆå¤‰æ•°ã‚’ä¸¦ã¹æ›¿ãˆã‚‹ãŸã‚マウスã§ãƒ‰ãƒ©ãƒƒã‚°ã™ã‚‹'; +$_lang["template_tv_edit_message"] = '投稿画é¢ä¸Šã®å…¥åŠ›ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰(テンプレート変数)ã®é †åºã‚’ä¸¦ã¹æ›¿ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚マウスæ“作ã§ä¸Šä¸‹ã«ãƒ‰ãƒ©ãƒƒã‚°ã—ã€æœ€å¾Œã«ã€Œä¿å­˜ã€ã‚’クリックã—ã¦ãã ã•ã„。'; $_lang["template_tv_edit_title"] = 'テンプレート変数ã®ã‚½ãƒ¼ãƒˆé †'; $_lang["template_tv_msg"] = 'ã“ã®ãƒ†ãƒ³ãƒ—レートã«å®šç¾©ã•れã¦ã„るテンプレート変数ã¯ä¸‹è¨˜ã®ãƒªã‚¹ãƒˆã®ã¨ãŠã‚Šã§ã™ã€‚'; -$_lang["thursday"] = '木曜'; +$_lang["thursday"] = '木'; $_lang["tmplvar_access_msg"] = 'ã“ã®å¤‰æ•°ã«å¯¾ã—ã¦å†…容や値ã®å¤‰æ›´ã‚’許å¯ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—ã‚’é¸æŠžã—ã¦ãã ã•ã„。'; $_lang["tmplvar_change_template_msg"] = 'ã“ã®ãƒ†ãƒ³ãƒ—レートを変更ã™ã‚‹ã¨ã€ã“ã®ãƒšãƒ¼ã‚¸ã®ãƒ†ãƒ³ãƒ—レート変数をリロードã—ã¾ã™ã€‚ä¿å­˜ã—ã¦ã„ãªã„変更ã¯å¤±ã‚れã¾ã™ã€‚'; -$_lang["tmplvar_inuse"] = '下記ã®ãƒªã‚½ãƒ¼ã‚¹ã¯ã“ã®ãƒ†ãƒ³ãƒ—レート変数をç¾åœ¨ä½¿ç”¨ã—ã¦ã„ã¾ã™ã€‚削除処ç†ã‚’ç¶šã‘ã‚‹ã«ã¯ã€Œå‰Šé™¤ã€ãƒœã‚¿ãƒ³ã‚’ã€ã‚„ã‚ã‚‹ã¨ãã¯ã€Œã‚­ãƒ£ãƒ³ã‚»ãƒ«ã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¦ãã ã•ã„。'; +$_lang["tmplvar_inuse"] = 'ã“ã®ãƒ†ãƒ³ãƒ—レート変数ã¯ä¸‹è¨˜ã®ãƒ†ãƒ³ãƒ—レートã§ä½¿ã‚れã¦ã„ã¾ã™ã€‚「削除ã€ã¾ãŸã¯ã€Œã‚­ãƒ£ãƒ³ã‚»ãƒ«ã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¦ãã ã•ã„。'; $_lang["tmplvar_tmpl_access"] = 'テンプレートã¨ã®é–¢é€£ä»˜ã‘'; $_lang["tmplvar_tmpl_access_msg"] = 'ã“ã®ãƒ†ãƒ³ãƒ—レート変数を関連付ã‘ã‚‹ãƒ†ãƒ³ãƒ—ãƒ¬ãƒ¼ãƒˆã‚’é¸æŠžã—ã¦ãã ã•ã„。'; $_lang["tmplvars"] = 'テンプレート変数'; $_lang["tmplvars_binding_msg"] = 'ã“ã®ãƒ•ィールドã¯ã‚¢ãƒƒãƒˆãƒã‚¤ãƒ³ãƒ‡ã‚£ãƒ³ã‚°ã‚’使ã£ã¦å„種ã®ãƒ‡ãƒ¼ã‚¿ã‚½ãƒ¼ã‚¹ã‹ã‚‰å€¤ã‚’代入ã§ãã¾ã™ã€‚'; -$_lang["tmplvars_caption"] = '見出ã—'; +$_lang["tmplvars_caption"] = '見出ã—(入力フィールドå)'; $_lang["tmplvars_default"] = '既定値'; $_lang["tmplvars_description"] = '説明'; -$_lang["tmplvars_elements"] = '入力時ã®ã‚ªãƒ—ション値'; -$_lang["tmplvars_management_msg"] = '

    テンプレート変数ã®ç®¡ç†

    リソース変数を追加・管ç†ã§ãã¾ã™ã€‚ã“れã¯ã€Œãƒ†ãƒ³ãƒ—レート変数ã€ã¨å‘¼ã°ã‚Œã‚‹ã‚‚ã®ã§ã€ä¸€èˆ¬çš„ãªCMSã§è¨€ã†ã¨ã“ã‚ã®ã‚«ã‚¹ã‚¿ãƒ ãƒ•ィールドã«ç›¸å½“ã—ã¾ã™ã€‚「タイトルã€ã‚„「内容ã€ãªã©ã®æ—¢å®šã®é …ç›®ã«åŠ ãˆã€è‡ªç”±ã«é …目を追加ã§ãã¾ã™ã€‚

    '; -$_lang["tmplvars_msg"] = 'テンプレート変数を作æˆãƒ»ç·¨é›†ã—ã¾ã™ã€‚ã“ã®ãƒ†ãƒ³ãƒ—レート変数を使用ã™ã‚‹ãƒ†ãƒ³ãƒ—レートを「テンプレートã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã€ã§é–¢é€£ä»˜ã‘ã¦ãã ã•ã„。'; +$_lang["tmplvars_elements"] = '入力時ã®ã‚ªãƒ—ション
    é¸æŠžè‚¢A||é¸æŠžè‚¢B ã¾ãŸã¯
    é¸æŠžè‚¢åA==値A||é¸æŠžè‚¢åB==値B
    ã®ã‚ˆã†ã«åŒºåˆ‡ã£ã¦æ›¸ãã¾ã™ã€‚'; +$_lang["tmplvars_management_msg"] = '

    テンプレート変数ã®ç®¡ç†

    一般的ãªCMSã§ã„ã†ã¨ã“ã‚ã®ã‚«ã‚¹ã‚¿ãƒ ãƒ•ィールドã«ç›¸å½“ã™ã‚‹ã‚‚ã®ã§ã€MODxã¯ã“ã®æ©Ÿèƒ½ãŒéžå¸¸ã«æŸ”軟・強力ã§ã™ã€‚「タイトルã€ã‚„「内容ã€ãªã©ã®æ—¢å®šã®é …ç›®ã«åŠ ãˆã€æŠ•稿画é¢ä¸Šã«è‡ªç”±ã«é …目を追加ã§ãã¾ã™ã€‚テンプレート内ã®ä»»æ„ã®å ´æ‰€ã« [*テンプレート変数å*] ã¨è¨˜è¿°ã™ã‚‹ã¨å€¤ã‚’出力ã§ãã¾ã™ã€‚詳ã—ãã¯ãƒ˜ãƒ«ãƒ—ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

    '; +$_lang["tmplvars_msg"] = 'テンプレート変数åŠã³å…¥åŠ›ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’è¨­å®šã—ã¾ã™ã€‚テンプレート変数åã«ã¯æ—¥æœ¬èªžã‚’用ã„ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®ãƒ†ãƒ³ãƒ—レート変数を使用ã™ã‚‹ãƒ†ãƒ³ãƒ—レートを「テンプレートã¨ã®é–¢é€£ä»˜ã‘ã€ã§é–¢é€£ä»˜ã‘ãªã„ã¨ä½¿ç”¨ã§ããªã„ãŸã‚ã”æ³¨æ„ãã ã•ã„。
    入力タイプ「Listboxã€ã‚„「CheckBoxã€ã¯ã€Œå…¥åŠ›æ™‚ã®ã‚ªãƒ—ションã€ã‚’設定ã§ãã¾ã™ã€‚'; $_lang["tmplvars_name"] = '変数å'; $_lang["tmplvars_novars"] = 'テンプレート変数ã¯ã‚りã¾ã›ã‚“。'; $_lang["tmplvars_rank"] = 'ä¸¦ã¹æ›¿ãˆé †'; $_lang["tmplvars_reset_params"] = 'パラメータã®ãƒªã‚»ãƒƒãƒˆ'; $_lang["tmplvars_title"] = 'テンプレート変数を編集'; $_lang["tmplvars_type"] = '入力タイプ'; -$_lang["tmplvars_widget"] = 'ウィジェット'; +$_lang["tmplvars_widget"] = 'ウィジェット(出力フィルタ)'; $_lang["tmplvars_widget_prop"] = 'ウィジェットã®ãƒ—ロパティ'; $_lang["to"] = '-'; $_lang["tools"] = 'ツール'; @@ -960,29 +961,29 @@ $_lang["tree_page_click"] = 'サイトツリークリック時ã®å‹•作'; $_lang["tree_page_click_message"] = 'サイトツリーを左クリックã—ãŸæ™‚ã®æ—¢å®šã®å‹•作を設定ã—ã¾ã™ã€‚'; $_lang["tree_show_protected"] = '権é™ã®ãªã„リソースã®è¡¨ç¤º'; -$_lang["tree_show_protected_message"] = 'ログインã—ã¦ã„ã‚‹ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒæ“作権é™ã‚’æŒãŸãªã„リソースも全ã¦ã‚µã‚¤ãƒˆãƒ„リーã«è¡¨ç¤ºã—ã¾ã™ã€‚Windowsフォルダオプションã®ã€Œå…¨ã¦ã®ãƒ•ァイルã¨ãƒ•ォルダを表示ã™ã‚‹ã€ã«ä¼¼ã¦ã„ã¾ã™ã€‚権é™ã®è¨­å®šã¯ã€Œç®¡ç†ç”»é¢ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹è¨±å¯ã€ã§è¡Œãªã„ã¾ã™ã€‚'; +$_lang["tree_show_protected_message"] = 'ログインã—ã¦ã„ã‚‹ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒæ“作権é™ã‚’æŒãŸãªã„リソースも全ã¦ã‚µã‚¤ãƒˆãƒ„リーã«è¡¨ç¤ºã—ã¾ã™ã€‚Windowsフォルダオプションã®ã€Œå…¨ã¦ã®ãƒ•ァイルã¨ãƒ•ォルダを表示ã™ã‚‹ã€ã«ä¼¼ã¦ã„ã¾ã™ã€‚権é™ã®è¨­å®šã¯ã€Œã‚°ãƒ«ãƒ¼ãƒ—管ç†ã€ã§è¡Œãªã„ã¾ã™ã€‚'; $_lang["truncate_table"] = 'ã“ã®ãƒ†ãƒ¼ãƒ–ルã®å†…容を全削除ã™ã‚‹ã«ã¯ã“ã“をクリック'; -$_lang["tuesday"] = 'ç«æ›œ'; +$_lang["tuesday"] = 'ç«'; $_lang["tv"] = 'テンプレート変数'; $_lang["type"] = 'タイプ'; $_lang["udperms_allowroot_message"] = 'サイトツリーã®ãƒ«ãƒ¼ãƒˆç›´ä¸‹ã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒãƒªã‚½ãƒ¼ã‚¹ã‚’作æˆã§ãるよã†ã«ã—ã¾ã™ã‹? '; $_lang["udperms_allowroot_title"] = 'ルートã®ä½¿ç”¨è¨±å¯ '; -$_lang["udperms_message"] = 'アクセス権é™è¨­å®šã‚’有効ã«ã™ã‚‹ã¨ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ç·¨é›†æ¨©é™ã‚’ユーザーグループã”ã¨ãƒ»ãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—ã”ã¨ã«å‰²ã‚Šå½“ã¦ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã¾ãšç®¡ç†ç”»é¢ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹è¨±å¯ã‚’é–‹ãã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚°ãƒ«ãƒ¼ãƒ—ã¨ãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—を作ã£ã¦ãã ã•ã„。次ã«ã€ãれãžã‚Œã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚°ãƒ«ãƒ¼ãƒ—ã¨ãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—を関連付ã‘ã¦ãã ã•ã„。最後ã«ã€å€‹åˆ¥ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’ユーザーグループã«ã€å€‹åˆ¥ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’リソースグループã«å‰²ã‚Šå½“ã¦ã¦ãã ã•ã„。ã“ã®è¨­å®šã‚’「ã¯ã„ã€ã«ã—ãŸå ´åˆã€å…¨ã¦ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’編集ã™ã‚‹æ¨©é™ã‚’æŒã¤ã®ã¯åˆæœŸçŠ¶æ…‹ã§ã¯ç®¡ç†è€…ã®ã¿ã¨ãªã‚Šã¾ã™ã€‚'; -$_lang["udperms_title"] = 'アクセス権é™è¨­å®šã®ä½¿ç”¨ '; +$_lang["udperms_message"] = '会員制サイトをé‹ç”¨ã™ã‚‹å ´åˆã‚„ã€ç·¨é›†æ¨©é™ã‚’æŒã¤ãƒšãƒ¼ã‚¸ã‚’グループå˜ä½ã§åˆ¶é™ã—ãŸã„å ´åˆã«å¿…è¦ã¨ãªã‚‹è¨­å®šã§ã™ã€‚ã‚°ãƒ«ãƒ¼ãƒ—ç®¡ç†æ©Ÿèƒ½ã‚’有効ã«ã™ã‚‹ã¨ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ç·¨é›†æ¨©é™ã‚’ユーザーグループã”ã¨ãƒ»ãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—ã”ã¨ã«å‰²ã‚Šå½“ã¦ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã¾ãšå½“設定を有効ã«ã—ãŸã†ãˆã§ã‚°ãƒ«ãƒ¼ãƒ—管ç†ã‚’é–‹ãã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚°ãƒ«ãƒ¼ãƒ—ã¨ãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—を作ã£ã¦ãã ã•ã„。次ã«ã€ãれãžã‚Œã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚°ãƒ«ãƒ¼ãƒ—ã¨ãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—を関連付ã‘ã¦ãã ã•ã„。最後ã«ã€å€‹åˆ¥ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’ユーザーグループã«ã€å€‹åˆ¥ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’リソースグループã«å‰²ã‚Šå½“ã¦ã¦ãã ã•ã„。ã“ã®è¨­å®šã‚’「ã¯ã„ã€ã«ã—ãŸå ´åˆã€å…¨ã¦ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’編集ã™ã‚‹æ¨©é™ã‚’æŒã¤ã®ã¯åˆæœŸçŠ¶æ…‹ã§ã¯Administrator(ã®ãƒ­ãƒ¼ãƒ«ãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¦ã„るユーザ)ã®ã¿ã¨ãªã‚Šã¾ã™ã€‚'; +$_lang["udperms_title"] = 'ã‚°ãƒ«ãƒ¼ãƒ—ç®¡ç†æ©Ÿèƒ½ã‚’使用ã™ã‚‹ '; $_lang["unable_set_link"] = 'リンクを設定ã§ãã¾ã›ã‚“。'; $_lang["unable_set_parent"] = 'æ–°ã—ã„親リソースを設定ã§ãã¾ã›ã‚“。'; -$_lang["unauthorizedpage_message"] = 'ユーザーãŒã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã•れã¦ã„ãªã„ãƒªã‚½ãƒ¼ã‚¹ã‚’è¦æ±‚ã—ãŸã¨ã表示ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã®IDを入力ã—ã¦ãã ã•ã„。
    注æ„: æ—¢ã«å­˜åœ¨ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã®IDを入力ã—ã¦ãã ã•ã„。リソースã¯å…¬é–‹ã•れã¦ã„ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ã¾ãŸã€Publicãªã‚¢ã‚¯ã‚»ã‚¹ãŒå¯èƒ½ã§ã‚ã‚‹ã‚‚ã®ã«é™ã‚Šã¾ã™ã€‚'; +$_lang["unauthorizedpage_message"] = 'ユーザーãŒã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã•れã¦ã„ãªã„ãƒªã‚½ãƒ¼ã‚¹ã‚’è¦æ±‚ã—ãŸã¨ã表示ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã®IDを入力ã—ã¦ãã ã•ã„。
    ※éžå…¬é–‹ã¾ãŸã¯ã‚¦ã‚§ãƒ–ユーザé™å®šã®ãƒªã‚½ãƒ¼ã‚¹ã¯æŒ‡å®šã§ãã¾ã›ã‚“。'; $_lang["unauthorizedpage_title"] = '権é™å¤–告知ã®ãƒšãƒ¼ã‚¸ '; -$_lang["unblock_message"] = 'ユーザーデータをä¿å­˜ã—ãŸå¾Œã€ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ã‚¢ã‚¯ã‚»ã‚¹æ‹’å¦ã¯è§£é™¤ã•れã¾ã™ã€‚'; +$_lang["unblock_message"] = 'ユーザーデータをä¿å­˜ã—ãŸå¾Œã€ã“ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®ä¼‘止設定ã¯è§£é™¤ã•れã¾ã™ã€‚'; $_lang["undelete_resource"] = '削除ã‹ã‚‰å¾©æ´»'; $_lang["unpublish_date"] = '公開終了日時'; -$_lang["unpublish_events"] = 'éžå…¬é–‹ã‚’予約ã—ã¦ã„るリソース一覧'; +$_lang["unpublish_events"] = '公開å–り消ã—を予定ã—ã¦ã„るリソースã®ä¸€è¦§'; $_lang["unpublish_resource"] = 'éžå…¬é–‹ã«ã™ã‚‹'; $_lang["untitled_resource"] = 'タイトルãŒã‚りã¾ã›ã‚“'; $_lang["untitled_weblink"] = 'タイトルãŒã‚りã¾ã›ã‚“'; $_lang["update_params"] = 'ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿è¡¨ç¤ºã®æ›´æ–°'; $_lang["update_settings_from_language"] = 'ç½®ãæ›ãˆ '; -$_lang["upload_maxsize_message"] = '管ç†ç”»é¢ã‚’通ã˜ã¦ã‚¢ãƒƒãƒ—ロードå¯èƒ½ãªãƒ•ã‚¡ã‚¤ãƒ«ã®æœ€å¤§ã‚µã‚¤ã‚ºã‚’入力ã—ã¦ãã ã•ã„。サイズã¯ãƒã‚¤ãƒˆå˜ä½ã§å…¥åŠ›ã—ã¾ã™ã€‚
    注æ„: サーãƒå´ã§è¨­ã‘られã¦ã„る上é™ã‚µã‚¤ã‚ºã‚’è¶…ãˆã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。'; +$_lang["upload_maxsize_message"] = '管ç†ç”»é¢ã‚’通ã˜ã¦ã‚¢ãƒƒãƒ—ロードå¯èƒ½ãªãƒ•ã‚¡ã‚¤ãƒ«ã®æœ€å¤§ã‚µã‚¤ã‚ºã‚’入力ã—ã¦ãã ã•ã„。サイズã¯ãƒã‚¤ãƒˆå˜ä½ã§å…¥åŠ›ã—ã¾ã™ã€‚
    ※サーãƒå´ã§è¨­ã‘られã¦ã„る上é™ã‚µã‚¤ã‚ºã‚’è¶…ãˆã‚‹è¨­å®šã¯ã§ãã¾ã›ã‚“。'; $_lang["upload_maxsize_title"] = 'アップロードサイズã®ä¸Šé™'; $_lang["uploadable_files_message"] = 'ファイル管ç†ç”»é¢ã§ã‚¢ãƒƒãƒ—ロードã§ãã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚¿ã‚¤ãƒ—ã®æ‹¡å¼µå­ã‚’入力ã—ã¦ãã ã•ã„。カンマã§åŒºåˆ‡ã£ã¦è¤‡æ•°æŒ‡å®šã§ãã¾ã™ã€‚ã“ã®è¨­å®šã¯ãƒ•ァイルブラウザもå‚ç…§ã—ã¾ã™ã€‚'; $_lang["uploadable_files_title"] = 'アップロードå¯èƒ½ãªãƒ•ァイルタイプ '; @@ -992,29 +993,29 @@ $_lang["uploadable_images_title"] = 'アップロードå¯èƒ½ãªç”»åƒã‚¿ã‚¤ãƒ— '; $_lang["uploadable_media_message"] = 'ファイルブラウザを使用ã—ã¦ã€Œassets/media/ ã€ã«ã‚¢ãƒƒãƒ—ロードã§ãã‚‹ãƒ¡ãƒ‡ã‚£ã‚¢ãƒ•ã‚¡ã‚¤ãƒ«ã®æ‹¡å¼µå­ã‚’入力ã—ã¦ãã ã•ã„。カンマã§åŒºåˆ‡ã£ã¦è¤‡æ•°å…¥åŠ›ã§ãã¾ã™ã€‚'; $_lang["uploadable_media_title"] = 'アップロードå¯èƒ½ãªãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ— '; -$_lang["use_alias_path_message"] = 'ã“ã®ã‚ªãƒ—ションを「ã¯ã„ã€ã«è¨­å®šã™ã‚‹ã¨ã€ãƒªã‚½ãƒ¼ã‚¹ã®ã‚¨ã‚¤ãƒªã‚¢ã‚¹ãŒãƒ‘スã¨ã—ã¦è¡¨ç¤ºã•れã¾ã™ã€‚例ãˆã°ã€ã€Œchildã€ã¨ã„ã†ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã‚’æŒã£ãŸãƒªã‚½ãƒ¼ã‚¹ã€Œparentã€ã¨ã„ã†ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã®ãƒªã‚½ãƒ¼ã‚¹ã®ä¸‹ã«é…ç½®ã•れã¦ã„ã‚‹ã¨ã€ã‚¨ã‚¤ãƒªã‚¢ã‚¹ãƒ‘スã¯ã€Œ/parent/child.htmlã€ã«ãªã‚Šã¾ã™ã€‚
    注æ„: ã“ã®ã‚ªãƒ—ションを「ã¯ã„ã€ã«ã™ã‚‹ã¨ãã€ã¤ã¾ã‚Šã‚¨ã‚¤ãƒªã‚¢ã‚¹ãƒ‘スを使用ã™ã‚‹ã¨ãã¯ã€ãƒªã‚½ãƒ¼ã‚¹ã‹ã‚‰å‚ç…§ã™ã‚‹ã‚‚ã®ã¯ï¼ˆç”»åƒãƒ»CSS・JavaScriptãªã©ï¼‰çµ¶å¯¾ãƒ‘ã‚¹ã§æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚例ãˆã°ã€assets/imagesã«å¯¾ã—ã¦ã¯/assets/imagesã¨æŒ‡å®šã—ã¾ã™ã€‚ã¾ãŸã¯ã€baseタグを利用ã™ã‚‹ã¨ã€ç›¸å¯¾ãƒ‘ス記述ã§ã‚‚æ­£ã—ãå‚ç…§ã§ãã¾ã™ã€‚'; +$_lang["use_alias_path_message"] = 'ã“ã®ã‚ªãƒ—ションを「ã¯ã„ã€ã«è¨­å®šã™ã‚‹ã¨ã€ãƒªã‚½ãƒ¼ã‚¹ã®ã‚¨ã‚¤ãƒªã‚¢ã‚¹ãŒãƒ‘スã¨ã—ã¦è¡¨ç¤ºã•れã¾ã™ã€‚例ãˆã°ã€ã€Œchildã€ã¨ã„ã†ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã‚’æŒã£ãŸãƒªã‚½ãƒ¼ã‚¹ã€Œparentã€ã¨ã„ã†ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã®ãƒªã‚½ãƒ¼ã‚¹ã®ä¸‹ã«é…ç½®ã•れã¦ã„ã‚‹ã¨ã€ã‚¨ã‚¤ãƒªã‚¢ã‚¹ãƒ‘スã¯ã€Œ/parent/child.htmlã€ã«ãªã‚Šã¾ã™ã€‚
    注æ„: ã“ã®ã‚ªãƒ—ションを「ã¯ã„ã€ã«ã—ã¦ã‚¨ã‚¤ãƒªã‚¢ã‚¹ãƒ‘スを使用ã™ã‚‹ã¨ãã¯ã€ãƒªã‚½ãƒ¼ã‚¹ã‹ã‚‰å‚ç…§ã™ã‚‹ã‚‚ã®ã¯ï¼ˆç”»åƒãƒ»CSS・JavaScriptãªã©ï¼‰çµ¶å¯¾ãƒ‘ã‚¹ã§æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚例ãˆã°ã€assets/imagesã«å¯¾ã—ã¦ã¯/assets/imagesã¨æŒ‡å®šã—ã¾ã™ã€‚ã¾ãŸã¯ã€baseタグを利用ã™ã‚‹ã¨ã€ç›¸å¯¾ãƒ‘ス記述ã§ã‚‚æ­£ã—ãå‚ç…§ã§ãã¾ã™ã€‚'; $_lang["use_alias_path_title"] = 'エイリアスパスを使用 '; $_lang["use_editor_message"] = 'リッãƒãƒ†ã‚­ã‚¹ãƒˆã‚¨ãƒ‡ã‚£ã‚¿ãƒ¼(RTE)ã®ä½¿ç”¨ã‚’設定ã—ã¾ã™ã€‚「ã„ã„ãˆã€ã‚’é¸æŠžã™ã‚‹ã¨RTEを利用ã§ããªããªã‚Šã¾ã™ã€‚ã“ã®è¨­å®šã¯å…¨ã¦ã®ãƒªã‚½ãƒ¼ã‚¹ãƒ»å…¨ã¦ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«å½±éŸ¿ã—ã¾ã™ã€‚'; $_lang["use_editor_title"] = 'リッãƒãƒ†ã‚­ã‚¹ãƒˆã‚¨ãƒ‡ã‚£ã‚¿ãƒ¼ã®ä½¿ç”¨ '; $_lang["user"] = 'ユーザー'; -$_lang["user_block"] = 'アクセス拒å¦'; -$_lang["user_blockedafter"] = 'ã“ã®æ—¥ã‹ã‚‰æ‹’å¦'; -$_lang["user_blockeduntil"] = 'ã“ã®æ—¥ã¾ã§æ‹’å¦'; +$_lang["user_block"] = '休止中'; +$_lang["user_blockedafter"] = 'ã“ã®æ—¥ã‹ã‚‰ä¼‘æ­¢'; +$_lang["user_blockeduntil"] = 'ã“ã®æ—¥ã¾ã§ä¼‘æ­¢'; $_lang["user_changeddata"] = 'ユーザー情報ãŒå¤‰æ›´ã•れã¾ã—ãŸã€‚ã‚‚ã†ä¸€åº¦ãƒ­ã‚°ã‚¤ãƒ³ã—ç›´ã—ã¦ãã ã•ã„。'; $_lang["user_country"] = '国'; $_lang["user_dob"] = '誕生日'; $_lang["user_doesnt_exist"] = 'ユーザー登録ãŒã‚りã¾ã›ã‚“'; -$_lang["user_edit_self_msg"] = 'ユーザー情報を変更ã—ãŸå ´åˆã¯ã€å¤‰æ›´ã‚’åæ˜ ã•ã›ã‚‹ãŸã‚ã«ãƒ­ã‚°ã‚¢ã‚¦ãƒˆã—ã¦å†åº¦ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ãã ã•ã„。
    æ–°ã—ã„パスワードã®ä½œæˆã‚’ãƒã‚§ãƒƒã‚¯ã—ãŸå ´åˆã€æ–°ã—ã„パスワードãŒãƒ¡ãƒ¼ãƒ«é€ä¿¡ã•れã¾ã™ã€‚
    '; +$_lang["user_edit_self_msg"] = 'ユーザー情報を変更ã—ãŸå ´åˆã¯ã€å¤‰æ›´ã‚’管ç†ç”»é¢ã«å映ã•ã›ã‚‹ãŸã‚ã«ã„ã£ãŸã‚“ログアウトã—ã¦ãã ã•ã„。'; $_lang["user_email"] = 'メールアドレス'; $_lang["user_failedlogincount"] = 'ログイン失敗'; $_lang["user_fax"] = 'Fax'; $_lang["user_female"] = '女性'; $_lang["user_full_name"] = 'フルãƒãƒ¼ãƒ '; $_lang["user_gender"] = '性別'; -$_lang["user_is_blocked"] = 'ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯ã‚¢ã‚¯ã‚»ã‚¹æ‹’å¦ã•れã¦ã„ã¾ã™ã€‚'; +$_lang["user_is_blocked"] = 'ã“ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¯ä¼‘止状態ã«ãªã£ã¦ã„ã¾ã™ã€‚'; $_lang["user_logincount"] = 'ログイン回数'; $_lang["user_male"] = '男性'; -$_lang["user_management_msg"] = '管ç†ç”»é¢ã«ãƒ­ã‚°ã‚¤ãƒ³ã§ãã‚‹ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®æƒ…報を編集ã—ã¾ã™ã€‚'; +$_lang["user_management_msg"] = '管ç†ç”»é¢ã®æ“作を行ãªã†ãƒ¦ãƒ¼ã‚¶ã‚’ã“ã“ã§ä½œæˆãƒ»ç®¡ç†ã—ã¾ã™ã€‚ロール管ç†ã¨ã‚°ãƒ«ãƒ¼ãƒ—管ç†ã‚’併用ã—ã€ã‚¢ã‚¯ã‚»ã‚¹æ¨©é™ã‚’ç´°ã‹ã管ç†ã§ãã¾ã™ã€‚'; $_lang["user_management_title"] = 'ユーザー管ç†'; $_lang["user_mobile"] = 'æºå¸¯é›»è©±'; $_lang["user_phone"] = '電話番å·'; @@ -1027,12 +1028,11 @@ $_lang["user_upload_message"] = ' ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«å¯¾ã—ã¦ã“ã®ã‚«ãƒ†ã‚´ãƒªãƒ¼ã«å«ã¾ã‚Œã‚‹ãƒ•ァイルタイプã®ã‚¢ãƒƒãƒ—ロードをç¦ã˜ãŸã„å ´åˆã€ã€Œã‚°ãƒ­ãƒ¼ãƒãƒ«è¨­å®šã‚’使用ã€ã‚’ãƒã‚§ãƒƒã‚¯ã›ãšã€ã“ã®ãƒ•ィールドを空白ã«ã—ã¦ãŠã„ã¦ãã ã•ã„。'; $_lang["user_use_config"] = 'グローãƒãƒ«è¨­å®šã‚’使用'; $_lang["user_zip"] = '郵便番å·'; -$_lang["username"] = 'ユーザーå'; -$_lang["users"] = 'ユーザー'; +$_lang["username"] = 'ログインå'; +$_lang["users"] = '権é™ç®¡ç†'; $_lang["validate_referer_message"] = '「ã¯ã„ã€ã‚’é¸æŠžã™ã‚‹ã¨ã€ãƒªãƒ•ァラãƒã‚§ãƒƒã‚¯(å‚ç…§å…ƒãƒã‚§ãƒƒã‚¯)を行ã„ã€ä¸æ­£ãªå‚ç…§å…ƒã‹ã‚‰ã®URLã«ã‚ˆã‚‹è¦æ±‚ã‚’æ‹’å¦ã—ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€ç®¡ç†ç”»é¢ã«ãƒ­ã‚°ã‚¤ãƒ³ä¸­ã«æ„図ã—ãªã„動作をã•ã›ã‚‰ã‚Œã¦ã—ã¾ã†è„…å¨ (CSRF=Cross Site Request Forgery)ã‚’ã‚る程度軽減ã§ãã¾ã™ã€‚ãŸã ã—リファラã¯å½è£…ãŒå¯èƒ½ãªãŸã‚注æ„ãŒå¿…è¦ã§ã™ã€‚よりよã„回é¿ç­–ãŒå®Ÿè£…ã•れるã¾ã§ã¯ã€ç®¡ç†ç”»é¢ã«ãƒ­ã‚°ã‚¤ãƒ³ä¸­ã¯ã€ä¸ç”¨æ„ã«å¤–部リンクをクリックã—ãªã„・ã“ã¾ã‚ã«ãƒ­ã‚°ã‚¢ã‚¦ãƒˆã‚’ã™ã‚‹ãªã©ç¿’æ…£ã¥ã‘ã¦ãã ã•ã„。'; $_lang["validate_referer_title"] = '管ç†ç”»é¢æ“作ã®ãƒªãƒ•ァラãƒã‚§ãƒƒã‚¯'; $_lang["value"] = '値'; -$_lang["version_codename"] = 'コードãƒãƒ¼ãƒ '; $_lang["view"] = 'ã“ã“をクリック'; $_lang["view_child_resources_in_container"] = 'サブリソースを表示'; $_lang["view_log"] = 'ログを見る'; @@ -1040,36 +1040,36 @@ $_lang["view_sysinfo"] = 'システム情報'; $_lang["warning"] = '警告 '; $_lang["warning_not_saved"] = '変更ãŒä¿å­˜ã•れã¦ã„ã¾ã›ã‚“。変更をä¿å­˜ã™ã‚‹ãŸã‚ã«ã¯ã€Œã‚­ãƒ£ãƒ³ã‚»ãƒ«ã€ã‚’クリックã—ç¾åœ¨ã®ãƒšãƒ¼ã‚¸ã«æˆ»ã£ã¦ãã ã•ã„。ã¾ãŸã€ã€ŒOKã€ã‚’クリックã—ã¦å…¨ã¦ã®å¤‰æ›´ã‚’破棄ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚'; -$_lang["warning_visibility"] = 'Configuration Warnings visible to'; -$_lang["warning_visibility_message"] = 'Control the visibility of the configuration warnings shown on the Manager welcome page'; -$_lang["web_access_permissions"] = 'サイト上ã®ã‚¢ã‚¯ã‚»ã‚¹è¨±å¯'; +$_lang["warning_visibility"] = 'ダッシュボードã®è­¦å‘Šè¡¨ç¤º'; +$_lang["warning_visibility_message"] = 'ダッシュボードã®è­¦å‘Šã‚’表示ã™ã‚‹å¯¾è±¡ãƒ­ãƒ¼ãƒ«ã‚’設定ã—ã¾ã™ã€‚'; +$_lang["web_access_permissions"] = 'グループ管ç†(ウェブ)'; $_lang["web_access_permissions_user_groups"] = 'ウェブユーザーグループ'; -$_lang["web_permissions"] = 'サイト上ã®ã‚¢ã‚¯ã‚»ã‚¹è¨±å¯'; -$_lang["web_user_management_msg"] = '編集ã—ãŸã„ã‚¦ã‚§ãƒ–ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’é¸æŠžã—ã¾ã™ã€‚ウェブユーザーã¯ã‚¦ã‚§ãƒ–サイトã«ã®ã¿ãƒ­ã‚°ã‚¤ãƒ³ã§ãるユーザーをæ„味ã—ã¾ã™ã€‚'; -$_lang["web_user_management_title"] = 'ウェブユーザー'; +$_lang["web_permissions"] = 'グループ管ç†(ウェブ)'; +$_lang["web_user_management_msg"] = '会員制サイトをé‹ç”¨ã™ã‚‹å ´åˆã€ã“ã“ã§ãƒ¦ãƒ¼ã‚¶ã‚’作æˆãƒ»ç®¡ç†ã—ã¾ã™ã€‚グループ管ç†(ウェブ)ã®è¨­å®šã‚’併用ã—ã€ã‚¢ã‚¯ã‚»ã‚¹å¯¾è±¡ã‚’設定ã—ã¦ãã ã•ã„ã€‚ã‚°ãƒ«ãƒ¼ãƒ—ç®¡ç†æ©Ÿèƒ½ã‚’用ã„ãšãƒ­ã‚°ã‚¤ãƒ³çŠ¶æ…‹ã®ã¿æä¾›ã™ã‚‹ã‚·ãƒ³ãƒ—ルãªé‹ç”¨ã‚‚å¯èƒ½ã§ã™ã€‚
    ※ã“ã“ã§ç®¡ç†ã™ã‚‹ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¯ç®¡ç†ç”»é¢ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹æ¨©é™ã¯æŒã¡ã¾ã›ã‚“。'; +$_lang["web_user_management_title"] = 'ウェブユーザー管ç†'; $_lang["web_user_title"] = 'ウェブユーザーã®ä½œæˆï½¥ç·¨é›†'; -$_lang["web_users"] = 'ウェブユーザー'; +$_lang["web_users"] = 'ウェブユーザー管ç†'; $_lang["weblink"] = 'ウェブリンク'; $_lang["weblink_message"] = 'ウェブリンクã¯ã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆä¸Šã®ã‚ªãƒ–ジェクトã«å¯¾ã™ã‚‹å‚ç…§ã§ã™ã€‚オブジェクトã¯ã€MODx内ã®ãƒªã‚½ãƒ¼ã‚¹(IDã§æŒ‡å®š)・他ã®ã‚µã‚¤ãƒˆã®ãƒšãƒ¼ã‚¸ã‚„ç”»åƒãƒ»ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆä¸Šã®ä»–ã®ãƒ•ァイル(URLã§æŒ‡å®š)ã§ã™ã€‚

    '; -$_lang["webpwdreminder_message"] = 'ウェブユーザーã‹ã‚‰ãƒ‘スワード変更ã®è¦æ±‚ãŒã‚ã£ãŸæ™‚ã«ã€MODxã¯æ–°ãƒ‘スワードã¨ã‚¢ã‚¯ãƒ†ã‚£ãƒ™ãƒ¼ã‚·ãƒ§ãƒ³æ–¹æ³•を記載ã—ãŸãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®ãƒ¡ãƒ¼ãƒ«ã®å†…容ã¯å¤‰æ›´ã§ãã¾ã™ã€‚
    å‚考: 下記ã®å·®ã—è¾¼ã¿æ–‡å­—列ã¯é€ä¿¡æ™‚ã«è‡ªå‹•çš„ã«ç½®ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚

    [+sname+] - サイトã®åå‰,
    [+saddr+] - サイト管ç†è€…ã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹,
    [+surl+] - サイトã®URL,
    [+uid+] - ユーザーã®ãƒ­ã‚°ã‚¤ãƒ³å,
    [+pwd+] - ユーザーã®ãƒ‘スワード,
    [+ufn+] - ユーザーã®ãƒ•ルãƒãƒ¼ãƒ . '; +$_lang["webpwdreminder_message"] = 'ウェブユーザーã‹ã‚‰ãƒ‘スワード変更ã®è¦æ±‚ãŒã‚ã£ãŸæ™‚ã«ã€MODxã¯æ–°ãƒ‘スワードã¨ã‚¢ã‚¯ãƒ†ã‚£ãƒ™ãƒ¼ã‚·ãƒ§ãƒ³æ–¹æ³•を記載ã—ãŸãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®ãƒ¡ãƒ¼ãƒ«ã®å†…容ã¯å¤‰æ›´ã§ãã¾ã™ã€‚
    å‚考: 下記ã®å·®ã—è¾¼ã¿æ–‡å­—列ã¯é€ä¿¡æ™‚ã«è‡ªå‹•çš„ã«ç½®ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚

    [+sname+] - サイトã®åå‰
    [+saddr+] - サイト管ç†è€…ã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹
    [+surl+] - サイトã®URL
    [+uid+] - ログインå
    [+pwd+] - パスワード
    [+ufn+] - フルãƒãƒ¼ãƒ '; $_lang["webpwdreminder_title"] = 'パスワード変更
    リクエストメール '; -$_lang["websignupemail_message"] = 'ユーザー自らãŒã‚¦ã‚§ãƒ–ユーザーアカウントを作æˆã—ãŸæ™‚ã«ã€MODxã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼åã¨ãƒ‘スワードを記載ã—ãŸãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®ãƒ¡ãƒ¼ãƒ«ã®å†…容ã¯å¤‰æ›´ã§ãã¾ã™ã€‚
    å‚考: 下記ã®å·®ã—è¾¼ã¿æ–‡å­—列ã¯é€ä¿¡æ™‚ã«è‡ªå‹•çš„ã«ç½®ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚

    [+sname+] - サイトã®åå‰,
    [+saddr+] - サイト管ç†è€…ã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹,
    [+surl+] - サイトã®URL,
    [+uid+] - ユーザーã®ãƒ­ã‚°ã‚¤ãƒ³å,
    [+pwd+] - ユーザーã®ãƒ‘スワード,
    [+ufn+] - ユーザーã®ãƒ•ルãƒãƒ¼ãƒ . '; +$_lang["websignupemail_message"] = 'ユーザー自らãŒã‚¦ã‚§ãƒ–ユーザーアカウントを作æˆã—ãŸæ™‚ã«ã€MODxã¯ãƒ­ã‚°ã‚¤ãƒ³åã¨ãƒ‘スワードを記載ã—ãŸãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®ãƒ¡ãƒ¼ãƒ«ã®å†…容ã¯å¤‰æ›´ã§ãã¾ã™ã€‚
    å‚考: 下記ã®å·®ã—è¾¼ã¿æ–‡å­—列ã¯é€ä¿¡æ™‚ã«è‡ªå‹•çš„ã«ç½®ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚

    [+sname+] - サイトã®åå‰
    [+saddr+] - サイト管ç†è€…ã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹
    [+surl+] - サイトã®URL
    [+uid+] - ログインå
    [+pwd+] - パスワード
    [+ufn+] - フルãƒãƒ¼ãƒ '; $_lang["websignupemail_title"] = 'ウェブサインアップメール '; -$_lang["wednesday"] = '水曜'; +$_lang["wednesday"] = 'æ°´'; $_lang["welcome_messages"] = 'å—信トレイ㫠%d ä»¶ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒå…¥ã£ã¦ã„ã¾ã™ã€‚%s ä»¶ãŒæœªèª­ã§ã™ã€‚'; $_lang["welcome_title"] = 'MODxã¸ã‚ˆã†ã“ã'; -$_lang["which_editor_message"] = '使用ã™ã‚‹ãƒªãƒƒãƒãƒ†ã‚­ã‚¹ãƒˆã‚¨ãƒ‡ã‚£ã‚¿ãƒ¼ã‚’é¸æŠžã—ã¦ãã ã•ã„(※MODxã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ãƒšãƒ¼ã‚¸ã«ã¯è¿½åŠ ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§ãるリッãƒãƒ†ã‚­ã‚¹ãƒˆã‚¨ãƒ‡ã‚£ã‚¿ãƒ¼ãŒã‚りã¾ã™)。'; +$_lang["which_editor_message"] = 'デフォルトã§ä½¿ç”¨ã™ã‚‹ãƒªãƒƒãƒãƒ†ã‚­ã‚¹ãƒˆã‚¨ãƒ‡ã‚£ã‚¿ãƒ¼ã‚’é¸æŠžã—ã¦ãã ã•ã„(※MODxã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ãƒšãƒ¼ã‚¸ã«ã¯è¿½åŠ ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§ãるリッãƒãƒ†ã‚­ã‚¹ãƒˆã‚¨ãƒ‡ã‚£ã‚¿ãƒ¼ãŒã‚りã¾ã™)。'; $_lang["which_editor_title"] = '使用エディター '; -$_lang["working"] = '処ç†ä¸­ ...'; +$_lang["working"] = '処ç†ä¸­'; $_lang["wrap_lines"] = 'è¡Œã®æŠ˜ã‚Šè¿”ã—'; $_lang["xhtml_urls_message"] = '「ã¯ã„ã€ã‚’設定ã™ã‚‹ã¨ã€URLã«å«ã¾ã‚Œã‚‹ã‚¢ãƒ³ãƒ‘ーサンド (&) ã‚’è‡ªå‹•çš„ã«æ–‡å­—実態å‚ç…§ (&amp;) ã«ç½®ãæ›ãˆã¾ã™ã€‚'; $_lang["xhtml_urls_title"] = 'XHTMLå½¢å¼ã®URL'; $_lang["yes"] = 'ã¯ã„'; $_lang["you_got_mail"] = 'メッセージãŒå±Šã„ã¦ã„ã¾ã™ã€‚'; $_lang["yourinfo_message"] = '自分自身ã«é–¢ã™ã‚‹æƒ…報を表示ã—ã¦ã„ã¾ã™ '; -$_lang["yourinfo_previous_login"] = 'å‰å›žã®ãƒ­ã‚°ã‚¤ãƒ³æ—¥æ™‚㯠'; +$_lang["yourinfo_previous_login"] = 'å‰å›žã®ãƒ­ã‚°ã‚¤ãƒ³æ—¥æ™‚'; $_lang["yourinfo_role"] = '所属ロール(役割) '; $_lang["yourinfo_title"] = 'ã‚ãªãŸã®æƒ…å ±'; -$_lang["yourinfo_total_logins"] = 'åˆè¨ˆãƒ­ã‚°ã‚¤ãƒ³å›žæ•°ã¯ '; -$_lang["yourinfo_username"] = 'ログインå㯠'; +$_lang["yourinfo_total_logins"] = 'åˆè¨ˆãƒ­ã‚°ã‚¤ãƒ³å›žæ•° '; +$_lang["yourinfo_username"] = 'ログインå'; ?> \ No newline at end of file From 4c088fda3b99ed431b9e2dd5702e0cf20011f753 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:45:54 +0900 Subject: [PATCH 15/92] 855 Wayfinder Dynamic ids [+wf.alias+] possible(yama) --- assets/snippets/wayfinder/wayfinder.inc.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) mode change 100644 => 100755 assets/snippets/wayfinder/wayfinder.inc.php diff --git a/assets/snippets/wayfinder/wayfinder.inc.php b/assets/snippets/wayfinder/wayfinder.inc.php old mode 100644 new mode 100755 index 7b7564fee6..02302c94a7 --- a/assets/snippets/wayfinder/wayfinder.inc.php +++ b/assets/snippets/wayfinder/wayfinder.inc.php @@ -19,7 +19,7 @@ class Wayfinder { var $parentTree = array(); var $hasChildren = array(); var $placeHolders = array( - 'rowLevel' => array('[+wf.wrapper+]','[+wf.classes+]','[+wf.classnames+]','[+wf.link+]','[+wf.title+]','[+wf.linktext+]','[+wf.id+]','[+wf.attributes+]','[+wf.docid+]','[+wf.introtext+]','[+wf.description+]','[+wf.subitemcount+]'), + 'rowLevel' => array('[+wf.wrapper+]','[+wf.classes+]','[+wf.classnames+]','[+wf.link+]','[+wf.title+]','[+wf.linktext+]','[+wf.id+]','[+wf.alias+]','[+wf.attributes+]','[+wf.docid+]','[+wf.introtext+]','[+wf.description+]','[+wf.subitemcount+]'), 'wrapperLevel' => array('[+wf.wrapper+]','[+wf.classes+]','[+wf.classnames+]'), 'tvs' => array(), ); @@ -178,7 +178,7 @@ function renderRow(&$resource,$numChildren) { $useId = ''; } //Load row values into placholder array - $phArray = array($useSub,$useClass,$classNames,$resource['link'],$resource['title'],$resource['linktext'],$useId,$resource['link_attributes'],$resource['id'],$resource['introtext'],$resource['description'],$numChildren); + $phArray = array($useSub,$useClass,$classNames,$resource['link'],$resource['title'],$resource['linktext'],$useId,$resource['alias'],$resource['link_attributes'],$resource['id'],$resource['introtext'],$resource['description'],$numChildren); //If tvs are used add them to the placeholder array if (!empty($this->tvList)) { $usePlaceholders = array_merge($this->placeHolders['rowLevel'],$this->placeHolders['tvs']); From e8b494a14316491f9219c70695d90c660c58f656 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:47:26 +0900 Subject: [PATCH 16/92] 856 [hq][TinyMCE] For QuickManager(yama) --- install/assets/plugins/tinymce.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 install/assets/plugins/tinymce.tpl diff --git a/install/assets/plugins/tinymce.tpl b/install/assets/plugins/tinymce.tpl old mode 100644 new mode 100755 index cb6fc55982..328cb35bf1 --- a/install/assets/plugins/tinymce.tpl +++ b/install/assets/plugins/tinymce.tpl @@ -69,7 +69,7 @@ switch ($e->name) $params['use_browser'] = $modx->config['use_browser']; $params['editor_css_path'] = $modx->config['editor_css_path']; - if($modx->isBackend()) + if($modx->isBackend() || (intval($_GET['quickmanagertv']) == 1 && isset($_SESSION['mrgValidated']))) { $params['theme'] = $modx->config['tinymce_editor_theme']; $params['language'] = getTinyMCELang($modx->config['manager_language']); From 8fdfe083fcaa2e5ea4fd6e6aac88a23d29f09a36 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:48:19 +0900 Subject: [PATCH 17/92] 857 [hq] CSS of TinyMCE is made simple(yama) --- assets/plugins/tinymce/style/content.css | 60 +++++++++++++----------- 1 file changed, 33 insertions(+), 27 deletions(-) mode change 100644 => 100755 assets/plugins/tinymce/style/content.css diff --git a/assets/plugins/tinymce/style/content.css b/assets/plugins/tinymce/style/content.css old mode 100644 new mode 100755 index 7ac12e3bf9..82a65056b0 --- a/assets/plugins/tinymce/style/content.css +++ b/assets/plugins/tinymce/style/content.css @@ -1,70 +1,76 @@ @charset "UTF-8"; -.mceContentBody, -.mceContentBody td, -.mceContentBody th, -.mceContentBody pre { +/* body.mceContentBody {margin:8px;text-align:left;} */ + +body, +td, +th, +pre { /* font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ï¼­ï¼³ Pゴシック',sans-serif;*/ font-size : 12px; font-style : normal; } -.mceContentBody { +body { line-height : 1.5; color : #333333; background-color : #FFFFFF; background-attachment: fixed; - background-repeat:repeat-x !important; - background-image : url(textareabg.gif) !important; + background-repeat:repeat-x; + background-image : url(textareabg.gif); text-align : left; + margin:8px; } -.mceContentBody pre { +pre { color : #555555; } -.mceContentBody h1, -.mceContentBody h2, -.mceContentBody h3, -.mceContentBody h4, -.mceContentBody h5, -.mceContentBody h6 { +h1, +h2, +h3, +h4, +h5, +h6 { color : #111111; letter-spacing:1px; } -.mceContentBody h4, -.mceContentBody h5, -.mceContentBody h6 { +h4, +h5, +h6 { font-size : 12px; } -.mceContentBody ul { +ul { line-height : 1.5; margin : 0 0 0.5em 20px; padding : 0; } -.mceContentBody ol { +ol { line-height : 1.5; margin : 0 0 0.5em 18px; padding : 0; color : black; } -.mceContentBody ol li {margin-left:7px;} +ol li {margin-left:7px;} -.mceContentBody blockquote { +blockquote { padding-left : 7px; margin-left : 3px; background-color: #fcfcfc; } -.mceContentBody table {margin-bottom:8px;} -.mceContentBody td,th {padding:4px !important;} -.mceContentBody th {background-color:#fcfcfc;text-align:left;} +table {margin-bottom:8px;} +td,th {padding:4px} +th {background-color:#fcfcfc;text-align:left;} -.mceContentBody a:hover { +a:hover { color: #7fa2ff; } -.justifyleft {float:left; margin-right:10px;margin-bottom:5px;} -.justifyright {float:right; margin-left:10px;margin-bottom:5px;} + +.justifyleft {text-align:left;} +.justifyright {text-align:right;} +img.justifyleft {float:left; margin-right:10px;margin-bottom:5px;} +img.justifyright {float:right; margin-left:10px;margin-bottom:5px;} From a46570a784b3da6e1f05c2afdad2e33468c9a4b9 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:49:40 +0900 Subject: [PATCH 18/92] 858 [hq] Site tree style tune(yama) --- manager/frames/nodes.php | 9 ++++++++- .../MODxCarbon/images/tree/application_404.gif | Bin 0 -> 359 bytes .../MODxCarbon/images/tree/application_home.gif | Bin 0 -> 610 bytes .../images/tree/application_hourglass.gif | Bin 0 -> 601 bytes .../MODxCarbon/images/tree/application_info.gif | Bin 0 -> 1034 bytes manager/media/style/MODxCarbon/style.php | 4 ++++ 6 files changed, 12 insertions(+), 1 deletion(-) mode change 100644 => 100755 manager/frames/nodes.php create mode 100755 manager/media/style/MODxCarbon/images/tree/application_404.gif create mode 100755 manager/media/style/MODxCarbon/images/tree/application_home.gif create mode 100755 manager/media/style/MODxCarbon/images/tree/application_hourglass.gif create mode 100755 manager/media/style/MODxCarbon/images/tree/application_info.gif diff --git a/manager/frames/nodes.php b/manager/frames/nodes.php old mode 100644 new mode 100755 index 4dc5c0af6d..8ec8d810ca --- a/manager/frames/nodes.php +++ b/manager/frames/nodes.php @@ -159,7 +159,10 @@ function makeHTML($indent,$parent,$expandAll,$theme) { $icon = $icons[$contenttype]; } } - + if($id == $modx->config['site_start']) $icon = $_style["tree_page_home"]; + elseif($id == $modx->config['error_page']) $icon = $_style["tree_page_404"]; + elseif($id == $modx->config['site_unavailable_page']) $icon = $_style["tree_page_hourglass"]; + elseif($id == $modx->config['unauthorized_page']) $icon = $_style["tree_page_info"]; $output .= '

    '.$spacer.$pad.' '; $output .= ''.$pagetitleDisplay.$weblinkDisplay.' '.$pageIdDisplay.'
    '; } @@ -170,6 +173,10 @@ function makeHTML($indent,$parent,$expandAll,$theme) { if ($expandAll == 1) { array_push($opened2, $id); } + if($id == $modx->config['site_start']) $icon = $_style["tree_page_home"]; + elseif($id == $modx->config['error_page']) $icon = $_style["tree_page_404"]; + elseif($id == $modx->config['site_unavailable_page']) $icon = $_style["tree_page_hourglass"]; + elseif($id == $modx->config['unauthorized_page']) $icon = $_style["tree_page_info"]; $output .= '
    '.$spacer.'  '; $output .= ''.$pagetitleDisplay.$weblinkDisplay.' '.$pageIdDisplay.'
    '; makeHTML($indent+1,$id,$expandAll,$theme); diff --git a/manager/media/style/MODxCarbon/images/tree/application_404.gif b/manager/media/style/MODxCarbon/images/tree/application_404.gif new file mode 100755 index 0000000000000000000000000000000000000000..f9382a841a2500bed4cdb10f2c91c79f721a6023 GIT binary patch literal 359 zcmZ?wbhEHb6krfwxXQrr=kMR2Up{_&{p9oG8y{|+d3W)^iv!D_ZlAq+_qj*w`j&1w zdVgut{B;LstlEEPPTBMo`=%_}HF4qgn^Q9T7i{gFyJ^Clwb#01Tc@nN(iGS@VQFpm z!m7@B7b{&W+UAtC%sf|US=>0Spl)(*)r9QwzU+$L|Ns9pP!%ZtWMLIyP-V~onF{g~ z16#|1Nd+D{)7-k;m=E>1XiVuU2}x2|cSGk}P*BzW2R<(uHD;er^W|*Hn{NL4(*x!S z5nK%nZ457tF!ISW3$gGqu*=lQsR}Z%vdOcw2r+TDFes>slnTjnw(zlw$#Bn@l~z(# pQCg#zOPJCmAimHmZq?DAjoPvU)qLRu{x8o;HIy*900{};9dZhpW literal 0 HcmV?d00001 diff --git a/manager/media/style/MODxCarbon/images/tree/application_home.gif b/manager/media/style/MODxCarbon/images/tree/application_home.gif new file mode 100755 index 0000000000000000000000000000000000000000..27343e7a287cf311fe8a46e097c36f0c4a134eb0 GIT binary patch literal 610 zcmZ?wbhEHb6krfwc*el+=ik5IfB*ja`}fb^zdwKf`SI(|w_m@1egE|3$M0X?K7RWC z``g!VpT7S7^yT}P&+k8e{`&UIn>U|+y#Dz5<;R!r-o1VC=G)WPPwzedbneZm`wyPp zcy!~zy<2zh-Mw??&e5lbZvw%so7b;jzj^)2)oWL;p4xNe!qOa?#d| zBXhGRF5G@ZK?f$7TS!ij2p6x2=5YDy3549=~ZP*zo1Sy7o?-Z!_vJ-ec}tgOtx-K(agpt!hra-vOtjK%-| z{~5>yia%LcMHq4zbU+4x;)H>He?v}Fb4zPZvX-Htd5^WVgM;&=z61R*CXT5oHcKz-;d% z%`d{Mnw2fc9Fk+bPMb9>GnzSri;Fot$6=j5cYs|4b0izvi&xBYn%+`wM!^!65i=wh z+Rjd3be%DWQ#q|$Qr~??jp7NmlMEcf76m^J6tZw|3$aZ}3}*8bR`**Ju(N2Xx41!S PlGH5E&CeD%FjxZs9JC)H literal 0 HcmV?d00001 diff --git a/manager/media/style/MODxCarbon/images/tree/application_hourglass.gif b/manager/media/style/MODxCarbon/images/tree/application_hourglass.gif new file mode 100755 index 0000000000000000000000000000000000000000..9bebd58f31dc1a99eb50e5f6afe43fb9c8f6c3a2 GIT binary patch literal 601 zcmZ?wbhEHb6krfwc*el+|Ns9#fB$~}{r~r`Uq62S`1bS9kDoukfBW|3>(`fG|9<-T z@$u*Xk3Rl=_Wswyw?Dr;xpC*k*PAbX+<5Wh+VdY*pZ~b@;{T;5->*IX`0D=2iw{4a zeDwF!-H+$)ym^0h-^tq_PTc;o=g#kwx86Uzbn@1v(|fMG+jaTf%QI77o|wa&nmC6o0KwP&f3-~D;M-v9qDlIpD=A!Z(rktrQ13}_B6Y%Y7MLHURc#RucB>E zSwJ;X~mE4l(k{3u=m=i#U5uQbq9` zV`Q4!IRR;2J(+V+XOEaQAxJ9f(5VIdw%@t^TXF(oj7;*=-CIyPT$&j=HaSCkCyF!u=K!#h5PO= z*>`{8zI(Ix-=4Sk{_5T5*6g@GZ`a*fyY9{0bz|+;(=&J6ow?)Y)SY*x?6^8@+qFsC zE-&45bkf$_6ETH-@V~l$GYqN zYtDDAxjbXl{`R$(I@X+NTYYKzihWJ1uXLDQn5q33JxwFFM~gZ+FeSBi(a0WiPr~I`3%JoI|yDm+5 zvAwKiW^v=R*yhbXZ3hbKCMVTzjcD4MShqH^etlBy+Ps>HiM1>I>v!f>O~|g899yv_ zp>k<sXIB88kU%JT@q(x@ncYQE+1664MD>D@fS3EL>8+E^4Z# z({Q0+@pmGR7Y^{W30PP$GzK0LU|}fG5ahg&#L8))&vhcaLkvNLGQx@!HFG>a$X(+b8cQx^%G*SWVmZ-=y6ca%ZEee z;X!9VR%X5*F*}XY4#cZ5$k{jrs`M*6Mpt=EVt62+s?NYr)3HRwwMQaUt(W7irB4Qf o@IIEH5D%W#>)jf Date: Thu, 23 Dec 2010 04:50:53 +0900 Subject: [PATCH 19/92] 870 [hq] $modx->db->escape() refactoring(yama) --- .../extenders/dbapi.mysql.class.inc.php | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) mode change 100644 => 100755 manager/includes/extenders/dbapi.mysql.class.inc.php diff --git a/manager/includes/extenders/dbapi.mysql.class.inc.php b/manager/includes/extenders/dbapi.mysql.class.inc.php old mode 100644 new mode 100755 index d345240601..01ec64af4c --- a/manager/includes/extenders/dbapi.mysql.class.inc.php +++ b/manager/includes/extenders/dbapi.mysql.class.inc.php @@ -117,9 +117,34 @@ function disconnect() { } function escape($s) { - if (function_exists('mysql_real_escape_string') && $this->conn) { + if (empty($this->conn) || !is_resource($this->conn)) + { + $this->connect(); + } + $mysql_var = implode('.', array_map('intval', explode('.', mysql_get_server_info($this->conn)))); + $conn_charset = mysql_client_encoding($this->conn); + if ($mysql_var >= '5.0.7' && phpversion() >= '5.2.3') + { + mysql_set_charset($this->config['charset']); $s = mysql_real_escape_string($s, $this->conn); - } else { + } + elseif ($mysql_var >= '4.1.0') + { + sql_query('SET NAMES ' . $this->config['charset']); + $s = mysql_real_escape_string($s, $this->conn); + } + elseif ($this->config['charset']=='utf8' && $conn_charset=='ujis') + { + $s = mb_convert_encoding($s, 'eucjp-win', 'utf-8'); + $s = mysql_real_escape_string($s, $this->conn); + $s = mb_convert_encoding($s, 'utf-8', 'eucjp-win'); + } + elseif ($this->config['charset']=='utf8' && $conn_charset=='utf8') + { + $s = mysql_real_escape_string($s, $this->conn); + } + else + { $s = mysql_escape_string($s); } return $s; From 9e46d1cb017918d1772919db1c90af5277b585cb Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:51:44 +0900 Subject: [PATCH 20/92] 871 [hq] misstake r870(yama) --- manager/includes/extenders/dbapi.mysql.class.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager/includes/extenders/dbapi.mysql.class.inc.php b/manager/includes/extenders/dbapi.mysql.class.inc.php index 01ec64af4c..c8e6837a19 100755 --- a/manager/includes/extenders/dbapi.mysql.class.inc.php +++ b/manager/includes/extenders/dbapi.mysql.class.inc.php @@ -130,7 +130,7 @@ function escape($s) { } elseif ($mysql_var >= '4.1.0') { - sql_query('SET NAMES ' . $this->config['charset']); + $this->query('SET NAMES ' . $this->config['charset']); $s = mysql_real_escape_string($s, $this->conn); } elseif ($this->config['charset']=='utf8' && $conn_charset=='ujis') From 1b516af63f81451538c9e6e0374435154ea8c286 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:52:33 +0900 Subject: [PATCH 21/92] =?UTF-8?q?872=20=E5=95=8F=E9=A1=8C=E3=81=8C?= =?UTF-8?q?=E3=81=82=E3=81=A3=E3=81=9F=E3=81=9F=E3=82=81=E6=88=BB=E3=81=99?= =?UTF-8?q?(yama)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extenders/dbapi.mysql.class.inc.php | 29 ++----------------- 1 file changed, 2 insertions(+), 27 deletions(-) diff --git a/manager/includes/extenders/dbapi.mysql.class.inc.php b/manager/includes/extenders/dbapi.mysql.class.inc.php index c8e6837a19..d345240601 100755 --- a/manager/includes/extenders/dbapi.mysql.class.inc.php +++ b/manager/includes/extenders/dbapi.mysql.class.inc.php @@ -117,34 +117,9 @@ function disconnect() { } function escape($s) { - if (empty($this->conn) || !is_resource($this->conn)) - { - $this->connect(); - } - $mysql_var = implode('.', array_map('intval', explode('.', mysql_get_server_info($this->conn)))); - $conn_charset = mysql_client_encoding($this->conn); - if ($mysql_var >= '5.0.7' && phpversion() >= '5.2.3') - { - mysql_set_charset($this->config['charset']); + if (function_exists('mysql_real_escape_string') && $this->conn) { $s = mysql_real_escape_string($s, $this->conn); - } - elseif ($mysql_var >= '4.1.0') - { - $this->query('SET NAMES ' . $this->config['charset']); - $s = mysql_real_escape_string($s, $this->conn); - } - elseif ($this->config['charset']=='utf8' && $conn_charset=='ujis') - { - $s = mb_convert_encoding($s, 'eucjp-win', 'utf-8'); - $s = mysql_real_escape_string($s, $this->conn); - $s = mb_convert_encoding($s, 'utf-8', 'eucjp-win'); - } - elseif ($this->config['charset']=='utf8' && $conn_charset=='utf8') - { - $s = mysql_real_escape_string($s, $this->conn); - } - else - { + } else { $s = mysql_escape_string($s); } return $s; From c94c65e33b1269e96cc6f57a4bdea6859b864bf5 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:53:20 +0900 Subject: [PATCH 22/92] 873 [hq] $modx->db->escape() refactoring(yama) --- .../extenders/dbapi.mysql.class.inc.php | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/manager/includes/extenders/dbapi.mysql.class.inc.php b/manager/includes/extenders/dbapi.mysql.class.inc.php index d345240601..5968e25dae 100755 --- a/manager/includes/extenders/dbapi.mysql.class.inc.php +++ b/manager/includes/extenders/dbapi.mysql.class.inc.php @@ -117,9 +117,29 @@ function disconnect() { } function escape($s) { - if (function_exists('mysql_real_escape_string') && $this->conn) { + if ($this->isConnected!==true) + { + $this->connect(); + } + $mysql_var = implode('.', array_map('intval', explode('.', mysql_get_server_info($this->conn)))); + $conn_charset = mysql_client_encoding($this->conn); + if ($mysql_var >= '5.0.7' && function_exists('mysql_set_charset')) + { + mysql_set_charset($this->config['charset']); + $s = mysql_real_escape_string($s, $this->conn); + } + elseif ($this->config['charset']=='utf8' && $conn_charset=='utf8') + { $s = mysql_real_escape_string($s, $this->conn); - } else { + } + elseif ($this->config['charset']=='utf8' && $conn_charset=='ujis') + { + $s = mb_convert_encoding($s, 'eucjp-win', 'utf-8'); + $s = mysql_real_escape_string($s, $this->conn); + $s = mb_convert_encoding($s, 'utf-8', 'eucjp-win'); + } + else + { $s = mysql_escape_string($s); } return $s; From f767b722254b77d348d09c7cd4978ed4b2bea478 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:54:11 +0900 Subject: [PATCH 23/92] 874 [hq] The At mark can be used for the remember login name. (yama) --- manager/includes/accesscontrol.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager/includes/accesscontrol.inc.php b/manager/includes/accesscontrol.inc.php index e2bb45c836..de0d000bdc 100755 --- a/manager/includes/accesscontrol.inc.php +++ b/manager/includes/accesscontrol.inc.php @@ -95,7 +95,7 @@ } // login info - $uid = isset($_COOKIE['modx_remember_manager']) ? preg_replace('/[^a-zA-Z0-9\-_]*/', '', $_COOKIE['modx_remember_manager']) :''; + $uid = isset($_COOKIE['modx_remember_manager']) ? preg_replace('/[^a-zA-Z0-9\-_@\.]*/', '', $_COOKIE['modx_remember_manager']) :''; $modx->setPlaceholder('uid',$uid); $modx->setPlaceholder('username',$_lang["username"]); $modx->setPlaceholder('password',$_lang["password"]); From 05a1d050618890dfcd139517736902c597f4ffb1 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:55:00 +0900 Subject: [PATCH 24/92] 875 [hq] "document" -> "resource" in action list(yama) --- manager/includes/actionlist.inc.php | 34 ++++++++++++++--------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/manager/includes/actionlist.inc.php b/manager/includes/actionlist.inc.php index ea23126cc5..e5bc8b0d08 100755 --- a/manager/includes/actionlist.inc.php +++ b/manager/includes/actionlist.inc.php @@ -5,10 +5,10 @@ $GLOBALS['action_list'] = array( '1' => 'Loading a frame(set)', '2' => 'Viewing home page/ online users', - '3' => 'Viewing data for document', - '4' => 'Creating a document', - '5' => 'Saving document', - '6' => 'Deleting document', + '3' => 'Viewing data for resource', + '4' => 'Creating a resource', + '5' => 'Saving resource', + '6' => 'Deleting resource', '7' => 'Waiting while MODx cleans up', '8' => 'Logged out', '9' => 'Viewing help', @@ -29,7 +29,7 @@ '24' => 'Saving Snippet', '25' => 'Deleting Snippet', '26' => 'Refreshing site', - '27' => 'Editing document', + '27' => 'Editing resource', '28' => 'Changing password', '29' => 'Error', '30' => 'Saving settings', @@ -52,19 +52,19 @@ '48' => 'Editing Access Permissions', '49' => 'Editing Access Permissions', '50' => 'Editing Access Permissions', - '51' => 'Moving document', - '52' => 'Moved document', + '51' => 'Moving resource', + '52' => 'Moved resource', '53' => 'Viewing system info', '54' => 'Optimizing a table', '55' => 'Empty logs', - '56' => 'Refresh document tree', + '56' => 'Refresh resource tree', '57' => 'Refresh menu', '58' => 'Logged in', '59' => 'About MODx', '60' => 'Emptying Recycle Bin', - '61' => 'Publishing a document', - '62' => 'Un-publishing a document', - '63' => 'Un-deleting a document', + '61' => 'Publishing a resource', + '62' => 'Un-publishing a resource', + '63' => 'Un-deleting a resource', '64' => 'Removing deleted content', '65' => 'Deleting a message', '66' => 'Sending a message', @@ -77,15 +77,15 @@ '73' => 'Editing a weblink', //case "74" : return "Changing personal preferences"; break; '75' => 'User/ role management', - '76' => 'Resource management', + '76' => 'Element management', '77' => 'Creating a new Chunk (HTML Snippet)', '78' => 'Editing Chunk (HTML Snippet)', '79' => 'Saving Chunk (HTML Snippet)', '80' => 'Deleting Chunk (HTML Snippet)', '81' => 'Managing keywords', '81' => 'Managing keywords', - '83' => 'Exporting a document to HTML', - '84' => 'Load Resource Selector', + '83' => 'Exporting a resource to HTML', + '84' => 'Load Element Selector', '85' => 'Create Folder', '86' => 'Role management', '87' => 'Create new web user', @@ -95,13 +95,13 @@ '91' => 'Editing Web Access Permissions', '92' => 'Editing Access Permissions', '93' => 'Backup Manager', - '94' => 'Duplicate Document', - '95' => 'Importing documents from HTML', + '94' => 'Duplicate resource', + '95' => 'Importing resources from HTML', '96' => 'Duplicate Template', '97' => 'Duplicate Chunk (HTML Snippet)', '98' => 'Duplicate Snippet', '99' => 'Manage Web Users', - '100' => 'Previewing document', + '100' => 'Previewing resource', '101' => 'Create new plugin', '102' => 'Edit plugin', '103' => 'Saving plugin', From fa6dcbebba80a2ea4c8471b314dbee80f3a2c1a8 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:55:53 +0900 Subject: [PATCH 25/92] 876 [hq] use $modx->db->query()(yama) --- .../includes/document.parser.class.inc.php | 76 +++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/manager/includes/document.parser.class.inc.php b/manager/includes/document.parser.class.inc.php index 2d39519b15..43a2211bf6 100755 --- a/manager/includes/document.parser.class.inc.php +++ b/manager/includes/document.parser.class.inc.php @@ -192,7 +192,7 @@ function getSettings() { $included= include_once (MODX_BASE_PATH . 'assets/cache/siteCache.idx.php'); } if (!$included) { - $result= $this->dbQuery('SELECT setting_name, setting_value FROM ' . $this->getFullTableName('system_settings')); + $result= $this->db->query('SELECT setting_name, setting_value FROM ' . $this->getFullTableName('system_settings')); while ($row= $this->fetchRow($result, 'both')) { $this->config[$row[0]]= $row[1]; } @@ -225,7 +225,7 @@ function getSettings() { $query= $this->getFullTableName('web_user_settings') . ' WHERE webuser=\'' . $id . '\''; else $query= $this->getFullTableName('user_settings') . ' WHERE user=\'' . $id . '\''; - $result= $this->dbQuery('SELECT setting_name, setting_value FROM ' . $query); + $result= $this->db->query('SELECT setting_name, setting_value FROM ' . $query); while ($row= $this->fetchRow($result, 'both')) $usrSettings[$row[0]]= $row[1]; if (isset ($usrType)) @@ -238,7 +238,7 @@ function getSettings() { $musrSettings= & $_SESSION['mgrUsrConfigSet']; } else { $query= $this->getFullTableName('user_settings') . ' WHERE user=\'' . $mgrid . '\''; - if ($result= $this->dbQuery('SELECT setting_name, setting_value FROM ' . $query)) { + if ($result= $this->db->query('SELECT setting_name, setting_value FROM ' . $query)) { while ($row= $this->fetchRow($result, 'both')) { $usrSettings[$row[0]]= $row[1]; } @@ -391,7 +391,7 @@ function checkCache($id) { if ($this->config['unauthorized_page']) { // check if file is not public $tbldg= $this->getFullTableName("document_groups"); - $secrs= $this->dbQuery("SELECT id FROM $tbldg WHERE document = '" . $id . "' LIMIT 1;"); + $secrs= $this->db->query("SELECT id FROM $tbldg WHERE document = '" . $id . "' LIMIT 1;"); if ($secrs) $seclimit= mysql_num_rows($secrs); } @@ -526,13 +526,13 @@ function checkPublishStatus() { if ($cacheRefreshTime <= $timeNow && $cacheRefreshTime != 0) { // now, check for documents that need publishing $sql = "UPDATE ".$this->getFullTableName("site_content")." SET published=1, publishedon=".time()." WHERE ".$this->getFullTableName("site_content").".pub_date <= $timeNow AND ".$this->getFullTableName("site_content").".pub_date!=0 AND published=0"; - if (@ !$result= $this->dbQuery($sql)) { + if (@ !$result= $this->db->query($sql)) { $this->messageQuit("Execution of a query to the database failed", $sql); } // now, check for documents that need un-publishing $sql= "UPDATE " . $this->getFullTableName("site_content") . " SET published=0, publishedon=0 WHERE " . $this->getFullTableName("site_content") . ".unpub_date <= $timeNow AND " . $this->getFullTableName("site_content") . ".unpub_date!=0 AND published=1"; - if (@ !$result= $this->dbQuery($sql)) { + if (@ !$result= $this->db->query($sql)) { $this->messageQuit("Execution of a query to the database failed", $sql); } @@ -556,7 +556,7 @@ function checkPublishStatus() { // update publish time file $timesArr= array (); $sql= "SELECT MIN(pub_date) AS minpub FROM " . $this->getFullTableName("site_content") . " WHERE pub_date>$timeNow"; - if (@ !$result= $this->dbQuery($sql)) { + if (@ !$result= $this->db->query($sql)) { $this->messageQuit("Failed to find publishing timestamps", $sql); } $tmpRow= $this->fetchRow($result); @@ -566,7 +566,7 @@ function checkPublishStatus() { } $sql= "SELECT MIN(unpub_date) AS minunpub FROM " . $this->getFullTableName("site_content") . " WHERE unpub_date>$timeNow"; - if (@ !$result= $this->dbQuery($sql)) { + if (@ !$result= $this->db->query($sql)) { $this->messageQuit("Failed to find publishing timestamps", $sql); } $tmpRow= $this->fetchRow($result); @@ -697,7 +697,7 @@ function mergeChunkContent($content) { $replace[$i]= $this->chunkCache[$matches[1][$i]]; } else { $sql= "SELECT * FROM " . $this->getFullTableName("site_htmlsnippets") . " WHERE " . $this->getFullTableName("site_htmlsnippets") . ".name='" . $this->db->escape($matches[1][$i]) . "';"; - $result= $this->dbQuery($sql); + $result= $this->db->query($sql); $limit= $this->recordCount($result); if ($limit < 1) { $this->chunkCache[$matches[1][$i]]= ""; @@ -808,7 +808,7 @@ function evalSnippets($documentSource) { } else { // get from db and store a copy inside cache $sql= "SELECT * FROM " . $this->getFullTableName("site_snippets") . " WHERE " . $this->getFullTableName("site_snippets") . ".name='" . $this->db->escape($matches[1][$i]) . "';"; - $result= $this->dbQuery($sql); + $result= $this->db->query($sql); if ($this->recordCount($result) == 1) { $row= $this->fetchRow($result); $snippets[$i]['name']= $row['name']; @@ -939,7 +939,7 @@ function getDocumentObject($method, $identifier) { $q = "SELECT id FROM $tbldg WHERE document = '{$identifier}' LIMIT 1;"; } // check if file is not public - $secrs= $this->dbQuery($q); + $secrs= $this->db->query($q); if ($secrs) $seclimit= mysql_num_rows($secrs); } @@ -962,7 +962,7 @@ function getDocumentObject($method, $identifier) { $sql .= "INNER JOIN " . $this->getFullTableName("site_tmplvar_templates")." tvtpl ON tvtpl.tmplvarid = tv.id "; $sql .= "LEFT JOIN " . $this->getFullTableName("site_tmplvar_contentvalues")." tvc ON tvc.tmplvarid=tv.id AND tvc.contentid = '" . $documentObject['id'] . "' "; $sql .= "WHERE tvtpl.templateid = '" . $documentObject['template'] . "'"; - $rs= $this->dbQuery($sql); + $rs= $this->db->query($sql); $rowCount= $this->recordCount($rs); if ($rowCount > 0) { for ($i= 0; $i < $rowCount; $i++) { @@ -1184,7 +1184,7 @@ function prepareResponse() { $this->documentContent= "[*content*]"; // use blank template else { $sql= "SELECT * FROM " . $this->getFullTableName("site_templates") . " WHERE " . $this->getFullTableName("site_templates") . ".id = '" . $this->documentObject['template'] . "';"; - $result= $this->dbQuery($sql); + $result= $this->db->query($sql); $rowCount= $this->recordCount($result); if ($rowCount > 1) { $this->messageQuit("Incorrect number of templates returned from database", $sql); @@ -1347,7 +1347,7 @@ function getAllChildren($id= 0, $sort= 'menuindex', $dir= 'ASC', $fields= 'id, p AND ($access) GROUP BY sc.id ORDER BY $sort $dir;"; - $result= $this->dbQuery($sql); + $result= $this->db->query($sql); $resourceArray= array (); for ($i= 0; $i < @ $this->recordCount($result); $i++) { array_push($resourceArray, @ $this->fetchRow($result)); @@ -1374,7 +1374,7 @@ function getActiveChildren($id= 0, $sort= 'menuindex', $dir= 'ASC', $fields= 'id AND ($access) GROUP BY sc.id ORDER BY $sort $dir;"; - $result= $this->dbQuery($sql); + $result= $this->db->query($sql); $resourceArray= array (); for ($i= 0; $i < @ $this->recordCount($result); $i++) { array_push($resourceArray, @ $this->fetchRow($result)); @@ -1404,7 +1404,7 @@ function getDocumentChildren($parentid= 0, $published= 1, $deleted= 0, $fields= AND ($access) GROUP BY sc.id " . ($sort ? " ORDER BY $sort $dir " : "") . " $limit "; - $result= $this->dbQuery($sql); + $result= $this->db->query($sql); $resourceArray= array (); for ($i= 0; $i < @ $this->recordCount($result); $i++) { array_push($resourceArray, @ $this->fetchRow($result)); @@ -1435,7 +1435,7 @@ function getDocuments($ids= array (), $published= 1, $deleted= 0, $fields= "*", AND ($access) GROUP BY sc.id " . ($sort ? " ORDER BY $sort $dir" : "") . " $limit "; - $result= $this->dbQuery($sql); + $result= $this->db->query($sql); $resourceArray= array (); for ($i= 0; $i < @ $this->recordCount($result); $i++) { array_push($resourceArray, @ $this->fetchRow($result)); @@ -1478,7 +1478,7 @@ function getPageInfo($pageid= -1, $active= 1, $fields= 'id, pagetitle, descripti WHERE (sc.id=$pageid $activeSql) AND ($access) LIMIT 1 "; - $result= $this->dbQuery($sql); + $result= $this->db->query($sql); $pageInfo= @ $this->fetchRow($result); return $pageInfo; } @@ -1503,7 +1503,7 @@ function getParent($pid= -1, $active= 1, $fields= 'id, pagetitle, description, a function getSnippetId() { if ($this->currentSnippet) { $tbl= $this->getFullTableName("site_snippets"); - $rs= $this->dbQuery("SELECT id FROM $tbl WHERE name='" . $this->db->escape($this->currentSnippet) . "' LIMIT 1"); + $rs= $this->db->query("SELECT id FROM $tbl WHERE name='" . $this->db->escape($this->currentSnippet) . "' LIMIT 1"); $row= @ $this->fetchRow($rs); if ($row['id']) return $row['id']; @@ -1671,7 +1671,7 @@ function getKeywords($id= 0) { $tblKeywords= $this->getFullTableName('site_keywords'); $tblKeywordXref= $this->getFullTableName('keyword_xref'); $sql= "SELECT keywords.keyword FROM " . $tblKeywords . " AS keywords INNER JOIN " . $tblKeywordXref . " AS xref ON keywords.id=xref.keyword_id WHERE xref.content_id = '$id'"; - $result= $this->dbQuery($sql); + $result= $this->db->query($sql); $limit= $this->recordCount($result); $keywords= array (); if ($limit > 0) { @@ -1713,7 +1713,7 @@ function runSnippet($snippetName, $params= array ()) { $properties= $this->snippetCache[$snippetName . "Props"]; } else { // not in cache so let's check the db $sql= "SELECT * FROM " . $this->getFullTableName("site_snippets") . " WHERE " . $this->getFullTableName("site_snippets") . ".name='" . $this->db->escape($snippetName) . "';"; - $result= $this->dbQuery($sql); + $result= $this->db->query($sql); if ($this->recordCount($result) == 1) { $row= $this->fetchRow($result); $snippet= $this->snippetCache[$row['name']]= $row['snippet']; @@ -1851,7 +1851,7 @@ function getDocumentChildrenTVars($parentid= 0, $tvidnames= array (), $published $sql .= "WHERE " . $query . " AND tvtpl.templateid = " . $docRow['template']; if ($tvsort) $sql .= " ORDER BY $tvsort $tvsortdir "; - $rs= $this->dbQuery($sql); + $rs= $this->db->query($sql); $limit= @ $this->recordCount($rs); for ($x= 0; $x < $limit; $x++) { array_push($tvs, @ $this->fetchRow($rs)); @@ -1933,7 +1933,7 @@ function getTemplateVars($idnames= array (), $fields= "*", $docid= "", $publishe $sql .= "WHERE " . $query . " AND tvtpl.templateid = " . $docRow['template']; if ($sort) $sql .= " ORDER BY $sort $dir "; - $rs= $this->dbQuery($sql); + $rs= $this->db->query($sql); for ($i= 0; $i < @ $this->recordCount($rs); $i++) { array_push($result, @ $this->fetchRow($rs)); } @@ -2033,7 +2033,7 @@ function sendAlert($type, $to, $from, $subject, $msg, $private= 0) { if (!is_numeric($to)) { // Query for the To ID $sql= "SELECT id FROM " . $this->getFullTableName("manager_users") . " WHERE username='$to';"; - $rs= $this->dbQuery($sql); + $rs= $this->db->query($sql); if ($this->recordCount($rs)) { $rs= $this->fetchRow($rs); $to= $rs['id']; @@ -2042,7 +2042,7 @@ function sendAlert($type, $to, $from, $subject, $msg, $private= 0) { if (!is_numeric($from)) { // Query for the From ID $sql= "SELECT id FROM " . $this->getFullTableName("manager_users") . " WHERE username='$from';"; - $rs= $this->dbQuery($sql); + $rs= $this->db->query($sql); if ($this->recordCount($rs)) { $rs= $this->fetchRow($rs); $from= $rs['id']; @@ -2050,7 +2050,7 @@ function sendAlert($type, $to, $from, $subject, $msg, $private= 0) { } // insert a new message into user_messages $sql= "INSERT INTO " . $this->getFullTableName("user_messages") . " ( id , type , subject , message , sender , recipient , private , postdate , messageread ) VALUES ( '', '$type', '$subject', '$msg', '$from', '$to', '$private', '" . time() . "', '0' );"; - $rs= $this->dbQuery($sql); + $rs= $this->db->query($sql); } # Returns true, install or interact when inside manager @@ -2114,7 +2114,7 @@ function getUserInfo($uid) { INNER JOIN " . $this->getFullTableName("user_attributes") . " mua ON mua.internalkey=mu.id WHERE mu.id = '$uid' "; - $rs= $this->dbQuery($sql); + $rs= $this->db->query($sql); $limit= mysql_num_rows($rs); if ($limit == 1) { $row= $this->fetchRow($rs); @@ -2132,7 +2132,7 @@ function getWebUserInfo($uid) { INNER JOIN " . $this->getFullTableName("web_user_attributes") . " wua ON wua.internalkey=wu.id WHERE wu.id='$uid' "; - $rs= $this->dbQuery($sql); + $rs= $this->db->query($sql); $limit= mysql_num_rows($rs); if ($limit == 1) { $row= $this->fetchRow($rs); @@ -2166,7 +2166,7 @@ function getUserDocGroups($resolveIds= false) { // resolve ids to names $dgn= array (); $tbl= $this->getFullTableName("documentgroup_names"); - $ds= $this->dbQuery("SELECT name FROM $tbl WHERE id IN (" . implode(",", $dg) . ")"); + $ds= $this->db->query("SELECT name FROM $tbl WHERE id IN (" . implode(",", $dg) . ")"); while ($row= $this->fetchRow($ds)) $dgn[count($dgn)]= $row['name']; // cache docgroup names to session @@ -2186,7 +2186,7 @@ function changeWebUserPassword($oldPwd, $newPwd) { $rt= false; if ($_SESSION["webValidated"] == 1) { $tbl= $this->getFullTableName("web_users"); - $ds= $this->dbQuery("SELECT * FROM $tbl WHERE id='" . $this->getLoginUserID() . "'"); + $ds= $this->db->query("SELECT * FROM $tbl WHERE id='" . $this->getLoginUserID() . "'"); $limit= mysql_num_rows($ds); if ($limit == 1) { $row= $this->fetchRow($ds); @@ -2197,7 +2197,7 @@ function changeWebUserPassword($oldPwd, $newPwd) { elseif ($newPwd == "") { return "You didn't specify a password for this user!"; } else { - $this->dbQuery("UPDATE $tbl SET password = md5('" . $this->db->escape($newPwd) . "') WHERE id='" . $this->getLoginUserID() . "'"); + $this->db->query("UPDATE $tbl SET password = md5('" . $this->db->escape($newPwd) . "') WHERE id='" . $this->getLoginUserID() . "'"); // invoke OnWebChangePassword event $this->invokeEvent("OnWebChangePassword", array ( "userid" => $row["id"], @@ -2391,7 +2391,7 @@ function invokeEvent($evtName, $extParams= array ()) { $pluginProperties= $this->pluginCache[$pluginName . "Props"]; } else { $sql= "SELECT * FROM " . $this->getFullTableName("site_plugins") . " WHERE name='" . $pluginName . "' AND disabled=0;"; - $result= $this->dbQuery($sql); + $result= $this->db->query($sql); if ($this->recordCount($result) == 1) { $row= $this->fetchRow($result); $pluginCode= $this->pluginCache[$row['name']]= $row['plugincode']; @@ -2455,7 +2455,7 @@ function getIntTableRows($fields= "*", $from= "", $where= "", $sort= "", $dir= " $limit= ($limit != "") ? "LIMIT $limit" : ""; $tbl= $this->getFullTableName($from); $sql= "SELECT $fields FROM $tbl $where $sort $limit;"; - $result= $this->dbQuery($sql); + $result= $this->db->query($sql); $resourceArray= array (); for ($i= 0; $i < @ $this->recordCount($result); $i++) { array_push($resourceArray, @ $this->fetchRow($result)); @@ -2480,7 +2480,7 @@ function putIntTableRow($fields= "", $into= "") { } $sql= rtrim($sql, ","); $sql .= ";"; - $result= $this->dbQuery($sql); + $result= $this->db->query($sql); return $result; } } @@ -2504,7 +2504,7 @@ function updIntTableRow($fields= "", $into= "", $where= "", $sort= "", $dir= "AS } $sql= rtrim($sql, ","); $sql .= " $where $sort $limit;"; - $result= $this->dbQuery($sql); + $result= $this->db->query($sql); return $result; } } @@ -2520,7 +2520,7 @@ function getExtTableRows($host= "", $user= "", $pass= "", $dbase= "", $fields= " $tbl= $dbase . "." . $from; $this->dbExtConnect($host, $user, $pass, $dbase); $sql= "SELECT $fields FROM $tbl $where $sort $limit;"; - $result= $this->dbQuery($sql); + $result= $this->db->query($sql); $resourceArray= array (); for ($i= 0; $i < @ $this->recordCount($result); $i++) { array_push($resourceArray, @ $this->fetchRow($result)); @@ -2546,7 +2546,7 @@ function putExtTableRow($host= "", $user= "", $pass= "", $dbase= "", $fields= "" } $sql= rtrim($sql, ","); $sql .= ";"; - $result= $this->dbQuery($sql); + $result= $this->db->query($sql); return $result; } } @@ -2571,7 +2571,7 @@ function updExtTableRow($host= "", $user= "", $pass= "", $dbase= "", $fields= "" } $sql= rtrim($sql, ","); $sql .= " $where $sort $limit;"; - $result= $this->dbQuery($sql); + $result= $this->db->query($sql); return $result; } } From 042e975ff31895a23219f3b4d65e021a518c4798 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:57:07 +0900 Subject: [PATCH 26/92] 877 [hq] use $modx->db->getRow()(yama) --- .../includes/document.parser.class.inc.php | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/manager/includes/document.parser.class.inc.php b/manager/includes/document.parser.class.inc.php index 43a2211bf6..c1e991b236 100755 --- a/manager/includes/document.parser.class.inc.php +++ b/manager/includes/document.parser.class.inc.php @@ -193,7 +193,7 @@ function getSettings() { } if (!$included) { $result= $this->db->query('SELECT setting_name, setting_value FROM ' . $this->getFullTableName('system_settings')); - while ($row= $this->fetchRow($result, 'both')) { + while ($row= $this->db->getRow($result, 'both')) { $this->config[$row[0]]= $row[1]; } } @@ -226,7 +226,7 @@ function getSettings() { else $query= $this->getFullTableName('user_settings') . ' WHERE user=\'' . $id . '\''; $result= $this->db->query('SELECT setting_name, setting_value FROM ' . $query); - while ($row= $this->fetchRow($result, 'both')) + while ($row= $this->db->getRow($result, 'both')) $usrSettings[$row[0]]= $row[1]; if (isset ($usrType)) $_SESSION[$usrType . 'UsrConfigSet']= $usrSettings; // store user settings in session @@ -239,7 +239,7 @@ function getSettings() { } else { $query= $this->getFullTableName('user_settings') . ' WHERE user=\'' . $mgrid . '\''; if ($result= $this->db->query('SELECT setting_name, setting_value FROM ' . $query)) { - while ($row= $this->fetchRow($result, 'both')) { + while ($row= $this->db->getRow($result, 'both')) { $usrSettings[$row[0]]= $row[1]; } $_SESSION['mgrUsrConfigSet']= $musrSettings; // store user settings in session @@ -559,7 +559,7 @@ function checkPublishStatus() { if (@ !$result= $this->db->query($sql)) { $this->messageQuit("Failed to find publishing timestamps", $sql); } - $tmpRow= $this->fetchRow($result); + $tmpRow= $this->db->getRow($result); $minpub= $tmpRow['minpub']; if ($minpub != NULL) { $timesArr[]= $minpub; @@ -569,7 +569,7 @@ function checkPublishStatus() { if (@ !$result= $this->db->query($sql)) { $this->messageQuit("Failed to find publishing timestamps", $sql); } - $tmpRow= $this->fetchRow($result); + $tmpRow= $this->db->getRow($result); $minunpub= $tmpRow['minunpub']; if ($minunpub != NULL) { $timesArr[]= $minunpub; @@ -703,7 +703,7 @@ function mergeChunkContent($content) { $this->chunkCache[$matches[1][$i]]= ""; $replace[$i]= ""; } else { - $row= $this->fetchRow($result); + $row= $this->db->getRow($result); $this->chunkCache[$matches[1][$i]]= $row['snippet']; $replace[$i]= $row['snippet']; } @@ -810,7 +810,7 @@ function evalSnippets($documentSource) { $sql= "SELECT * FROM " . $this->getFullTableName("site_snippets") . " WHERE " . $this->getFullTableName("site_snippets") . ".name='" . $this->db->escape($matches[1][$i]) . "';"; $result= $this->db->query($sql); if ($this->recordCount($result) == 1) { - $row= $this->fetchRow($result); + $row= $this->db->getRow($result); $snippets[$i]['name']= $row['name']; $snippets[$i]['snippet']= $this->snippetCache[$row['name']]= $row['snippet']; $snippets[$i]['properties']= $this->snippetCache[$row['name'] . "Props"]= $row['properties']; @@ -954,7 +954,7 @@ function getDocumentObject($method, $identifier) { } # this is now the document :) # - $documentObject= $this->fetchRow($result); + $documentObject= $this->db->getRow($result); // load TVs and merge with document - Orig by Apodigm - Docvars $sql= "SELECT tv.*, IF(tvc.value!='',tvc.value,tv.default_text) as value "; @@ -966,7 +966,7 @@ function getDocumentObject($method, $identifier) { $rowCount= $this->recordCount($rs); if ($rowCount > 0) { for ($i= 0; $i < $rowCount; $i++) { - $row= $this->fetchRow($rs); + $row= $this->db->getRow($rs); $tmplvars[$row['name']]= array ( $row['name'], $row['value'], @@ -1190,7 +1190,7 @@ function prepareResponse() { $this->messageQuit("Incorrect number of templates returned from database", $sql); } elseif ($rowCount == 1) { - $row= $this->fetchRow($result); + $row= $this->db->getRow($result); $this->documentContent= $row['content']; } } @@ -1350,7 +1350,7 @@ function getAllChildren($id= 0, $sort= 'menuindex', $dir= 'ASC', $fields= 'id, p $result= $this->db->query($sql); $resourceArray= array (); for ($i= 0; $i < @ $this->recordCount($result); $i++) { - array_push($resourceArray, @ $this->fetchRow($result)); + array_push($resourceArray, @ $this->db->getRow($result)); } return $resourceArray; } @@ -1377,7 +1377,7 @@ function getActiveChildren($id= 0, $sort= 'menuindex', $dir= 'ASC', $fields= 'id $result= $this->db->query($sql); $resourceArray= array (); for ($i= 0; $i < @ $this->recordCount($result); $i++) { - array_push($resourceArray, @ $this->fetchRow($result)); + array_push($resourceArray, @ $this->db->getRow($result)); } return $resourceArray; } @@ -1407,7 +1407,7 @@ function getDocumentChildren($parentid= 0, $published= 1, $deleted= 0, $fields= $result= $this->db->query($sql); $resourceArray= array (); for ($i= 0; $i < @ $this->recordCount($result); $i++) { - array_push($resourceArray, @ $this->fetchRow($result)); + array_push($resourceArray, @ $this->db->getRow($result)); } return $resourceArray; } @@ -1438,7 +1438,7 @@ function getDocuments($ids= array (), $published= 1, $deleted= 0, $fields= "*", $result= $this->db->query($sql); $resourceArray= array (); for ($i= 0; $i < @ $this->recordCount($result); $i++) { - array_push($resourceArray, @ $this->fetchRow($result)); + array_push($resourceArray, @ $this->db->getRow($result)); } return $resourceArray; } @@ -1479,7 +1479,7 @@ function getPageInfo($pageid= -1, $active= 1, $fields= 'id, pagetitle, descripti AND ($access) LIMIT 1 "; $result= $this->db->query($sql); - $pageInfo= @ $this->fetchRow($result); + $pageInfo= @ $this->db->getRow($result); return $pageInfo; } } @@ -1504,7 +1504,7 @@ function getSnippetId() { if ($this->currentSnippet) { $tbl= $this->getFullTableName("site_snippets"); $rs= $this->db->query("SELECT id FROM $tbl WHERE name='" . $this->db->escape($this->currentSnippet) . "' LIMIT 1"); - $row= @ $this->fetchRow($rs); + $row= @ $this->db->getRow($rs); if ($row['id']) return $row['id']; } @@ -1676,7 +1676,7 @@ function getKeywords($id= 0) { $keywords= array (); if ($limit > 0) { for ($i= 0; $i < $limit; $i++) { - $row= $this->fetchRow($result); + $row= $this->db->getRow($result); $keywords[]= $row['keyword']; } } @@ -1715,7 +1715,7 @@ function runSnippet($snippetName, $params= array ()) { $sql= "SELECT * FROM " . $this->getFullTableName("site_snippets") . " WHERE " . $this->getFullTableName("site_snippets") . ".name='" . $this->db->escape($snippetName) . "';"; $result= $this->db->query($sql); if ($this->recordCount($result) == 1) { - $row= $this->fetchRow($result); + $row= $this->db->getRow($result); $snippet= $this->snippetCache[$row['name']]= $row['snippet']; $properties= $this->snippetCache[$row['name'] . "Props"]= $row['properties']; } else { @@ -1854,7 +1854,7 @@ function getDocumentChildrenTVars($parentid= 0, $tvidnames= array (), $published $rs= $this->db->query($sql); $limit= @ $this->recordCount($rs); for ($x= 0; $x < $limit; $x++) { - array_push($tvs, @ $this->fetchRow($rs)); + array_push($tvs, @ $this->db->getRow($rs)); } // get default/built-in template variables @@ -1935,7 +1935,7 @@ function getTemplateVars($idnames= array (), $fields= "*", $docid= "", $publishe $sql .= " ORDER BY $sort $dir "; $rs= $this->db->query($sql); for ($i= 0; $i < @ $this->recordCount($rs); $i++) { - array_push($result, @ $this->fetchRow($rs)); + array_push($result, @ $this->db->getRow($rs)); } // get default/built-in template variables @@ -2035,7 +2035,7 @@ function sendAlert($type, $to, $from, $subject, $msg, $private= 0) { $sql= "SELECT id FROM " . $this->getFullTableName("manager_users") . " WHERE username='$to';"; $rs= $this->db->query($sql); if ($this->recordCount($rs)) { - $rs= $this->fetchRow($rs); + $rs= $this->db->getRow($rs); $to= $rs['id']; } } @@ -2044,7 +2044,7 @@ function sendAlert($type, $to, $from, $subject, $msg, $private= 0) { $sql= "SELECT id FROM " . $this->getFullTableName("manager_users") . " WHERE username='$from';"; $rs= $this->db->query($sql); if ($this->recordCount($rs)) { - $rs= $this->fetchRow($rs); + $rs= $this->db->getRow($rs); $from= $rs['id']; } } @@ -2117,7 +2117,7 @@ function getUserInfo($uid) { $rs= $this->db->query($sql); $limit= mysql_num_rows($rs); if ($limit == 1) { - $row= $this->fetchRow($rs); + $row= $this->db->getRow($rs); if (!$row["usertype"]) $row["usertype"]= "manager"; return $row; @@ -2135,7 +2135,7 @@ function getWebUserInfo($uid) { $rs= $this->db->query($sql); $limit= mysql_num_rows($rs); if ($limit == 1) { - $row= $this->fetchRow($rs); + $row= $this->db->getRow($rs); if (!$row["usertype"]) $row["usertype"]= "web"; return $row; @@ -2167,7 +2167,7 @@ function getUserDocGroups($resolveIds= false) { $dgn= array (); $tbl= $this->getFullTableName("documentgroup_names"); $ds= $this->db->query("SELECT name FROM $tbl WHERE id IN (" . implode(",", $dg) . ")"); - while ($row= $this->fetchRow($ds)) + while ($row= $this->db->getRow($ds)) $dgn[count($dgn)]= $row['name']; // cache docgroup names to session if ($this->isFrontend()) @@ -2189,7 +2189,7 @@ function changeWebUserPassword($oldPwd, $newPwd) { $ds= $this->db->query("SELECT * FROM $tbl WHERE id='" . $this->getLoginUserID() . "'"); $limit= mysql_num_rows($ds); if ($limit == 1) { - $row= $this->fetchRow($ds); + $row= $this->db->getRow($ds); if ($row["password"] == md5($oldPwd)) { if (strlen($newPwd) < 6) { return "Password is too short!"; @@ -2393,7 +2393,7 @@ function invokeEvent($evtName, $extParams= array ()) { $sql= "SELECT * FROM " . $this->getFullTableName("site_plugins") . " WHERE name='" . $pluginName . "' AND disabled=0;"; $result= $this->db->query($sql); if ($this->recordCount($result) == 1) { - $row= $this->fetchRow($result); + $row= $this->db->getRow($result); $pluginCode= $this->pluginCache[$row['name']]= $row['plugincode']; $pluginProperties= $this->pluginCache[$row['name'] . "Props"]= $row['properties']; } else { @@ -2458,7 +2458,7 @@ function getIntTableRows($fields= "*", $from= "", $where= "", $sort= "", $dir= " $result= $this->db->query($sql); $resourceArray= array (); for ($i= 0; $i < @ $this->recordCount($result); $i++) { - array_push($resourceArray, @ $this->fetchRow($result)); + array_push($resourceArray, @ $this->db->getRow($result)); } return $resourceArray; } @@ -2523,7 +2523,7 @@ function getExtTableRows($host= "", $user= "", $pass= "", $dbase= "", $fields= " $result= $this->db->query($sql); $resourceArray= array (); for ($i= 0; $i < @ $this->recordCount($result); $i++) { - array_push($resourceArray, @ $this->fetchRow($result)); + array_push($resourceArray, @ $this->db->getRow($result)); } return $resourceArray; } From 457f587b4c7d3f331fd3704b7ae10f604a2c49c4 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:58:01 +0900 Subject: [PATCH 27/92] 878 [hq] $modx->db->getRecordCount()(yama) --- .../includes/document.parser.class.inc.php | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/manager/includes/document.parser.class.inc.php b/manager/includes/document.parser.class.inc.php index c1e991b236..137340ce74 100755 --- a/manager/includes/document.parser.class.inc.php +++ b/manager/includes/document.parser.class.inc.php @@ -698,7 +698,7 @@ function mergeChunkContent($content) { } else { $sql= "SELECT * FROM " . $this->getFullTableName("site_htmlsnippets") . " WHERE " . $this->getFullTableName("site_htmlsnippets") . ".name='" . $this->db->escape($matches[1][$i]) . "';"; $result= $this->db->query($sql); - $limit= $this->recordCount($result); + $limit= $this->db->getRecordCount($result); if ($limit < 1) { $this->chunkCache[$matches[1][$i]]= ""; $replace[$i]= ""; @@ -809,7 +809,7 @@ function evalSnippets($documentSource) { // get from db and store a copy inside cache $sql= "SELECT * FROM " . $this->getFullTableName("site_snippets") . " WHERE " . $this->getFullTableName("site_snippets") . ".name='" . $this->db->escape($matches[1][$i]) . "';"; $result= $this->db->query($sql); - if ($this->recordCount($result) == 1) { + if ($this->db->getRecordCount($result) == 1) { $row= $this->db->getRow($result); $snippets[$i]['name']= $row['name']; $snippets[$i]['snippet']= $this->snippetCache[$row['name']]= $row['snippet']; @@ -929,7 +929,7 @@ function getDocumentObject($method, $identifier) { WHERE sc." . $method . " = '" . $identifier . "' AND ($access) LIMIT 1;"; $result= $this->db->query($sql); - $rowCount= $this->recordCount($result); + $rowCount= $this->db->getRecordCount($result); if ($rowCount < 1) { if ($this->config['unauthorized_page']) { // method may still be alias, while identifier is not full path alias, e.g. id not found above @@ -963,7 +963,7 @@ function getDocumentObject($method, $identifier) { $sql .= "LEFT JOIN " . $this->getFullTableName("site_tmplvar_contentvalues")." tvc ON tvc.tmplvarid=tv.id AND tvc.contentid = '" . $documentObject['id'] . "' "; $sql .= "WHERE tvtpl.templateid = '" . $documentObject['template'] . "'"; $rs= $this->db->query($sql); - $rowCount= $this->recordCount($rs); + $rowCount= $this->db->getRecordCount($rs); if ($rowCount > 0) { for ($i= 0; $i < $rowCount; $i++) { $row= $this->db->getRow($rs); @@ -1185,7 +1185,7 @@ function prepareResponse() { else { $sql= "SELECT * FROM " . $this->getFullTableName("site_templates") . " WHERE " . $this->getFullTableName("site_templates") . ".id = '" . $this->documentObject['template'] . "';"; $result= $this->db->query($sql); - $rowCount= $this->recordCount($result); + $rowCount= $this->db->getRecordCount($result); if ($rowCount > 1) { $this->messageQuit("Incorrect number of templates returned from database", $sql); } @@ -1349,7 +1349,7 @@ function getAllChildren($id= 0, $sort= 'menuindex', $dir= 'ASC', $fields= 'id, p ORDER BY $sort $dir;"; $result= $this->db->query($sql); $resourceArray= array (); - for ($i= 0; $i < @ $this->recordCount($result); $i++) { + for ($i= 0; $i < @ $this->db->getRecordCount($result); $i++) { array_push($resourceArray, @ $this->db->getRow($result)); } return $resourceArray; @@ -1376,7 +1376,7 @@ function getActiveChildren($id= 0, $sort= 'menuindex', $dir= 'ASC', $fields= 'id ORDER BY $sort $dir;"; $result= $this->db->query($sql); $resourceArray= array (); - for ($i= 0; $i < @ $this->recordCount($result); $i++) { + for ($i= 0; $i < @ $this->db->getRecordCount($result); $i++) { array_push($resourceArray, @ $this->db->getRow($result)); } return $resourceArray; @@ -1406,7 +1406,7 @@ function getDocumentChildren($parentid= 0, $published= 1, $deleted= 0, $fields= ($sort ? " ORDER BY $sort $dir " : "") . " $limit "; $result= $this->db->query($sql); $resourceArray= array (); - for ($i= 0; $i < @ $this->recordCount($result); $i++) { + for ($i= 0; $i < @ $this->db->getRecordCount($result); $i++) { array_push($resourceArray, @ $this->db->getRow($result)); } return $resourceArray; @@ -1437,7 +1437,7 @@ function getDocuments($ids= array (), $published= 1, $deleted= 0, $fields= "*", ($sort ? " ORDER BY $sort $dir" : "") . " $limit "; $result= $this->db->query($sql); $resourceArray= array (); - for ($i= 0; $i < @ $this->recordCount($result); $i++) { + for ($i= 0; $i < @ $this->db->getRecordCount($result); $i++) { array_push($resourceArray, @ $this->db->getRow($result)); } return $resourceArray; @@ -1672,7 +1672,7 @@ function getKeywords($id= 0) { $tblKeywordXref= $this->getFullTableName('keyword_xref'); $sql= "SELECT keywords.keyword FROM " . $tblKeywords . " AS keywords INNER JOIN " . $tblKeywordXref . " AS xref ON keywords.id=xref.keyword_id WHERE xref.content_id = '$id'"; $result= $this->db->query($sql); - $limit= $this->recordCount($result); + $limit= $this->db->getRecordCount($result); $keywords= array (); if ($limit > 0) { for ($i= 0; $i < $limit; $i++) { @@ -1714,7 +1714,7 @@ function runSnippet($snippetName, $params= array ()) { } else { // not in cache so let's check the db $sql= "SELECT * FROM " . $this->getFullTableName("site_snippets") . " WHERE " . $this->getFullTableName("site_snippets") . ".name='" . $this->db->escape($snippetName) . "';"; $result= $this->db->query($sql); - if ($this->recordCount($result) == 1) { + if ($this->db->getRecordCount($result) == 1) { $row= $this->db->getRow($result); $snippet= $this->snippetCache[$row['name']]= $row['snippet']; $properties= $this->snippetCache[$row['name'] . "Props"]= $row['properties']; @@ -1852,7 +1852,7 @@ function getDocumentChildrenTVars($parentid= 0, $tvidnames= array (), $published if ($tvsort) $sql .= " ORDER BY $tvsort $tvsortdir "; $rs= $this->db->query($sql); - $limit= @ $this->recordCount($rs); + $limit= @ $this->db->getRecordCount($rs); for ($x= 0; $x < $limit; $x++) { array_push($tvs, @ $this->db->getRow($rs)); } @@ -1934,7 +1934,7 @@ function getTemplateVars($idnames= array (), $fields= "*", $docid= "", $publishe if ($sort) $sql .= " ORDER BY $sort $dir "; $rs= $this->db->query($sql); - for ($i= 0; $i < @ $this->recordCount($rs); $i++) { + for ($i= 0; $i < @ $this->db->getRecordCount($rs); $i++) { array_push($result, @ $this->db->getRow($rs)); } @@ -2034,7 +2034,7 @@ function sendAlert($type, $to, $from, $subject, $msg, $private= 0) { // Query for the To ID $sql= "SELECT id FROM " . $this->getFullTableName("manager_users") . " WHERE username='$to';"; $rs= $this->db->query($sql); - if ($this->recordCount($rs)) { + if ($this->db->getRecordCount($rs)) { $rs= $this->db->getRow($rs); $to= $rs['id']; } @@ -2043,7 +2043,7 @@ function sendAlert($type, $to, $from, $subject, $msg, $private= 0) { // Query for the From ID $sql= "SELECT id FROM " . $this->getFullTableName("manager_users") . " WHERE username='$from';"; $rs= $this->db->query($sql); - if ($this->recordCount($rs)) { + if ($this->db->getRecordCount($rs)) { $rs= $this->db->getRow($rs); $from= $rs['id']; } @@ -2392,7 +2392,7 @@ function invokeEvent($evtName, $extParams= array ()) { } else { $sql= "SELECT * FROM " . $this->getFullTableName("site_plugins") . " WHERE name='" . $pluginName . "' AND disabled=0;"; $result= $this->db->query($sql); - if ($this->recordCount($result) == 1) { + if ($this->db->getRecordCount($result) == 1) { $row= $this->db->getRow($result); $pluginCode= $this->pluginCache[$row['name']]= $row['plugincode']; $pluginProperties= $this->pluginCache[$row['name'] . "Props"]= $row['properties']; @@ -2457,7 +2457,7 @@ function getIntTableRows($fields= "*", $from= "", $where= "", $sort= "", $dir= " $sql= "SELECT $fields FROM $tbl $where $sort $limit;"; $result= $this->db->query($sql); $resourceArray= array (); - for ($i= 0; $i < @ $this->recordCount($result); $i++) { + for ($i= 0; $i < @ $this->db->getRecordCount($result); $i++) { array_push($resourceArray, @ $this->db->getRow($result)); } return $resourceArray; @@ -2522,7 +2522,7 @@ function getExtTableRows($host= "", $user= "", $pass= "", $dbase= "", $fields= " $sql= "SELECT $fields FROM $tbl $where $sort $limit;"; $result= $this->db->query($sql); $resourceArray= array (); - for ($i= 0; $i < @ $this->recordCount($result); $i++) { + for ($i= 0; $i < @ $this->db->getRecordCount($result); $i++) { array_push($resourceArray, @ $this->db->getRow($result)); } return $resourceArray; From 8413bba9f0aab372d29de60690ee39eef3f1315d Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 04:59:08 +0900 Subject: [PATCH 28/92] 879 [hq] pageCache read logic(yama) --- manager/includes/document.parser.class.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager/includes/document.parser.class.inc.php b/manager/includes/document.parser.class.inc.php index 137340ce74..e18e321b73 100755 --- a/manager/includes/document.parser.class.inc.php +++ b/manager/includes/document.parser.class.inc.php @@ -366,7 +366,7 @@ function checkCache($id) { $cacheFile= "assets/cache/docid_" . $id . ".pageCache.php"; if (file_exists($cacheFile)) { $this->documentGenerated= 0; - $flContent= implode("", file($cacheFile)); + $flContent = file_get_contents($cacheFile, false); $flContent= substr($flContent, 37); // remove php header $a= explode("", $flContent, 2); if (count($a) == 1) From d36d3e03f0c0e12d1170dd2d507c6d310a11ced1 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 05:00:17 +0900 Subject: [PATCH 29/92] 880 [hq] use file_put_contents() function(yama) --- .../includes/document.parser.class.inc.php | 20 +++++++------------ 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/manager/includes/document.parser.class.inc.php b/manager/includes/document.parser.class.inc.php index e18e321b73..0e2428d65c 100755 --- a/manager/includes/document.parser.class.inc.php +++ b/manager/includes/document.parser.class.inc.php @@ -581,14 +581,9 @@ function checkPublishStatus() { $nextevent= 0; } - $basepath= $this->config["base_path"] . "assets/cache"; - $fp= @ fopen($basepath . "/sitePublishing.idx.php", "wb"); - if ($fp) { - @ flock($fp, LOCK_EX); - @ fwrite($fp, ""); - @ flock($fp, LOCK_UN); - @ fclose($fp); - } + $cache_path= $this->config["base_path"] . 'assets/cache/sitePublishing.idx.php'; + $content = ''; + file_put_contents($cache_path, $content); } } @@ -598,20 +593,19 @@ function postProcess() { $basepath= $this->config["base_path"] . "assets/cache"; // invoke OnBeforeSaveWebPageCache event $this->invokeEvent("OnBeforeSaveWebPageCache"); - if ($fp= @ fopen($basepath . "/docid_" . $this->documentIdentifier . ".pageCache.php", "w")) { // get and store document groups inside document object. Document groups will be used to check security on cache pages $sql= "SELECT document_group FROM " . $this->getFullTableName("document_groups") . " WHERE document='" . $this->documentIdentifier . "'"; $docGroups= $this->db->getColumn("document_group", $sql); // Attach Document Groups and Scripts - if (is_array($docGroups)) $this->documentObject['__MODxDocGroups__'] = implode(",", $docGroups); + if (is_array($docGroups)) $this->documentObject['__MODxDocGroups__'] = implode(',', $docGroups); $docObjSerial= serialize($this->documentObject); $cacheContent= $docObjSerial . "" . $this->documentContent; - fputs($fp, "$cacheContent"); - fclose($fp); + $cacheContent = "" . $cacheContent; + $page_cache_path = $basepath . '/docid_' . $this->documentIdentifier . '.pageCache.php'; + file_put_contents($page_cache_path, $cacheContent); } - } // Useful for example to external page counters/stats packages $this->invokeEvent('OnWebPageComplete'); From 6bfa686e4c7aa933ff9ad795f51bdc02e1960f8b Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 05:15:35 +0900 Subject: [PATCH 30/92] 881 [hq] line ending issue(yama) --- manager/includes/session_keepalive.php | 42 +++++++++++++------------- 1 file changed, 21 insertions(+), 21 deletions(-) mode change 100644 => 100755 manager/includes/session_keepalive.php diff --git a/manager/includes/session_keepalive.php b/manager/includes/session_keepalive.php old mode 100644 new mode 100755 index 21a4fe47fc..19d9417424 --- a/manager/includes/session_keepalive.php +++ b/manager/includes/session_keepalive.php @@ -1,21 +1,21 @@ - Date: Thu, 23 Dec 2010 05:17:58 +0900 Subject: [PATCH 31/92] 882 [hq] use stripos()(yama) --- manager/includes/document.parser.class.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager/includes/document.parser.class.inc.php b/manager/includes/document.parser.class.inc.php index 0e2428d65c..8f99f7155e 100755 --- a/manager/includes/document.parser.class.inc.php +++ b/manager/includes/document.parser.class.inc.php @@ -765,7 +765,7 @@ function evalSnippet($snippet, $params) { $msg= ob_get_contents(); ob_end_clean(); if ($msg && isset ($php_errormsg)) { - if (!strpos($php_errormsg, 'Deprecated')) { // ignore php5 strict errors + if (!stripos($php_errormsg, 'deprecated')) { // ignore php5 strict errors // log error $this->logEvent(1, 3, "$php_errormsg

    $msg", $this->currentSnippet . " - Snippet"); if ($this->isBackend()) From 1748c782d08f5d8d71449cb375d0b4c0f431035e Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 11:34:06 +0900 Subject: [PATCH 32/92] 883 [hq] PHP4 -> PHP5 upgrade.php(yama) --- .../includes/document.parser.class.inc.php | 4 + .../includes/extenders/upgradephp/php0500.php | 952 ++++++++++++++++++ 2 files changed, 956 insertions(+) create mode 100755 manager/includes/extenders/upgradephp/php0500.php diff --git a/manager/includes/document.parser.class.inc.php b/manager/includes/document.parser.class.inc.php index 8f99f7155e..50d96422be 100755 --- a/manager/includes/document.parser.class.inc.php +++ b/manager/includes/document.parser.class.inc.php @@ -4,6 +4,10 @@ * Function: This class contains the main document parsing functions * */ + +$upgradephp_path = MODX_MANAGER_PATH . 'includes/extenders/upgradephp/'; +if (!version_compare('5.0.0', phpversion(),'<')) include_once $upgradephp_path . 'php0500.php'; + class DocumentParser { var $db; // db object var $event, $Event; // event object diff --git a/manager/includes/extenders/upgradephp/php0500.php b/manager/includes/extenders/upgradephp/php0500.php new file mode 100755 index 0000000000..e5c1e7db80 --- /dev/null +++ b/manager/includes/extenders/upgradephp/php0500.php @@ -0,0 +1,952 @@ + + * + */ + + + + + +/** + * --------------------- CVS / FUTURE --- + * @group CVS + * @since future + * + * Following functions aren't implemented in current PHP versions, but + * might already be in CVS/SVN. + * + * @emulated + * gzdecode + * + * @moved out + * contrib/xmlentities + * + */ + + + + +/** + * ------------------------------ 5.0 --- + * @group 5_0 + * @since 5.0 + * + * PHP 5.0 introduces the Zend Engine 2 with new object-orientation features + * which cannot be reimplemented/defined for PHP4. The additional procedures + * and functions however can. + * + * @emulated + * stripos + * strripos + * str_ireplace + * get_headers + * headers_list + * fprintf + * vfprintf + * str_split + * http_build_query + * convert_uuencode + * convert_uudecode + * scandir + * idate + * time_nanosleep + * strpbrk + * get_declared_interfaces + * array_combine + * array_walk_recursive + * substr_compare + * spl_classes + * class_parents + * session_commit + * dns_check_record + * dns_get_mx + * setrawcookie + * file_put_contents + * COUNT_NORMAL + * COUNT_RECURSIVE + * count_recursive + * FILE_USE_INCLUDE_PATH + * FILE_IGNORE_NEW_LINES + * FILE_SKIP_EMPTY_LINES + * FILE_APPEND + * FILE_NO_DEFAULT_CONTEXT + * E_STRICT + * + * @missing + * proc_nice + * dns_get_record + * date_sunrise - undoc. + * date_sunset - undoc. + * PHP_CONFIG_FILE_SCAN_DIR + * clone + * + * @unimplementable + * set_exception_handler + * restore_exception_handler + * debug_print_backtrace - in ext, needs4.3 + * debug_backtrace - stub + * class_implements + * proc_terminate + * proc_get_status + * range - new param + * microtime - new param + * + */ + + + + +#-- constant: end of line +if (!defined("PHP_EOL")) { define("PHP_EOL", ( (DIRECTORY_SEPARATOR == "\\") ? "\015\012" : (strncmp(PHP_OS, "D", 1) ? "\012" : "\015") ) ); } # "D" for Darwin + + + +/** + * case-insensitive string search function, + * - finds position of first occourence of a string c-i + * - parameters identical to strpos() + */ +if (!function_exists("stripos")) { + function stripos($haystack, $needle, $offset=NULL) { + + #-- simply lowercase args + $haystack = strtolower($haystack); + $needle = strtolower($needle); + + #-- search + $pos = strpos($haystack, $needle, $offset); + return($pos); + } +} + + + + +/** + * case-insensitive string search function + * - but this one starts from the end of string (right to left) + * - offset can be negative or positive + * + */ +if (!function_exists("strripos")) { + function strripos($haystack, $needle, $offset=NULL) { + + #-- lowercase incoming strings + $haystack = strtolower($haystack); + $needle = strtolower($needle); + + #-- [-]$offset tells to ignore a few string bytes, + # we simply cut a bit from the right + if (isset($offset) && ($offset < 0)) { + $haystack = substr($haystack, 0, strlen($haystack) - 1); + } + + #-- let PHP do it + $pos = strrpos($haystack, $needle); + + #-- [+]$offset => ignore left haystack bytes + if (isset($offset) && ($offset > 0) && ($pos > $offset)) { + $pos = false; + } + + #-- result + return($pos); + } +} + + +/** + * case-insensitive version of str_replace + * + */ +if (!function_exists("str_ireplace")) { + function str_ireplace($search, $replace, $subject, $count=NULL) { + + #-- call ourselves recursively, if parameters are arrays/lists + if (is_array($search)) { + $replace = array_values($replace); + foreach (array_values($search) as $i=>$srch) { + $subject = str_ireplace($srch, $replace[$i], $subject); + } + } + + #-- sluice replacement strings through the Perl-regex module + # (faster than doing it by hand) + else { + $replace = addcslashes($replace, "$\\"); + $search = "{" . preg_quote($search) . "}i"; + $subject = preg_replace($search, $replace, $subject); + } + + #-- result + return($subject); + } +} + + +/** + * performs a http HEAD request + * + */ +if (!function_exists("get_headers")) { + function get_headers($url, $parse=0) { + + #-- extract URL parts ($host, $port, $path, ...) + $c = parse_url($url); + $c = array_merge(array("port"=>"80", "path"=>"/"), $c); + extract($c); + + #-- try to open TCP connection + $f = fsockopen($host, $port, $errno, $errstr, $timeout=15); + if (!$f) { + return; + } + + #-- send request header + socket_set_blocking($f, true); + fwrite($f, "HEAD $path HTTP/1.0\015\012" + . "Host: $host\015\012" + . "Connection: close\015\012" + . "Accept: */*, xml/*\015\012" + . "User-Agent: ".trim(ini_get("user_agent"))."\015\012" + . "\015\012"); + + #-- read incoming lines + $ls = array(); + while ( !feof($f) && ($line = trim(fgets($f, 1<<16))) ) { + + #-- read header names to make result an hash (names in array index) + if ($parse) { + if ($l = strpos($line, ":")) { + $name = substr($line, 0, $l); + $value = trim(substr($line, $l + 1)); + #-- merge headers + if (isset($ls[$name])) { + $ls[$name] .= ", $value"; + } + else { + $ls[$name] = $value; + } + } + #-- HTTP response status header as result[0] + else { + $ls[] = $line; + } + } + + #-- unparsed header list (numeric indices) + else { + $ls[] = $line; + } + } + + #-- close TCP connection and give result + fclose($f); + return($ls); + } +} + + +/** + * @stub + * list of already/potentially sent HTTP responsee headers(), + * CANNOT be implemented (except for Apache module maybe) + * + */ +if (!function_exists("headers_list")) { + function headers_list() { + trigger_error("headers_list(): not supported by this PHP version", E_USER_WARNING); + return (array)NULL; + } +} + + +/** + * write formatted string to stream/file, + * arbitrary numer of arguments + * + */ +if (!function_exists("fprintf")) { + function fprintf(/*...*/) { + $args = func_get_args(); + $stream = array_shift($args); + return fwrite($stream, call_user_func_array("sprintf", $args)); + } +} + + +/** + * write formatted string to stream, args array + * + */ +if (!function_exists("vfprintf")) { + function vfprintf($stream, $format, $args=NULL) { + return fwrite($stream, vsprintf($format, $args)); + } +} + + +/** + * splits a string in evenly sized chunks + * + * @return array + */ +if (!function_exists("str_split")) { + function str_split($str, $chunk=1) { + $r = array(); + + #-- return back as one chunk completely, if size chosen too low + if ($chunk < 1) { + $r[] = $str; + } + + #-- add substrings to result array until subject strings end reached + else { + $len = strlen($str); + for ($n=0; $n<$len; $n+=$chunk) { + $r[] = substr($str, $n, $chunk); + } + } + return($r); + } +} + + +/** + * constructs a QUERY_STRING (application/x-www-form-urlencoded format, non-raw) + * from a nested array/hash with name=>value pairs + * - only first two args are part of the original API - rest used for recursion + * + * @param mixed $vars variable data for query string + * @param string $int_prefix (optional) + * @param string $subarray_pfix (optional) + * @param integer $level + * @return mixed + */ +if (!function_exists("http_build_query")) { + function http_build_query($vars, $int_prefix="", $subarray_pfix="", $level=0) { + + #-- empty starting string + $s = ""; + ($SEP = ini_get("arg_separator.output")) or ($SEP = "&"); + + #-- traverse hash/array/list entries + foreach ($vars as $index=>$value) { + + #-- add sub_prefix for subarrays (happens for recursed innovocation) + if ($subarray_pfix) { + if ($level) { + $index = "[" . $index . "]"; + } + $index = $subarray_pfix . $index; + } + #-- add user-specified prefix for integer-indices + elseif (is_int($index) && strlen($int_prefix)) { + $index = $int_prefix . $index; + } + + #-- recurse for sub-arrays + if (is_array($value)) { + $s .= http_build_query($value, "", $index, $level + 1); + } + else { // or just literal URL parameter + $s .= $SEP . $index . "=" . urlencode($value); + } + } + + #-- remove redundant "&" from first round (-not checked above to simplifiy loop) + if (!$subarray_pfix) { + $s = substr($s, strlen($SEP)); + } + + #-- return result / to previous array level and iteration + return($s); + } +} + + +/** + * transform into 3to4 uuencode + * - this is the bare encoding, not the uu file format + * + * @param string + * @return string + */ +if (!function_exists("convert_uuencode")) { + function convert_uuencode($bin) { + + #-- init vars + $out = ""; + $line = ""; + $len = strlen($bin); + $bin .= "\01\01\01"; // PHP and uuencode(1) use some special garbage??, looks like "\000"* and "`\n`" simply appended + + #-- canvass source string + for ($n=0; $n<$len; ) { + + #-- make 24-bit integer from first three bytes + $x = (ord($bin[$n++]) << 16) + + (ord($bin[$n++]) << 8) + + (ord($bin[$n++]) << 0); + + #-- disperse that into 4 ascii characters + $line .= chr( 32 + (($x >> 18) & 0x3f) ) + . chr( 32 + (($x >> 12) & 0x3f) ) + . chr( 32 + (($x >> 6) & 0x3f) ) + . chr( 32 + (($x >> 0) & 0x3f) ); + + #-- cut lines, inject count prefix before each + if (($n % 45) == 0) { + $out .= chr(32 + 45) . "$line\n"; + $line = ""; + } + } + + #-- throw last line, +length prefix + if ($trail = ($len % 45)) { + $out .= chr(32 + $trail) . "$line\n"; + } + + // uuencode(5) doesn't tell so, but spaces are replaced with the ` char in most implementations + $out = strtr("$out \n", " ", "`"); + return($out); + } +} + + +/** + * decodes uuencoded() data again + * + * @param string $from + * @return string + */ +if (!function_exists("convert_uudecode")) { + function convert_uudecode($from) { + + #-- prepare + $out = ""; + $from = strtr($from, "`", " "); + + #-- go through lines + foreach(explode("\n", ltrim($from)) as $line) { + if (!strlen($line)) { + break; // end reached + } + + #-- current line length prefix + unset($num); + $num = ord($line{0}) - 32; + if (($num <= 0) || ($num > 62)) { // 62 is the maximum line length + break; // according to uuencode(5), so we stop here too + } + $line = substr($line, 1); + + #-- prepare to decode 4-char chunks + $add = ""; + for ($n=0; strlen($add)<$num; ) { + + #-- merge 24 bit integer from the 4 ascii characters (6 bit each) + $x = ((ord($line[$n++]) - 32) << 18) + + ((ord($line[$n++]) - 32) << 12) // were saner with "& 0x3f" + + ((ord($line[$n++]) - 32) << 6) + + ((ord($line[$n++]) - 32) << 0); + + #-- reconstruct the 3 original data chars + $add .= chr( ($x >> 16) & 0xff ) + . chr( ($x >> 8) & 0xff ) + . chr( ($x >> 0) & 0xff ); + } + + #-- cut any trailing garbage (last two decoded chars may be wrong) + $out .= substr($add, 0, $num); + $line = ""; + } + + return($out); + } +} + + +/** + * return array of filenames in a given directory + * (only works for local files) + * + * @param string $dirname + * @param bool $desc + * @return array + */ +if (!function_exists("scandir")) { + function scandir($dirname, $desc=0) { + + #-- check for file:// protocol, others aren't handled + if (strpos($dirname, "file://") === 0) { + $dirname = substr($dirname, 7); + if (strpos($dirname, "localh") === 0) { + $dirname = substr($dirname, strpos($dirname, "/")); + } + } + + #-- directory reading handle + if ($dh = opendir($dirname)) { + $ls = array(); + while ($fn = readdir($dh)) { + $ls[] = $fn; // add to array + } + closedir($dh); + + #-- sort filenames + if ($desc) { + rsort($ls); + } + else { + sort($ls); + } + return $ls; + } + + #-- failure + return false; + } +} + + +/** + * like date(), but returns an integer for given one-letter format parameter + * + * @param string $formatchar + * @param integer $timestamp + * @return integer + */ +if (!function_exists("idate")) { + function idate($formatchar, $timestamp=NULL) { + + #-- reject non-simple type parameters + if (strlen($formatchar) != 1) { + return false; + } + + #-- get current time, if not given + if (!isset($timestamp)) { + $timestamp = time(); + } + + #-- get and turn into integer + $str = date($formatchar, $timestamp); + return (int)$str; + } +} + + + +/** + * combined sleep() and usleep() + * + */ +if (!function_exists("time_nanosleep")) { + function time_nanosleep($sec, $nano) { + sleep($sec); + usleep($nano); + } +} + + + + +/** + * search first occourence of any of the given chars, returns rest of haystack + * (char_list must be a string for compatibility with the real PHP func) + * + * @param string $haystack + * @param string $char_list + * @return integer + */ +if (!function_exists("strpbrk")) { + function strpbrk($haystack, $char_list) { + + #-- prepare + $len = strlen($char_list); + $min = strlen($haystack); + + #-- check with every symbol from $char_list + for ($n = 0; $n < $len; $n++) { + $l = strpos($haystack, $char_list{$n}); + + #-- get left-most occourence + if (($l !== false) && ($l < $min)) { + $min = $l; + } + } + + #-- result + if ($min) { + return(substr($haystack, $min)); + } + else { + return(false); + } + } +} + + + +/** + * logo image activation URL query strings (gaga feature) + * + */ +if (!function_exists("php_real_logo_guid")) { + function php_real_logo_guid() { return php_logo_guid(); } + function php_egg_logo_guid() { return zend_logo_guid(); } +} + + +/** + * no need to implement this + * (there aren't interfaces in PHP4 anyhow) + * + */ +if (!function_exists("get_declared_interfaces")) { + function get_declared_interfaces() { + trigger_error("get_declared_interfaces(): Current script won't run reliably with PHP4.", E_USER_WARNING); + return( (array)NULL ); + } +} + + + +/** + * creates an array from lists of $keys and $values + * (both should have same number of entries) + * + * @param array $keys + * @param array $values + * @return array + */ +if (!function_exists("array_combine")) { + function array_combine($keys, $values) { + + #-- convert input arrays into lists + $keys = array_values($keys); + $values = array_values($values); + $r = array(); + + #-- one from each + foreach ($values as $i=>$val) { + if ($key = $keys[$i]) { + $r[$key] = $val; + } + else { + $r[] = $val; // useless, PHP would have long aborted here + } + } + return($r); + } +} + + +/** + * apply userfunction to each array element (descending recursively) + * use it like: array_walk_recursive($_POST, "stripslashes"); + * - $callback can be static function name or object/method, class/method + * + * @param array $input + * @param string $callback + * @param array $userdata (optional) + * @return array + */ +if (!function_exists("array_walk_recursive")) { + function array_walk_recursive(&$input, $callback, $userdata=NULL) { + #-- each entry + foreach ($input as $key=>$value) { + + #-- recurse for sub-arrays + if (is_array($value)) { + array_walk_recursive($input[$key], $callback, $userdata); + } + + #-- $callback handles scalars + else { + call_user_func_array($callback, array(&$input[$key], $key, $userdata) ); + } + } + + // no return value + } +} + + +/** + * complicated wrapper around substr() and and strncmp() + * + * @param string $haystack + * @param string $needle + * @param integer $offset + * @param integer $len + * @param integer $ci + * @return mixed + */ +if (!function_exists("substr_compare")) { + function substr_compare($haystack, $needle, $offset=0, $len=0, $ci=0) { + + #-- check params + if ($len <= 0) { // not well documented + $len = strlen($needle); + if (!$len) { return(0); } + } + #-- length exception + if ($len + $offset >= strlen($haystack)) { + trigger_error("substr_compare: given length exceeds main_str", E_USER_WARNING); + return(false); + } + + #-- cut + if ($offset) { + $haystack = substr($haystack, $offset, $len); + } + #-- case-insensitivity + if ($ci) { + $haystack = strtolower($haystack); + $needle = strtolower($needle); + } + + #-- do + return(strncmp($haystack, $needle, $len)); + } +} + + +/** + * stub, returns empty list as usual; + * you must load "ext/spl.php" beforehand to get this + * + */ +if (!function_exists("spl_classes")) { + function spl_classes() { + trigger_error("spl_classes(): not built into this PHP version"); + return (array)NULL; + } +} + + + +/** + * gets you list of class names the given objects class was derived from, slow + * + * @param object $obj + * @return object + */ +if (!function_exists("class_parents")) { + function class_parents($obj) { + + #-- first get full list + $all = get_declared_classes(); + $r = array(); + + #-- filter out + foreach ($all as $potential_parent) { + if (is_subclass_of($obj, $potential_parent)) { + $r[$potential_parent] = $potential_parent; + } + } + return($r); + } +} + + +/** + * an alias + * + */ +if (!function_exists("session_commit") && function_exists("session_write_close")) { + function session_commit() { + // simple + session_write_close(); + } +} + + +/** + * aliases + * + * @param mixed $host + * @param mixed $type (optional) + * @return mixed + */ +if (!function_exists("dns_check_record")) { + function dns_check_record($host, $type=NULL) { + // synonym to + return checkdnsrr($host, $type); + } +} +if (!function_exists("dns_get_mx")) { + function dns_get_mx($host, $mx) { + $args = func_get_args(); + // simple alias - except the optional, but referenced third parameter + if ($args[2]) { + $w = & $args[2]; + } + else { + $w = false; + } + return getmxrr($host, $mx, $w); + } +} + + +/** + * setrawcookie(), + * can this be emulated 100% exactly? + * + * @param string $name + * @param mixed $value + * @param mixed $expire + * @param mixed $path + * @param mixed $domain + * @param integer $secure + * @return string + */ +if (!function_exists("setrawcookie")) { + // we output everything directly as HTTP header(), PHP doesn't seem + // to manage an internal cookie list anyhow + function setrawcookie($name, $value=NULL, $expire=NULL, $path=NULL, $domain=NULL, $secure=0) { + if (isset($value) && strpbrk($value, ",; \r\t\n\f\014\013")) { + trigger_error("setrawcookie: value may not contain any of ',; \r\n' and some other control chars; thrown away", E_USER_WARNING); + } + else { + $h = "Set-Cookie: $name=$value" + . ($expire ? "; expires=" . gmstrftime("%a, %d-%b-%y %H:%M:%S %Z", $expire) : "") + . ($path ? "; path=$path": "") + . ($domain ? "; domain=$domain" : "") + . ($secure ? "; secure" : ""); + header($h); + } + } +} + + +/** + * write-at-once file access (counterpart to file_get_contents) + * + * @param integer $filename + * @param mixed $content + * @param integer $flags + * @param mixed $resource + * @return integer + */ +if (!function_exists("file_put_contents")) { + function file_put_contents($filename, $content, $flags=0, $resource=NULL) { + + #-- prepare + $mode = ($flags & FILE_APPEND ? "a" : "w" ) ."b"; + $incl = $flags & FILE_USE_INCLUDE_PATH; + $length = strlen($content); +// $resource && trigger_error("EMULATED file_put_contents does not support \$resource parameter.", E_USER_ERROR); + + #-- write non-scalar? + if (is_array($content) || is_object($content)) { + $content = implode("", (array)$content); + } + + #-- open for writing + $f = fopen($filename, $mode, $incl); + if ($f) { + + // locking + if (($flags & LOCK_EX) && !flock($f, LOCK_EX)) { + return fclose($f) && false; + } + + // write + $written = fwrite($f, $content); + fclose($f); + + #-- only report success, if completely saved + return($length == $written); + } + } +} + + +/** + * file-related constants + * + */ +if (!defined("FILE_USE_INCLUDE_PATH")) { define("FILE_USE_INCLUDE_PATH", 1); } +if (!defined("FILE_IGNORE_NEW_LINES")) { define("FILE_IGNORE_NEW_LINES", 2); } +if (!defined("FILE_SKIP_EMPTY_LINES")) { define("FILE_SKIP_EMPTY_LINES", 4); } +if (!defined("FILE_APPEND")) { define("FILE_APPEND", 8); } +if (!defined("FILE_NO_DEFAULT_CONTEXT")) { define("FILE_NO_DEFAULT_CONTEXT", 16); } + + + +#-- more new constants for 5.0 +if (!defined("E_STRICT")) { define("E_STRICT", 2048); } // _STRICT is a special case of _NOTICE (_DEBUG) +# PHP_CONFIG_FILE_SCAN_DIR + + + +#-- array count_recursive() +if (!defined("COUNT_NORMAL")) { define("COUNT_NORMAL", 0); } // count($array, 0); +if (!defined("COUNT_RECURSIVE")) { define("COUNT_RECURSIVE", 1); } // use count_recursive() + + + +/** + * @since never + * @nonstandard + * + * we introduce a new function, because we cannot emulate the + * newly introduced second parameter to count() + * + * @param array $array + * @param integer $mode + * @return integer + */ +if (!function_exists("count_recursive")) { + function count_recursive($array, $mode=1) { + if (!$mode) { + return(count($array)); + } + else { + $c = count($array); + foreach ($array as $sub) { + if (is_array($sub)) { + $c += count_recursive($sub); + } + } + return($c); + } + } +} From a253b65fcd271b777b6362bdb2fdcede269d6d10 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 11:35:21 +0900 Subject: [PATCH 33/92] 884 [hq] Optimize sql command "select *"(yama) --- manager/includes/document.parser.class.inc.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/manager/includes/document.parser.class.inc.php b/manager/includes/document.parser.class.inc.php index 50d96422be..d526024cfd 100755 --- a/manager/includes/document.parser.class.inc.php +++ b/manager/includes/document.parser.class.inc.php @@ -694,7 +694,7 @@ function mergeChunkContent($content) { if (isset ($this->chunkCache[$matches[1][$i]])) { $replace[$i]= $this->chunkCache[$matches[1][$i]]; } else { - $sql= "SELECT * FROM " . $this->getFullTableName("site_htmlsnippets") . " WHERE " . $this->getFullTableName("site_htmlsnippets") . ".name='" . $this->db->escape($matches[1][$i]) . "';"; + $sql= "SELECT snippet FROM " . $this->getFullTableName("site_htmlsnippets") . " WHERE " . $this->getFullTableName("site_htmlsnippets") . ".name='" . $this->db->escape($matches[1][$i]) . "';"; $result= $this->db->query($sql); $limit= $this->db->getRecordCount($result); if ($limit < 1) { @@ -805,7 +805,7 @@ function evalSnippets($documentSource) { $snippets[$i]['properties']= $this->snippetCache[$matches[1][$i] . "Props"]; } else { // get from db and store a copy inside cache - $sql= "SELECT * FROM " . $this->getFullTableName("site_snippets") . " WHERE " . $this->getFullTableName("site_snippets") . ".name='" . $this->db->escape($matches[1][$i]) . "';"; + $sql= "SELECT name,snippet,properties FROM " . $this->getFullTableName("site_snippets") . " WHERE " . $this->getFullTableName("site_snippets") . ".name='" . $this->db->escape($matches[1][$i]) . "';"; $result= $this->db->query($sql); if ($this->db->getRecordCount($result) == 1) { $row= $this->db->getRow($result); @@ -1181,7 +1181,7 @@ function prepareResponse() { if (!$this->documentObject['template']) $this->documentContent= "[*content*]"; // use blank template else { - $sql= "SELECT * FROM " . $this->getFullTableName("site_templates") . " WHERE " . $this->getFullTableName("site_templates") . ".id = '" . $this->documentObject['template'] . "';"; + $sql= "SELECT content FROM " . $this->getFullTableName("site_templates") . " WHERE " . $this->getFullTableName("site_templates") . ".id = '" . $this->documentObject['template'] . "';"; $result= $this->db->query($sql); $rowCount= $this->db->getRecordCount($result); if ($rowCount > 1) { @@ -1710,7 +1710,7 @@ function runSnippet($snippetName, $params= array ()) { $snippet= $this->snippetCache[$snippetName]; $properties= $this->snippetCache[$snippetName . "Props"]; } else { // not in cache so let's check the db - $sql= "SELECT * FROM " . $this->getFullTableName("site_snippets") . " WHERE " . $this->getFullTableName("site_snippets") . ".name='" . $this->db->escape($snippetName) . "';"; + $sql= "SELECT name,snippet,properties FROM " . $this->getFullTableName("site_snippets") . " WHERE " . $this->getFullTableName("site_snippets") . ".name='" . $this->db->escape($snippetName) . "';"; $result= $this->db->query($sql); if ($this->db->getRecordCount($result) == 1) { $row= $this->db->getRow($result); @@ -2184,7 +2184,7 @@ function changeWebUserPassword($oldPwd, $newPwd) { $rt= false; if ($_SESSION["webValidated"] == 1) { $tbl= $this->getFullTableName("web_users"); - $ds= $this->db->query("SELECT * FROM $tbl WHERE id='" . $this->getLoginUserID() . "'"); + $ds= $this->db->query("SELECT id,username,password FROM $tbl WHERE id='" . $this->getLoginUserID() . "'"); $limit= mysql_num_rows($ds); if ($limit == 1) { $row= $this->db->getRow($ds); @@ -2388,7 +2388,7 @@ function invokeEvent($evtName, $extParams= array ()) { $pluginCode= $this->pluginCache[$pluginName]; $pluginProperties= $this->pluginCache[$pluginName . "Props"]; } else { - $sql= "SELECT * FROM " . $this->getFullTableName("site_plugins") . " WHERE name='" . $pluginName . "' AND disabled=0;"; + $sql= "SELECT name,plugincode,properties FROM " . $this->getFullTableName("site_plugins") . " WHERE name='" . $pluginName . "' AND disabled=0;"; $result= $this->db->query($sql); if ($this->db->getRecordCount($result) == 1) { $row= $this->db->getRow($result); From b696dded469d1f49811ee95b35dc76d18c5b2a73 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 11:36:51 +0900 Subject: [PATCH 34/92] 885 [hq] upgrade.php other liblary(yama) --- .../extenders/upgradephp/ext/bcmath.php | 89 ++ .../extenders/upgradephp/ext/ctype.php | 48 + .../includes/extenders/upgradephp/ext/ftp.php | 619 ++++++++++++ .../extenders/upgradephp/ext/gettext.php | 391 ++++++++ .../extenders/upgradephp/ext/mime.php | 360 +++++++ .../extenders/upgradephp/ext/pdo.pgsql.php | 618 ++++++++++++ .../includes/extenders/upgradephp/ext/pdo.php | 918 ++++++++++++++++++ .../extenders/upgradephp/ext/pdo.sqlite.php | 603 ++++++++++++ .../extenders/upgradephp/ext/pspell.php | 167 ++++ .../upgradephp/ext/uncommon_functions.php | 82 ++ .../extenders/upgradephp/ext/xmlentities.php | 32 + .../includes/extenders/upgradephp/php0510.php | 281 ++++++ .../includes/extenders/upgradephp/php0520.php | 636 ++++++++++++ .../includes/extenders/upgradephp/php0530.php | 355 +++++++ 14 files changed, 5199 insertions(+) create mode 100755 manager/includes/extenders/upgradephp/ext/bcmath.php create mode 100755 manager/includes/extenders/upgradephp/ext/ctype.php create mode 100755 manager/includes/extenders/upgradephp/ext/ftp.php create mode 100755 manager/includes/extenders/upgradephp/ext/gettext.php create mode 100755 manager/includes/extenders/upgradephp/ext/mime.php create mode 100755 manager/includes/extenders/upgradephp/ext/pdo.pgsql.php create mode 100755 manager/includes/extenders/upgradephp/ext/pdo.php create mode 100755 manager/includes/extenders/upgradephp/ext/pdo.sqlite.php create mode 100755 manager/includes/extenders/upgradephp/ext/pspell.php create mode 100755 manager/includes/extenders/upgradephp/ext/uncommon_functions.php create mode 100755 manager/includes/extenders/upgradephp/ext/xmlentities.php create mode 100755 manager/includes/extenders/upgradephp/php0510.php create mode 100755 manager/includes/extenders/upgradephp/php0520.php create mode 100755 manager/includes/extenders/upgradephp/php0530.php diff --git a/manager/includes/extenders/upgradephp/ext/bcmath.php b/manager/includes/extenders/upgradephp/ext/bcmath.php new file mode 100755 index 0000000000..20563a8a00 --- /dev/null +++ b/manager/includes/extenders/upgradephp/ext/bcmath.php @@ -0,0 +1,89 @@ +X lBlA[_1nq]sX \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/ext/ctype.php b/manager/includes/extenders/upgradephp/ext/ctype.php new file mode 100755 index 0000000000..0f2ab5d4de --- /dev/null +++ b/manager/includes/extenders/upgradephp/ext/ctype.php @@ -0,0 +1,48 @@ + \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/ext/ftp.php b/manager/includes/extenders/upgradephp/ext/ftp.php new file mode 100755 index 0000000000..3a3cec0676 --- /dev/null +++ b/manager/includes/extenders/upgradephp/ext/ftp.php @@ -0,0 +1,619 @@ += 100) { + $fc["err"] = $err; + $fc["msg"] = rtrim(substr($line, 4)); + if (($err >= 200) || $break100) { + break; + } + elseif ($wait100) { + // nop, loop on until real status reply + } + elseif (FTP_DEBUG) { + trigger_error("ftp delay ($err): $fc[msg]", E_USER_NOTICE); + } + } } + } + + #-- general faults, closed connection + switch ($err) { + + case 421: + ftp_err("server closed connection - $fc[msg]"); + ftp_close($fc); + $fc = false; + break; + + case 332: + $r = ftp_send("ACCT $fc[user]"); + break; + + default: + if ($err >= 400) { + trigger_error("ftp ($err): $fc[msg]", E_USER_NOTICE); + } + } + + #-- done + if (FTP_DEBUG) { + echo "»»» $command"; + echo "««« $r"; + } + return($r); + } + else { + ftp_err("invalid connection handle passed to ftp_send() function"); + } + } + + + #-- simply check for successful result + function ftp_result(&$fc) { + if ( ($fc["err"] <= 399) && ($fc["err"] >= 200) ) { + return(true); + } + } + + + #-- internal use + function ftp_err($str) { + if (is_array($str)) { + $str = $str["err"] . " " . $str["msg"]; + } + trigger_error("ftp: $str", E_USER_WARNING); + } + + + #-- authentification + function ftp_login(&$fc, $user, $pw="") { + + #-- send user name + $fc["user"] = $user; + if ($user) { + $user .= ($fc["proxy"] ? "@".$fc["host"] : ""); + ftp_send($fc, "USER $user\n"); + + #-- password if required + if ($pw || ($fc["err"] == 331)) { + ftp_send($fc, "PASS $pw\n"); + } + $r = ftp_result($fc); + + if ($fc["err"] != 230) { + ftp_err("unsuccessful login"); + } + } + + #-- check capabilities + @ftp_send($fc, "MODE B\n"); // block mode supported? + if ($fc["err"] == 200) { + $fc["mode"] = "B"; + } + else { + $fc["mode"] = "S"; + ftp_send($fc, "MODE S\n"); // else stream mode (unreliable) + } + + #-- pre-fetch system type + ftp_send($fc, "SYST\n"); + $fc["sys"] = strtok($fc["msg"], " \r\n\t\f"); + + #-- set default options + @ftp_send($fc, "SITE UMASK 0022\n"); + ftp_send($fc, "TYPE A\n"); + ftp_send($fc, "PWD\n"); + if ($fc["err"] != 257) { + ftp_err("incompatible connection"); + } + + return($r); + } + + + #-- set data connection method/mode (will later be negotiated with server) + function ftp_pasv(&$fc, $bool=1) { + $fc["pasv"] = $bool ?1:0; + // ftp_err("this ftp:// access module always uses the PASV server data connection mode"); + } + + + #-- terminate ftp session + function ftp_quit(&$fc) { + ftp_send($fc, "QUIT\n"); // the server closes the tcp/ip connection + ftp_close($fc); // so this is not necessary + $fc = false; + } + + + #-- close connections + function ftp_close(&$fc) { + if ($fc["d"] && !feof($fc["d"])) { + @fclose($fc["d"]); + } + if (!feof($fc["f"])) { + @fclose($fc["f"]); + } + } + + + #-- simple functions ----------------------------------------------------- + + function ftp_cdup(&$fc) { + ftp_send($fc, "CDUP\n"); + return ftp_result($fc); + } + function ftp_chdir(&$fc, $path) { + ftp_send($fc, "CWD $path\n"); + return ftp_result($fc); + } + function ftp_mkdir(&$fc, $path) { + ftp_send($fc, "MKD $path\n"); + return ftp_result($fc); + } + function ftp_rmdir(&$fc, $path) { + ftp_send($fc, "RMD $path\n"); + return ftp_result($fc); + } + function ftp_pwd(&$fc) { + ftp_send($fc, "PWD $path\n"); + $d = $fc["msg"]; + $l = strpos($d, '"'); + $d = substr($d, $l+1, strrpos($d, '"')-$l-1); + return($d); + } + + function ftp_delete(&$fc, $file) { + ftp_send($fc, "DELE $path\n"); + return ftp_result($fc); + } + function ftp_mv(&$fc, $from, $to) { + ftp_send($fc, "RNFR $from\n"); + ftp_send($fc, "RNTO $to\n"); + return ftp_result($fc); + } + function ftp_chmod(&$fc, $perm, $path) { + $perm = "0" . base_convert($perm, 10, 8); + ftp_send($fc, "SITE CHMOD $perm $path\n"); + return ftp_result($fc); + } + + function ftp_site(&$fc, $cmd) { + $cmd = rtrim($cmd); + ftp_send($fc, "SITE $cmd\n"); + return ftp_result($fc); + } + function ftp_exec(&$fc, $cmd) { + ftp_site($fc, "EXEC $cmd\n"); + return ftp_result($fc); + } + function ftp_raw(&$fc, $str) { + $str = rtrim($str) . "\n"; + $r = ftp_send($fc, $str); + return(explode("\n", $r)); + } + + function ftp_systype(&$fc) { + return $fc["sys"]; + } + + + #-- file transfer calls -------------------------------------------------- + + + #-- file upload + function ftp_fput(&$fc, $to, $fh, $mode=FTP_BINARY, $chunksize=65536) { + if (!$fh) { return; } + + #-- data connection + ftp_data_connection($fc); + if ($chunksize >= 65536) { + $chunksize = 65535; + } + + #-- initiate file transfer + ftp_send($fc, "TYPE $mode\n"); + set_time_limit(240); + ftp_send($fc, "STOR $to\n", 0, 1); + + #-- server waiting for transfer? + if (($fc["err"] == 150) || ($fc["err"] == 125)) { + + #-- connection mode + if (!$fc["pasv"]) { + $d = socket_accept($fc["s"]); + $data_write = "socket_write"; + $data_close = "socket_close"; + } + else { + $d = & $fc["d"]; + $data_write = "fwrite"; + $data_close = "fclose"; + } + + #-- stream mode, simple + if ($fc["mode"] == "S") { + while ($fh && !feof($fh)) { + $dat = fread($fh, $chunksize); + $data_write($d, $dat); + } + } + else { + while ($fh && !feof($fh)) { + $dat = fread($fh, $chunksize); + $n = strlen($dat); + $data_write($d, pack("cn", 0, $n)); // block header + $data_write($d, $dat); + } + $data_write($fc["d"], pack("ccc", 0x40, 0, 0)); // EOF + } + + #-- close server socket + if (!$fc["pasv"]) { + socket_close($d); + } + + #-- transmission ok + ftp_data_end($fc); + ftp_send($fc, "", 1); + $r = ($fc["err"] == 226) || ($fc["err"] == 250); + + #-- reset options + if ($mode != FTP_ASCII) { + ftp_send($fc, "TYPE A\n"); + } + + } + else { + ftp_err("$fc[err] $fc[msg]"); + $r = 0; + } + + return($r); + } + + + function ftp_put(&$fc, $to, $fn, $mode=FTP_BINARY) { + if (!is_resource($fn)) { + $fn = fopen($fn, "rb"); + } + $r = ftp_fput($fc, $to, $fn, $mode); + fclose($fn); + return($r); + } + + + + + #-- download + function ftp_fget(&$fc, $to, $fh, $mode=FTP_BINARY, $chunksize=65536) { + if (!$fh) { return; } + + #-- open connection + ftp_data_connection($fc); + + #-- initiate file transfer + ftp_send($fc, "TYPE $mode\n"); + set_time_limit(240); + ftp_send($fc, "RETR $to\n", 0, 1); + + #-- server waiting for transfer? + if (($fc["err"] == 150) || ($fc["err"] == 125)) { + + #-- connection mode + if (!$fc["pasv"]) { + $d = socket_accept($fc["s"]); + $data_read = "socket_read"; + $data_close = "socket_close"; + } + else { + $d = & $fc["d"]; + $data_read = "fread"; + $data_close = "fclose"; + } + + #-- stream mode, simple + if ($fc["mode"] == "S") { + $dat = "+"; + while (strlen($dat)) { + $dat = $data_read($d, $chunksize); + fwrite($fh, $dat); + } + } + else { + $eof = 0; + while (!$eof) { + list($flags, $len) = unpack("cn", $data_read($d, 3)); + $eof = $flags & (0x40|0x80); + + if ($len) { + $dat = $data_read($d, $len); + fwrite($fh, $dat); + } + } + } + + #-- close server socket + if (!$fc["pasv"]) { + $data_close($d); + } + + #-- transmission ok + ftp_data_end($fc); + ftp_send($fc, "", 1); + $r = ($fc["err"] == 226) || ($fc["err"] == 250); + + #-- reset options + if ($mode != FTP_ASCII) { + ftp_send($fc, "TYPE A\n"); + } + + } + else { + ftp_err("$fc[err] $fc[msg]"); + $r = 0; + } + + return($r); + } + + + #-- directly into file + function ftp_get(&$fc, $to, $fn, $mode=FTP_BINARY) { + if (!is_resource($fn)) { + $fn = fopen($fn, "wb"); + } + $r = ftp_fget($fc, $to, $fn, $mode); + fclose($fn); + return($r); + } + + + + #-- establishes a data connection --------------------------------------- + function ftp_data_connection(&$fc) { + if (!$fc["d"] || feof($fc["d"])) { + + #-- make client establish connection (PASsiVe server) + if ($fc["pasv"]) { + ftp_send($fc, "PASV\n"); + + #-- reply ok? + if ($fc["err"] == 227) { + $l = strpos($fc["msg"], "("); + $r = strpos($fc["msg"], ")", $l); + $uu = explode(",", substr($fc["msg"], $l + 1, $r - $l - 1)); + $ip = "$uu[0].$uu[1].$uu[2].$uu[3]"; + $port = ((int)$uu[4]<<8) + ((int)$uu[5]); + + #-- all done + if ($port) { + if (!$fc["d"] = @fsockopen($ip, $port, $errno, $errstr, 25)) { + ftp_err("data socket connection could not be established [$errno - $errstr]"); + } + } + else { + ftp_err("data connection negotiation problem (server uses wrong syntax)"); + } + } + + #-- fall back + else { + $fc["pasv"] = 0; + ftp_err("falling back to standard (ACTiVe server) connection mode"); + ftp_data_connection($fc); + } + } + + #-- else choose port we wish the server to contact us + elseif (!$fc["s"]) { + if (!function_exists("socket_listen")) { + ftp_err("could not establish data connection, because PHP socket I/O functions are absent"); + } + else { + $ip = strtr(gethostbyname("localhost"), ".", ","); + + #-- loop, test randomly choosen ports + $retry = 20; + $s = 0; + while ((!$s) && ($retry-- >= 0)) { + $port = rand(3072, 65535); + $p1 = ($port >> 8); + $p2 = ($port & 0xFF); + ftp_send($fc, "PORT $ip,$p1,$p2\n"); + if ($fc["err"] == 200) { + $s = socket_create_listen($port); + } + } + if ($s) { + $fc["s"] = $s; + } + else { + ftp_err("could not create listening socket for (ACTiVe server) data connection"); + } + } } + } + } + + + #-- closes data connection, (in stream mode) + function ftp_data_end(&$fc) { + if (($fc["d"]) && ($fc["mode"] == "S")) { + if ($fc["pasv"]) { + fclose($fc["d"]); + } + else { + socket_close($fc["d"]); + } + $fc["d"] = false; + } + } + + +} + + + +#------------------------------------------------------------- add-ons --- +# require a connection in $GLOBALS['fc']; + + +#-- transfers a file tree from source dir to destination on connected server +function ftp_xcopy($from, $to=NULL) { + global $fc, $DEBUG; + #-- dir + if ($to) { + ftp_xmkdir($to); + } + else { + ftp_xmkdir($from); + $to = $from; + } + if (!$from) { + return; + } + #-- store files + if (is_dir($from)) { + if ($dh = opendir($from)) { + $from = trim($from, "/"); + while ($fn = readdir($dh)) { + if ($fn[0] != ".") { + ftp_xcopy("$from/$fn"); + } + } + closedir($dh); + } + else { + echo "error reading directory '$from'
    \n"; + } + } + else { + if ($f = fopen($from, "rb")) { + if (!$DEBUG) { +#$cwd=getcwd(); echo "PUT $cwd/$from to $to
    \n"; + ftp_put($fc, $to, $from, FTP_BINARY); + ftp_site($fc, "CHMOD 0644 $to"); + } + else { + echo "upload '$from' to 'ftp://.../$to'
    \n"; + } + fclose($f); + } + else { + echo "error reading file '$from'
    \n"; + } + } +} + + +#-- creates directory trees for given filename strings and keeps track +# of what it created, so you can call it without thought +function ftp_xmkdir($file) { + global $fc, $ftp_dirs, $DEBUG; + $p = strrpos($file, "/"); + if (!$p) { + return; + } + $file = substr($file, 0, $p); + if (in_array($file, $ftp_dirs)) { + return; + } + $p = 0; + $file .= "/"; + while ($p = strpos($file, "/", $p+1)) { + $dir = substr($file, 0, $p); + if (!in_array($dir, $ftp_dirs)) { + if (!$DEBUG) { + @ftp_mkdir($fc, $dir); + @ftp_site($fc, "CHMOD 0755 $dir"); + } + $ftp_dirs[] = $dir; + } + } +} + + +?> \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/ext/gettext.php b/manager/includes/extenders/upgradephp/ext/gettext.php new file mode 100755 index 0000000000..dcf23eb7db --- /dev/null +++ b/manager/includes/extenders/upgradephp/ext/gettext.php @@ -0,0 +1,391 @@ +1;") { + $type = 2; // French + } + // special cases + elseif (strpos($type, "n%100!=11")) { + if (strpos($type, "n!=0")) { + $type == 21; // Latvian + } + if (strpos($type, "n%10<=4")) { + $type = 22; // a few Slavic langs (code similar to Polish below) + } + if (strpos($type, "n%10>=2")) { // Lithuanian + $type = 23; + } + $type = 0; + } + // specials, group 2 + elseif (strpos($type, "n<=4")) { // Slovak + $type = 25; + } + elseif (strpos($type, "n==2")) { // Irish + $type = 31; + } + elseif (strpos($type, "n%10>=2")) { // Polish + $type = 26; + } + elseif (strpos($type, "n%100==3")) { // Slovenian + $type = 28; + } + // fallbacks + elseif (strpos($type, ";plural=n;")) { + $type = 7; // unused + } + // first at this point a tokenizer/parser/interpreter would have made sense + else { + $type = 0; // no plurals + } + } + + #-- return plural index value from pre-set formulas + switch ($type) { + case -1: // no plural forms + return(0); + case 1: // English, and lots of others... + return($n != 1 ? 1 : 0); + case 2: // French, Brazilian Protuguese + return($n > 1 ? 1 : 0); + case 7: // unused + return($n); + + case 21: // Latvian + return (($n%10==1) && ($n%100!=11)) ? (0) : ($n!=0 ? 1 : 2) ; + case 22: // Slavic langs + return ($n%10==1) && ($n%100!=11) ? 0 : + ( ($n%10>=2) && ($n%10<=4) && ($n%100<10 || $n%100>=20) ? 1 : 2 ) ; + case 23: // Lithuanian + return ($n%10==1) && ($n%100!=11) ? 0 : + ( ($n%10>=2) && ($n%100<10 || $n%100>=20) ? 1 : 2 ) ; + case 25: // Slovak + return $n==1 ? 0 : ($n>=2 && $n<=4 ? 1 : 2) ; + case 26: // Polish + return $n==1 ? 0 : ( $n%10>=2 && $n%10<=4 && ($n%100<10 || $n%100>=20) ? 1 : 2 ) ; + case 28: // Slovenian + return $n%100==1 ? 0 : ($n%100==2 || $n%100==3 || $n%100==4 ? 2 : 3) ; + case 31: // Irish + return ($n == 1) ? (0) : (($n == 2) ? 1 : 2) ; + + default: + $type = -1; + } // unsupported, always return non-plural index [0] + return(0); + } + + + #-- wrappers around monster function above + function ngettext($msg1, $msg2, $plural) { + return gettext($msg1, $msg2, NULL, NULL, $plural); + } + function dngettext($domain, $msg1, $msg2, $plural) { + return gettext($msg1, $msg2, $domain, NULL, $plural); + } + function dcngettext($domain, $msg1, $msg2, $plural, $category) { + return gettext($msg1, $msg2, $domain, $category, $plural); + } + function dcgettext($domain, $msg, $category) { + return gettext($msg, NULL, $domain, $category); + } + function dgettext($domain, $msg) { + return gettext($msg, NULL, $domain); + } + + + #-- sets current translation data source + # (must have been loaded beforehand) + function textdomain($default="NULL") { + global $_GETTEXT; + $prev = isset($_GETTEXT['%domain']) ? $_GETTEXT['%domain'] : NULL; + if (isset($default)) { + $_GETTEXT['%domain'] = $default; + } + return $prev; + } + + + #-- loads data files + function bindtextdomain($domain, $directory="/usr/share/locale:/usr/local/share/locale:./locale") { + global $_GETTEXT; + if (isset($_GETTEXT[$domain]) && (count($_GETTEXT[$domain]) > 3)) { + return; // don't load twice + } + $_GETTEXT[$domain]['%dir'] = $directory; + $_GETTEXT['%locale'] = setlocale(LC_CTYPE, 0); + + #-- allowed languages + $langs = @$_ENV['LANGUAGE'] . ',' . @$_ENV['LC_ALL'] . ',' + . @$_ENV['LC_MESSAGE'] .',' . @$_ENV['LANG'] . ',' + . @$_GETTEXT['%locale'] . ',' . @$_SERVER['HTTP_ACCEPT_LANGUAGE'] + . ',C,en'; + + #-- add shortened language codes (en_UK.UTF-8 -> + en_UK, en) + foreach (explode(',', $langs) as $d) { + $d = trim($d); + // $dir2[] = $d; + $d = strtok($d, "@.-+=%:; "); + if (strlen($d)) { + $dir2[] = $d; + } + if (strpos($d, '_')) { + $dir2[] = strtok($d, '_'); + } + } + + #-- search for matching directory and load data file + foreach (explode(':', $directory) as $directory) { + foreach ($dir2 as $lang) { + $base_fn = "$directory/$lang/LC_MESSAGES/$domain"; + +#echo "GETTEXT:$lang:$base_fn\n"; + + #-- binary format + if (file_exists($fn = "$base_fn.mo") && ($f = fopen($fn, "rb"))) + { + gettext___load_mo($f, $domain); + break 2; + } + + #-- text file + elseif (function_exists("gettext___load_po") + and file_exists($fn = "$base_fn.po") && ($f = fopen($fn, "r"))) + { + gettext___load_po($f, $domain); + break 2; + } + } + }//foreach + + #-- extract headers + if ($head = $_GETTEXT[$domain][""]) { + foreach (explode("\n", $head) as $line) { + $header = strtok(':', $line); + $line = trim(strtok("\n")); + $_GETTEXT[$domain]['%po-header'][strtolower($header)] = $line; + } + + #-- plural-forms header + if (function_exists("gettext___plural_guess") + and ($h = @$_GETTEXT[$domain]['%po-header']["plural-forms"])) + { + $h = preg_replace("/[(){}\[\]^\s*\\]+/", "", $h); // rm whitespace + gettext___plural_guess($h, 0); // pre-decode into algorithm type integer + $_GETTEXT[$domain]['%plural-c'] = $h; + } + } + + #-- set as default textdomain + if (empty($_GETTEXT['%domain'])) { + textdomain($domain); + } + return($domain); + } + + + #-- load string data from binary .mo files (ign checksums) + function gettext___load_mo($f, $domain) { + global $_GETTEXT; + + #-- read in data file completely + $data = fread($f, 1<<20); + fclose($f); + + #-- extract header fields and check file magic + if ($data) { + $header = substr($data, 0, 20); + $header = unpack("L1magic/L1version/L1count/L1o_msg/L1o_trn", $header); + extract($header); + if ((dechex($magic) == "950412de") && ($version == 0)) { + + #-- fetch all entries + for ($n=0; $n<$count; $n++) { + + #-- msgid + $r = unpack("L1len/L1offs", substr($data, $o_msg + $n * 8, 8)); + $msgid = substr($data, $r["offs"], $r["len"]); + unset($msgid_plural); + if (strpos($msgid, "\000")) { + list($msgid, $msgid_plural) = explode("\000", $msgid); + } + + #-- translation(s) + $r = unpack("L1len/L1offs", substr($data, $o_trn + $n * 8, 8)); + $msgstr = substr($data, $r["offs"], $r["len"]); + if (strpos($msgstr, "\000")) { + $msgstr = explode("\000", $msgstr); + } + + #-- add + $_GETTEXT[$domain][$msgid] = $msgstr; + if (isset($msgid_plural)) { + $_GETTEXT[$domain][$msgid_plural] = &$_GETTEXT[$domain][$msgid]; + } + } + + } + } + } + + + #-- read from textual .po source file (not fully correct, and redundant + # because the original gettext/libintl doesn't support this at all) + function gettext___load_po($f, $domain) { + global $_GETTEXT; + $c_esc = array("\\n"=>"\n", "\\r"=>"\r", "\\\\"=>"\\", "\\f"=>"\f", "\\t"=>"\t", "\\"=>""); + + #-- read line-wise from text file + do { + $line = trim(fgets($f)); + + #-- check what's in the current line + $space = strpos($line, " "); + // comment + if ($line[0] == "#") { + //continue; + } + // msgid + elseif (strncmp($line, "msgid", 5)==0) { + $msgid[] = trim(substr($line, $space+1), '"'); + } + // translation + elseif (strncmp($line, "msgstr", 6)==0) { + $msgstr[] = trim(substr($line, $space+1), '"'); + } + // continued (could be _id or _str) + elseif ($line[0] == '"') { + $line = trim($line, '"'); + if (isset($msggstr)) { + $msgstr[count($msgstr)] .= $line; + } + else { + $msgid[count($msgid)] .= $line; + } + } + + #-- append to global $_GETTEXT hash as soon as we have a complete dataset + if (isset($msgid) && isset($msgstr) && (empty($line) || ($line[0]=="#") || feof($f)) ) + { + $msgid[0] = strtr($msgid[0], $c_esc); + foreach ($msgstr as $v) { + $_GETTEXT[$domain][$msgid[0]] = strtr($v, $c_esc); + } + if ($msgid[1]) { + $msgid[1] = strtr($msgid[1], $c_esc); + $_GETTEXT[$domain][$msgid[1]] = &$_GETTEXT[$domain][$msgid[0]]; + } + + $msgid = array(); + $msgstr = array(); + } + + } while (!feof($f)); + fclose($f); + } + + + #-- ignored setting (no idea what it really should do) + function bind_textdomain_codeset($domain, $codeset) { + global $_GETTEXT; + $_GETTEXT[$domain]["%codeset"] = $codeset; + return($domain); + } + + +} + + +#-- define gettexts preferred function name _ separately +if (!function_exists("_")) { + function _($str) { + return gettext($str); + } +} + + + +?> \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/ext/mime.php b/manager/includes/extenders/upgradephp/ext/mime.php new file mode 100755 index 0000000000..bc517e888a --- /dev/null +++ b/manager/includes/extenders/upgradephp/ext/mime.php @@ -0,0 +1,360 @@ +continuing lines + if ($pos[0] == ">") { + continue; + } + #-- real mime type string? + $ct = strtok($ct, " "); + if (!strpos($ct, "/")) { + continue; + } + + #-- mask given? + $mask = 0; + if (strpos($typestr, "&")) { + $typestr = strtok($typestr, "&"); + $mask = strtok(" "); + if ($mask[0] == "0") { + $mask = ($mask[1] == "x") ? hexdec(substr($mask, 2)) : octdec($mask); + } + else { + $mask = (int)$mask; + } + } + + #-- strip prefixes + if ($magic[0] == "=") { + $magic = substr($magic, 1); + } + + #-- convert type + if ($typestr == "string") { + $magic = stripcslashes($magic); + $len = strlen($magic); + if ($mask) { + continue; + } + } + #-- numeric values + else { + + if ((ord($magic[0]) < 48) or (ord($magic[0]) > 57)) { +#echo "\nmagicnumspec=$line\n"; +#var_dump($l); + continue; #-- skip specials like >, x, <, ^, & + } + + #-- convert string representation into int + if ((strlen($magic) >= 4) && ($magic[1] == "x")) { + $magic = hexdec(substr($magic, 2)); + } + elseif ($magic[0]) { + $magic = octdec($magic); + } + else { + $magic = (int) $magic; + if (!$magic) { continue; } // zero is not a good magic value anyhow + } + + #-- different types + switch ($typestr) { + + case "byte": + $len = 1; + break; + + case "beshort": + $magic = ($magic >> 8) | (($magic & 0xFF) << 8); + case "leshort": + case "short": + $len = 2; + break; + + case "belong": + $magic = (($magic >> 24) & 0xFF) + | (($magic >> 8) & 0xFF00) + | (($magic & 0xFF00) << 8) + | (($magic & 0xFF) << 24); + case "lelong": + case "long": + $len = 4; + break; + + default: + // date, ldate, ledate, leldate, beldate, lebelbe... + continue; + } + } + + #-- add to list + $mime_magic_data[] = array($pos, $len, $mask, $magic, trim($ct)); + } + } +#print_r($mime_magic_data); + } + + + #-- compare against each entry from the mime magic database + foreach ($mime_magic_data as $def) { + + #-- entries are organized as follows + list($pos, $len, $mask, $magic, $ct) = $def; + + #-- ignored entries (we only read first 3K of file for opt. speed) + if ($pos >= $maxlen) { + continue; + } + + $slice = substr($bin, $pos, $len); + #-- integer comparison value + if ($mask) { + $value = hexdec(bin2hex($slice)); + if (($value & $mask) == $magic) { + $type = $ct; + break; + } + } + #-- string comparison + else { + if ($slice == $magic) { + $type = $ct; + break; + } + } + }// foreach + + #-- built-in defaults + if (!$type) { + + #-- some form of xml + if (strpos($bin, "<"."?xml ") !== false) { + return("text/xml"); + } + #-- html + elseif ((strpos($bin, "") !== false) || (strpos($bin, "") !== false) + || strpos($bin, "") || strpos($bin, "<TITLE>") + || (strpos($bin, "<!--") !== false) || (strpos($bin, "<!DOCTYPE HTML ") !== false)) { + $type = "text/html"; + } + #-- mail msg + elseif ((strpos($bin, "\nReceived: ") !== false) || strpos($bin, "\nSubject: ") + || strpos($bin, "\nCc: ") || strpos($bin, "\nDate: ")) { + $type = "message/rfc822"; + } + #-- php scripts + elseif (strpos($bin, "<"."?php") !== false) { + return("application/x-httpd-php"); + } + #-- plain text, C source or so + elseif (strpos($bin, "function ") || strpos($bin, " and ") + || strpos($bin, " the ") || strpos($bin, "The ") + || (strpos($bin, "/*") !== false) || strpos($bin, "#include ")) { + return("text/plain"); + } + + #-- final fallback + else { + $type = "application/octet-stream"; + } + } + + + + #-- done + return $type; + } +} + + + +#-- gives Media Type for the index numbers getimagesize() returned +if (!function_exists("image_type_to_mime_type")) { + define("IMAGETYPE_GIF", 1); + define("IMAGETYPE_JPEG", 2); + define("IMAGETYPE_PNG", 3); + define("IMAGETYPE_SWF", 4); + define("IMAGETYPE_PSD", 5); // post-4.3 from here ... + define("IMAGETYPE_BMP", 6); + define("IMAGETYPE_TIFF_II", 7); + define("IMAGETYPE_TIFF_MM", 8); + define("IMAGETYPE_JPC", 9); + define("IMAGETYPE_JP2", 10); + define("IMAGETYPE_JPX", 11); + define("IMAGETYPE_JB2", 12); + define("IMAGETYPE_SWC", 13); + define("IMAGETYPE_IFF", 14); + define("IMAGETYPE_WBMP", 15); + define("IMAGETYPE_XBM", 16); + define("IMAGETYPE_MNG", 77); + define("IMAGETYPE_XPM", 88); + define("IMAGETYPE_ZIF", 90); + define("IMAGETYPE_PBM", 80); + define("IMAGETYPE_PGM", 81); + define("IMAGETYPE_PPM", 82); + function image_type_to_mime_type($id) { + static $mime = array( + IMAGETYPE_GIF => "gif", + IMAGETYPE_JPEG => "jpeg", + IMAGETYPE_PNG => "png", + IMAGETYPE_SWF => "application/x-shockwave-flash", + IMAGETYPE_BMP => "bmp", + IMAGETYPE_JP2 => "jp2", + IMAGETYPE_WBMP => "vnd.wap.wbmp", + IMAGETYPE_XBM => "xbm", + IMAGETYPE_PSD => "x-photoshop", + IMAGETYPE_TIFF_II => "tiff", + IMAGETYPE_TIFF_MM => "tiff", + IMAGETYPE_JPC => "application/octet-stream", + IMAGETYPE_JP2 => "jp2", +// IMAGETYPE_JPX => "", +// IMAGETYPE_JB2 => "", + IMAGETYPE_SWC => "application/x-shockwave-flash", + IMAGETYPE_IFF => "iff", + IMAGETYPE_XPM => "x-xpm", + IMAGETYPE_ZIF => "unknown", + IMAGETYPE_MNG => "video/mng", + IMAGETYPE_PBM => "x-portable-bitmap", + IMAGETYPE_PGM => "x-portable-greymap", + IMAGETYPE_PPM => "x-portable-pixmap", + ); + if (isset($mime[$id])) { + $m = $mime[$id]; + strpos($m, "/") || ($m = "image/$m"); + } + else { + $m = "image/unknown"; + } + return($m); + } +} + +#-- still in CVS +if (!function_exists("image_type_to_extension")) { + function image_type_to_extension($id, $dot=true) { + static $ext = array( + 0=>false, + 1=>"gif", 2=>"jpeg", 3=>"png", + "swf", "psd", "bmp", + "tiff", "tiff", + "jpc", "jp2", "jpx", "jb2", + "swc", "wbmp", "xbm", + 77=>"mng", 88=>"xpm", 90=>"zif", + 80=>"pbm", 81=>"pgm", 82=>"ppm", + ); + $m = $ext[$id]; + if ($m && $dot) { + $m = ".$m"; + } + return($m); + } +} + + + +#-- we need this then, too +if (!function_exists("exif_imagetype")) { + function exif_imagetype($fn) { + $magic = array( + "\211PNG" => IMAGETYPE_PNG, + "\377\330" => IMAGETYPE_JPEG, + "GIF89a" => IMAGETYPE_GIF, + "GIF94z" => IMAGETYPE_ZIF, + "FWS" => IMAGETYPE_SWF, + "II" => IMAGETYPE_TIFF_II, + "MM" => IMAGETYPE_TIFF_MM, + "/* XPM" => IMAGETYPE_XPM, + "BM" => IMAGETYPE_BMP, // also for OS/2 + "\212MNG" => IMAGETYPE_MNG, + "P1" => IMAGETYPE_PBM, + "P4" => IMAGETYPE_PBM, + "P2" => IMAGETYPE_PGM, + "P5" => IMAGETYPE_PGM, + "P3" => IMAGETYPE_PPM, + "P6" => IMAGETYPE_PPM, + ); + if ($f = fopen($fn, "rb")) { + $bin = fread($f, 8); + fclose($f); + foreach ($magic as $scn=>$id) { + if (!strncmp($bin, $scn, strlen($scn))) { + return $id; + } + } + } + } +} + +?> \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/ext/pdo.pgsql.php b/manager/includes/extenders/upgradephp/ext/pdo.pgsql.php new file mode 100755 index 0000000000..17de3f8945 --- /dev/null +++ b/manager/includes/extenders/upgradephp/ext/pdo.pgsql.php @@ -0,0 +1,618 @@ +<?php if (!class_exists("PDO_PGSQL")) { +/** File PDO_pgsql.class.php * + *(C) Andrea Giammarchi [2005/10/13] */ + +// Requires PDOStatement_pgsql.class.php , drived by PDO.class.php file +#<builtin>#require_once('PDOStatement_pgsql.class.php'); + +/** + * Class PDO_pgsql + * This class is used from class PDO to manage a PostgreSQL database. + * Look at PDO.clas.php file comments to know more about PostgreSQL connection. + * --------------------------------------------- + * @Compatibility >= PHP 4 + * @Dependencies PDO.class.php + * PDOStatement_pgsql.class.php + * @Author Andrea Giammarchi + * @Site http://www.devpro.it/ + * @Mail andrea [ at ] 3site [ dot ] it + * @Date 2005/10/13 + * @LastModified 2005/10/14 12:30 + * @Version 0.1 - tested + */ +class PDO_pgsql { + + /** + * 'Private' variables: + * __connection:Resource Database connection + * __dbinfo:String Database connection params + * __persistent:Boolean Connection mode, is true on persistent, false on normal (deafult) connection + * __errorCode:String Last error code + * __errorInfo:Array Detailed errors + * __result:Resource Last query resource + */ + var $__connection; + var $__dbinfo; + var $__persistent = false; + var $__errorCode = ''; + var $__errorInfo = Array(''); + var $__result = null; + + /** + * Public constructor: + * Checks connection and database selection + * new PDO_pgsql( &$host:String, &$db:String, &$user:String, &$pass:String ) + * @Param String Database connection params + */ + function PDO_pgsql(&$string_dsn) { + if(!@$this->__connection = &pg_connect($string_dsn)) + $this->__setErrors('DBCON', true); + else + $this->__dbinfo = &$string_dsn; + } + + /** NOT NATIVE BUT MAYBE USEFULL FOR PHP < 5.1 PDO DRIVER + * Public method + * Calls pg_close function. + * this->close( Void ):Boolean + * @Return Boolean True on success, false otherwise + */ + function close() { + $result = is_resource($this->__connection); + if($result) + pg_close($this->__connection); + return $result; + } + + /** + * Public method: + * Returns a code rappresentation of an error + * this->errorCode( void ):String + * @Return String String rappresentation of the error + */ + function errorCode() { + return $this->__errorCode; + } + + /** + * Public method: + * Returns an array with error informations + * this->errorInfo( void ):Array + * @Return Array Array with 3 keys: + * 0 => error code + * 1 => error number + * 2 => error string + */ + function errorInfo() { + return $this->__errorInfo; + } + + /** + * Public method: + * Excecutes a query and returns affected rows + * this->exec( $query:String ):Mixed + * @Param String query to execute + * @Return Mixed Number of affected rows or false on bad query. + */ + function exec($query) { + $result = 0; + $this->__uquery($query); + if(!is_null($this->__result)) + $result = pg_affected_rows($this->__result); + if(is_null($result)) + $result = false; + return $result; + } + + /** NOT REALLY SUPPORTED, returned value is not last inserted id + * Public method: + * Returns pg_last_oid function + * this->lastInsertId( void ):String + * @Return String OID returned from Postgre + */ + function lastInsertId() { + $result = 0; + if(!is_null($this->__result)) + $result = pg_last_oid($this->__result); + return $result; + } + + /** + * Public method: + * Returns a new PDOStatement + * this->prepare( $query:String, $array:Array ):PDOStatement + * @Param String query to prepare + * @Param Array this variable is not used but respects PDO original accepted parameters + * @Return PDOStatement new PDOStatement to manage + */ + function prepare($query, $array = Array()) { + return new PDOStatement_pgsql($query, $this->__connection, $this->__dbinfo); + } + + /** + * Public method: + * Executes directly a query and returns an array with result or false on bad query + * this->query( $query:String ):Mixed + * @Param String query to execute + * @Return Mixed false on error, array with all info on success + */ + function query($query) { + $query = pg_prepare($this->__connection, "__pdo_query__", $query); + $query = pg_execute($this->__connection, "__pdo_query__"); + $this->__errorCode = &$query->state; + if($query) { + $result = Array(); + while($r = pg_fetch_assoc($query)) + array_push($result, $r); + } + else { + $result = false; + $this->__setErrors('SQLER'); + } + return $result; + } + + /** + * Public method: + * Quotes correctly a string for this database + * this->quote( $string:String ):String + * @Param String string to quote + * @Return String a correctly quoted string + */ + function quote($string) { + return ("'".pg_escape_string($string)."'"); + } + + + // NOT TOTALLY SUPPORTED PUBLIC METHODS + /** + * Public method: + * Quotes correctly a string for this database + * this->getAttribute( $attribute:Integer ):Mixed + * @Param Integer a constant [ PDO_ATTR_SERVER_INFO, + * PDO_ATTR_SERVER_VERSION, + * PDO_ATTR_CLIENT_VERSION, + * PDO_ATTR_PERSISTENT ] + * @Return Mixed correct information or false + */ + function getAttribute($attribute) { + $result = false; + switch($attribute) { + case PDO_ATTR_SERVER_INFO: + $result = pg_parameter_status($this->__connection, 'server_encoding'); + break; + case PDO_ATTR_SERVER_VERSION: + $result = pg_parameter_status($this->__connection, 'server_version'); + break; + case PDO_ATTR_CLIENT_VERSION: + $result = pg_parameter_status($this->__connection, 'server_version'); + $result .= ' '.pg_parameter_status($this->__connection, 'client_encoding'); + break; + case PDO_ATTR_PERSISTENT: + $result = $this->__persistent; + break; + } + return $result; + } + + /** + * Public method: + * Sets database attributes, in this version only connection mode. + * this->setAttribute( $attribute:Integer, $mixed:Mixed ):Boolean + * @Param Integer PDO_* constant, in this case only PDO_ATTR_PERSISTENT + * @Param Mixed value for PDO_* constant, in this case a Boolean value + * true for permanent connection, false for default not permament connection + * @Return Boolean true on change, false otherwise + */ + function setAttribute($attribute, $mixed) { + $result = false; + if($attribute === PDO_ATTR_PERSISTENT && $mixed != $this->__persistent) { + $result = true; + $this->__persistent = (boolean) $mixed; + pg_close($this->__connection); + if($this->__persistent === true) + $this->__connection = &pg_connect($this->__dbinfo); + else + $this->__connection = &pg_pconnect($this->__dbinfo); + } + return $result; + } + + + // UNSUPPORTED PUBLIC METHODS + function beginTransaction() { + return false; + } + + function commit() { + return false; + } + + function rollBack() { + return false; + } + + + // PRIVATE METHODS [ UNCOMMENTED ] + function __setErrors($er) { + if(!is_string($this->__errorCode)) + $errno = $this->__errorCode; + if(!is_resource($this->__connection)) { + $errno = 1; + $errst = pg_last_error(); + } + else { + $errno = 1; + $errst = pg_last_error($this->__connection); + } + $this->__errorCode = &$er; + $this->__errorInfo = Array($this->__errorCode, $errno, $errst); + } + + function __uquery(&$query) { + if(!@$this->__result = pg_query($this->__connection, $query)) { + $this->__setErrors('SQLER'); + $this->__result = null; + } + return $this->__result; + } +} +?><?php +/** File PDOStatement_pgsql.class.php * + *(C) Andrea Giammarchi [2005/10/13] */ + +/** + * Class PDOStatement_pgsql + * This class is used from class PDO_pgsql to manage a PostgreSQL database. + * Look at PDO.clas.php file comments to know more about PostgreSQL connection. + * --------------------------------------------- + * @Compatibility >= PHP 4 + * @Dependencies PDO.class.php + * PDO_pgsql.class.php + * @Author Andrea Giammarchi + * @Site http://www.devpro.it/ + * @Mail andrea [ at ] 3site [ dot ] it + * @Date 2005/10/19 + * @LastModified 2006/01/29 09:30 [fixed execute bug] + * @Version 0.1b - tested + */ +class PDOStatement_pgsql { + + /** + * 'Private' variables: + * __connection:Resource Database connection + * __dbinfo:Array Array with 4 elements used to manage connection + * __persistent:Boolean Connection mode, is true on persistent, false on normal (deafult) connection + * __query:String Last query used + * __result:Resource Last result from last query + * __fetchmode:Integer constant PDO_FETCH_* result mode + * __errorCode:String Last error string code + * __errorInfo:Array Last error informations, code, number, details + * __boundParams:Array Stored bindParam + */ + var $__connection; + var $__dbinfo; + var $__persistent = false; + var $__query = ''; + var $__result = null; + var $__fetchmode = PDO::FETCH_BOTH; + var $__errorCode = ''; + var $__errorInfo = Array(''); + var $__boundParams = Array(); + + /** + * Public constructor: + * Called from PDO to create a PDOStatement for this database + * new PDOStatement_pgsql( &$__query:String, &$__connection:Resource, $__dbinfo:String ) + * @Param String query to prepare + * @Param Resource database connection + * @Param String database file name + */ + function PDOStatement_pgsql(&$__query, &$__connection, &$__dbinfo) { + $this->__query = &$__query; + $this->__connection = &$__connection; + $this->__dbinfo = &$__dbinfo; + } + + /** + * Public method: + * Replace ? or :named values to execute prepared query + * this->bindParam( $mixed:Mixed, &$variable:Mixed, $type:Integer, $lenght:Integer ):Void + * @Param Mixed Integer or String to replace prepared value + * @Param Mixed variable to replace + * @Param Integer this variable is not used but respects PDO original accepted parameters + * @Param Integer this variable is not used but respects PDO original accepted parameters + */ + function bindParam($mixed, &$variable, $type = null, $lenght = null) { + if(is_string($mixed)) + $this->__boundParams[$mixed] = $variable; + else + array_push($this->__boundParams, $variable); + } + + /** + * Public method: + * Checks if query was valid and returns how may fields returns + * this->columnCount( void ):Void + */ + function columnCount() { + $result = 0; + if(!is_null($this->__result)) + $result = pg_num_fields($this->__result); + return $result; + } + + /** + * Public method: + * Returns a code rappresentation of an error + * this->errorCode( void ):String + * @Return String String rappresentation of the error + */ + function errorCode() { + return $this->__errorCode; + } + + /** + * Public method: + * Returns an array with error informations + * this->errorInfo( void ):Array + * @Return Array Array with 3 keys: + * 0 => error code + * 1 => error number + * 2 => error string + */ + function errorInfo() { + return $this->__errorInfo; + } + + /** + * Public method: + * Excecutes a query and returns true on success or false. + * this->exec( $array:Array ):Boolean + * @Param Array If present, it should contain all replacements for prepared query + * @Return Boolean true if query has been done without errors, false otherwise + */ + function execute($array = Array()) { + if(count($this->__boundParams) > 0) + $array = &$this->__boundParams; + $__query = $this->__query; + if(count($array) > 0) { + foreach($array as $k => $v) { + if(!is_int($k) || substr($k, 0, 1) === ':') { + if(!isset($tempf)) + $tempf = $tempr = array(); + array_push($tempf, $k); + array_push($tempr, "'".pg_escape_string($v)."'"); + } + else { + $parse = create_function('$v', 'return "\'".pg_escape_string($v)."\'";'); + $__query = preg_replace("/(\?)/e", '$parse($array[$k++]);', $__query); + break; + } + } + if(isset($tempf)) + $__query = str_replace($tempf, $tempr, $__query); + } + if(is_null($this->__result = &$this->__uquery($__query))) + $keyvars = false; + else + $keyvars = true; + $this->__boundParams = array(); + return $keyvars; + } + + /** + * Public method: + * Returns, if present, next row of executed query or false. + * this->fetch( $mode:Integer, $cursor:Integer, $offset:Integer ):Mixed + * @Param Integer PDO_FETCH_* constant to know how to read next row, default PDO_FETCH_BOTH + * NOTE: if $mode is omitted is used default setted mode, PDO_FETCH_BOTH + * @Param Integer this variable is not used but respects PDO original accepted parameters + * @Param Integer this variable is not used but respects PDO original accepted parameters + * @Return Mixed Next row of executed query or false if there is nomore. + */ + function fetch($mode = PDO_FETCH_BOTH, $cursor = null, $offset = null) { + if(func_num_args() == 0) + $mode = &$this->__fetchmode; + $result = false; + if(!is_null($this->__result)) { + switch($mode) { + case PDO_FETCH_NUM: + $result = pg_fetch_row($this->__result); + break; + case PDO_FETCH_ASSOC: + $result = pg_fetch_assoc($this->__result); + break; + case PDO_FETCH_OBJ: + $result = pg_fetch_object($this->__result); + break; + case PDO_FETCH_BOTH: + default: + $result = pg_fetch_array($this->__result); + break; + } + } + if(!$result) + $this->__result = null; + return $result; + } + + /** + * Public method: + * Returns an array with all rows of executed query. + * this->fetchAll( $mode:Integer ):Array + * @Param Integer PDO_FETCH_* constant to know how to read all rows, default PDO_FETCH_BOTH + * NOTE: this doesn't work as fetch method, then it will use always PDO_FETCH_BOTH + * if this param is omitted + * @Return Array An array with all fetched rows + */ + function fetchAll($mode = PDO_FETCH_BOTH) { + $result = array(); + if(!is_null($this->__result)) { + switch($mode) { + case PDO_FETCH_NUM: + while($r = pg_fetch_row($this->__result)) + array_push($result, $r); + break; + case PDO_FETCH_ASSOC: + while($r = pg_fetch_assoc($this->__result)) + array_push($result, $r); + break; + case PDO_FETCH_OBJ: + while($r = pg_fetch_object($this->__result)) + array_push($result, $r); + break; + case PDO_FETCH_BOTH: + default: + while($r = pg_fetch_array($this->__result)) + array_push($result, $r); + break; + } + } + $this->__result = null; + return $result; + } + + /** + * Public method: + * Returns, if present, first column of next row of executed query + * this->fetchSingle( void ):Mixed + * @Return Mixed Null or next row's first column + */ + function fetchSingle() { + $result = null; + if(!is_null($this->__result)) { + $result = @pg_fetch_row($this->__result); + if($result) + $result = $result[0]; + else + $this->__result = null; + } + return $result; + } + + /** + * Public method: + * Returns number of last affected database rows + * this->rowCount( void ):Integer + * @Return Integer number of last affected rows + * NOTE: works with INSERT, UPDATE and DELETE query type + */ + function rowCount() { + $result = 0; + if(!is_null($this->__result)) + $result = pg_affected_rows($this->__result); + return $result; + } + + + // NOT TOTALLY SUPPORTED PUBLIC METHODS + /** + * Public method: + * Quotes correctly a string for this database + * this->getAttribute( $attribute:Integer ):Mixed + * @Param Integer a constant [ PDO_ATTR_SERVER_INFO, + * PDO_ATTR_SERVER_VERSION, + * PDO_ATTR_CLIENT_VERSION, + * PDO_ATTR_PERSISTENT ] + * @Return Mixed correct information or false + */ + function getAttribute($attribute) { + $result = false; + switch($attribute) { + case PDO_ATTR_SERVER_INFO: + $result = pg_parameter_status($this->__connection, 'server_encoding'); + break; + case PDO_ATTR_SERVER_VERSION: + $result = pg_parameter_status($this->__connection, 'server_version'); + break; + case PDO_ATTR_CLIENT_VERSION: + $result = pg_parameter_status($this->__connection, 'server_version'); + $result .= ' '.pg_parameter_status($this->__connection, 'client_encoding'); + break; + case PDO_ATTR_PERSISTENT: + $result = $this->__persistent; + break; + } + return $result; + } + + /** + * Public method: + * Sets database attributes, in this version only connection mode. + * this->setAttribute( $attribute:Integer, $mixed:Mixed ):Boolean + * @Param Integer PDO_* constant, in this case only PDO_ATTR_PERSISTENT + * @Param Mixed value for PDO_* constant, in this case a Boolean value + * true for permanent connection, false for default not permament connection + * @Return Boolean true on change, false otherwise + */ + function setAttribute($attribute, $mixed) { + $result = false; + if($attribute === PDO_ATTR_PERSISTENT && $mixed != $this->__persistent) { + $result = true; + $this->__persistent = (boolean) $mixed; + pg_close($this->__connection); + if($this->__persistent === true) + $this->__connection = &pg_connect($this->__dbinfo); + else + $this->__connection = &pg_pconnect($this->__dbinfo); + } + return $result; + } + + /** + * Public method: + * Sets default fetch mode to use with this->fetch() method. + * this->setFetchMode( $mode:Integer ):Boolean + * @Param Integer PDO_FETCH_* constant to use while reading an execute query with fetch() method. + * NOTE: PDO_FETCH_LAZY and PDO_FETCH_BOUND are not supported + * @Return Boolean true on change, false otherwise + */ + function setFetchMode($mode) { + $result = false; + switch($mode) { + case PDO_FETCH_NUM: + case PDO_FETCH_ASSOC: + case PDO_FETCH_OBJ: + case PDO_FETCH_BOTH: + $result = true; + $this->__fetchmode = &$mode; + break; + } + return $result; + } + + + // UNSUPPORTED PUBLIC METHODS + function bindColumn($mixewd, &$param, $type = null, $max_length = null, $driver_option = null) { + return false; + } + + function __setErrors($er) { + if(!is_string($this->__errorCode)) + $errno = $this->__errorCode; + if(!is_resource($this->__connection)) { + $errno = 1; + $errst = pg_last_error(); + } + else { + $errno = 1; + $errst = pg_last_error($this->__connection); + } + $this->__errorCode = &$er; + $this->__errorInfo = Array($this->__errorCode, $errno, $errst); + } + + function __uquery(&$query) { + if(!@$query = pg_query($this->__connection, $query)) { + $this->__setErrors('SQLER'); + $query = null; + } + return $query; + } + +} + + +}//if!class_exists +?> \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/ext/pdo.php b/manager/includes/extenders/upgradephp/ext/pdo.php new file mode 100755 index 0000000000..922a50aa5e --- /dev/null +++ b/manager/includes/extenders/upgradephp/ext/pdo.php @@ -0,0 +1,918 @@ +<?php if(!class_exists('PDO')) { +/** + * title: PDO + * description: PDO emulation for PHP 5.0 and 4.x, with PDO_MySQL built-in + * author: Andrea Giammarchi + * author_url: http://www.devpro.it/ + * license: PHPL 2.02 + * url: http://webscripts.softpedia.com/script/PHP-Clases/PDO-for-PHP-4-12854.html + * version: 0.1b + * api: php + * priority: auto + * category: database + * + * + * File PDO.class.php * + * Porting of native PHP 5.1 PDO * + * object usable with PHP 4.X.X * + * and PHP 5.0.X version. * + * ------------------------------------ * + * (C) Andrea Giammarchi [2005/10/19] * + * ____________________________________ + * + * + * This package includes the PDO MySQL driver. To also get support for + * Postgres and SQLite, include pdo.pgsql.php and .sqlite.php as well. + * Of course it's not a complete implementation, but believed to be + * compatible to even the early PHP4 versions. + * + * IMPORTANT: For compatibility with PHP 5.0 and this emulation, you must + * use the global PDO constants, and not the static PDO:: class versions. + * PDO_FETCH_ASSOC, PDO_ATTR_*, ... as seen below. + * + */ + + +// SUPPORTED STATIC ENVIROMENT VARIABLES +define('PDO_ATTR_SERVER_VERSION', 4); // server version +define('PDO_ATTR_CLIENT_VERSION', 5); // client version +define('PDO_ATTR_SERVER_INFO', 6); // server informations +define('PDO_ATTR_PERSISTENT', 12); // connection mode, persistent or normal + +// SUPPORTED STATIC PDO FETCH MODE VARIABLES +define('PDO_FETCH_ASSOC', 2); // such mysql_fetch_assoc +define('PDO_FETCH_NUM', 3); // such mysql_fetch_row +define('PDO_FETCH_BOTH', 4); // such mysql_fetch_array +define('PDO_FETCH_OBJ', 5); // such mysql_fetch_object + +// UNSUPPORTED STATIC PDO FETCH MODE VARIABLES +define('PDO_FETCH_LAZY', 1); // usable but not supported, default is PDO_FETCH_BOTH and will be used +define('PDO_FETCH_BOUND', 6); // usable but not supported, default is PDO_FETCH_BOTH and will be used + +/** + * Class PDO + * PostgreSQL, SQLITE and MYSQL PDO support for PHP 4.X.X or PHP 5.0.X users, compatible with PHP 5.1.0 (RC1). + * + * DESCRIPTION [directly from http://us2.php.net/manual/en/ref.pdo.php] + * The PHP Data Objects (PDO) extension defines a lightweight, consistent interface for accessing databases in PHP. + * Each database driver that implements the PDO interface can expose database-specific features as regular extension functions. + * Note that you cannot perform any database functions using the PDO extension by itself; + * you must use a database-specific PDO driver to access a database server. + * + * HOW TO USE + * To know how to use PDO driver and all its methods visit php.net wonderful documentation. + * http://us2.php.net/manual/en/ref.pdo.php + * In this class some methods are not available and actually this porting is only for MySQL, SQLITE and PostgreSQL. + * + * LIMITS + * For some reasons ( time and php used version with this class ) some PDO methods are not availables and + * someother are not totally supported. + * + * PDO :: UNSUPPORTED METHODS: + * - beginTransaction [ mysql 3 has not transaction and manage them is possible only with a direct BEGIN + * or COMMIT query ] + * - commit + * - rollback + * + * PDO :: NOT TOTALLY SUPPORTED METHODS: + * - getAttribute [ accepts only PDO_ATTR_SERVER_INFO, PDO_ATTR_SERVER_VERSION, + * PDO_ATTR_CLIENT_VERSION and PDO_ATTR_PERSISTENT attributes ] + * - setAttribute [ supports only PDO_ATTR_PERSISTENT modification ] + * - lastInsertId [ only fo PostgreSQL , returns only pg_last_oid ] + * + * - - - - - - - - - - - - - - - - - - - - + * + * PDOStatement :: UNSUPPORTED METHODS: + * - bindColumn [ is not possible to undeclare a variable and using global scope is not + * really a good idea ] + * + * PDOStatement :: NOT TOTALLY SUPPORTED METHODS: + * - getAttribute [ accepts only PDO_ATTR_SERVER_INFO, PDO_ATTR_SERVER_VERSION, + * PDO_ATTR_CLIENT_VERSION and PDO_ATTR_PERSISTENT attributes ] + * - setAttribute [ supports only PDO_ATTR_PERSISTENT modification ] + * - setFetchMode [ supports only PDO_FETCH_NUM, PDO_FETCH_ASSOC, PDO_FETCH_OBJ and + * PDO_FETCH_BOTH database reading mode ] + * --------------------------------------------- + * @Compatibility >= PHP 4 + * @Dependencies PDO_mysql.class.php + * PDO_sqlite.class.php + * PDOStatement_mysql.class.php + * PDOStatement_sqlite.class.php + * @Author Andrea Giammarchi + * @Site http://www.devpro.it/ + * @Mail andrea [ at ] 3site [ dot ] it + * @Date 2005/10/13 + * @LastModified 2005/12/01 21:40 + * @Version 0.1b - tested, supports only PostgreSQL, MySQL or SQLITE databases + */ +class PDO { + + /** Modified on 2005/12/01 to support new PDO constants on PHP 5.1.X */ + /* + --won't work with php4-- + const FETCH_ASSOC = PDO_FETCH_ASSOC; + const FETCH_NUM = PDO_FETCH_NUM; + const FETCH_BOTH = PDO_FETCH_BOTH; + const FETCH_OBJ = PDO_FETCH_OBJ; + const FETCH_LAZY = PDO_FETCH_LAZY; + const FETCH_BOUND = PDO_FETCH_BOUND; + const ATTR_SERVER_VERSION = PDO_ATTR_SERVER_VERSION; + const ATTR_CLIENT_VERSION = PDO_ATTR_CLIENT_VERSION; + const ATTR_SERVER_INFO = PDO_ATTR_SERVER_INFO; + const ATTR_PERSISTENT = PDO_ATTR_PERSISTENT; + */ + function FETCH_ASSOC(){return PDO_FETCH_ASSOC;} + function FETCH_NUM(){return PDO_FETCH_NUM;} + function FETCH_BOTH(){return PDO_FETCH_BOTH;} + function FETCH_OBJ(){return PDO_FETCH_OBJ;} + function FETCH_LAZY(){return PDO_FETCH_LAZY;} + function FETCH_BOUND(){return PDO_FETCH_BOUND;} + function ATTR_SERVER_VERSION(){return PDO_ATTR_SERVER_VERSION;} + function ATTR_CLIENT_VERSION(){return PDO_ATTR_CLIENT_VERSION;} + function ATTR_SERVER_INFO(){return PDO_ATTR_SERVER_INFO;} + function ATTR_PERSISTENT(){return PDO_ATTR_PERSISTENT;} + + /** + * 'Private' variables: + * __driver:PDO_* Dedicated PDO database class + */ + var $__driver; + + /** + * Public constructor + * http://us2.php.net/manual/en/function.pdo-construct.php + */ + function PDO($string_dsn, $string_username = '', $string_password = '', $array_driver_options = null) { + $con = &$this->__getDNS($string_dsn); + if($con['dbtype'] === 'mysql') { + #<builtin>#require_once('PDO_mysql.class.php'); + if(isset($con['port'])) + $con['host'] .= ':'.$con['port']; + $this->__driver = new PDO_mysql( + $con['host'], + $con['dbname'], + $string_username, + $string_password + ); + } + elseif($con['dbtype'] === 'sqlite2' || $con['dbtype'] === 'sqlite') { + #<builtin>#require_once('PDO_sqlite.class.php'); + $this->__driver = new PDO_sqlite($con['dbname']); + } + elseif($con['dbtype'] === 'pgsql') { + #<builtin>#require_once('PDO_pgsql.class.php'); + $string_dsn = "host={$con['host']} dbname={$con['dbname']} user={$string_username} password={$string_password}"; + if(isset($con['port'])) + $string_dsn .= " port={$con['port']}"; + $this->__driver = new PDO_pgsql($string_dsn); + } + } + + /** UNSUPPORTED + * Public method + * http://us2.php.net/manual/en/function.pdo-begintransaction.php + */ + function beginTransaction() { + $this->__driver->beginTransaction(); + } + + /** NOT NATIVE BUT MAYBE USEFULL FOR PHP < 5.1 PDO DRIVER + * Public method + * Calls database_close function. + * this->close( Void ):Boolean + * @Return Boolean True on success, false otherwise + */ + function close() { + return $this->__driver->close(); + } + + /** UNSUPPORTED + * Public method + * http://us2.php.net/manual/en/function.pdo-commit.php + */ + function commit() { + $this->__driver->commit(); + } + + /** + * Public method + * http://us2.php.net/manual/en/function.pdo-exec.php + */ + function exec($query) { + return $this->__driver->exec($query); + } + + /** + * Public method + * http://us2.php.net/manual/en/function.pdo-errorcode.php + */ + function errorCode() { + return $this->__driver->errorCode(); + } + + /** + * Public method + * http://us2.php.net/manual/en/function.pdo-errorinfo.php + */ + function errorInfo() { + return $this->__driver->errorInfo(); + } + + /** NOT TOTALLY UNSUPPORTED + * Public method + * http://us2.php.net/manual/en/function.pdo-getattribute.php + */ + function getAttribute($attribute) { + return $this->__driver->getAttribute($attribute); + } + + /** + * Public method + * http://us2.php.net/manual/en/function.pdo-lastinsertid.php + */ + function lastInsertId() { + return $this->__driver->lastInsertId(); + } + + /** + * Public method + * http://us2.php.net/manual/en/function.pdo-prepare.php + */ + function prepare($query, $array = Array()) { + return $this->__driver->prepare($query, $array = Array()); + } + + /** + * Public method + * http://us2.php.net/manual/en/function.pdo-query.php + */ + function query($query) { + return $this->__driver->query($query); + } + + /** + * Public method + * http://us2.php.net/manual/en/function.pdo-quote.php + */ + function quote($string) { + return $this->__driver->quote($string); + } + + /** UNSUPPORTED + * Public method + * http://us2.php.net/manual/en/function.pdo-rollback.php + */ + function rollBack() { + $this->__driver->rollBack(); + } + + /** NOT TOTALLY UNSUPPORTED + * Public method + * http://us2.php.net/manual/en/function.pdo-setattribute.php + */ + function setAttribute($attribute, $mixed) { + return $this->__driver->setAttribute($attribute, $mixed); + } + + // PRIVATE METHOD [uncommented] + function __getDNS(&$string) { + $result = array(); + $pos = strpos($string, ':'); + $parameters = explode(';', substr($string, ($pos + 1))); + $result['dbtype'] = strtolower(substr($string, 0, $pos)); + for($a = 0, $b = count($parameters); $a < $b; $a++) { + $tmp = explode('=', $parameters[$a]); + if(count($tmp) == 2) + $result[$tmp[0]] = $tmp[1]; + else + $result['dbname'] = $parameters[$a]; + } + return $result; + } +} + + + + + +?><?php +/** File PDO_mysql.class.php * + *(C) Andrea Giammarchi [2005/10/13] */ + +// Requires PDOStatement_mysql.class.php , drived by PDO.class.php file +#<builtin>#require_once('PDOStatement_mysql.class.php'); + +/** + * Class PDO_mysql + * This class is used from class PDO to manage a MySQL database. + * Look at PDO.clas.php file comments to know more about MySQL connection. + * --------------------------------------------- + * @Compatibility >= PHP 4 + * @Dependencies PDO.class.php + * PDOStatement_mysql.class.php + * @Author Andrea Giammarchi + * @Site http://www.devpro.it/ + * @Mail andrea [ at ] 3site [ dot ] it + * @Date 2005/10/13 + * @LastModified 2005/18/14 12:30 + * @Version 0.1 - tested + */ +class PDO_mysql { + + /** + * 'Private' variables: + * __connection:Resource Database connection + * __dbinfo:Array Array with 4 elements used to manage connection + * __persistent:Boolean Connection mode, is true on persistent, false on normal (deafult) connection + * __errorCode:String Last error code + * __errorInfo:Array Detailed errors + */ + var $__connection; + var $__dbinfo; + var $__persistent = false; + var $__errorCode = ''; + var $__errorInfo = Array(''); + + /** + * Public constructor: + * Checks connection and database selection + * new PDO_mysql( &$host:String, &$db:String, &$user:String, &$pass:String ) + * @Param String host with or without port info + * @Param String database name + * @Param String database user + * @Param String database password + */ + function PDO_mysql(&$host, &$db, &$user, &$pass) { + if(!@$this->__connection = &mysql_connect($host, $user, $pass)) + $this->__setErrors('DBCON'); + else { + if(!@mysql_select_db($db, $this->__connection)) + $this->__setErrors('DBER'); + else + $this->__dbinfo = Array($host, $user, $pass, $db); + } + } + + /** NOT NATIVE BUT MAYBE USEFULL FOR PHP < 5.1 PDO DRIVER + * Public method + * Calls mysql_close function. + * this->close( Void ):Boolean + * @Return Boolean True on success, false otherwise + */ + function close() { + $result = is_resource($this->__connection); + if($result) { + mysql_close($this->__connection); + } + return $result; + } + + /** + * Public method: + * Returns a code rappresentation of an error + * this->errorCode( void ):String + * @Return String String rappresentation of the error + */ + function errorCode() { + return $this->__errorCode; + } + + /** + * Public method: + * Returns an array with error informations + * this->errorInfo( void ):Array + * @Return Array Array with 3 keys: + * 0 => error code + * 1 => error number + * 2 => error string + */ + function errorInfo() { + return $this->__errorInfo; + } + + /** + * Public method: + * Excecutes a query and returns affected rows + * this->exec( $query:String ):Mixed + * @Param String query to execute + * @Return Mixed Number of affected rows or false on bad query. + */ + function exec($query) { + $result = 0; + if(!is_null($this->__uquery($query))) + $result = mysql_affected_rows($this->__connection); + if(is_null($result)) + $result = false; + return $result; + } + + /** + * Public method: + * Returns last inserted id + * this->lastInsertId( void ):Number + * @Return Number Last inserted id + */ + function lastInsertId() { + return mysql_insert_id($this->__connection); + } + + /** + * Public method: + * Returns a new PDOStatement + * this->prepare( $query:String, $array:Array ):PDOStatement + * @Param String query to prepare + * @Param Array this variable is not used but respects PDO original accepted parameters + * @Return PDOStatement new PDOStatement to manage + */ + function prepare($query, $array = Array()) { + return new PDOStatement_mysql($query, $this->__connection, $this->__dbinfo); + } + + /** + * Public method: + * Executes directly a query and returns an array with result or false on bad query + * this->query( $query:String ):Mixed + * @Param String query to execute + * @Return Mixed false on error, array with all info on success + */ + function query($query) { + $query = @mysql_unbuffered_query($query, $this->__connection); + if($query) { + $result = Array(); + while($r = mysql_fetch_assoc($query)) + array_push($result, $r); + } + else { + $result = false; + $this->__setErrors('SQLER'); + } + return $result; + } + + /** + * Public method: + * Quotes correctly a string for this database + * this->quote( $string:String ):String + * @Param String string to quote + * @Return String a correctly quoted string + */ + function quote($string) { + return ('"'.mysql_escape_string($string).'"'); + } + + + // NOT TOTALLY SUPPORTED PUBLIC METHODS + /** + * Public method: + * Quotes correctly a string for this database + * this->getAttribute( $attribute:Integer ):Mixed + * @Param Integer a constant [ PDO_ATTR_SERVER_INFO, + * PDO_ATTR_SERVER_VERSION, + * PDO_ATTR_CLIENT_VERSION, + * PDO_ATTR_PERSISTENT ] + * @Return Mixed correct information or false + */ + function getAttribute($attribute) { + $result = false; + switch($attribute) { + case PDO_ATTR_SERVER_INFO: + $result = mysql_get_host_info($this->__connection); + break; + case PDO_ATTR_SERVER_VERSION: + $result = mysql_get_server_info($this->__connection); + break; + case PDO_ATTR_CLIENT_VERSION: + $result = mysql_get_client_info(); + break; + case PDO_ATTR_PERSISTENT: + $result = $this->__persistent; + break; + } + return $result; + } + + /** + * Public method: + * Sets database attributes, in this version only connection mode. + * this->setAttribute( $attribute:Integer, $mixed:Mixed ):Boolean + * @Param Integer PDO_* constant, in this case only PDO_ATTR_PERSISTENT + * @Param Mixed value for PDO_* constant, in this case a Boolean value + * true for permanent connection, false for default not permament connection + * @Return Boolean true on change, false otherwise + */ + function setAttribute($attribute, $mixed) { + $result = false; + if($attribute === PDO_ATTR_PERSISTENT && $mixed != $this->__persistent) { + $result = true; + $this->__persistent = (boolean) $mixed; + mysql_close($this->__connection); + if($this->__persistent === true) + $this->__connection = &mysql_pconnect($this->__dbinfo[0], $this->__dbinfo[1], $this->__dbinfo[2]); + else + $this->__connection = &mysql_connect($this->__dbinfo[0], $this->__dbinfo[1], $this->__dbinfo[2]); + mysql_select_db($this->__dbinfo[3], $this->__connection); + } + return $result; + } + + + // UNSUPPORTED PUBLIC METHODS + function beginTransaction() { + return false; + } + + function commit() { + return false; + } + + function rollBack() { + return false; + } + + + // PRIVATE METHODS [ UNCOMMENTED ] + function __setErrors($er) { + if(!is_resource($this->__connection)) { + $errno = mysql_errno(); + $errst = mysql_error(); + } + else { + $errno = mysql_errno($this->__connection); + $errst = mysql_error($this->__connection); + } + $this->__errorCode = &$er; + $this->__errorInfo = Array($this->__errorCode, $errno, $errst); + } + + function __uquery(&$query) { + if(!@$query = mysql_query($query, $this->__connection)) { + $this->__setErrors('SQLER'); + $query = null; + } + return $query; + } +} + + + + + + + +?><?php +/** File PDOStatement_mysql.class.php * + *(C) Andrea Giammarchi [2005/10/13] */ + +/** + * Class PDOStatement_mysql + * This class is used from class PDO_mysql to manage a MySQL database. + * Look at PDO.clas.php file comments to know more about MySQL connection. + * --------------------------------------------- + * @Compatibility >= PHP 4 + * @Dependencies PDO.class.php + * PDO_mysql.class.php + * @Author Andrea Giammarchi + * @Site http://www.devpro.it/ + * @Mail andrea [ at ] 3site [ dot ] it + * @Date 2005/10/13 + * @LastModified 2006/01/29 09:30 [fixed execute bug] + * @Version 0.1b - tested + */ +class PDOStatement_mysql { + + /** + * 'Private' variables: + * __connection:Resource Database connection + * __dbinfo:Array Array with 4 elements used to manage connection + * __persistent:Boolean Connection mode, is true on persistent, false on normal (deafult) connection + * __query:String Last query used + * __result:Resource Last result from last query + * __fetchmode:Integer constant PDO_FETCH_* result mode + * __errorCode:String Last error string code + * __errorInfo:Array Last error informations, code, number, details + * __boundParams:Array Stored bindParam + */ + var $__connection; + var $__dbinfo; + var $__persistent = false; + var $__query = ''; + var $__result = null; + var $__fetchmode = PDO::FETCH_BOTH; + var $__errorCode = ''; + var $__errorInfo = Array(''); + var $__boundParams = Array(); + + /** + * Public constructor: + * Called from PDO to create a PDOStatement for this database + * new PDOStatement_sqlite( &$__query:String, &$__connection:Resource, $__dbinfo:Array ) + * @Param String query to prepare + * @Param Resource database connection + * @Param Array 4 elements array to manage connection + */ + function PDOStatement_mysql(&$__query, &$__connection, &$__dbinfo) { + $this->__query = &$__query; + $this->__connection = &$__connection; + $this->__dbinfo = &$__dbinfo; + } + + /** + * Public method: + * Replace ? or :named values to execute prepared query + * this->bindParam( $mixed:Mixed, &$variable:Mixed, $type:Integer, $lenght:Integer ):Void + * @Param Mixed Integer or String to replace prepared value + * @Param Mixed variable to replace + * @Param Integer this variable is not used but respects PDO original accepted parameters + * @Param Integer this variable is not used but respects PDO original accepted parameters + */ + function bindParam($mixed, &$variable, $type = null, $lenght = null) { + if(is_string($mixed)) + $this->__boundParams[$mixed] = $variable; + else + array_push($this->__boundParams, $variable); + } + + /** + * Public method: + * Checks if query was valid and returns how may fields returns + * this->columnCount( void ):Void + */ + function columnCount() { + $result = 0; + if(!is_null($this->__result)) + $result = mysql_num_fields($this->__result); + return $result; + } + + /** + * Public method: + * Returns a code rappresentation of an error + * this->errorCode( void ):String + * @Return String String rappresentation of the error + */ + function errorCode() { + return $this->__errorCode; + } + + /** + * Public method: + * Returns an array with error informations + * this->errorInfo( void ):Array + * @Return Array Array with 3 keys: + * 0 => error code + * 1 => error number + * 2 => error string + */ + function errorInfo() { + return $this->__errorInfo; + } + + /** + * Public method: + * Excecutes a query and returns true on success or false. + * this->exec( $array:Array ):Boolean + * @Param Array If present, it should contain all replacements for prepared query + * @Return Boolean true if query has been done without errors, false otherwise + */ + function execute($array = Array()) { + if(count($this->__boundParams) > 0) + $array = &$this->__boundParams; + $__query = $this->__query; + if(count($array) > 0) { + foreach($array as $k => $v) { + if(!is_int($k) || substr($k, 0, 1) === ':') { + if(!isset($tempf)) + $tempf = $tempr = array(); + array_push($tempf, $k); + array_push($tempr, '"'.mysql_escape_string($v).'"'); + } + else { + $parse = create_function('$v', 'return \'"\'.mysql_escape_string($v).\'"\';'); + $__query = preg_replace("/(\?)/e", '$parse($array[$k++]);', $__query); + break; + } + } + if(isset($tempf)) + $__query = str_replace($tempf, $tempr, $__query); + } + if(is_null($this->__result = &$this->__uquery($__query))) + $keyvars = false; + else + $keyvars = true; + $this->__boundParams = array(); + return $keyvars; + } + + /** + * Public method: + * Returns, if present, next row of executed query or false. + * this->fetch( $mode:Integer, $cursor:Integer, $offset:Integer ):Mixed + * @Param Integer PDO_FETCH_* constant to know how to read next row, default PDO_FETCH_BOTH + * NOTE: if $mode is omitted is used default setted mode, PDO_FETCH_BOTH + * @Param Integer this variable is not used but respects PDO original accepted parameters + * @Param Integer this variable is not used but respects PDO original accepted parameters + * @Return Mixed Next row of executed query or false if there is nomore. + */ + function fetch($mode = PDO_FETCH_BOTH, $cursor = null, $offset = null) { + if(func_num_args() == 0) + $mode = &$this->__fetchmode; + $result = false; + if(!is_null($this->__result)) { + switch($mode) { + case PDO_FETCH_NUM: + $result = mysql_fetch_row($this->__result); + break; + case PDO_FETCH_ASSOC: + $result = mysql_fetch_assoc($this->__result); + break; + case PDO_FETCH_OBJ: + $result = mysql_fetch_object($this->__result); + break; + case PDO_FETCH_BOTH: + default: + $result = mysql_fetch_array($this->__result); + break; + } + } + if(!$result) + $this->__result = null; + return $result; + } + + /** + * Public method: + * Returns an array with all rows of executed query. + * this->fetchAll( $mode:Integer ):Array + * @Param Integer PDO_FETCH_* constant to know how to read all rows, default PDO_FETCH_BOTH + * NOTE: this doesn't work as fetch method, then it will use always PDO_FETCH_BOTH + * if this param is omitted + * @Return Array An array with all fetched rows + */ + function fetchAll($mode = PDO_FETCH_BOTH) { + $result = array(); + if(!is_null($this->__result)) { + switch($mode) { + case PDO_FETCH_NUM: + while($r = mysql_fetch_row($this->__result)) + array_push($result, $r); + break; + case PDO_FETCH_ASSOC: + while($r = mysql_fetch_assoc($this->__result)) + array_push($result, $r); + break; + case PDO_FETCH_OBJ: + while($r = mysql_fetch_object($this->__result)) + array_push($result, $r); + break; + case PDO_FETCH_BOTH: + default: + while($r = mysql_fetch_array($this->__result)) + array_push($result, $r); + break; + } + } + $this->__result = null; + return $result; + } + + /** + * Public method: + * Returns, if present, first column of next row of executed query + * this->fetchSingle( void ):Mixed + * @Return Mixed Null or next row's first column + */ + function fetchSingle() { + $result = null; + if(!is_null($this->__result)) { + $result = @mysql_fetch_row($this->__result); + if($result) + $result = $result[0]; + else + $this->__result = null; + } + return $result; + } + + /** + * Public method: + * Returns number of last affected database rows + * this->rowCount( void ):Integer + * @Return Integer number of last affected rows + * NOTE: works with INSERT, UPDATE and DELETE query type + */ + function rowCount() { + return mysql_affected_rows($this->__connection); + } + + + // NOT TOTALLY SUPPORTED PUBLIC METHODS + /** + * Public method: + * Quotes correctly a string for this database + * this->getAttribute( $attribute:Integer ):Mixed + * @Param Integer a constant [ PDO_ATTR_SERVER_INFO, + * PDO_ATTR_SERVER_VERSION, + * PDO_ATTR_CLIENT_VERSION, + * PDO_ATTR_PERSISTENT ] + * @Return Mixed correct information or false + */ + function getAttribute($attribute) { + $result = false; + switch($attribute) { + case PDO_ATTR_SERVER_INFO: + $result = mysql_get_host_info($this->__connection); + break; + case PDO_ATTR_SERVER_VERSION: + $result = mysql_get_server_info($this->__connection); + break; + case PDO_ATTR_CLIENT_VERSION: + $result = mysql_get_client_info(); + break; + case PDO_ATTR_PERSISTENT: + $result = $this->__persistent; + break; + } + return $result; + } + + /** + * Public method: + * Sets database attributes, in this version only connection mode. + * this->setAttribute( $attribute:Integer, $mixed:Mixed ):Boolean + * @Param Integer PDO_* constant, in this case only PDO_ATTR_PERSISTENT + * @Param Mixed value for PDO_* constant, in this case a Boolean value + * true for permanent connection, false for default not permament connection + * @Return Boolean true on change, false otherwise + */ + function setAttribute($attribute, $mixed) { + $result = false; + if($attribute === PDO_ATTR_PERSISTENT && $mixed != $this->__persistent) { + $result = true; + $this->__persistent = (boolean) $mixed; + mysql_close($this->__connection); + if($this->__persistent === true) + $this->__connection = &mysql_pconnect($this->__dbinfo[0], $this->__dbinfo[1], $this->__dbinfo[2]); + else + $this->__connection = &mysql_connect($this->__dbinfo[0], $this->__dbinfo[1], $this->__dbinfo[2]); + mysql_select_db($this->__dbinfo[3], $this->__connection); + } + return $result; + } + + /** + * Public method: + * Sets default fetch mode to use with this->fetch() method. + * this->setFetchMode( $mode:Integer ):Boolean + * @Param Integer PDO_FETCH_* constant to use while reading an execute query with fetch() method. + * NOTE: PDO_FETCH_LAZY and PDO_FETCH_BOUND are not supported + * @Return Boolean true on change, false otherwise + */ + function setFetchMode($mode) { + $result = false; + switch($mode) { + case PDO_FETCH_NUM: + case PDO_FETCH_ASSOC: + case PDO_FETCH_OBJ: + case PDO_FETCH_BOTH: + $result = true; + $this->__fetchmode = &$mode; + break; + } + return $result; + } + + + // UNSUPPORTED PUBLIC METHODS + function bindColumn($mixewd, &$param, $type = null, $max_length = null, $driver_option = null) { + return false; + } + + function __setErrors($er) { + if(!is_resource($this->__connection)) { + $errno = mysql_errno(); + $errst = mysql_error(); + } + else { + $errno = mysql_errno($this->__connection); + $errst = mysql_error($this->__connection); + } + $this->__errorCode = &$er; + $this->__errorInfo = Array($this->__errorCode, $errno, $errst); + $this->__result = null; + } + + function __uquery(&$query) { + if(!@$query = mysql_query($query, $this->__connection)) { + $this->__setErrors('SQLER'); + $query = null; + } + return $query; + } + +} + + + + +}//if!class_exists +?> \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/ext/pdo.sqlite.php b/manager/includes/extenders/upgradephp/ext/pdo.sqlite.php new file mode 100755 index 0000000000..e8acd1b8c2 --- /dev/null +++ b/manager/includes/extenders/upgradephp/ext/pdo.sqlite.php @@ -0,0 +1,603 @@ +<?php if (!class_exists("PDO_SQLITE")) { +/** File PDO_sqlite.class.php * + *(C) Andrea Giammarchi [2005/10/13] */ + +// Requires PDOStatement_sqlite.class.php , drived by PDO.class.php file +#<builtin>#require_once('PDOStatement_sqlite.class.php'); + +/** + * Class PDO_sqlite + * This class is used from class PDO to manage a SQLITE version 2 database. + * Look at PDO.clas.php file comments to know more about SQLITE connection. + * --------------------------------------------- + * @Compatibility >= PHP 4 + * @Dependencies PDO.class.php + * PDOStatement_sqlite.class.php + * @Author Andrea Giammarchi + * @Site http://www.devpro.it/ + * @Mail andrea [ at ] 3site [ dot ] it + * @Date 2005/10/13 + * @LastModified 2005/18/14 12:30 + * @Version 0.1 - tested + */ +class PDO_sqlite { + + /** + * 'Private' variables: + * __connection:Resource Database connection + * __dbinfo:String Database filename + * __persistent:Boolean Connection mode, is true on persistent, false on normal (deafult) connection + * __errorCode:String Last error code + * __errorInfo:Array Detailed errors + */ + var $__connection; + var $__dbinfo; + var $__persistent = false; + var $__errorCode = ''; + var $__errorInfo = Array(''); + + /** + * Public constructor: + * Checks connection and database selection + * new PDO_mysql( &$host:String, &$db:String, &$user:String, &$pass:String ) + * @Param String host with or without port info + * @Param String database name + * @Param String database user + * @Param String database password + */ + function PDO_sqlite(&$string_dsn) { + if(!@$this->__connection = &sqlite_open($string_dsn)) + $this->__setErrors('DBCON', true); + else + $this->__dbinfo = &$string_dsn; + } + + /** NOT NATIVE BUT MAYBE USEFULL FOR PHP < 5.1 PDO DRIVER + * Public method + * Calls sqlite_close function. + * this->close( Void ):Boolean + * @Return Boolean True on success, false otherwise + */ + function close() { + $result = is_resource($this->__connection); + if($result) { + sqlite_close($this->__connection); + } + return $result; + } + + /** + * Public method: + * Returns a code rappresentation of an error + * this->errorCode( void ):String + * @Return String String rappresentation of the error + */ + function errorCode() { + return $this->__errorCode; + } + + /** + * Public method: + * Returns an array with error informations + * this->errorInfo( void ):Array + * @Return Array Array with 3 keys: + * 0 => error code + * 1 => error number + * 2 => error string + */ + function errorInfo() { + return $this->__errorInfo; + } + + /** + * Public method: + * Excecutes a query and returns affected rows + * this->exec( $query:String ):Mixed + * @Param String query to execute + * @Return Mixed Number of affected rows or false on bad query. + */ + function exec($query) { + $result = 0; + if(!is_null($this->__uquery($query))) + $result = sqlite_changes($this->__connection); + if(is_null($result)) + $result = false; + return $result; + } + + /** + * Public method: + * Returns last inserted id + * this->lastInsertId( void ):Number + * @Return Number Last inserted id + */ + function lastInsertId() { + return sqlite_last_insert_rowid($this->__connection); + } + + /** + * Public method: + * Returns a new PDOStatement + * this->prepare( $query:String, $array:Array ):PDOStatement + * @Param String query to prepare + * @Param Array this variable is not used but respects PDO original accepted parameters + * @Return PDOStatement new PDOStatement to manage + */ + function prepare($query, $array = Array()) { + return new PDOStatement_sqlite($query, $this->__connection, $this->__dbinfo); + } + + /** + * Public method: + * Executes directly a query and returns an array with result or false on bad query + * this->query( $query:String ):Mixed + * @Param String query to execute + * @Return Mixed false on error, array with all info on success + */ + function query($query) { + $query = @sqlite_unbuffered_query($query, $this->__connection, $this->__dbinfo); + if($query) { + $result = Array(); + while($r = sqlite_fetch_array($query, SQLITE_ASSOC)) + array_push($result, $r); + } + else { + $result = false; + $this->__setErrors('SQLER'); + } + return $result; + } + + /** + * Public method: + * Quotes correctly a string for this database + * this->quote( $string:String ):String + * @Param String string to quote + * @Return String a correctly quoted string + */ + function quote($string) { + return ("'".sqlite_escape_string($string)."'"); + } + + + // NOT TOTALLY SUPPORTED PUBLIC METHODS + /** + * Public method: + * Quotes correctly a string for this database + * this->getAttribute( $attribute:Integer ):Mixed + * @Param Integer a constant [ PDO_ATTR_SERVER_INFO, + * PDO_ATTR_SERVER_VERSION, + * PDO_ATTR_CLIENT_VERSION, + * PDO_ATTR_PERSISTENT ] + * @Return Mixed correct information or null + */ + function getAttribute($attribute) { + $result = null; + switch($attribute) { + case PDO_ATTR_SERVER_INFO: + $result = sqlite_libencoding(); + break; + case PDO_ATTR_SERVER_VERSION: + case PDO_ATTR_CLIENT_VERSION: + $result = sqlite_libversion(); + break; + case PDO_ATTR_PERSISTENT: + $result = $this->__persistent; + break; + } + return $result; + } + + /** + * Public method: + * Sets database attributes, in this version only connection mode. + * this->setAttribute( $attribute:Integer, $mixed:Mixed ):Boolean + * @Param Integer PDO_* constant, in this case only PDO_ATTR_PERSISTENT + * @Param Mixed value for PDO_* constant, in this case a Boolean value + * true for permanent connection, false for default not permament connection + * @Return Boolean true on change, false otherwise + */ + function setAttribute($attribute, $mixed) { + $result = false; + if($attribute === PDO_ATTR_PERSISTENT && $mixed != $this->__persistent) { + $result = true; + $this->__persistent = (boolean) $mixed; + sqlite_close($this->__connection); + if($this->__persistent === true) + $this->__connection = &sqlite_popen($this->__dbinfo); + else + $this->__connection = &sqlite_open($this->__dbinfo); + } + return $result; + } + + + // UNSUPPORTED PUBLIC METHODS + function beginTransaction() { + return false; + } + + function commit() { + return false; + } + + function rollBack() { + return false; + } + + + // PRIVATE METHODS + function __setErrors($er, $connection = false) { + if(!is_resource($this->__connection)) { + $errno = 1; + $errst = 'Unable to open or find database.'; + } + else { + $errno = sqlite_last_error($this->__connection); + $errst = sqlite_error_string($errno); + } + $this->__errorCode = &$er; + $this->__errorInfo = Array($this->__errorCode, $errno, $errst); + } + + function __uquery(&$query) { + if(!@$query = sqlite_query($query, $this->__connection)) { + $this->__setErrors('SQLER'); + $query = null; + } + return $query; + } +} +?><?php +/** File PDOStatement_sqlite.class.php * + *(C) Andrea Giammarchi [2005/10/13] */ + +/** + * Class PDOStatement_sqlite + * This class is used from class PDO_sqlite to manage a MySQL database. + * Look at PDO.clas.php file comments to know more about MySQL connection. + * --------------------------------------------- + * @Compatibility >= PHP 4 + * @Dependencies PDO.class.php + * PDO_sqlite.class.php + * @Author Andrea Giammarchi + * @Site http://www.devpro.it/ + * @Mail andrea [ at ] 3site [ dot ] it + * @Date 2005/10/13 + * @LastModified 2006/01/29 09:30 [fixed execute bug] + * @Version 0.1b - tested + */ +class PDOStatement_sqlite { + + /** + * 'Private' variables: + * __connection:Resource Database connection + * __dbinfo:Array Array with 4 elements used to manage connection + * __persistent:Boolean Connection mode, is true on persistent, false on normal (deafult) connection + * __query:String Last query used + * __result:Resource Last result from last query + * __fetchmode:Integer constant PDO_FETCH_* result mode + * __errorCode:String Last error string code + * __errorInfo:Array Last error informations, code, number, details + * __boundParams:Array Stored bindParam + */ + var $__connection; + var $__dbinfo; + var $__persistent = false; + var $__query = ''; + var $__result = null; + var $__fetchmode = PDO::FETCH_BOTH; + var $__errorCode = ''; + var $__errorInfo = Array(''); + var $__boundParams = Array(); + + /** + * Public constructor: + * Called from PDO to create a PDOStatement for this database + * new PDOStatement_sqlite( &$__query:String, &$__connection:Resource, $__dbinfo:String ) + * @Param String query to prepare + * @Param Resource database connection + * @Param String database file name + */ + function PDOStatement_sqlite(&$__query, &$__connection, &$__dbinfo) { + $this->__query = &$__query; + $this->__connection = &$__connection; + $this->__dbinfo = &$__dbinfo; + } + + /** + * Public method: + * Replace ? or :named values to execute prepared query + * this->bindParam( $mixed:Mixed, &$variable:Mixed, $type:Integer, $lenght:Integer ):Void + * @Param Mixed Integer or String to replace prepared value + * @Param Mixed variable to replace + * @Param Integer this variable is not used but respects PDO original accepted parameters + * @Param Integer this variable is not used but respects PDO original accepted parameters + */ + function bindParam($mixed, &$variable, $type = null, $lenght = null) { + if(is_string($mixed)) + $this->__boundParams[$mixed] = $variable; + else + array_push($this->__boundParams, $variable); + } + + /** + * Public method: + * Checks if query was valid and returns how may fields returns + * this->columnCount( void ):Void + */ + function columnCount() { + $result = 0; + if(!is_null($this->__result)) + $result = sqlite_num_fields($this->__result); + return $result; + } + + /** + * Public method: + * Returns a code rappresentation of an error + * this->errorCode( void ):String + * @Return String String rappresentation of the error + */ + function errorCode() { + return $this->__errorCode; + } + + /** + * Public method: + * Returns an array with error informations + * this->errorInfo( void ):Array + * @Return Array Array with 3 keys: + * 0 => error code + * 1 => error number + * 2 => error string + */ + function errorInfo() { + return $this->__errorInfo; + } + + /** + * Public method: + * Excecutes a query and returns true on success or false. + * this->exec( $array:Array ):Boolean + * @Param Array If present, it should contain all replacements for prepared query + * @Return Boolean true if query has been done without errors, false otherwise + */ + function execute($array = Array()) { + if(count($this->__boundParams) > 0) + $array = &$this->__boundParams; + $__query = $this->__query; + if(count($array) > 0) { + foreach($array as $k => $v) { + if(!is_int($k) || substr($k, 0, 1) === ':') { + if(!isset($tempf)) + $tempf = $tempr = array(); + array_push($tempf, $k); + array_push($tempr, "'".sqlite_escape_string($v)."'"); + } + else { + $parse = create_function('$v', 'return "\'".sqlite_escape_string($v)."\'";'); + $__query = preg_replace("/(\?)/e", '$parse($array[$k++]);', $__query); + break; + } + } + if(isset($tempf)) + $__query = str_replace($tempf, $tempr, $__query); + } + if(is_null($this->__result = &$this->__uquery($__query))) + $keyvars = false; + else + $keyvars = true; + $this->__boundParams = array(); + return $keyvars; + } + + /** + * Public method: + * Returns, if present, next row of executed query or false. + * this->fetch( $mode:Integer, $cursor:Integer, $offset:Integer ):Mixed + * @Param Integer PDO_FETCH_* constant to know how to read next row, default PDO_FETCH_BOTH + * NOTE: if $mode is omitted is used default setted mode, PDO_FETCH_BOTH + * @Param Integer this variable is not used but respects PDO original accepted parameters + * @Param Integer this variable is not used but respects PDO original accepted parameters + * @Return Mixed Next row of executed query or false if there is nomore. + */ + function fetch($mode = PDO_FETCH_BOTH, $cursor = null, $offset = null) { + if(func_num_args() == 0) + $mode = &$this->__fetchmode; + $result = false; + if(!is_null($this->__result)) { + switch($mode) { + case PDO_FETCH_NUM: + $result = sqlite_fetch_array($this->__result, SQLITE_NUM); + break; + case PDO_FETCH_ASSOC: + $result = sqlite_fetch_array($this->__result, SQLITE_ASSOC); + break; + case PDO_FETCH_OBJ: + $result = sqlite_fetch_object($this->__result); + break; + case PDO_FETCH_BOTH: + default: + $result = sqlite_fetch_array($this->__result, SQLITE_BOTH); + break; + } + } + if(!$result) + $this->__result = null; + return $result; + } + + /** + * Public method: + * Returns an array with all rows of executed query. + * this->fetchAll( $mode:Integer ):Array + * @Param Integer PDO_FETCH_* constant to know how to read all rows, default PDO_FETCH_BOTH + * NOTE: this doesn't work as fetch method, then it will use always PDO_FETCH_BOTH + * if this param is omitted + * @Return Array An array with all fetched rows + */ + function fetchAll($mode = PDO_FETCH_BOTH) { + $result = array(); + if(!is_null($this->__result)) { + switch($mode) { + case PDO_FETCH_NUM: + while($r = sqlite_fetch_array($this->__result, SQLITE_NUM)) + array_push($result, $r); + break; + case PDO_FETCH_ASSOC: + while($r = sqlite_fetch_array($this->__result, SQLITE_ASSOC)) + array_push($result, $r); + break; + case PDO_FETCH_OBJ: + while($r = sqlite_fetch_object($this->__result)) + array_push($result, $r); + break; + case PDO_FETCH_BOTH: + default: + while($r = sqlite_fetch_array($this->__result, SQLITE_BOTH)) + array_push($result, $r); + break; + } + } + $this->__result = null; + return $result; + } + + /** + * Public method: + * Returns, if present, first column of next row of executed query + * this->fetchSingle( void ):Mixed + * @Return Mixed Null or next row's first column + */ + function fetchSingle() { + $result = null; + if(!is_null($this->__result)) { + $result = @sqlite_fetch_array($this->__result, SQLITE_NUM); + if($result) + $result = $result[0]; + else + $this->__result = null; + } + return $result; + } + + /** + * Public method: + * Returns number of last affected database rows + * this->rowCount( void ):Integer + * @Return Integer number of last affected rows + * NOTE: works with INSERT, UPDATE and DELETE query type + */ + function rowCount() { + return sqlite_changes($this->__connection); + } + + + // NOT TOTALLY SUPPORTED PUBLIC METHODS + /** + * Public method: + * Quotes correctly a string for this database + * this->getAttribute( $attribute:Integer ):Mixed + * @Param Integer a constant [ PDO_ATTR_SERVER_INFO, + * PDO_ATTR_SERVER_VERSION, + * PDO_ATTR_CLIENT_VERSION, + * PDO_ATTR_PERSISTENT ] + * @Return Mixed correct information or null + */ + function getAttribute($attribute) { + $result = null; + switch($attribute) { + case PDO_ATTR_SERVER_INFO: + $result = sqlite_libencoding(); + break; + case PDO_ATTR_SERVER_VERSION: + case PDO_ATTR_CLIENT_VERSION: + $result = sqlite_libversion(); + break; + case PDO_ATTR_PERSISTENT: + $result = $this->__persistent; + break; + } + return $result; + } + + /** + * Public method: + * Sets database attributes, in this version only connection mode. + * this->setAttribute( $attribute:Integer, $mixed:Mixed ):Boolean + * @Param Integer PDO_* constant, in this case only PDO_ATTR_PERSISTENT + * @Param Mixed value for PDO_* constant, in this case a Boolean value + * true for permanent connection, false for default not permament connection + * @Return Boolean true on change, false otherwise + */ + function setAttribute($attribute, $mixed) { + $result = false; + if($attribute === PDO_ATTR_PERSISTENT && $mixed != $this->__persistent) { + $result = true; + $this->__persistent = (boolean) $mixed; + sqlite_close($this->__connection); + if($this->__persistent === true) + $this->__connection = &sqlite_popen($this->__dbinfo); + else + $this->__connection = &sqlite_open($this->__dbinfo); + } + return $result; + } + + /** + * Public method: + * Sets default fetch mode to use with this->fetch() method. + * this->setFetchMode( $mode:Integer ):Boolean + * @Param Integer PDO_FETCH_* constant to use while reading an execute query with fetch() method. + * NOTE: PDO_FETCH_LAZY and PDO_FETCH_BOUND are not supported + * @Return Boolean true on change, false otherwise + */ + function setFetchMode($mode) { + $result = false; + switch($mode) { + case PDO_FETCH_NUM: + case PDO_FETCH_ASSOC: + case PDO_FETCH_OBJ: + case PDO_FETCH_BOTH: + $result = true; + $this->__fetchmode = &$mode; + break; + } + return $result; + } + + + // UNSUPPORTED PUBLIC METHODS + function bindColumn($mixewd, &$param, $type = null, $max_length = null, $driver_option = null) { + return false; + } + + function __setErrors($er, $connection = false) { + if(!is_resource($this->__connection)) { + $errno = 1; + $errst = 'Unable to open database.'; + } + else { + $errno = sqlite_last_error($this->__connection); + $errst = sqlite_error_string($errno); + } + $this->__errorCode = &$er; + $this->__errorInfo = Array($this->__errorCode, $errno, $errst); + $this->__result = null; + } + + function __uquery(&$query) { + if(!@$query = sqlite_query($query, $this->__connection)) { + $this->__setErrors('SQLER'); + $query = null; + } + return $query; + } + +} + + + +}//if!class_exists +?> \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/ext/pspell.php b/manager/includes/extenders/upgradephp/ext/pspell.php new file mode 100755 index 0000000000..3e99ff00b4 --- /dev/null +++ b/manager/includes/extenders/upgradephp/ext/pspell.php @@ -0,0 +1,167 @@ +<?php +/** + * api: php + * title: pspell emulation + * description: aspell wrapper functions for PHP pspell extension + * type: functions + * support: untested + * config: <var name="$__pspell[]" priority="never" description="helper variable"> + * version: 1.1 + * license: Public Domain + * + * Has no support for replacement and personal dictionaries, nor wordlist files. + * (Some of these features are possible with the aspell cmdline arguments eventually.) + * + * Only works with aspell binary, not ispell. + * + */ + + + +if (!function_exists("pspell_check")) { + + // helper variable, holds indexes to configured dictionaries + global $__pspell; + $__pspell[0] = array( + // array names do match aspell --cmdline options 1:1 + "lang" => "en", + "variety" => "", + "jargon" => "", + "encoding" => "utf-8", + "ignore" => 1, + "sug-mode" => "normal", + // pspell_*() emu internal options prefixed with _ + "_mode" => 0, + "_bin" => trim(`which aspell`), + "_insert" => "", + ); + + // ?? + define("PSPELL_FAST", 0x01); + define("PSPELL_NORMAL", 0x02); + define("PSPELL_BAD_SPELLERS", 0x04); + define("PSPELL_RUN_TOGETHER", 0x08); + define("PSPELL_ULTRA", 0x20); // non-standard + + + /** + * Check if a single word exists in the dictionary as-is. + * + */ + function pspell_check($i, $word) { + + // exec + $cmd = pspell_cmd($i, "check --dont-suggest"); + $word = escapeshellarg($word); + $r = `echo $word | $cmd`; + + // "*" means successful match + return preg_match("/^[\*]/m", $r); + } + + + /** + * non-standard, for emulation only + * + */ + function pspell_cmd($i, $insert="") { + global $__pspell; + + # /usr/bin/aspell pipe check + $cmd = $__pspell[$i]["_bin"] . " pipe $insert " . $__pspell[$i]["_insert"]; + + # --lang= --ignore= --variety= --jargon= --personal= --repl= --extra-dicts= --dict-dir= + foreach ($__pspell[$i] as $name=>$value) { + if (strlen($value) && !strstr(",_bin,_mode",$name) && ($name[0]!="_")) { + $cmd .= " --$name=$value"; + } + } + return $cmd; + } + + + /** + * If word does not exist in dictionary, returns list of alternatives. + * + */ + function pspell_suggest($i, $word) { + + // exec + $cmd = pspell_cmd($i, "--suggest"); + $word = escapeshellarg($word); + $r = `echo $word | $cmd`; + + // "&" multiple matches + if (preg_match("/^[\&] (.+?) (\d+) (\d+): (.+)$/m", $r, $uu)) { + return preg_split("/,\s*/", $uu[4]); + } + else { + //return($word); //@todo: native behaviour? + } + } + + + /** + * Set aspell options. + * + */ + function pspell_new($lang="en", $spelling="", $jargon="", $enc="utf-8", $mode=0) { + global $__pspell; + $i = count($__pspell); + $__pspell[$i] = array_merge($__pspell[0], array( + "lang" => $lang, + "variety" => $spelling, + "jargon" => $jargon, + "encoding" => $enc, + )); + if ($mode) { + pspell_config_mode($i, $mode); + } + return($i); + } + + + /** + * Various other dictionary options. + * Just set $__pspell[][] cmdline --options array. + * + */ + function pspell_config_create($lang, $spelling=NULL, $jargon=NULL, $enc=NULL) { + return pspell_new($lang, $spelling, $jargon, $enc); + } + function pspell_new_config($i) { + return $i; // dictionary and config are the same in this implementation + } + function pspell_config_mode($i, $mode) { + global $__pspell; + $__pspell[$i]["_mode"] = $mode; + $modes = array(0x00=>"normal", PSPELL_NORMAL=>"normal", PSPELL_FAST=>"fast", PSPELL_ULTRA=>"ultra", PSPELL_BAD_SPELLERS=>"bad-spellers"); + $__pspell[$i]["sug-mode"] = $modes[$mode & 0x27]; + pspell_config_runtogether($i, $mode & PSPELL_RUN_TOGETHER); + } + function pspell_config_ignore($i, $minlength) { + global $__pspell; + $__pspell[$i]["ignore"] = (int)$minlength; + } + function pspell_config_personal($i, $file) { + global $__pspell; + $__pspell[$i]["personal"] = escapeshellarg($file); + } + function pspell_config_data_dir($i, $dir) { + global $__pspell; + $__pspell[$i]["data-dir"] = escapeshellarg($dir); + } + function pspell_config_dict_dir($i, $dir) { + global $__pspell; + $__pspell[$i]["dict-dir"] = escapeshellarg($dir); + } + function pspell_config_runtogether($i, $is) { + global $__pspell; + $__pspell[$i]["_insert"] = $is ? "--runtogether" : ""; + } + + +} + + +?> \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/ext/uncommon_functions.php b/manager/includes/extenders/upgradephp/ext/uncommon_functions.php new file mode 100755 index 0000000000..4329c85b6f --- /dev/null +++ b/manager/includes/extenders/upgradephp/ext/uncommon_functions.php @@ -0,0 +1,82 @@ +<?php +/* + Following funtions have been removed from the core emulation script, because + they are considered too special to be commonly used in WWW scripts. Anybody + using these, probably takes extra precautions prior calling them (you could + still load this script). Some of these functions could also be too difficult + to be reimplemented 100% exactly. +*/ + + + +#-- calls PHP interpreter itself (really only works with 4.3 onwards) +# (you should use the PHP_Compat implementation of this preferably) +if (!function_exists("php_strip_whitespace")) { + function php_strip_whitespace($fn) { + // alternatives would be using te tokenizer or + // some regexs to strip unwanted content parts + // (PEAR::PHP_Compat simply calls the tokenizer) + $fn = escapeshellcmd($fn); + $text = `php -wqCf '$fn'`; + if (!$text) { + $text = implode("", file($fn)); + } + return $text; + } +} + + +#-- invocates PHP interpreter to do the syntax check (nothing else can do) +# (you should use the PHP_Compat implementation of this preferably) +if (!function_exists("php_check_syntax")) { + function php_check_syntax($fn) { + $args = func_get_args(); + if (count($args)>1) { + $result = & $args[1]; + } + $fn = escapeshellcmd($fn); + $result = system("php -lqCf '$fn'", $err); + return($err==0); + } +} + + +#-- print enumerated list of last-called functions +if (!function_exists("debug_print_backtrace") && function_exists("debug_backtrace")) { + function debug_print_backtrace() { + $d = debug_backtrace(); + foreach ($d as $i=>$info) { + #-- index + echo "#" . ($i) . " "; + + #-- function name + if (isset($info["class"])) { + echo "$info[class]::"; + } + if (isset($info["object"])) { + echo "\$$info[object]->"; + } + echo "$info[function]"; + + #-- args + echo "("; + foreach ($info["args"] as $a) { + echo str_replace("\n", "", var_export($a, 1)) . ", "; + } + echo ")"; + + #-- caller + echo " called at ["; + if ($info["file"]) { + echo $info["file"] . ":" . $info["line"]; + } + else { + echo "unknown_location"; + } + echo "]\n"; + } + } +} + + +?> \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/ext/xmlentities.php b/manager/includes/extenders/upgradephp/ext/xmlentities.php new file mode 100755 index 0000000000..8293f94df5 --- /dev/null +++ b/manager/includes/extenders/upgradephp/ext/xmlentities.php @@ -0,0 +1,32 @@ +<?php +/** + * api: php + * title: future PHP functions + * descriptions: functions, that are not yet in php.net releases + * + * + * + */ + + + +/** + * @nonstandard + * + * Encodes required named XML entities. It's like htmlentities(). + * Doesn't re-encode or fix numeric entities. + * + * @param string + * @return string + */ +if (!function_exists("xmlentities")) { + function xmlentities($str) { + return strtr($str, array( + "&#"=>"&#", "&"=>"&", "'"=>"'", + "<"=>"<", ">"=>">", "\""=>""", + )); + } +} + + +?> \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/php0510.php b/manager/includes/extenders/upgradephp/php0510.php new file mode 100755 index 0000000000..86544cbceb --- /dev/null +++ b/manager/includes/extenders/upgradephp/php0510.php @@ -0,0 +1,281 @@ +<?php +/** + * api: php + * title: upgrade.php + * description: Emulates functions from new PHP versions on older interpreters. + * version: 17 + * license: Public Domain + * url: http://freshmeat.net/projects/upgradephp + * type: functions + * category: library + * priority: auto + * load_if: (PHP_VERSION<5.2) + * sort: -255 + * provides: upgrade-php, api:php5, json + * + * + * By loading this library you get PHP version independence. It provides + * downwards compatibility to older PHP interpreters by emulating missing + * functions or constants using IDENTICAL NAMES. So this doesn't slow down + * script execution on setups where the native functions already exist. It + * is meant as quick drop-in solution. It spares you from rewriting code or + * using cumbersome workarounds instead of the more powerful v5 functions. + * + * It cannot mirror PHP5s extended OO-semantics and functionality into PHP4 + * however. A few features are added here that weren't part of PHP yet. And + * some other function collections are separated out into the ext/ directory. + * It doesn't produce many custom error messages (YAGNI), and instead leaves + * reporting to invoked functions or for native PHP execution. + * + * And further this is PUBLIC DOMAIN (no copyright, no license, no warranty) + * so therefore compatible to ALL open source licenses. You could rip this + * paragraph out to republish this instead only under more restrictive terms + * or your favorite license (GNU LGPL/GPL, BSDL, MPL/CDDL, Artistic/PHPL, ..) + * + * Any contribution is appreciated. <milky*users#sf#net> + * + */ + + + + + +/** + * --------------------- CVS / FUTURE --- + * @group CVS + * @since future + * + * Following functions aren't implemented in current PHP versions, but + * might already be in CVS/SVN. + * + * @emulated + * gzdecode + * + * @moved out + * contrib/xmlentities + * + */ + + + + +/** + * ------------------------------ 5.1 --- + * @group 5_1 + * @since 5.1 + * + * Additions in PHP 5.1 + * - most functions here appeared in -rc1 already + * - and were backported to 4.4 series? + * + * @emulated + * property_exists + * time_sleep_until + * fputcsv + * strptime + * ENT_COMPAT + * ENT_QUOTES + * ENT_NOQUOTES + * htmlspecialchars_decode + * PHP_INT_SIZE + * PHP_INT_MAX + * M_SQRTPI + * M_LNPI + * M_EULER + * M_SQRT3 + * + * @missing + * strptime + * + * @unimplementable + * ... + * + */ + + + +/** + * Constants for future 64-bit integer support. + * + */ +if (!defined("PHP_INT_SIZE")) { define("PHP_INT_SIZE", 4); } +if (!defined("PHP_INT_MAX")) { define("PHP_INT_MAX", 2147483647); } + + + +/** + * @flag bugfix + * @see #33895 + * + * Missing constants in 5.1, originally appeared in 4.0. + */ +if (!defined("M_SQRTPI")) { define("M_SQRTPI", 1.7724538509055); } +if (!defined("M_LNPI")) { define("M_LNPI", 1.1447298858494); } +if (!defined("M_EULER")) { define("M_EULER", 0.57721566490153); } +if (!defined("M_SQRT3")) { define("M_SQRT3", 1.7320508075689); } + + + + +/** + * removes entities < > & and eventually " from HTML string + * + */ +if (!function_exists("htmlspecialchars_decode")) { + if (!defined("ENT_COMPAT")) { define("ENT_COMPAT", 2); } + if (!defined("ENT_QUOTES")) { define("ENT_QUOTES", 3); } + if (!defined("ENT_NOQUOTES")) { define("ENT_NOQUOTES", 0); } + function htmlspecialchars_decode($string, $quotes=2) { + $d = $quotes & ENT_COMPAT; + $s = $quotes & ENT_QUOTES; + return str_replace( + array("<", ">", ($s ? """ : "&.-;"), ($d ? "'" : "&.-;"), "&"), + array("<", ">", "'", "\"", "&"), + $string + ); + } +} + + + +/** + * @flag needs5 + * + * Checks for existence of object property, should return TRUE even for NULL values. + * + * @compat + * no test for edge cases + */ +if (!function_exists("property_exists")) { + function property_exists($obj, $propname) { + if (is_object($obj)) { + $props = array_keys(get_object_vars($obj)); + } + elseif (class_exists($obj)) { + $props = array_keys(get_class_vars($obj)); + } + return !empty($props) and in_array($propname, $props); + } +} + + + +/** + * halt execution, until given timestamp + * + */ +if (!function_exists("time_sleep_until")) { + function time_sleep_until($t) { + $delay = $t - time(); + if ($delay < 0) { + trigger_error("time_sleep_until: timestamp in the past", E_USER_WARNING); + return false; + } + else { + sleep((int)$delay); + #usleep(($delay - floor($delay)) * 1000000); + return true; + } + } +} + + + +/** + * @untested + * + * Writes an array as CSV text line into opened filehandle. + * + */ +if (!function_exists("fputcsv")) { + function fputcsv($fp, $fields, $delim=",", $encl='"') { + $line = ""; + foreach ((array)$fields as $str) { + $line .= ($line ? $delim : "") + . $encl + . str_replace(array('\\', $encl), array('\\\\'. '\\'.$encl), $str) + . $encl; + } + fwrite($fp, $line."\n"); + } +} + + + +/** + * @flag basic + * @untested + * + * @compat + * only implements a few basic regular expression lookups + * no idea how to handle all of it + */ +if (!function_exists("strptime")) { + function strptime($str, $format) { + static $expand = array( + "%D" => "%m/%d/%y", + "%T" => "%H:%M:%S", + ); + static $map_r = array( + "%S"=>"tm_sec", + "%M"=>"tm_min", + "%H"=>"tm_hour", + "%d"=>"tm_mday", + "%m"=>"tm_mon", + "%Y"=>"tm_year", + "%y"=>"tm_year", + "%W"=>"tm_wday", + "%D"=>"tm_yday", + "%u"=>"unparsed", + ); + static $names = array( + "Jan" => 1, "Feb" => 2, "Mar" => 3, "Apr" => 4, "May" => 5, "Jun" => 6, + "Jul" => 7, "Aug" => 8, "Sep" => 9, "Oct" => 10, "Nov" => 11, "Dec" => 12, + "Sun" => 0, "Mon" => 1, "Tue" => 2, "Wed" => 3, "Thu" => 4, "Fri" => 5, "Sat" => 6, + ); + + #-- transform $format into extraction regex + $format = str_replace(array_keys($expand), array_values($expand), $format); + $preg = preg_replace("/(%\w)/", "(\w+)", preg_quote($format)); + + #-- record the positions of all STRFCMD-placeholders + preg_match_all("/(%\w)/", $format, $positions); + $positions = $positions[1]; + + #-- get individual values + if (preg_match("#$preg#", "$str", $extracted)) { + + #-- get values + foreach ($positions as $pos=>$strfc) { + $v = $extracted[$pos + 1]; + + #-- add + if ($n = $map_r[$strfc]) { + $vals[$n] = ($v > 0) ? (int)$v : $v; + } + else { + $vals["unparsed"] .= $v . " "; + } + } + + #-- fixup some entries + $vals["tm_wday"] = $names[ substr($vals["tm_wday"], 0, 3) ]; + if ($vals["tm_year"] >= 1900) { + $tm_year -= 1900; + } + elseif ($vals["tm_year"] > 0) { + $vals["tm_year"] += 100; + } + if ($vals["tm_mon"]) { + $vals["tm_mon"] -= 1; + } + else { + $vals["tm_mon"] = $names[ substr($vals["tm_mon"], 0, 3) ] - 1; + } + + #-- calculate wday + // ... (mktime) + } + return isset($vals) ? $vals : false; + } +} diff --git a/manager/includes/extenders/upgradephp/php0520.php b/manager/includes/extenders/upgradephp/php0520.php new file mode 100755 index 0000000000..10eae03674 --- /dev/null +++ b/manager/includes/extenders/upgradephp/php0520.php @@ -0,0 +1,636 @@ +<?php +/** + * api: php + * title: upgrade.php + * description: Emulates functions from new PHP versions on older interpreters. + * version: 17 + * license: Public Domain + * url: http://freshmeat.net/projects/upgradephp + * type: functions + * category: library + * priority: auto + * load_if: (PHP_VERSION<5.2) + * sort: -255 + * provides: upgrade-php, api:php5, json + * + * + * By loading this library you get PHP version independence. It provides + * downwards compatibility to older PHP interpreters by emulating missing + * functions or constants using IDENTICAL NAMES. So this doesn't slow down + * script execution on setups where the native functions already exist. It + * is meant as quick drop-in solution. It spares you from rewriting code or + * using cumbersome workarounds instead of the more powerful v5 functions. + * + * It cannot mirror PHP5s extended OO-semantics and functionality into PHP4 + * however. A few features are added here that weren't part of PHP yet. And + * some other function collections are separated out into the ext/ directory. + * It doesn't produce many custom error messages (YAGNI), and instead leaves + * reporting to invoked functions or for native PHP execution. + * + * And further this is PUBLIC DOMAIN (no copyright, no license, no warranty) + * so therefore compatible to ALL open source licenses. You could rip this + * paragraph out to republish this instead only under more restrictive terms + * or your favorite license (GNU LGPL/GPL, BSDL, MPL/CDDL, Artistic/PHPL, ..) + * + * Any contribution is appreciated. <milky*users#sf#net> + * + */ + + + + + +/** + * --------------------- CVS / FUTURE --- + * @group CVS + * @since future + * + * Following functions aren't implemented in current PHP versions, but + * might already be in CVS/SVN. + * + * @emulated + * gzdecode + * + * @moved out + * contrib/xmlentities + * + */ + + + +/** + * ------------------------------ 5.2 --- + * @group 5_2 + * @since 5.2 + * + * Additions of PHP 5.2.0 + * - some listed here might have appeared earlier or in release candidates + * + * @emulated + * json_encode + * json_decode + * error_get_last + * preg_last_error + * lchown + * lchgrp + * E_RECOVERABLE_ERROR + * M_SQRTPI + * M_LNPI + * M_EULER + * M_SQRT3 + * array_fill_keys (@doc: 4.2 or 5.2 ?) + * array_diff_key (@doc: 5.1 or 5.2 ?) + * array_diff_ukey + * array_product + * inet_ntop + * inet_pton + * array_intersect_key + * array_intersect_ukey + * + * @missing + * sys_getloadavg + * ftp_ssl_connect + * XmlReader + * XmlWriter + * PDO* + * pdo_drivers (should be in ext/pdo) + * + * @unimplementable + * stream_* + * + */ + + + + + +/** + * @since unknown + */ +if (!defined("E_RECOVERABLE_ERROR")) { define("E_RECOVERABLE_ERROR", 4096); } + + + +/** + * Converts PHP variable or array into a "JSON" (JavaScript value expression + * or "object notation") string. + * + * @compat + * Output seems identical to PECL versions. "Only" 20x slower than PECL version. + * @bugs + * Doesn't take care with unicode too much - leaves UTF-8 sequences alone. + * + * @param $var mixed PHP variable/array/object + * @return string transformed into JSON equivalent + */ +if (!function_exists("json_encode")) { + function json_encode($var, /*emu_args*/$obj=FALSE) { + + #-- prepare JSON string + $json = ""; + + #-- add array entries + if (is_array($var) || ($obj=is_object($var))) { + + #-- check if array is associative + if (!$obj) foreach ((array)$var as $i=>$v) { + if (!is_int($i)) { + $obj = 1; + break; + } + } + + #-- concat invidual entries + foreach ((array)$var as $i=>$v) { + $json .= ($json ? "," : "") // comma separators + . ($obj ? ("\"$i\":") : "") // assoc prefix + . (json_encode($v)); // value + } + + #-- enclose into braces or brackets + $json = $obj ? "{".$json."}" : "[".$json."]"; + } + + #-- strings need some care + elseif (is_string($var)) { + if (!utf8_decode($var)) { + $var = utf8_encode($var); + } + $var = str_replace(array("\\", "\"", "/", "\b", "\f", "\n", "\r", "\t"), array("\\\\", '\"', "\\/", "\\b", "\\f", "\\n", "\\r", "\\t"), $var); + $json = '"' . $var . '"'; + //@COMPAT: for fully-fully-compliance $var = preg_replace("/[\000-\037]/", "", $var); + } + + #-- basic types + elseif (is_bool($var)) { + $json = $var ? "true" : "false"; + } + elseif ($var === NULL) { + $json = "null"; + } + elseif (is_int($var) || is_float($var)) { + $json = "$var"; + } + + #-- something went wrong + else { + trigger_error("json_encode: don't know what a '" .gettype($var). "' is.", E_USER_ERROR); + } + + #-- done + return($json); + } +} + + + +/** + * Parses a JSON (JavaScript value expression) string into a PHP variable + * (array or object). + * + * @compat + * Behaves similar to PECL version, but is less quiet on errors. + * Now even decodes unicode \uXXXX string escapes into UTF-8. + * "Only" 27 times slower than native function. + * @bugs + * Might parse some misformed representations, when other implementations + * would scream error or explode. + * @code + * This is state machine spaghetti code. Needs the extranous parameters to + * process subarrays, etc. When it recursively calls itself, $n is the + * current position, and $waitfor a string with possible end-tokens. + * + * @param $json string JSON encoded values + * @param $assoc bool pack data into php array/hashes instead of objects + * @return mixed parsed into PHP variable/array/object + */ +if (!function_exists("json_decode")) { + function json_decode($json, $assoc=FALSE, $limit=512, /*emu_args*/$n=0,$state=0,$waitfor=0) { + + #-- result var + $val = NULL; + static $lang_eq = array("true" => TRUE, "false" => FALSE, "null" => NULL); + static $str_eq = array("n"=>"\012", "r"=>"\015", "\\"=>"\\", '"'=>'"', "f"=>"\f", "b"=>"\b", "t"=>"\t", "/"=>"/"); + if ($limit<0) return /* __cannot_compensate */; + + #-- flat char-wise parsing + for (/*n*/; $n<strlen($json); /*n*/) { + $c = $json[$n]; + + #-= in-string + if ($state==='"') { + + if ($c == '\\') { + $c = $json[++$n]; + // simple C escapes + if (isset($str_eq[$c])) { + $val .= $str_eq[$c]; + } + + // here we transform \uXXXX Unicode (always 4 nibbles) references to UTF-8 + elseif ($c == "u") { + // read just 16bit (therefore value can't be negative) + $hex = hexdec( substr($json, $n+1, 4) ); + $n += 4; + // Unicode ranges + if ($hex < 0x80) { // plain ASCII character + $val .= chr($hex); + } + elseif ($hex < 0x800) { // 110xxxxx 10xxxxxx + $val .= chr(0xC0 + $hex>>6) . chr(0x80 + $hex&63); + } + elseif ($hex <= 0xFFFF) { // 1110xxxx 10xxxxxx 10xxxxxx + $val .= chr(0xE0 + $hex>>12) . chr(0x80 + ($hex>>6)&63) . chr(0x80 + $hex&63); + } + // other ranges, like 0x1FFFFF=0xF0, 0x3FFFFFF=0xF8 and 0x7FFFFFFF=0xFC do not apply + } + + // no escape, just a redundant backslash + //@COMPAT: we could throw an exception here + else { + $val .= "\\" . $c; + } + } + + // end of string + elseif ($c == '"') { + $state = 0; + } + + // yeeha! a single character found!!!!1! + else/*if (ord($c) >= 32)*/ { //@COMPAT: specialchars check - but native json doesn't do it? + $val .= $c; + } + } + + #-> end of sub-call (array/object) + elseif ($waitfor && (strpos($waitfor, $c) !== false)) { + return array($val, $n); // return current value and state + } + + #-= in-array + elseif ($state===']') { + list($v, $n) = json_decode($json, $assoc, $limit, $n, 0, ",]"); + $val[] = $v; + if ($json[$n] == "]") { return array($val, $n); } + } + + #-= in-object + elseif ($state==='}') { + list($i, $n) = json_decode($json, $assoc, $limit, $n, 0, ":"); // this allowed non-string indicies + list($v, $n) = json_decode($json, $assoc, $limit, $n+1, 0, ",}"); + $val[$i] = $v; + if ($json[$n] == "}") { return array($val, $n); } + } + + #-- looking for next item (0) + else { + + #-> whitespace + if (preg_match("/\s/", $c)) { + // skip + } + + #-> string begin + elseif ($c == '"') { + $state = '"'; + } + + #-> object + elseif ($c == "{") { + list($val, $n) = json_decode($json, $assoc, $limit-1, $n+1, '}', "}"); + + if ($val && $n) { + $val = $assoc ? (array)$val : (object)$val; + } + } + + #-> array + elseif ($c == "[") { + list($val, $n) = json_decode($json, $assoc, $limit-1, $n+1, ']', "]"); + } + + #-> comment + elseif (($c == "/") && ($json[$n+1]=="*")) { + // just find end, skip over + ($n = strpos($json, "*/", $n+1)) or ($n = strlen($json)); + } + + #-> numbers + elseif (preg_match("#^(-?\d+(?:\.\d+)?)(?:[eE]([-+]?\d+))?#", substr($json, $n), $uu)) { + $val = $uu[1]; + $n += strlen($uu[0]) - 1; + if (strpos($val, ".")) { // float + $val = (float)$val; + } + elseif ($val[0] == "0") { // oct + $val = octdec($val); + } + else { + $val = (int)$val; + } + // exponent? + if (isset($uu[2])) { + $val *= pow(10, (int)$uu[2]); + } + } + + #-> boolean or null + elseif (preg_match("#^(true|false|null)\b#", substr($json, $n), $uu)) { + $val = $lang_eq[$uu[1]]; + $n += strlen($uu[1]) - 1; + } + + #-- parsing error + else { + // PHPs native json_decode() breaks here usually and QUIETLY + trigger_error("json_decode: error parsing '$c' at position $n", E_USER_WARNING); + return $waitfor ? array(NULL, 1<<30) : NULL; + } + + }//state + + #-- next char + if ($n === NULL) { return NULL; } + $n++; + }//for + + #-- final result + return ($val); + } +} + + + + +/** + * @stub + * + * Should return last PCRE error. + * + */ +if (!function_exists("preg_last_error")) { + if (!defined("PREG_NO_ERROR")) { define("PREG_NO_ERROR", 0); } + if (!defined("PREG_INTERNAL_ERROR")) { define("PREG_INTERNAL_ERROR", 1); } + if (!defined("PREG_BACKTRACK_LIMIT_ERROR")) { define("PREG_BACKTRACK_LIMIT_ERROR", 2); } + if (!defined("PREG_RECURSION_LIMIT_ERROR")) { define("PREG_RECURSION_LIMIT_ERROR", 3); } + if (!defined("PREG_BAD_UTF8_ERROR")) { define("PREG_BAD_UTF8_ERROR", 4); } + function preg_last_error() { + return PREG_NO_ERROR; + } +} + + + + +/** + * returns path of the system directory for temporary files + * + * @since 5.2.1 + */ +if (!function_exists("sys_get_temp_dir")) { + function sys_get_temp_dir() { + # check possible alternatives + ($temp = ini_get("temp_dir")) + or + ($temp = @$_ENV["TEMP"]) + or + ($temp = @$_ENV["TMP"]) + or + ($temp = "/tmp"); + # fin + return($temp); + } +} + + + +/** + * @stub + * + * Should return associative array with last error message. + * + */ +if (!function_exists("error_get_last")) { + function error_get_last() { + return array( + "type" => 0, + "message" => $GLOBALS["php_errormsg"], + "file" => "unknonw", + "line" => 0, + ); + } +} + + + + +/** + * @flag quirky, exec, realmode + * + * Change owner of a symlink filename. + * + */ +if (!function_exists("lchown")) { + function lchown($fn, $user) { + if (PHP_OS != "Linux") { + return false; + } + $user = escapeshellcmd($user); + $fn = escapeshellcmd($fn); + exec("chown -h '$user' '$fn'", $uu, $state); + return($state); + } +} + + + +/** + * @flag quirky, exec, realmode + * + * Change group of a symlink filename. + * + */ +if (!function_exists("lchgrp")) { + function lchgrp($fn, $group) { + return lchown($fn, ":$group"); + } +} + + + +/** + * @doc: Got this function new in PHP 5.2, but documentation says 4.2 ??? + * + * array_fill() with given $keys + * + */ +if (!function_exists("array_fill_keys")) { + function array_fill_keys($keys, $value) { + return array_combine($keys, array_fill(0, count($keys), $value)); + } +} + + + +/** + * @doc: php manual says 5.1, but function appeared with 5.2 + * + * Returns array entries, whose keys are not in any of the comparison arrays. + * + */ +if (!function_exists("array_diff_key")) { + function array_diff_key($base /*...*/) { + $other = func_get_args(); + array_shift($other); + + $cmp = call_user_func_array("array_merge", array_map("array_keys", $other)); + + foreach ($cmp as $key) { + $key = (string) $key; + if (array_key_exists($key, $base)) { + // cannot compare if $key is actually a string in $base + unset($base[$key]); + } + } + return ($base); + } +} + + + + +/** + * @doc: php manual says 5.1, but function appeared with 5.2 + * + * Uses callback function to compare array keys. + * Callback returns -1, 0, +1, and then some keys are filtered??? + * Let's assume ==0 is meant for no difference --> and no difference => filter out + * + */ +if (!function_exists("array_diff_ukey")) { + function array_diff_ukey($base, $other_arrays/*...*/, $callback) { + $other = func_get_args(); + array_shift($other); + $callback = array_pop($other); + + $cmp = call_user_func_array("array_merge", array_map("array_keys", $other)); + + foreach ($base as $key=>$value) { + // compare against each key from $other arrays + foreach ($cmp as $k) { + if ($callback($key, $k) === 0) { + unset($base[$key]); + } + } + } + return $base; + } +} + + + +/** + * @doc: 5.1 vs 5.2 + * + * Keeps only array-entries, if key exists also in comparison arrays + * + */ +if (!function_exists("array_intersect_key")) { + function array_intersect_key($base /*...*/) { + $all_arrays = array_map("array_keys", func_get_args()); + $keep = call_user_func_array("array_intersect", $all_arrays); + + $r = array(); + foreach ($keep as $k) { + $r[$k] = $base[$k]; + } + return ($r); + } +} + + + +/** + * @doc: 5.1 vs 5.2 + * + * array_uintersect on keys + * + */ +if (!function_exists("array_intersect_ukey")) { + function array_intersect_ukey(/*...*/) { + $args = func_get_args(); + $base = $args[0]; + $callback = array_pop($other); + + $keys = array_map("array_values", $args); + $intersect = call_user_func_array("array_uintersect", array_merge($keys, array($callback))); + + $r = array(); + foreach ($intersect as $key) { + $r[$key] = $base[$key]; + } + return $r; + } +} + + + + + + + +/** + * Hmmm. + * + */ +if (!function_exists("array_product")) { + function array_product($multiply_us) { + $r = count($multiply_us) ? 1 : NULL; + foreach ($multiply_us as $m) { + $r = $r * $m; + } + return $r; + } +} + + + +/** + * Converts chr/bin/string-representation to human-readable IP text. + * + */ +if (!function_exists("inet_ntop")) { + function inet_ntop($bin) { + if (strlen($bin) == 4) { // IPv4 + return implode(".", array_map("ord", str_split($bin, 1))); + } + elseif (strlen($bin) == 16) { // IPv6 + return preg_replace("/:?(0000:)+/", "::", implode(":", str_split(bin2hex($bin), 4))); + } + elseif (strlen($bin) == 6) { // MAC + return implode(":", str_split(bin2hex($bin), 2)); + } + } +} + + +/** + * Compact IPv4 1.2.3.4 or IPv6 ::FFFF:0001 addresses into binary string. + * + */ +if (!function_exists("inet_pton")) { + function inet_pton($str) { + if (strpos($str, ".")) { // IPv4 + return array_map("chr", explode(".", $str)); + } + elseif (strstr($str, ":")) { // IPv6 + $str = str_replace("::", str_repeat(":", 2 + 7 - substr_count($str, ":")), $str); // padding "::" can appear anywhere inside, replaces 7-x other :0000 colons and zeros + $str = implode(array_map("inet_pton___ipv6_pad", explode(":", $str))); + return pack("H32", $str); + } + } + function inet_pton___ipv6_pad($s) { + return str_pad($s, 4, "0", STR_PAD_LEFT); + } +} diff --git a/manager/includes/extenders/upgradephp/php0530.php b/manager/includes/extenders/upgradephp/php0530.php new file mode 100755 index 0000000000..a918dc6289 --- /dev/null +++ b/manager/includes/extenders/upgradephp/php0530.php @@ -0,0 +1,355 @@ +<?php +/** + * api: php + * title: upgrade.php + * description: Emulates functions from new PHP versions on older interpreters. + * version: 17 + * license: Public Domain + * url: http://freshmeat.net/projects/upgradephp + * type: functions + * category: library + * priority: auto + * load_if: (PHP_VERSION<5.2) + * sort: -255 + * provides: upgrade-php, api:php5, json + * + * + * By loading this library you get PHP version independence. It provides + * downwards compatibility to older PHP interpreters by emulating missing + * functions or constants using IDENTICAL NAMES. So this doesn't slow down + * script execution on setups where the native functions already exist. It + * is meant as quick drop-in solution. It spares you from rewriting code or + * using cumbersome workarounds instead of the more powerful v5 functions. + * + * It cannot mirror PHP5s extended OO-semantics and functionality into PHP4 + * however. A few features are added here that weren't part of PHP yet. And + * some other function collections are separated out into the ext/ directory. + * It doesn't produce many custom error messages (YAGNI), and instead leaves + * reporting to invoked functions or for native PHP execution. + * + * And further this is PUBLIC DOMAIN (no copyright, no license, no warranty) + * so therefore compatible to ALL open source licenses. You could rip this + * paragraph out to republish this instead only under more restrictive terms + * or your favorite license (GNU LGPL/GPL, BSDL, MPL/CDDL, Artistic/PHPL, ..) + * + * Any contribution is appreciated. <milky*users#sf#net> + * + */ + + + + + +/** + * --------------------- CVS / FUTURE --- + * @group CVS + * @since future + * + * Following functions aren't implemented in current PHP versions, but + * might already be in CVS/SVN. + * + * @emulated + * gzdecode + * + * @moved out + * contrib/xmlentities + * + */ + + + + + +/** + * ----------------------------- 5.3 --- + * @group 5_3 + * @since 5.3 + * + * Known additions of PHP 5.3 + * + * @emulated + * ob_get_headers (stub) + * preg_filter + * lcfirst + * class_alias + * header_remove + * parse_ini_string + * array_replace + * array_replace_recursive + * str_getcsv + * forward_static_call + * forward_static_call_array + * quoted_printable_encode + * + * @missing + * get_called_class + * stream_context_get_params + * stream_context_set_default + * stream_supports_lock + * hash_copy + * date_create_from_format + * date_parse_from_format + * date_get_last_errors + * date_add + * date_sub + * date_diff + * date_timestamp_set + * date_timestamp_get + * timezone_location_get + * date_interval_create_from_date_string + * date_interval_format + * + * RANT: The PHP 5.3 \idiot\namespace\syntax (magic quotes 2.0) is not + * reimplemented here. + * + */ + + + +/** + * preg_replace() variant, which filters out any unmatched $subject. + * + */ +if (!function_exists("preg_filter")) { + function preg_filter($pattern, $replacement, $subject, $limit=-1, $count=NULL) { + + // just do the replacing first, and eventually filter later + $r = preg_replace($pattern, $replacement, $subject, $limit, $count); + + // look at subject lines one-by-one, remove from result per index + foreach ((array)$subject as $si=>$s) { + $any = 0; + foreach ((array)$pattern as $p) { + $any = $any ||preg_match($p, $s); + } + // remove if NONE of the patterns matched + if (!$any) { + if (is_array($r)) { + unset($r[$si]); // del from result array + } + else { + return NULL; // subject was a str + } + } + } + + return $r; // is already string if $subject was too + } +} + + + +/** + * Lowercase first character. + * + * @param string + * @return string + */ +if (!function_exists("lcfirst")) { + function lcfirst($str) { + return strlen($str) ? strtolower($str[0]) . substr($str, 1) : ""; + } +} + + + +/** + * @stub cannot be emulated, because output buffering functions + * already swallow up any sent http header + * @since 5.3.? + * + * get all ob_ soaked headers(), + * + */ +if (!function_exists("ob_get_headers")) { + function ob_get_headers() { + return (array)NULL; + } +} + + + +/** + * @stub Cannot be emulated correctly, but let's try. + * + */ +if (!function_exists("header_remove")) { + function header_remove($name="") { + if (strlen($name) and ($name = preg_replace("/[^-_.\w\d]+/", "", $name))) header("$name: \t"); + // Apache1.3? removed duplettes, empty header overrides previous. + // ONLY if case was identical to previous header() call. (Very uncertain for applications which need to resort to such code smell.) + } +} + + + +/** + * WTF? + * At least an explaning reference was available on the php.net manual. + * Why the parameters are supposed to be optional is a mystery. + * + */ +if (!function_exists("class_alias")) { + function class_alias($original, $alias) { + $abstract = ""; + if (class_exists("ReflectionClass")) { + $oc = new ReflectionClass($original); + $abstract = $oc->isAbstract() ? "abstract" : ""; + } + eval("$abstract class $alias extends $original { /* identical subclass */ }"); + return get_parent_class($alias) == $original; + } +} + + + + +/** + * Hey, reimplementin is fun. + * (Could have used a data: wrapper for parse_ini_file, but that wouldn't work for php<5.2, and the data:// (!) wrapper is flaky anyway.) + * + */ +if (!function_exists("parse_ini_string")) { + function parse_ini_string($ini, $sectioned=false, $raw=0) { + $r = array(); + $map = array("true"=>1, "yes"=>1, "1"=>1, "null"=>"", "false"=>"", "no"=>"", "0"=>0); + $section = ""; + foreach (explode("\n", $ini) as $line) { + if (!strlen($line)) { + } + // handle [sections] + elseif (($line[0] == "[") and preg_match("/\[([-_\w ]+)\]/", $line, $uu)) { + $section = $uu[1]; + } + elseif (/*deprecated*/($line[0] != "#") && ($line[0] != ";") && ($i = strpos($line, "="))) { + // key=value split + $n = trim(substr($line, 0, $i)); + $v = trim(substr($line, $i+1)); + // replace special values + if (!$raw) { + $v=trim($v, '"'); // should actually use regex, to handle key="..\n.." multiline values + $v=trim($v, "'"); + if (isset($map[$v])) { + $v=$map[$v]; + } + } + // special array[]= keys allowed + if ($i = strpos($n, "[")) { + $r[$section][substr($n, 0, $i)][] = $v; + } + else { + $r[$section][$n] = $v; + } + } + } + return $sectioned ? $r : call_user_func_array("array_merge", $r); + } +} + + + + +/** + * Inject values from supplemental arrays into $target, according to its keys. + * + * @param array $targt + * @param+ array $supplements + * @return array + */ +if (!function_exists("array_replace")) { + function array_replace(/* & (?) */$target/*, $from, $from2, ...*/) { + $merge = func_get_args(); + array_shift($merge); + foreach ($merge as $add) { + foreach ($add as $i=>$v) { + $target[$i] = $v; + } + } + return $target; + } +} + + +/** + * Descends into sub-arrays when replacing values by key in $target array. + * + */ +if (!function_exists("array_replace_recursive")) { + function array_replace_recursive($target/*, $from1, $from2, ...*/) { + $merge = func_get_args(); + array_shift($merge); + + // loop through all merge arrays + foreach ($merge as $from) { + foreach ($from as $i=>$v) { + // just add (wether array or scalar) if key does not exist yet + if (!isset($target[$i])) { + $target[$i] = $v; + } + // dive in + elseif (is_array($v) && is_array($target[$i])) { + $target[$i] = array_replace_recursive($target[$i], $v); + } + // replace + else { + $target[$i] = $v; + } + } + } + return $target; + } +} + + + + +/** + * Breaks up a SINGLE LINE in CSV format. + * abc,123,"text with spaces and \n ewlines",xy,"\"" + * + */ +if (!function_exists("str_getcsv")) { + function str_getcsv($line, $del=",", $q='"', $esc="\\") { + $line = rtrim($line); + preg_match_all("/\G ([^$q$del]*) $del | $q(( [$esc$esc][$q]|[^$q]* )+)$q $del /xms", "$line,", $r); + foreach ($r[1] as $i=>$v) { // merge both captures + if (empty($v) && strlen($r[2][$i])) { + $r[1][$i] = str_replace("$esc$q", "$q", $r[2][$i]); // remove escape character + } + } + return($r[1]); + } +} + + + +/** + * @stub: Basically aliases for function calls; just throw an error if called from main() and not from within a class. + * The real implementations would behave on late static binding, though. + * + */ +if (!function_exists("forward_static_call")) { + function forward_static_call_array($callback, $args=NULL) { + return call_user_func_array($callback, $args); + } + function forward_static_call($callback /*, ... */) { + $args = func_get_args(); + array_shift($args); + return call_user_func_array($callback, $args); + } +} + + + + +/** + * Encodes special chars as =0D=0A patterns. Soft-break at 76 characters. + * + */ +if (!function_exists("quoted_printable_encode")) { + function quoted_printable_encode($str) { + $str = preg_replace("/([\\000-\\041=\\176-\\377])/e", "'='.strtoupper(dechex(ord('\$1')))", $str); + $str = preg_replace("/(.{1,76})(?<=[^=][^=])/ims", "\$1=\r\n", $str); // QP-soft-break + return $str; + } +} From 737217829a752f5a68ef66ab55b8098f8beb6515 Mon Sep 17 00:00:00 2001 From: soushi <soushi@modx.jp> Date: Thu, 23 Dec 2010 11:37:46 +0900 Subject: [PATCH 35/92] 886 [hq] upgrade.php other liblary(yama) --- manager/includes/document.parser.class.inc.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/manager/includes/document.parser.class.inc.php b/manager/includes/document.parser.class.inc.php index d526024cfd..5dae5fb517 100755 --- a/manager/includes/document.parser.class.inc.php +++ b/manager/includes/document.parser.class.inc.php @@ -6,6 +6,9 @@ */ $upgradephp_path = MODX_MANAGER_PATH . 'includes/extenders/upgradephp/'; +if (!version_compare('5.3.0', phpversion(),'<')) include_once $upgradephp_path . 'php0530.php'; +if (!version_compare('5.2.0', phpversion(),'<')) include_once $upgradephp_path . 'php0520.php'; +if (!version_compare('5.1.0', phpversion(),'<')) include_once $upgradephp_path . 'php0510.php'; if (!version_compare('5.0.0', phpversion(),'<')) include_once $upgradephp_path . 'php0500.php'; class DocumentParser { From be8142982f552b9a99c76ddbdf8f831e0c1a7319 Mon Sep 17 00:00:00 2001 From: soushi <soushi@modx.jp> Date: Thu, 23 Dec 2010 11:39:34 +0900 Subject: [PATCH 36/92] 887 [hq] Replace $this->config['friendly_url_suffix'] current var(yama) --- manager/includes/document.parser.class.inc.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/manager/includes/document.parser.class.inc.php b/manager/includes/document.parser.class.inc.php index 5dae5fb517..f65d65832d 100755 --- a/manager/includes/document.parser.class.inc.php +++ b/manager/includes/document.parser.class.inc.php @@ -1540,13 +1540,15 @@ function clearCache() { function makeUrl($id, $alias= '', $args= '', $scheme= '') { $url= ''; $virtualDir= ''; + $f_url_prefix = $this->config['friendly_url_prefix']; + $f_url_suffix = $this->config['friendly_url_suffix']; if (!is_numeric($id)) { $this->messageQuit('`' . $id . '` is not numeric and may not be passed to makeUrl()'); } if ($args != '' && $this->config['friendly_urls'] == 1) { // add ? to $args if missing $c= substr($args, 0, 1); - if (strpos($this->config['friendly_url_prefix'], '?') === false) { + if (strpos($f_url_prefix, '?') === false) { if ($c == '&') $args= '?' . substr($args, 1); elseif ($c != '?') $args= '?' . $args; @@ -1564,7 +1566,8 @@ function makeUrl($id, $alias= '', $args= '', $scheme= '') { elseif ($c != '&') $args= '&' . $args; } if ($this->config['friendly_urls'] == 1 && $alias != '') { - $url= $this->config['friendly_url_prefix'] . $alias . $this->config['friendly_url_suffix'] . $args; + // if(strstr($alias, '.') !== false) $f_url_suffix = '';//yama + $url= $f_url_prefix . $alias . $f_url_suffix . $args; } elseif ($this->config['friendly_urls'] == 1 && $alias == '') { $alias= $id; @@ -1574,7 +1577,7 @@ function makeUrl($id, $alias= '', $args= '', $scheme= '') { if ($al && $al['alias']) $alias= $al['alias']; } - $alias= $alPath . $this->config['friendly_url_prefix'] . $alias . $this->config['friendly_url_suffix']; + $alias= $alPath . $f_url_prefix . $alias . $f_url_suffix; $url= $alias . $args; } else { $url= 'index.php?id=' . $id . $args; From f0a64892a369a1db20b636ff26cff0277f811d7e Mon Sep 17 00:00:00 2001 From: soushi <soushi@modx.jp> Date: Thu, 23 Dec 2010 11:40:38 +0900 Subject: [PATCH 37/92] 888 [hq] show error detailed state(yama) --- .../includes/document.parser.class.inc.php | 61 ++++++++++++++----- 1 file changed, 46 insertions(+), 15 deletions(-) diff --git a/manager/includes/document.parser.class.inc.php b/manager/includes/document.parser.class.inc.php index f65d65832d..d2207f649f 100755 --- a/manager/includes/document.parser.class.inc.php +++ b/manager/includes/document.parser.class.inc.php @@ -770,11 +770,13 @@ function evalSnippet($snippet, $params) { ob_start(); $snip= eval ($snippet); $msg= ob_get_contents(); + $request_uri = getenv('REQUEST_URI'); + $request_uri = htmlspecialchars($request_uri, ENT_QUOTES); ob_end_clean(); if ($msg && isset ($php_errormsg)) { if (!stripos($php_errormsg, 'deprecated')) { // ignore php5 strict errors // log error - $this->logEvent(1, 3, "<b>$php_errormsg</b><br /><br /> $msg", $this->currentSnippet . " - Snippet"); + $this->logEvent(1, 3, "<b>$php_errormsg</b><br /><br /> $msg<br />REQUEST_URI = $request_uri<br />ID = $this->documentIdentifier", $this->currentSnippet . " - Snippet"); if ($this->isBackend()) $this->Event->alert("An error occurred while loading. Please see the event log for more information<p />$msg"); } @@ -2647,17 +2649,14 @@ function messageQuit($msg= 'unspecified error', $query= '', $is_error= true, $nr $version= isset ($GLOBALS['version']) ? $GLOBALS['version'] : ''; $release_date= isset ($GLOBALS['release_date']) ? $GLOBALS['release_date'] : ''; + $request_uri = getenv('REQUEST_URI'); + $request_uri = htmlspecialchars($request_uri, ENT_QUOTES); + $ua = htmlspecialchars($_SERVER['HTTP_USER_AGENT'], ENT_QUOTES); + $referer = htmlspecialchars($_SERVER['HTTP_REFERER'], ENT_QUOTES); $parsedMessageString= " <html><head><title>MODx Content Manager $version » $release_date - - + + "; if ($is_error) { @@ -2673,8 +2672,8 @@ function copyToClip() } if (!empty ($query)) { - $parsedMessageString .= "      SQL: $query -
          [Copy SQL to ClipBoard]"; + $parsedMessageString .= "      SQL: $query + "; } if ($text != '') { @@ -2694,14 +2693,14 @@ function copyToClip() ); - $parsedMessageString .= " PHP error debug"; + $parsedMessageString .= " PHP error debug"; $parsedMessageString .= "  Error: "; $parsedMessageString .= "$text "; $parsedMessageString .= ""; $parsedMessageString .= "  Error type/ Nr.: "; - $parsedMessageString .= "" . $errortype[$nr] . " - $nr "; + $parsedMessageString .= "" . $errortype[$nr] . " - $nr "; $parsedMessageString .= ""; $parsedMessageString .= "  File: "; @@ -2718,7 +2717,39 @@ function copyToClip() } } - $parsedMessageString .= " Parser timing"; + $parsedMessageString .= " Basic info"; + + $parsedMessageString .= "  REQUEST_URI: "; + $parsedMessageString .= "$request_uri"; + $parsedMessageString .= ""; + + $parsedMessageString .= "  ID: "; + $parsedMessageString .= "" . $this->documentIdentifier . ""; + $parsedMessageString .= ""; + + if(!empty($this->currentSnippet)) + { + $parsedMessageString .= "  Current Snippet: "; + $parsedMessageString .= '' . $this->currentSnippet . ''; + $parsedMessageString .= ""; + } + + if(!empty($this->event->activePlugin)) + { + $parsedMessageString .= "  Current Plugin: "; + $parsedMessageString .= '' . $this->event->activePlugin . '(' . $this->event->name . ')' . ''; + $parsedMessageString .= ""; + } + + $parsedMessageString .= "  Referer: "; + $parsedMessageString .= '' . $referer . ''; + $parsedMessageString .= ""; + + $parsedMessageString .= "  User Agent: "; + $parsedMessageString .= '' . $ua . ''; + $parsedMessageString .= ""; + + $parsedMessageString .= ' Parser timing'; $parsedMessageString .= "  MySQL: "; $parsedMessageString .= "[^qt^]([^q^] Requests)"; From d68c1b02a6932e36bdbaa6afa0614b82bd44be6b Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 11:41:42 +0900 Subject: [PATCH 38/92] 889 [hq] textarea font style(yama) --- manager/actions/mutate_content.dynamic.php | 2 +- manager/actions/mutate_htmlsnippet.dynamic.php | 2 +- manager/actions/mutate_module.dynamic.php | 4 ++-- manager/actions/mutate_plugin.dynamic.php | 4 ++-- manager/actions/mutate_snippet.dynamic.php | 4 ++-- manager/actions/mutate_templates.dynamic.php | 2 +- manager/media/style/MODxCarbon/style.css | 4 +++- 7 files changed, 12 insertions(+), 10 deletions(-) mode change 100644 => 100755 manager/actions/mutate_content.dynamic.php mode change 100644 => 100755 manager/actions/mutate_htmlsnippet.dynamic.php mode change 100644 => 100755 manager/actions/mutate_module.dynamic.php mode change 100644 => 100755 manager/actions/mutate_plugin.dynamic.php mode change 100644 => 100755 manager/actions/mutate_snippet.dynamic.php mode change 100644 => 100755 manager/actions/mutate_templates.dynamic.php diff --git a/manager/actions/mutate_content.dynamic.php b/manager/actions/mutate_content.dynamic.php old mode 100644 new mode 100755 index 9a81fc461b..5c15ff2d58 --- a/manager/actions/mutate_content.dynamic.php +++ b/manager/actions/mutate_content.dynamic.php @@ -688,7 +688,7 @@ function decode(s) { $htmlContent = $content['content']; ?>
    - + +
    diff --git a/manager/actions/mutate_module.dynamic.php b/manager/actions/mutate_module.dynamic.php old mode 100644 new mode 100755 index 79acb96e96..ce4d80d1d7 --- a/manager/actions/mutate_module.dynamic.php +++ b/manager/actions/mutate_module.dynamic.php @@ -408,7 +408,7 @@ function SetUrl(url, width, height, alt) {   class="inputBox" onclick="setTextWrap(document.mutate.post,this.checked)" />
    - +
    @@ -424,7 +424,7 @@ function SetUrl(url, width, height, alt) { class="inputBox" onclick="documentDirty=true;" /> :   

    : -    +        diff --git a/manager/actions/mutate_plugin.dynamic.php b/manager/actions/mutate_plugin.dynamic.php old mode 100644 new mode 100755 index 9e05a71763..dd8818b267 --- a/manager/actions/mutate_plugin.dynamic.php +++ b/manager/actions/mutate_plugin.dynamic.php @@ -324,7 +324,7 @@ function decode(s){   class="inputBox" onclick="setTextWrap(document.mutate.post,this.checked)" /> - + @@ -377,7 +377,7 @@ function decode(s){ : -
    +
      diff --git a/manager/actions/mutate_snippet.dynamic.php b/manager/actions/mutate_snippet.dynamic.php old mode 100644 new mode 100755 index 10ae88b6c9..424c83f150 --- a/manager/actions/mutate_snippet.dynamic.php +++ b/manager/actions/mutate_snippet.dynamic.php @@ -326,7 +326,7 @@ function decode(s){   class="inputBox" onclick="setTextWrap(document.mutate.post,this.checked)" /> - + @@ -379,7 +379,7 @@ function decode(s){ : -    +      diff --git a/manager/actions/mutate_templates.dynamic.php b/manager/actions/mutate_templates.dynamic.php old mode 100644 new mode 100755 index 05c01d02a0..f25b568ee4 --- a/manager/actions/mutate_templates.dynamic.php +++ b/manager/actions/mutate_templates.dynamic.php @@ -179,7 +179,7 @@ function deletedocument() {
     
    - + diff --git a/manager/media/style/MODxCarbon/style.css b/manager/media/style/MODxCarbon/style.css index 39698de897..7a31863077 100755 --- a/manager/media/style/MODxCarbon/style.css +++ b/manager/media/style/MODxCarbon/style.css @@ -1565,4 +1565,6 @@ input:focus.DatePicker, #mutate input:focus.DatePicker, #userPane input:focus.Da .cbBox h3 {color:#000;background: #bee860 url(images/misc/fade.gif) repeat-x top;padding:5px;font-weight:bold;} .cbBox p {margin:3px;} .cbBox .cbButtons {text-align:center;} -.sysAlert {width: 500px;height: 330px;white-space: nowrap;overflow: auto;} \ No newline at end of file +.sysAlert {width: 500px;height: 330px;white-space: nowrap;overflow: auto;} + +.phptextarea {font-family: 'Courier New','Courier', monospace;} From 6bd8e3e57bb03c2d7786a48571262a472efdbea2 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 11:50:47 +0900 Subject: [PATCH 39/92] 890 blank comment.(yama)Supplementation:Ajaxsearch 1.9.0 -> 1.9.2 and nnecessary file deleted.(soushi) --- .../docmanager/classes/dm_backend.class.php | 15 +- .../modules/docmanager/module.docmanager.tpl | 20 --- assets/plugins/tinymce/tinymce.tpl | 137 ------------------ .../snippets/ajaxSearch/ajaxSearchPopup.php | 37 ++--- .../snippets/ajaxSearch/ajaxSearch_readme.txt | 13 +- ...ion_190.txt => ajaxSearch_version_192.txt} | 58 ++++++-- .../classes/ajaxSearch.class.inc.php | 18 +-- .../classes/ajaxSearchConfig.class.inc.php | 8 +- .../classes/ajaxSearchCtrl.class.inc.php | 57 +++++--- .../classes/ajaxSearchInput.class.inc.php | 7 +- .../classes/ajaxSearchLog.class.inc.php | 8 +- .../classes/ajaxSearchOutput.class.inc.php | 86 ++++++----- .../classes/ajaxSearchRequest.class.inc.php | 59 +++++--- .../classes/ajaxSearchResults.class.inc.php | 41 +++--- .../classes/ajaxSearchUtil.class.inc.php | 11 +- .../ajaxSearch/configs/default.config.php | 4 +- .../documentation/AjaxSearch190_v4.pdf | Bin 123661 -> 0 bytes .../documentation/AjaxSearch192_v1.pdf | Bin 0 -> 123491 bytes .../documentation/migrationFrom185To190.txt | 2 +- .../js/ajaxSearch1/ajaxSearch-jquery.js | 10 +- .../js/ajaxSearch1/ajaxSearch-mootools2.js | 8 +- .../ajaxSearch/js/ajaxSearch1/ajaxSearch.js | 8 +- .../js/clearDefault/clearDefault.js | 2 +- .../ajaxSearch/js/comment/ajaxSearchCmt.js | 6 +- .../ajaxSearch/lang/slovak-utf8.inc.php | 24 +-- .../snippets/ajaxSearch/lang/slovak.inc.php | 24 +-- .../ajaxSearch/lang/spanish-utf8.inc.php | 6 - .../snippets/ajaxSearch/lang/spanish.inc.php | 6 - .../module.ajaxSearchLogManager.txt | 4 +- .../ajaxSearch/snippet.ajaxSearch.txt | 23 ++- .../templates/inputTemplates/readme.txt | 4 +- 31 files changed, 328 insertions(+), 378 deletions(-) delete mode 100644 assets/modules/docmanager/module.docmanager.tpl delete mode 100755 assets/plugins/tinymce/tinymce.tpl mode change 100644 => 100755 assets/snippets/ajaxSearch/ajaxSearchPopup.php mode change 100644 => 100755 assets/snippets/ajaxSearch/ajaxSearch_readme.txt rename assets/snippets/ajaxSearch/{ajaxSearch_version_190.txt => ajaxSearch_version_192.txt} (91%) mode change 100644 => 100755 mode change 100644 => 100755 assets/snippets/ajaxSearch/classes/ajaxSearch.class.inc.php mode change 100644 => 100755 assets/snippets/ajaxSearch/classes/ajaxSearchConfig.class.inc.php mode change 100644 => 100755 assets/snippets/ajaxSearch/classes/ajaxSearchCtrl.class.inc.php mode change 100644 => 100755 assets/snippets/ajaxSearch/classes/ajaxSearchInput.class.inc.php mode change 100644 => 100755 assets/snippets/ajaxSearch/classes/ajaxSearchLog.class.inc.php mode change 100644 => 100755 assets/snippets/ajaxSearch/classes/ajaxSearchOutput.class.inc.php mode change 100644 => 100755 assets/snippets/ajaxSearch/classes/ajaxSearchRequest.class.inc.php mode change 100644 => 100755 assets/snippets/ajaxSearch/classes/ajaxSearchResults.class.inc.php mode change 100644 => 100755 assets/snippets/ajaxSearch/classes/ajaxSearchUtil.class.inc.php mode change 100644 => 100755 assets/snippets/ajaxSearch/configs/default.config.php delete mode 100644 assets/snippets/ajaxSearch/documentation/AjaxSearch190_v4.pdf create mode 100755 assets/snippets/ajaxSearch/documentation/AjaxSearch192_v1.pdf mode change 100644 => 100755 assets/snippets/ajaxSearch/documentation/migrationFrom185To190.txt mode change 100644 => 100755 assets/snippets/ajaxSearch/js/ajaxSearch1/ajaxSearch-jquery.js mode change 100644 => 100755 assets/snippets/ajaxSearch/js/ajaxSearch1/ajaxSearch-mootools2.js mode change 100644 => 100755 assets/snippets/ajaxSearch/js/ajaxSearch1/ajaxSearch.js mode change 100644 => 100755 assets/snippets/ajaxSearch/js/clearDefault/clearDefault.js mode change 100644 => 100755 assets/snippets/ajaxSearch/js/comment/ajaxSearchCmt.js mode change 100644 => 100755 assets/snippets/ajaxSearch/lang/slovak-utf8.inc.php mode change 100644 => 100755 assets/snippets/ajaxSearch/lang/slovak.inc.php mode change 100644 => 100755 assets/snippets/ajaxSearch/lang/spanish-utf8.inc.php mode change 100644 => 100755 assets/snippets/ajaxSearch/lang/spanish.inc.php mode change 100644 => 100755 assets/snippets/ajaxSearch/module.ajaxSearchLogManager.txt mode change 100644 => 100755 assets/snippets/ajaxSearch/snippet.ajaxSearch.txt mode change 100644 => 100755 assets/snippets/ajaxSearch/templates/inputTemplates/readme.txt diff --git a/assets/modules/docmanager/classes/dm_backend.class.php b/assets/modules/docmanager/classes/dm_backend.class.php index f886e1b3a7..893a7d2c37 100755 --- a/assets/modules/docmanager/classes/dm_backend.class.php +++ b/assets/modules/docmanager/classes/dm_backend.class.php @@ -40,7 +40,7 @@ function showSortList($id) { $resource = array(); if (is_numeric($id)) { - $query = 'SELECT id , pagetitle , parent , menuindex, hidemenu, published FROM '. $this->modx->getFullTableName('site_content') .' WHERE parent=' . $id . ' ORDER BY menuindex ASC'; + $query = 'SELECT id , pagetitle , parent , menuindex, published, deleted, hidemenu FROM '. $this->modx->getFullTableName('site_content') .' WHERE parent=' . $id . ' ORDER BY menuindex ASC'; if (!$rs = $this->modx->db->query($query)) { return false; } @@ -63,9 +63,16 @@ function showSortList($id) { $this->dm->ph['sort.message'] = $this->dm->lang['DM_sort_nochildren']; } else { foreach ($resource as $item) { - $hidemenu = ($item['hidemenu']==1) ? ' hidemenu' : ''; - $published = ($item['published']==0) ? ' unpublished' : ''; - $this->dm->ph['sort.options'] .= '
  • ' . $item['pagetitle'] . '
  • '; + // deleted, hidden from menu, unpublished + $class = 'sort'; + if($item['deleted'] == '1') { + $class .= ' deletedNode'; + } elseif($item['published'] == '0') { + $class .= ' unpublishedNode'; + } elseif($item['hidemenu'] == '1') { + $class .= ' notInMenuNode'; + } + $this->dm->ph['sort.options'] .= '
  • ' . $item['pagetitle'] . '
  • '; } } diff --git a/assets/modules/docmanager/module.docmanager.tpl b/assets/modules/docmanager/module.docmanager.tpl deleted file mode 100644 index 69e3e0ef4f..0000000000 --- a/assets/modules/docmanager/module.docmanager.tpl +++ /dev/null @@ -1,20 +0,0 @@ -include_once(MODX_BASE_PATH.'assets/modules/docmanager/classes/docmanager.class.php'); -include_once(MODX_BASE_PATH.'assets/modules/docmanager/classes/dm_frontend.class.php'); -include_once(MODX_BASE_PATH.'assets/modules/docmanager/classes/dm_backend.class.php'); - -$dm = new DocManager($modx); -$dmf = new DocManagerFrontend($dm, $modx); -$dmb = new DocManagerBackend($dm, $modx); - -$dm->ph = $dm->getLang(); -$dm->ph['theme'] = $dm->getTheme(); -$dm->ph['ajax.endpoint'] = MODX_SITE_URL.'assets/modules/docmanager/tv.ajax.php'; -$dm->ph['datepicker.offset'] = $modx->config['datepicker_offset']; -$dm->ph['datetime.format'] = $modx->config['datetime_format']; - -if (isset($_POST['tabAction'])) { - $dmb->handlePostback(); -} else { - $dmf->getViews(); - echo $dm->parseTemplate('main.tpl', $dm->ph); -} diff --git a/assets/plugins/tinymce/tinymce.tpl b/assets/plugins/tinymce/tinymce.tpl deleted file mode 100755 index d2b89b663f..0000000000 --- a/assets/plugins/tinymce/tinymce.tpl +++ /dev/null @@ -1,137 +0,0 @@ -//Event; -switch ($e->name) -{ - case "OnRichTextEditorRegister": // register only for backend - $e->output("TinyMCE"); - break; - - case "OnRichTextEditorInit": - if($editor!=="TinyMCE") return; - - $params['elements'] = $elements; - $params['css_selectors'] = $modx->config['tinymce_css_selectors']; - $params['use_browser'] = $modx->config['use_browser']; - $params['editor_css_path'] = $modx->config['editor_css_path']; - - if($modx->isBackend() || (intval($_GET['quickmanagertv']) == 1 && isset($_SESSION['mrgValidated']))) - { - $params['theme'] = $modx->config['tinymce_editor_theme']; - $params['language'] = getTinyMCELang($modx->config['manager_language']); - $params['frontend'] = false; - $params['custom_plugins'] = $modx->config['tinymce_custom_plugins']; - $params['custom_buttons1'] = $modx->config['tinymce_custom_buttons1']; - $params['custom_buttons2'] = $modx->config['tinymce_custom_buttons2']; - $params['custom_buttons3'] = $modx->config['tinymce_custom_buttons3']; - $params['custom_buttons4'] = $modx->config['tinymce_custom_buttons4']; - $params['toolbar_align'] = $modx->config['manager_direction']; - $params['webuser'] = null; - - $html = $mce->get_mce_script($params); - } - else - { - $frontend_language = isset($modx->config['fe_editor_lang']) ? $modx->config['fe_editor_lang']:''; - $webuser = (isset($modx->config['rb_webuser']) ? $modx->config['rb_webuser'] : null); - - $params['webuser'] = $webuser; - $params['language'] = getTinyMCELang($frontend_language); - $params['frontend'] = true; - - $html = $mce->get_mce_script($params); - } - $e->output($html); - break; - - case "OnInterfaceSettingsRender": - global $usersettings,$settings; - $action = $modx->manager->action; - switch ($action) - { - case 11: - $mce_settings = ''; - break; - case 12: - $mce_settings = $usersettings; - break; - case 17: - $mce_settings = $settings; - break; - default: - $mce_settings = $settings; - break; - } - - $params['use_editor'] = $modx->config['base_url'].$modx->config['use_editor']; - $params['editor_css_path'] = $modx->config['editor_css_path']; - $params['theme'] = $mce_settings['tinymce_editor_theme']; - $params['css_selectors'] = $mce_settings['tinymce_css_selectors']; - $params['custom_plugins'] = $mce_settings['tinymce_custom_plugins']; - $params['custom_buttons1'] = $mce_settings['tinymce_custom_buttons1']; - $params['custom_buttons2'] = $mce_settings['tinymce_custom_buttons2']; - $params['custom_buttons3'] = $mce_settings['tinymce_custom_buttons3']; - $params['custom_buttons4'] = $mce_settings['tinymce_custom_buttons4']; - - $html = $mce->get_mce_settings($params); - $e->output($html); - break; - - default : - return; // stop here - this is very important. - break; -} diff --git a/assets/snippets/ajaxSearch/ajaxSearchPopup.php b/assets/snippets/ajaxSearch/ajaxSearchPopup.php old mode 100644 new mode 100755 index 074736b831..ac05ecd2a8 --- a/assets/snippets/ajaxSearch/ajaxSearchPopup.php +++ b/assets/snippets/ajaxSearch/ajaxSearchPopup.php @@ -5,19 +5,29 @@ * ajaxSearchPopup.php * * @author Coroico - www.modx.wangba.fr -* @version 1.9.0 -* @date 18/05/2010 +* @version 1.9.2 +* @date 05/12/2010 * */ +/*! +* parseUserConfig : parse the non default configuration file name from ucfg string +*/ +if (!function_exists('parseUserConfig')) { + function parseUserConfig($ucfg) { + preg_match('/&config=`([^`]*)`/', $ucfg, $matches); + return $matches[1]; + } +} + if (isset($_POST['search'])) { - define('AS_VERSION', '1.9.0'); + define('AS_VERSION', '1.9.2'); define('AS_SPATH', 'assets/snippets/ajaxSearch/'); define('AS_PATH', MODX_BASE_PATH . AS_SPATH); require_once (MODX_MANAGER_PATH . '/includes/protect.inc.php'); - if (!isset($_POST['as_version']) || ($_POST['as_version'] != AS_VERSION)) { + if (!isset($_POST['as_version']) || (strip_tags($_POST['as_version']) != AS_VERSION)) { $output = "AjaxSearch version obsolete.
    Please check the snippet code in MODx manager."; } else { @@ -35,27 +45,18 @@ if (file_exists($default)) include $default; else return "

    AjaxSearch error: $default not found !
    Check the existing of this file!

    "; if (!isset($dcfg)) return "

    AjaxSearch error: default configuration array not defined in $default!
    Check the content of this file!

    "; - $ucfg = parseUserConfig($_POST['ucfg']); + $config = parseUserConfig((strip_tags($_POST['ucfg']))); // Load the custom functions of the custom configuration file if needed - if ($ucfg['config']) { - $config = $ucfg['config']; - $lconfig = (substr($config, 0, 5) != "@FILE") ? AS_PATH . "configs/$config.config.php" : $modx->config['base_path'] . trim(substr($config, 5)); + if ($config) { + $lconfig = (substr($config, 0, 6) != "@FILE:") ? AS_PATH . "configs/$config.config.php" : $modx->config['base_path'] . trim(substr($config, 6, strlen($config)-6)); if (file_exists($lconfig)) include $lconfig; else return "

    AjaxSearch error: " . $lconfig . " not found !
    Check your config parameter or your config file name!

    "; } + if ($dcfg['version'] != AS_VERSION) return "

    AjaxSearch error: Version number mismatch. Check the content of the default configuration file!

    "; $as = new AjaxSearch(); $output = $as->run($tstart, $dcfg); } echo $output; } -/*! -* parseUserConfig : parse the non default configuration from string -*/ -function parseUserConfig($strUcfg) { - $ucfg = array(); - $pattern = '/&([^=]*)=`([^`]*)`/'; - preg_match_all($pattern, $strUcfg, $out); - foreach ($out[1] as $key => $values) $ucfg[$out[1][$key]] = $out[2][$key]; - return $ucfg; -} + ?> \ No newline at end of file diff --git a/assets/snippets/ajaxSearch/ajaxSearch_readme.txt b/assets/snippets/ajaxSearch/ajaxSearch_readme.txt old mode 100644 new mode 100755 index f3cec1ac24..4800e60e4d --- a/assets/snippets/ajaxSearch/ajaxSearch_readme.txt +++ b/assets/snippets/ajaxSearch/ajaxSearch_readme.txt @@ -1,5 +1,5 @@ -AjaxSearch Readme version 1.9.0 +AjaxSearch Readme version 1.9.2 --------------------------------------------------------------- :: Snippet: AjaxSearch @@ -8,7 +8,7 @@ AjaxSearch Readme version 1.9.0 Ajax-driven & Flexible Search form Version: - 1.9.0 - 18/05/2010 + 1.9.2 - 05/12/2010 Created by: Coroico - (coroico@wangba.fr) @@ -45,6 +45,11 @@ Many fixes/additions were contributed by mikkelwe/identity/Perrine ---------------------------------------------------------------- :: Changelog: for more details see www.modx.wangba.fr ---------------------------------------------------------------- + 05-december-10 (1.9.2) + -- Bug fixing + 30-august-10 (1.9.2) + -- Bug fixing + 18-may-10 (1.9.0) -- Completely refactored - MVC model implemented -- Defines categories and display of group of results @@ -52,7 +57,7 @@ Many fixes/additions were contributed by mikkelwe/identity/Perrine -- parents (in / not in), documents (in / not in) -- Custom output -- Filtering search results by tv name - -- fFilter features (allow to set up specific search forms) + -- Filter features (allow to set up specific search forms) -- Bug fixing 20-october-09 (1.8.4) @@ -187,7 +192,7 @@ The simplest snippet call is [!Ajaxsearch!] without any parameters. ---- &config [config_name | "default"] (optional) Load a custom configuration - config_name - Other config installed in the configs folder or in any folder within the MODx base path via @FILE + config_name - Other config installed in the configs folder or in any folder within the MODx base path via @FILE: Configuration files are named in the form: .config.php To limit the number of javascript variables, the default parameters are stored in the default.config.inc.php file. diff --git a/assets/snippets/ajaxSearch/ajaxSearch_version_190.txt b/assets/snippets/ajaxSearch/ajaxSearch_version_192.txt old mode 100644 new mode 100755 similarity index 91% rename from assets/snippets/ajaxSearch/ajaxSearch_version_190.txt rename to assets/snippets/ajaxSearch/ajaxSearch_version_192.txt index 393a4fbc6e..e76f39863a --- a/assets/snippets/ajaxSearch/ajaxSearch_version_190.txt +++ b/assets/snippets/ajaxSearch/ajaxSearch_version_192.txt @@ -1,11 +1,47 @@ - AjaxSearch - version 1.9.0 + AjaxSearch - version 1.9.2 Coroico - http://www.modx.wangba.fr - 18th of May 2010 + 05th of December 2010 + +The release 1.9.2 provide the correction of the following issues: + +==== AJAXSEARCH-75 : exactphrase doesn't work when the value is passed thru snippet call +See http://modxcms.com/forums/index.php/topic,55236.0.html + + +==== AJAXSEARCH-76 : TV names not protected in sql request +See http://modxcms.com/forums/index.php/topic,56696.msg330844.html#msg330844l + + +==== AJAXSEARCH-77 : where clause for search terms restriction when the searchstring is empty + + +==== AJAXSEARCH-78 : failed searched never logged +See http://modxcms.com/forums/index.php/topic,53897.msg331714.html#msg331714 + + +==== AJAXSEARCH-79 : tag list now interpreted as tv input list + + +==== AJAXSEARCH-80 : Incorrect strip function for MODx tags +See http://modxcms.com/forums/index.php/topic,57332.msg331855.html#msg331855 + + +==== AJAXSEARCH-81 : orderBy issue when orderBy field not in sc.content table + + +==== AJAXSEARCH-82 : can't define configuration file name with "@FILE:" prefix + + +No new features are provided with this release. + +===================================================================================== Previous versions : + - 1.9.1 delivered the 30th of August 2010 + - 1.9.0 delivered the 18th of May 2010 (provided with MODx 1.0.4) - 1.8.5 delivered the 20th of March 2010 (provided with MODx 1.0.3) - 1.8.4 delivered the 20th of October 2009 (provided with MODx1.0.1) - 1.8.3a delivered the 12th of July 2009 (provided with MODx1.0.0) @@ -78,7 +114,7 @@ Previous versions : ==== Use Google Analytics to track AjaxSearch AjaxSearch forms could now use $_POST or $_GET - with $_GET, the query parameter in the URL after you search allow you to track the site + with $_GET, the query parameter in the URL after you search allow you to track the site search with Google Analytics. To do this, simply replace method="post" by method="get" in the input template used by your ajaxSearch calls. @@ -108,9 +144,9 @@ Previous versions : &withTvs=`-` - all tvs of the site are added &withTvs=`-:tv1,tv2,tv3` - all tvs of the site except tv1, tv2, Tv3 are added - &withTvs=`` - no tv added - - If &whereSearch contains 'tv' then a tv_value field which contain the concatened + &withTvs=`` - no tv added + + If &whereSearch contains 'tv' then a tv_value field which contain the concatened values of all tv of the document is added So the tv added could be used for filtering with the filter parameter (see &filter) @@ -447,7 +483,7 @@ Previous versions : ==== Documentation folder - in the documentation folder, the cheatSheet ajaxSearch190.pdf give a quick + in the documentation folder, the cheatSheet ajaxSearch192.pdf give a quick overview of AjaxSearch parameters. Thanks to Goldsky for this contribution. The someCssExamples folder give the search.css file used on the demo site to @@ -457,12 +493,6 @@ Previous versions : site. The someTemplatesExamples folder provide some templates used on the demo site. - - -========================= ISSUES CORRECTED (since 1.8.5) ======================= -==== AJAXSEARCH-61 : Getting no results from search on private pages even when logged in as a web user with access to those pages -http://svn.modxcms.com/jira/browse/AJAXSEARCH-61 -==== AJAXSEARCH-62 : mb_internal_encoding("UTF-8") missing -http://svn.modxcms.com/jira/browse/AJAXSEARCH-62 \ No newline at end of file + diff --git a/assets/snippets/ajaxSearch/classes/ajaxSearch.class.inc.php b/assets/snippets/ajaxSearch/classes/ajaxSearch.class.inc.php old mode 100644 new mode 100755 index e81f613e44..94b0e3103f --- a/assets/snippets/ajaxSearch/classes/ajaxSearch.class.inc.php +++ b/assets/snippets/ajaxSearch/classes/ajaxSearch.class.inc.php @@ -5,8 +5,8 @@ * @package AjaxSearch * * @author Coroico - www.modx.wangba.fr -* @version 1.9.0 -* @date 18/05/2010 +* @version 1.9.2 +* @date 05/12/2010 * * Purpose: * The AjaxSearch class contains all functions and data used to manage AjaxSearch @@ -120,13 +120,13 @@ function run($tstart, $dcfg, $cfg = null) { if (!function_exists('stripTags')) { function stripTags($text) { - $modRegExArray[] = '~\[\[(.*?)\]\]~'; - $modRegExArray[] = '~\[!(.*?)!\]~'; - $modRegExArray[] = '!\[\~(.*?)\~\]!is'; - $modRegExArray[] = '~\[\((.*?)\)\]~'; - $modRegExArray[] = '~{{(.*?)}}~'; - $modRegExArray[] = '~\[\*(.*?)\*\]~'; - $modRegExArray[] = '~\[\+(.*?)\+\]~'; + $modRegExArray[] = '~\[\[(.*?)\]\]~s'; + $modRegExArray[] = '~\[\!(.*?)\!\]~s'; + $modRegExArray[] = '#\[\~(.*?)\~\]#s'; + $modRegExArray[] = '~\[\((.*?)\)\]~s'; + $modRegExArray[] = '~{{(.*?)}}~s'; + $modRegExArray[] = '~\[\*(.*?)\*\]~s'; + $modRegExArray[] = '~\[\+(.*?)\+\]~s'; foreach ($modRegExArray as $mReg) $text = preg_replace($mReg, '', $text); return $text; diff --git a/assets/snippets/ajaxSearch/classes/ajaxSearchConfig.class.inc.php b/assets/snippets/ajaxSearch/classes/ajaxSearchConfig.class.inc.php old mode 100644 new mode 100755 index b11abb0da6..2da168f570 --- a/assets/snippets/ajaxSearch/classes/ajaxSearchConfig.class.inc.php +++ b/assets/snippets/ajaxSearch/classes/ajaxSearchConfig.class.inc.php @@ -5,8 +5,8 @@ * @package AjaxSearchConfig * * @author Coroico - www.modx.wangba.fr -* @version 1.9.0 -* @date 18/05/2010 +* @version 1.9.2 +* @date 05/12/2010 * * Purpose: * The AjaxSearchConfig class contains all functions and data used to manage configuration context @@ -56,7 +56,7 @@ function initConfig(&$msgErr) { $this->isAjax = true; - $this->ucfg = $this->parseUserConfig($_POST['ucfg']); + $this->ucfg = $this->parseUserConfig(strip_tags($_POST['ucfg'])); $this->bcfg = array_merge($this->dcfg, (array)$this->ucfg); @@ -163,7 +163,7 @@ function addConfigFromCateg($site, $categ, $ctg) { function getUserConfig() { $ucfg = array(); foreach ($this->cfg as $key => $value) { - if ($key != 'advSearch' && $key != 'subSearch' && $value != $this->dcfg[$key]) $ucfg[$key] = $this->cfg[$key]; + if ($key != 'subSearch' && $value != $this->dcfg[$key]) $ucfg[$key] = $this->cfg[$key]; } return $ucfg; } diff --git a/assets/snippets/ajaxSearch/classes/ajaxSearchCtrl.class.inc.php b/assets/snippets/ajaxSearch/classes/ajaxSearchCtrl.class.inc.php old mode 100644 new mode 100755 index 626b518d4b..0f97ffc081 --- a/assets/snippets/ajaxSearch/classes/ajaxSearchCtrl.class.inc.php +++ b/assets/snippets/ajaxSearch/classes/ajaxSearchCtrl.class.inc.php @@ -5,8 +5,8 @@ * @package AjaxSearchCtrl * * @author Coroico - www.modx.wangba.fr -* @version 1.9.0 -* @date 18/05/2010 +* @version 1.9.2 +* @date 05/12/2010 * * Purpose: * The AjaxSearchCtrl class contains the logic and synchronisation between model and views @@ -66,7 +66,10 @@ function run() { $this->setforThisAs(); $this->getEvents(); // get $_POST and _GET variables $valid = $this->asInput->display($msg); - if ($valid) $this->asResults->getSearchResults($msg); + if ($valid) { + $valid2 = $this->asResults->getSearchResults($msg); + if (!$valid2) return $msg; + } $this->asOutput->setAjaxSearchHeader(); if (!$this->pagination) $output = $this->asOutput->display($valid, $msg); else $output = $this->asOutput->paginate($valid, $msg); @@ -81,8 +84,8 @@ function setforThisAs() { $id = ''; if (isset($_POST['asid']) || isset($_GET['asid'])) { - if (isset($_POST['asid'])) $id = $_POST['asid']; - else $id = urldecode($_GET['asid']); + if (isset($_POST['asid'])) $id = strip_tags($_POST['asid']); + else $id = strip_tags(urldecode($_GET['asid'])); } $this->forThisAs = ($this->asCfg->cfg['asId'] != $id) ? false : true; } @@ -95,13 +98,19 @@ function getEvents() { if (isset($_POST['subsearch'])) { $ssc = isset($_POST['ssc']) ? ':' : ','; - if (is_array($_POST['subsearch'])) $this->subSearch = implode($ssc,$_POST['subsearch']); - else $this->subSearch = $_POST['subsearch']; + if (is_array($_POST['subsearch'])) { + foreach($_POST['subsearch'] as $key => $value) $_POST['subsearch'][$key] = strip_tags($value); + $this->subSearch = implode($ssc,$_POST['subsearch']); + } + else $this->subSearch = strip_tags($_POST['subsearch']); } else { $ssc = isset($_GET['ssc']) ? ':' : ','; - if (is_array($_GET['subsearch'])) $this->subSearch = implode($ssc,$_GET['subsearch']); - else $this->subSearch = $_GET['subsearch']; + if (is_array($_GET['subsearch'])) { + foreach($_GET['subsearch'] as $key => $value) $_GET['subsearch'][$key] = strip_tags($value); + $this->subSearch = implode($ssc,$_GET['subsearch']); + } + else $this->subSearch = strip_tags($_GET['subsearch']); } } if ($this->dbg) $this->asUtil->dbgRecord($this->subSearch , "getEvents - subsearch"); @@ -109,7 +118,7 @@ function getEvents() { $asfConfig = 'asfConfig'; if ((isset($_POST['asf']) || isset($_GET['asf'])) && function_exists($asfConfig)) { - $this->asf = isset($_POST['asf']) ? $_POST['asf'] : urldecode($_GET['asf']); + $this->asf = isset($_POST['asf']) ? strip_tags($_POST['asf']) : strip_tags(urldecode($_GET['asf'])); $this->fClause = $asfConfig($this->asf, $this->fParams); if ($this->dbg) $this->asUtil->dbgRecord($this->fParams , "getEvents - fParams"); if ($this->dbg) $this->asUtil->dbgRecord($this->fClause , "getEvents - fClause"); @@ -117,10 +126,10 @@ function getEvents() { else $this->asf = ''; if ($this->dbg) $this->asUtil->dbgRecord($this->asf , "getEvents - asf"); - $this->offset = (isset($_GET['aso'])) ? urldecode($_GET['aso']) : '0,0'; + $this->offset = (isset($_GET['aso'])) ? strip_tags(urldecode($_GET['aso'])) : '0,0'; if ($this->dbg) $this->asUtil->dbgRecord($this->offset , "getEvents - offset"); - $this->pagination = (isset($_POST['pgn'])) ? $_POST['pgn'] : ''; + $this->pagination = (isset($_POST['pgn'])) ? strip_tags($_POST['pgn']) : ''; if ($this->dbg) $this->asUtil->dbgRecord($this->pagination , "getEvents - pgn"); } function getSearchString() { @@ -132,19 +141,25 @@ function getSearchString() { if (isset($_POST['search']) || (isset($_GET['search']) && (!$this->asCfg->cfg['ajaxSearch']))) { if (isset($_POST['search'])) { - $this->searchString = $_POST['search']; - if (is_array($this->searchString)) $this->searchString = implode(' ', array_values($this->searchString)); + if (is_array($_POST['search'])) { + foreach($_POST['search'] as $key => $value) $_POST['search'][$key] = strip_tags($value); + $this->searchString = implode(' ', $_POST['search']); + } + else $this->searchString = strip_tags($_POST['search']); } else { - $this->searchString = urldecode($_GET['search']); + $this->searchString = strip_tags(urldecode($_GET['search'])); } - if (isset($_POST['advsearch'])) $this->advSearch = $_POST['advsearch']; - else if (isset($_GET['advsearch'])) $this->advSearch = urldecode($_GET['advsearch']); + if (isset($_POST['advsearch'])) $this->advSearch = strip_tags($_POST['advsearch']); + else if (isset($_GET['advsearch'])) $this->advSearch = strip_tags(urldecode($_GET['advsearch'])); } } else { if (isset($_POST['search'])) { - $this->searchString = $_POST['search']; - if (is_array($this->searchString)) $this->searchString = implode(' ', array_values($this->searchString)); + if (is_array($_POST['search'])) { + foreach($_POST['search'] as $key => $value) $_POST['search'][$key] = strip_tags($value); + $this->searchString = implode(' ', $_POST['search']); + } + else $this->searchString = strip_tags($_POST['search']); if (($this->asCfg->pgCharset != 'UTF-8') && (ini_get('mbstring.encoding_translation') == '' || strtolower(ini_get('mbstring.http_input')) == 'pass')) { $this->searchString = mb_convert_encoding($this->searchString, $this->asCfg->pgCharset, "UTF-8"); @@ -152,7 +167,7 @@ function getSearchString() { } else { $this->asOutput->setNeedsConvert(false); } - if (isset($_POST['advsearch'])) $this->advSearch = $_POST['advsearch']; + if (isset($_POST['advsearch'])) $this->advSearch = strip_tags($_POST['advsearch']); } } } @@ -165,7 +180,7 @@ function getSearchString() { function getSearchWords($search, $advSearch) { $searchList = array(); if (($advSearch == NOWORDS) || (!$search)) return $searchList; - if ($advSearch == EXACTPHRASE) $searchList[] = " " . $search . " "; + if ($advSearch == EXACTPHRASE) $searchList[] = $search; else $searchList = explode(' ', $search); return $searchList; } diff --git a/assets/snippets/ajaxSearch/classes/ajaxSearchInput.class.inc.php b/assets/snippets/ajaxSearch/classes/ajaxSearchInput.class.inc.php old mode 100644 new mode 100755 index 92985cc24b..41048141ce --- a/assets/snippets/ajaxSearch/classes/ajaxSearchInput.class.inc.php +++ b/assets/snippets/ajaxSearch/classes/ajaxSearchInput.class.inc.php @@ -5,8 +5,8 @@ * @package AjaxSearchInput * * @author Coroico - www.modx.wangba.fr -* @version 1.9.0 -* @date 18/05/2010 +* @version 1.9.2 +* @date 05/12/2010 * * Purpose: * The AjaxSearchInput class contains all functions and data used to manage Input form @@ -62,8 +62,9 @@ function display(&$msgErr) { $msgErr = ''; $this->_checkParams(); $valid = $this->_validSearchString($msgErr); - $this->_displayInputForm($valid, $msgErr); + $this->_displayInputForm($msgErr); $this->_setClearDefaultHeader(); + return $valid; } /* diff --git a/assets/snippets/ajaxSearch/classes/ajaxSearchLog.class.inc.php b/assets/snippets/ajaxSearch/classes/ajaxSearchLog.class.inc.php old mode 100644 new mode 100755 index 6d04ace68a..e907327741 --- a/assets/snippets/ajaxSearch/classes/ajaxSearchLog.class.inc.php +++ b/assets/snippets/ajaxSearch/classes/ajaxSearchLog.class.inc.php @@ -5,8 +5,8 @@ * @package AjaxSearchLog * * @author Coroico - www.modx.wangba.fr -* @version 1.9.0 -* @date 18/05/2010 +* @version 1.9.2 +* @date 05/12/2010 * * Purpose: * The AjaxSearchLog class contains all functions used to Log AjaxSearch requests @@ -153,8 +153,8 @@ function updateComment($logid, $ascmt) { /* The code below handles comment sent if the $_POST variables are set. Used when the user post comment from the ajaxSearch results window */ if ($_POST['logid'] && $_POST['ascmt']) { - $ascmt = $_POST['ascmt']; - $logid = $_POST['logid']; + $ascmt = strip_tags($_POST['ascmt']); + $logid = intval($_POST['logid']); $safeCmt = (strlen($ascmt) < CMT_MAX_LENGTH) && (substr_count($ascmt, 'http') < CMT_MAX_LINKS); if (($ascmt != '') && ($logid > 0) && $safeCmt) { diff --git a/assets/snippets/ajaxSearch/classes/ajaxSearchOutput.class.inc.php b/assets/snippets/ajaxSearch/classes/ajaxSearchOutput.class.inc.php old mode 100644 new mode 100755 index 7c83cd99ea..1f05d9dd81 --- a/assets/snippets/ajaxSearch/classes/ajaxSearchOutput.class.inc.php +++ b/assets/snippets/ajaxSearch/classes/ajaxSearchOutput.class.inc.php @@ -5,14 +5,12 @@ * @package AjaxSearchOutput * * @author Coroico - www.modx.wangba.fr -* @version 1.9.0 -* @date 18/05/20100 +* @version 1.9.2 +* @date 05/12/2010 * * Purpose: * The AjaxSearchOutput class contains all functions and data used to display output * -* Version: 1.9 - Coroico (coroico@wangba.fr) -* */ define('HIGHLIGHT_CLASS', 'ajaxSearch_highlight'); @@ -144,6 +142,8 @@ function _displayResults($validSearch, &$msgErr, &$nbResultsInfos) { $nbFoundResults = 0; $nbDisplayedResults = 0; $logIds = array(); + $asCall = $this->_getAsCall($this->asCfg->setAsCall($this->asCfg->getUserConfig())); + $select = $this->asResults->_asRequest->asSelect; if ($this->asCfg->cfg['showResults']) { if ($validSearch) { if (!$this->asCfg->isAjax) $this->_setOffset(); @@ -173,7 +173,7 @@ function _displayResults($validSearch, &$msgErr, &$nbResultsInfos) { $listGrpResults .= $this->_displayGrpResult($ig, $site, $subsite, $display, $nbrs, $searchResults, $offset, $nbMax); - $lid = $this->_setLogInfos($ig); + $lid = $this->_setSuccessfullSearches($ig); if ($lid) $logIds[] = $lid; } @@ -215,11 +215,13 @@ function _displayResults($validSearch, &$msgErr, &$nbResultsInfos) { $this->varResults['noResults'] = 1; $this->varResults['noResultClass'] = INTROFAILURE_CLASS; $this->varResults['noResultText'] = $this->asCfg->lang['as_resultsIntroFailure']; + $this->_setFailedSearches($asCall,$select); } } else { $this->varResults['noResults'] = 1; $this->varResults['noResultClass'] = INTROFAILURE_CLASS; $this->varResults['noResultText'] = $this->asCfg->lang['as_resultsIntroFailure']; + $this->_setFailedSearches($asCall,$select); } } else { @@ -235,7 +237,7 @@ function _displayResults($validSearch, &$msgErr, &$nbResultsInfos) { unset($this->chkResults); // UTF-8 conversion is required if mysql character set is different of 'utf8' - if ($this->_needsConvert) $outputResults = mb_convert_encoding($outputResults,"UTF-8",$this->pgCharset); + if ($this->_needsConvert) $outputResults = mb_convert_encoding($outputResults,"UTF-8",$this->asCfg->pgCharset); $this->logIds = $logIds; } @@ -257,7 +259,7 @@ function _displayGrpResult($ig, $site, $subsite, $display, $nbrs, $searchResults $prefix = ($this->asCfg->cfg['asId']) ? $this->asCfg->cfg['asId'] . "_" : ''; $this->varGrpResult['grpResultId'] = $prefix . 'grpResult_' . $this->_getCleanCssId($subsite); - $listResults = $this->_displayListResults($site, $subsite, $display, $nbrs, $searchResults, $found); + $listResults = $this->_displayListResults($site, $subsite, $display, $nbrs, $searchResults, $found, $offset); $this->varGrpResult['listResults'] = ASPHX; $this->varGrpResult['footerGrpResult'] = $this->_displayFooterGrpResult($ig, $nbrs, $offset, $nbMax); @@ -296,7 +298,7 @@ function _displayHeaderGrpResult($site, $subsite, $display, $nbrs, $searchResult /* * Display the list of results */ - function _displayListResults($site, $subsite, $display, $nbrs, $searchResults, & $found) { + function _displayListResults($site, $subsite, $display, $nbrs, $searchResults, & $found, $offset) { $nb = count($searchResults); $listResults = ''; @@ -311,7 +313,7 @@ function _displayListResults($site, $subsite, $display, $nbrs, $searchResults, & $this->_setResultBreadcrumbs($searchResults[$i]); - $this->_setResultNumber($this->offset + $i + 1); + $this->_setResultNumber($offset + $i + 1); $this->chkResult->AddVar("as", $this->varResult); @@ -488,28 +490,29 @@ function _getCleanCssId($name) { * Get the parameters to set up an URL */ function _getParamsUrl() { + global $modx; + $firstarg = $modx->config['friendly_urls'] ? '?' : '&'; + $url = ''; + + if ($this->asCfg->cfg['asId']) $url = $firstarg . 'asid=' . urlencode($this->asCfg->cfg['asId']); if ($this->asCtrl->searchString) { - $searchStringUrl = '&search=' . urlencode($this->asCtrl->searchString); - $advSearchUrl = '&advsearch=' . urlencode($this->asCtrl->advSearch); + if ($url) $url .= '&search=' . urlencode($this->asCtrl->searchString) . '&advsearch=' . urlencode($this->asCtrl->advSearch); + else $url = $firstarg . 'search=' . urlencode($this->asCtrl->searchString) . '&advsearch=' . urlencode($this->asCtrl->advSearch); } - else { - $searchStringUrl = ''; - $advSearchUrl = ''; + if ($this->asCtrl->subSearch) { + if ($url) $url .= '&subsearch=' . urlencode($this->asCtrl->subSearch); + else $url = $firstarg . 'subsearch=' . urlencode($this->asCtrl->subSearch); } - $asIdUrl = ($this->asCfg->cfg['asId']) ? '&asid=' . urlencode($this->asCfg->cfg['asId']) : ''; - $subSearchUrl = ($this->asCtrl->subSearch) ? '&subsearch=' . urlencode($this->asCtrl->subSearch) : ''; if ($this->asCtrl->asf) { - $asfUrl = '&asf=' . urlencode($this->asCtrl->asf); + if ($url) $url .= '&asf=' . urlencode($this->asCtrl->asf); + else $url = $firstarg . 'asf=' . urlencode($this->asCtrl->asf); foreach($this->asCtrl->fParams as $key =>$value) { - $asfUrl .= '&' . $key . '=' . urlencode($value); + $url .= '&' . $key . '=' . urlencode($value); } } - else $asfUrl = ''; - $url = $asIdUrl . $searchStringUrl . $advSearchUrl . $subSearchUrl . $asfUrl; return $url; } - /* * Initialize common chunks variables */ @@ -588,21 +591,34 @@ function _initDisplayVariables() { $this->_initBreadcrumbs(); } /* - * Set log infos into DB + * Set log infos into DB for failed searches */ - function _setLogInfos($ig) { + function _setFailedSearches($asCall = '', $select = '') { $logid = ''; - if ($this->log) { + if ($this->log >= 1 ) { $logInfo = array(); - - if (($this->log == 2) || ($nbrs == 0)) { - $logInfo['searchString'] = $this->asCtrl->searchString; - $logInfo['nbResults'] = $this->asResults->groupResults[$ig]['length']; - $logInfo['results'] = $this->asResults->groupResults[$ig]['found']; - $logInfo['asCall'] = $this->_getAsCall($this->asResults->groupResults[$ig]['ucfg']); - $logInfo['asSelect'] = mysql_real_escape_string($this->asResults->groupResults[$ig]['select']); - $logid = $this->asLog->setLogRecord($logInfo); - } + $logInfo['searchString'] = $this->asCtrl->searchString; + $logInfo['nbResults'] = 0; + $logInfo['results'] = ''; + $logInfo['asCall'] = $asCall; + $logInfo['asSelect'] = mysql_real_escape_string($select); + $logid = $this->asLog->setLogRecord($logInfo); + } + return $logid; + } + /* + * Set log infos into DB for successfull searches + */ + function _setSuccessfullSearches($ig) { + $logid = ''; + if ($this->log == 2) { + $logInfo = array(); + $logInfo['searchString'] = $this->asCtrl->searchString; + $logInfo['nbResults'] = $this->asResults->groupResults[$ig]['length']; + $logInfo['results'] = $this->asResults->groupResults[$ig]['found']; + $logInfo['asCall'] = $this->_getAsCall($this->asResults->groupResults[$ig]['ucfg']); + $logInfo['asSelect'] = mysql_real_escape_string($this->asResults->groupResults[$ig]['select']); + $logid = $this->asLog->setLogRecord($logInfo); } return $logid; } @@ -963,7 +979,7 @@ function paginate($validSearch, &$msgErr) { $moreOffset = 0; $moreNbMax = $offset + $nbRes; $header = $this->_displayHeaderGrpResult($site, $subsite, $display, $nbrs, $searchResults, $moreOffset, $moreNbMax); - $listResults = $this->_displayListResults($site, $subsite, $display, $nbrs, $searchResults, $found); + $listResults = $this->_displayListResults($site, $subsite, $display, $nbrs, $searchResults, $found, $offset); $footer = $this->_displayFooterGrpResult($ig, $nbrs, $moreOffset, $moreNbMax); $this->asResults->groupResults[$ig]['found'] = implode(' ',$found); @@ -983,7 +999,7 @@ function paginate($validSearch, &$msgErr) { return $outputResults; } /* - * Send back categories + * Send back categories & tags */ function _updateAsfPaginate($ig, & $jsonPairs) { diff --git a/assets/snippets/ajaxSearch/classes/ajaxSearchRequest.class.inc.php b/assets/snippets/ajaxSearch/classes/ajaxSearchRequest.class.inc.php old mode 100644 new mode 100755 index e6fb2d99eb..a6fdf47ca7 --- a/assets/snippets/ajaxSearch/classes/ajaxSearchRequest.class.inc.php +++ b/assets/snippets/ajaxSearch/classes/ajaxSearchRequest.class.inc.php @@ -5,8 +5,8 @@ * @package AjaxSearchRequest * * @author Coroico - www.modx.wangba.fr -* @version 1.9.0 -* @date 18/05/2010 +* @version 1.9.2 +* @date 05/12/2010 * * Purpose: * The AjaxSearchRequest class contains all functions and data used to manage the search SQL Request @@ -307,7 +307,7 @@ function _getFields() { } if (isset($this->scTvs['tvs'])) foreach($this->scTvs['tvs'] as $scTv) { - $f = $scTv['tb_alias'] . '.' . $scTv['displayed'] . ' AS ' . $scTv['name']; + $f = $scTv['tb_alias'] . '.' . $scTv['displayed'] . ' AS `' . $scTv['name'] . '`'; $fields[] = $f; } @@ -318,8 +318,8 @@ function _getFields() { if (isset($this->scTags)) { - $f = 'GROUP_CONCAT( DISTINCT ' . $this->scTags['tb_alias'] . '.' . $this->scTags['displayed']; - $f.= ' SEPARATOR "," ) AS tags'; + $f = 'REPLACE( GROUP_CONCAT( DISTINCT ' . $this->scTags['tb_alias'] . '.' . $this->scTags['displayed']; + $f.= ' SEPARATOR "," ), "||", ",") AS tags'; $fields[] = $f; } @@ -407,7 +407,7 @@ function _getHaving($searchString, $advSearch, $fClause) { } if (isset($this->scTvs['tvs'])) foreach ($this->scTvs['tvs'] as $scTv) { $jpref = $scTv['tb_alias']; - $hvg[] = '(' . $scTv['name'] . $like . ')'; + $hvg[] = '(`' . $scTv['name'] . '`' . $like . ')'; } } else { @@ -419,7 +419,7 @@ function _getHaving($searchString, $advSearch, $fClause) { } if (isset($this->scTvs['tvs'])) foreach ($this->scTvs['tvs'] as $scTv) { $jpref = $scTv['tb_alias']; - $hvg[] = '((' . $scTv['name'] . $like . ') OR (' . $scTv['name'] . ' IS NULL))'; + $hvg[] = '((`' . $scTv['name'] . '`' . $like . ') OR (`' . $scTv['name'] . '` IS NULL))'; } } if (count($hvg) > 0) { @@ -454,8 +454,8 @@ function _getHaving($searchString, $advSearch, $fClause) { function _getOrderBy() { if (isset($this->scCateg)) $orderFields[] = 'category ASC'; if ($this->cfg['order']) { - $order = explode(',', $this->cfg['order']); - foreach ($order as $ord) $orderBy[] = $this->scMain['tb_alias'] . '.' . $ord; + $order = array_map('trim',explode(',', $this->cfg['order'])); + foreach ($order as $ord) $orderBy[] = $ord; $orderFields[] = implode(',', $orderBy); } if (count($orderFields) > 0) $orderByClause = implode(', ', $orderFields); @@ -498,7 +498,14 @@ function _getSubSelect($joined, $searchString, $advSearch) { $whl[] = implode(' AND ', $where); } - $subSelect = 'SELECT DISTINCT ' . $fieldsClause . ' FROM ' . $fromClause; + if (($joined['tb_alias'] != 'tv') && ($searchString)) { + $whl[] = '(' . $this->_getSearchTermsWhere($joined,$searchString,$advSearch). ')'; + $whereClause = '(' . implode(' AND ',$whl). ')'; + $subSelect = 'SELECT DISTINCT ' . $fieldsClause . ' FROM ' . $fromClause . ' WHERE ' . $whereClause; + } + else { + $subSelect = 'SELECT DISTINCT ' . $fieldsClause . ' FROM ' . $fromClause; + } return $subSelect; } function _getFilter($alias, $filter) { @@ -536,6 +543,27 @@ function _getSubFilter($alias, $filter) { if ($where != '') $where = '(' . $where . ')'; return $where; } + function _getSearchTermsWhere($joined,$searchString,$advSearch){ + + $like = $this->_getWhereForm($advSearch); + $whereOper = $this->_getWhereOper($advSearch); + $type = ($advSearch == 'allwords') ? 'oneword' : $advSearch; + $whereStringOper = $this->_getWhereStringOper($type); + + if (isset($joined['searchable'])) + foreach($joined['searchable'] as $searchable) $whsc[] = '(' . $joined['tb_alias'] . '.' . $searchable . $like .')'; + if (count($whsc)) $whereSubClause = implode($whereOper,$whsc); + else $whereSubClause = ''; + + $search = array(); + if ($advSearch == 'exactphrase') $search[] = $searchString; + else $search = explode(' ',$searchString); + + foreach($search as $searchTerm) $where[]= preg_replace('/word/', preg_quote($searchTerm), $whereSubClause); + + $whereClause = implode($whereStringOper,$where); + return $whereClause; + } function _getWhereForm($advSearch) { $whereForm = array('like' => " LIKE '%word%'", 'notlike' => " NOT LIKE '%word%'", 'regexp' => " REGEXP '[[:<:]]word[[:>:]]'"); if ($advSearch == NOWORDS) return $whereForm['notlike']; @@ -552,9 +580,6 @@ function _getWhereStringOper($advSearch) { if ($advSearch == NOWORDS || $advSearch == ALLWORDS) return $whereStringOper['and']; else return $whereStringOper['or']; } - /* - * Get search terms from the input search string - */ function _getSearchTerms($searchString, $advSearch) { $search = array(); if ($advSearch == EXACTPHRASE) $search[] = $searchString; @@ -617,10 +642,10 @@ function _getTvSubSelect($tvs_array,$name,$abrev,$mode) { 'tb_alias' => 'n'.$abrev, 'main' => 'id', 'join' => 'contentid', - 'displayed' => 'value', - 'searchable' => 'value', - 'sql' => $subselect, - 'name' => $name + 'displayed' => 'value', + 'searchable' => 'value', + 'sql' => $subselect, + 'name' => $name ); } return $scTvs; diff --git a/assets/snippets/ajaxSearch/classes/ajaxSearchResults.class.inc.php b/assets/snippets/ajaxSearch/classes/ajaxSearchResults.class.inc.php old mode 100644 new mode 100755 index 5c873c82e1..bba8304d31 --- a/assets/snippets/ajaxSearch/classes/ajaxSearchResults.class.inc.php +++ b/assets/snippets/ajaxSearch/classes/ajaxSearchResults.class.inc.php @@ -5,8 +5,8 @@ * @package AjaxSearchResults * * @author Coroico - www.modx.wangba.fr -* @version 1.9.0 -* @date 18/05/2010 +* @version 1.9.2 +* @date 05/10/2010 * * Purpose: * The AjaxSearchResults class contains all functions and data used to manage Results @@ -124,7 +124,7 @@ function _getSiteList(&$msgErr) { return true; } /* - * Get the list of subsites from $_POST['subsearch'] and $_GET['subsearch'] + * Get the list of subsites from subsearch parameter */ function _getSubsiteList($site, &$msgErr) { $subsiteList = array(); @@ -524,15 +524,16 @@ function _getExtract($text, $searchString, $advSearch, $highlightClass, &$nbExtr $extractLength = $this->asCfg->cfg['extractLength']; $extractLength2 = $extractLength / 2; $searchList = $this->asCtrl->getSearchWords($searchString, $advSearch); - foreach ($searchList as $searchTerm) { $rank++; $wordLength = $mbStrlen($searchTerm); $wordLength2 = $wordLength / 2; // $pattern = '/' . preg_quote($searchTerm, '/') . $lookAhead . '/' . $pcreModifier; - $pattern = '/' . preg_quote($searchTerm, '/') . '/' . $pcreModifier; + if ($advSearch == EXACTPHRASE) $pattern = '/\b' . preg_quote($searchTerm, '/') . '\b/' . $pcreModifier; + else $pattern = '/' . preg_quote($searchTerm, '/') . '/' . $pcreModifier; $matches = array(); $nbr = preg_match_all($pattern, $text, $matches, PREG_OFFSET_CAPTURE); + for($i=0;$i<$nbr && $i<$this->extractNb;$i++) { $wordLeft = $mbStrlen(substr($text,0,$matches[0][$i][1])); $wordRight = $wordLeft + $wordLength - 1; @@ -591,7 +592,8 @@ function _getExtract($text, $searchString, $advSearch, $highlightClass, &$nbExtr if ($this->asCfg->cfg['highlightResult']) { $rank = $extracts[$i]['rank']; $searchTerm = $searchList[$rank - 1]; - $pattern = '/' . preg_quote($searchTerm, '/') . '/' . $pcreModifier; + if ($advSearch == EXACTPHRASE) $pattern = '/\b' . preg_quote($searchTerm, '/') . '\b/' . $pcreModifier; + else $pattern = '/' . preg_quote($searchTerm, '/') . '/' . $pcreModifier; $subject = '\0'; $extract = preg_replace($pattern, $subject, $extract); } @@ -871,18 +873,19 @@ function _doFilterTags($results, $searchString, $advSearch) { if ($searchString !== '') { if (($this->asCfg->dbCharset == 'utf8') && ($this->asCfg->cfg['mbstring'])) { $text = $this->_html_entity_decode($text, ENT_QUOTES, 'UTF-8'); - $mbStrpos = 'mb_stripos'; - mb_internal_encoding('UTF-8'); } else { $text = html_entity_decode($text, ENT_QUOTES); - $mbStrpos = 'stripos'; } $searchList = $this->asCtrl->getSearchWords($searchString, $advSearch); + $pcreModifier = $this->asCfg->pcreModifier; foreach ($searchList as $searchTerm) { - $found = $mbStrpos($text, $searchTerm); - if ($found !== false) break; + if ($advSearch == EXACTPHRASE) $pattern = '/\b' . preg_quote($searchTerm, '/') . '\b/' . $pcreModifier; + else $pattern = '/' . preg_quote($searchTerm, '/') . '/' . $pcreModifier; + $matches = array(); + $found = preg_match($pattern, $text, $matches, PREG_OFFSET_CAPTURE); + if ($found) break; } } } @@ -956,7 +959,7 @@ function defaultStripOutput($text) { $text = $this->stripJscripts($text); - $text = $this->stripHTML($text); + $text = $this->stripHtml($text); } return $text; } @@ -973,13 +976,13 @@ function stripLineBreaking($text) { */ function stripTags($text) { - $modRegExArray[] = '~\[\[(.*?)\]\]~'; - $modRegExArray[] = '~\[!(.*?)!\]~'; - $modRegExArray[] = '!\[\~(.*?)\~\]!is'; - $modRegExArray[] = '~\[\((.*?)\)\]~'; - $modRegExArray[] = '~{{(.*?)}}~'; - $modRegExArray[] = '~\[\*(.*?)\*\]~'; - $modRegExArray[] = '~\[\+(.*?)\+\]~'; + $modRegExArray[] = '~\[\[(.*?)\]\]~s'; + $modRegExArray[] = '~\[\!(.*?)\!\]~s'; + $modRegExArray[] = '#\[\~(.*?)\~\]#s'; + $modRegExArray[] = '~\[\((.*?)\)\]~s'; + $modRegExArray[] = '~{{(.*?)}}~s'; + $modRegExArray[] = '~\[\*(.*?)\*\]~s'; + $modRegExArray[] = '~\[\+(.*?)\+\]~s'; foreach ($modRegExArray as $mReg) $text = preg_replace($mReg, '', $text); return $text; diff --git a/assets/snippets/ajaxSearch/classes/ajaxSearchUtil.class.inc.php b/assets/snippets/ajaxSearch/classes/ajaxSearchUtil.class.inc.php old mode 100644 new mode 100755 index a59a068b35..58133dd104 --- a/assets/snippets/ajaxSearch/classes/ajaxSearchUtil.class.inc.php +++ b/assets/snippets/ajaxSearch/classes/ajaxSearchUtil.class.inc.php @@ -5,8 +5,8 @@ * @package AjaxSearchUtil * * @author Coroico - www.modx.wangba.fr -* @version 1.9.0 -* @date 18/05/2010 +* @version 1.9.2 +* @date 05/12/2010 * * Purpose: * The AjaxSearchUtil class contains some util methods @@ -87,11 +87,8 @@ function dbgRecord() { * @return string Returns the elapsed time */ function getElapsedTime($start=0) { - - $mtime= microtime(); - $mtime= explode(" ", $mtime); - $mtime= $mtime[1] + $mtime[0]; - $tend= $mtime; + list($usec, $sec)= explode(' ', microtime()); + $tend= (float) $usec + (float) $sec; if ($start) $eTime= ($tend - $start); else $eTime= ($tend - $this->tstart); $etime = sprintf("%.4fs",$eTime); diff --git a/assets/snippets/ajaxSearch/configs/default.config.php b/assets/snippets/ajaxSearch/configs/default.config.php old mode 100644 new mode 100755 index 2f2361f96b..43d417b522 --- a/assets/snippets/ajaxSearch/configs/default.config.php +++ b/assets/snippets/ajaxSearch/configs/default.config.php @@ -3,7 +3,7 @@ // Default configuration file - AjaxSearch 1.9 // Keep care all these values are required -$dcfg['version'] = '1.9.0'; +$dcfg['version'] = '1.9.2'; $dcfg['config'] = ''; $dcfg['debug'] = 0; $dcfg['timeLimit'] = 60; @@ -80,4 +80,4 @@ // For a global parameter initialisation use the following syntax $__param = 'value'; // To overwrite parameter snippet call use $param = 'value'; -?> +?> \ No newline at end of file diff --git a/assets/snippets/ajaxSearch/documentation/AjaxSearch190_v4.pdf b/assets/snippets/ajaxSearch/documentation/AjaxSearch190_v4.pdf deleted file mode 100644 index 9ea0c54a2c5596bffa164e3e6f4b2c8f844dadd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123661 zcma%>Ly#^Etft$iZQHhO+qP}n_Sd#;+qSz;`?PIy{#$c*vzb*=sbu-4-lQHfMNx4& zCVEzAvhk~gB4{>3MnVT;YiM3x23a$E3s*}*_Wvr%4B}R{u4c}J4C1y%u4bZUCJv@% z{QS@^uFhsgcF>+V*M2(9M`KRriYcs5kwlNoBF>!28zjmnR?_8BT}4wK)0e4slL%?= z<~M*A_t4=@$V;<;&7a=cp;G3c4@E(b;(6HGB;f-h>a*pSOPe2!Pb@xqo87?}6oVHH&%`X3LHK0^uc4xhRe7>InKSuqBlW(mB zXw8Yi(elT}BFIxT(_Bw`sg!{Jo+HF+5AkL8+XJhGg{rho2 z5JA_M7n*bJpK)FL@T9&~R=Y~E4t9C|kF$$o^lX>2Y>?7zY4CH{uVfLg@8eo9{8c_1 zuujkCz$S3J_o4RDKK~i@hSK{SKu`_Z>h_i(+RV<{#+MTC^?{L4OA+lpm)nC7vB$^0 z`OyD!dKgexpS{7#%KIUWqK1`qIqA8aar3x2-@n(E)|E+LhK0WTCW2#m9_~hpu9${i z3pE1#DoydR2#Qxxkt>~2Z;8s^5_N~>loAttcDb9YEt2oo{yD?StrS6w&n!AI0{ZVr zmX+^)L4y6vh@$VSRhhTvOd;+uZA{!|@80%IvT{okJ4;2o{2EN5e`h)C-mlttE)4?J z_6jF=0!IV}N3suTw1tQc+Ad3-sKjjb3Bf_f?crJ|(-8jYDL~+-ollapwku)B!D>|s z{Y-_`F55GCE!O*SgnPtMy0fL@QN6dZ}Ctx2#fl)`GLsyyB~9r)jT>g40fqG!}~Pt@K%cn7knG zzuhio^T8`{XpoP0P9lS%<=vRwd> zSj$q#Asc>KIj?3y(1H|cnw=`q=)DV16{`DIL?%B0eeg!@ooN2+4c%qcjDO(6{6;}{ zzUEJ*`J?&yOY?Jokc~nH(PM{s-nA$YO-zJoF>vc%6_5$26ntD?DR!bc70kCNxwxUE zo!47-TMl;<2giI!z^^F0e!e4hP{{iqlWjT|hVR6u>6~5#k5`t<$Jwd6H7|-re-1m0 z?HXXdtNkO6oc%KX{NlgK)WHe(WtHeNOM3r65+&#Sn>BaFqErO5AV0iT?W7FdxqK{Y z%5{^CM?E#}r`F#lQ=O?kNn7%FiYIOtCWnGZvxASNj>0VZwc{8NEE8MS#%gV|ui^9Q zeW-Uw@lcLvQlSBGjm^1zD1;q%5qOd?A*v|<`MW}}DC_T?%i_wg%X7pPgjjbyH&NhC zb`}dI^54fv(VI5;!JS)ndhE#@k`3AveMQSEBWvk@vJx^a_svYV|o{*6^X{9{Z8N_W>)c99gXXIz^Uzm0oVFK2s6L-mJ1w$#xf zW=h6?O1IZ*+L>@t4XTLGe?}FpihX@?hq!CaMo$+3ep;p24PZz7K)2VFUaBvgX@4DvYgOEs9V&gR`PjJ{o@sT z>(*#*7eSeZbQ70u;!O3MlC3y+z3FgqHWEn~?91(M3>ajGz#?G)^IU-ej{8BG{A2_0 z5S7s|^hGDd-|^cxPmF_+{B8w13cWiqW^lM~s#yKC%O%I8teiN^hk0D5_Endn!tza4 zEcGl0XuG^^0K8tbzwX-6KiF*HtRH}WW&7Ha?U=&`6K|y2{GGafw-fG=>JL(!AkMAM zBuYN1n;=OdcXml2%M*h(8m*A=2$qf+RN05XRLr(YNUQz=DquT?*Q<=h-eEwC&r86D z762q9=0N`-3j*cCQGkPvaEFv2lXzmpJ|g-On^X&XzYKqBjS6?l(#GMx^w(n(ps_j) zZ%w0>{&F-C%H+r}u7=^`CAlR&V!gqytQ~1v662#JF4 zg$e&>7^U-Rz{Z}CzK?MN;F@QOjK zrrFcnNUVtL823ioe@~pbbA)$}h|Lr}5n=L3A=X$kuoaRSZsnm0SP|jO3F-x%NZ&`gQ2yc308CIN5Phuy#HA(K<5?UBx{>cjENC$kNfF3cmpT9VTX2r6Kt0GOBb z*EkK<7=UVv`Rr2kVu92VgVCx08dV9;Kl}j?{dccdJ?5$mk02?n<>=bPh3EKwv4c-pYwH| z&R%anE{ATiG5sBvZQ`mzy^%)Y^cI?k>=<3YYWS&Hw(GMa)w!SlV#5`icO!ySD0dJ8 z?>#syLgKG_%Q%a)ARi!NvRGNWjZlrH?wk?S{QNeU*vz5m&XsYM+!})GD}-xfH&f+ux8))fV231?nUK(eF${(}?Sj6efWbPBLKL zc|e6CUw%btZ!w*$pera}Us*E~s?}aE3m<#WUzZ{9MXZ7(Fl-LSR0l(GeS)*ghj-7q z_eR6PJN>8ZNot`>=5sv`e+>Q6R+&RbXFbfYTjwt4A9!ccY|nCnrSj&(N|?t$Ejjz5GLZ0P%~m=V~M zMlljZNro%-#km&AP1x>qn~!&gxvkPrOS8zELlWC5!s2Qq%|84owFPvLedEA{_|RZ_ z?lAc-qmEk{*D}W?Zm=3e%VF6Pyw$bmn3s>;<(iLQOtR!m#}b1zcJ(BQjw+Uj==R-X zyt29a`Vsy<+EK>Mr5@2#3e$;2#*bmYSF+Isfe;3G(&Qv8Y!&``@-O*}x{2>pK8p}E zUv$Rnwttpu39z?$M3tx>Gqcb7xpA5G1ggU+vp+8H1ztFQCUm><%*gQQ+8$$Bn}Bz@ zYIgi|(HWU2s2@L9gOy!k27z}D)L7i%L|WOr1f}{G@5*``qd|Jwdu%+p(Fg6Gms_;r z!%FdyN}qBfR|=U<>fXTO(g)qZPyJ~7J77KXqy|CV^6a(vv?5lZE?_D+YQ`yD zY%nTQ@f7WtR$NiwhZ(@@Bd#qC2w3l-hR|QA^y^+n{S-0A~0e zD!uUymeyZDOMfh0K zJa-{)^d8U$QP5g(D81&w&$I-sgertgJSD1tGxLW0LI;Ob>akvws>|z6Av{F|%NIv! zK%`t=eCwShRk3w^DmoALlzgqhbU;Y?`DA$sY?otjo-}? z`nI5`yAuCyWi4-Ut>oSXOXCcAa}azITUeb?9C*ie#&Hv6NQL`cK@i;s+Vl6U+NEBy zn0B2rmn^zTjk<3yym%Dz7P~}c?Y~!DH(#3&s=tQ*N1K&zBo32QNc8(*G-t1B5{nb{ ztIT6gGHG#kl?A)_E#TMqgel-ejQ2@!5YEWXd10<%{V%a8XJg(Nwe|wQmwfYfDr>SNLRJF*6!)HAU*!Tmg zC|7m;O1MB7Z9FML$u<~ly5_uMD9zM-NFwfI99hl0fzgzC`DX(u-(;o;kTZ6vK^W8v zSyP(AF8`d37wdfFHC3ajkLVeE(W{%SDSG__BHRL5BNnCZh5-NFm6Oq*GR@s3Iu~h9 zD*LsMXj6W4^>xMm9I8q8HxB9=c2bkP_(`1U{>zkY}G;V|8_ZtgRzBV z__#tdV|lHjGhIH}B4P-&f|%^3PqhR7-DXzP&0teuAL05ET z682T#=xdi0BHGdYaW4Ce-8`%{&bP34a^Hb_2eh;q?|jyTs>(vPb}%Z$f;@y5j2P*xBE+X1=`;Q|m!eHBFz+PiCYVzAWFIe3KD^}l@=IrCBE$o){Znz-fn(`I`|!P2Vim5nM0{IRQS2GCELVbtz^dHtbER+NvJ|lv z>iVAY)HTU=ZnM|92HVQ6)`k6#o=!VbkGh%{-hbvP%;2QluetUSMWZ*rNS+L>yzhha zl{hhAwMFWKDy!Z8G3kBDsGZ$3qSy7UV3>Xtk79bzmzca>;)}xNoc5oyxgQG-J$7I- zgE}ma=?t+{V0bhH%b)1Om9h(&N#tY88cPP`xrwMhl%uH;b?Faio_Sw+8A!;x!`pidd-&tT-vt;tJ>6NVD*p*sbqs7eax&RHSDBC{*YNhYjuK+bFaySVD8}w&@gU`Ra~E0$t5OSL>2bh(eZ1H#*CY>F%UIu zPiiqcvXYrU$DJtC>xgL1Jev$;;xiY!m0y)TLVrAWm>B7vK5qi)&oco9y*-GO=z=vo z6loF zhOw}IoM~A7{e@TIGa!tmHu)HY4DR(jc9xYXmHcnK(b|o`Ywf6T9sx#y!#~T0@ln%V z0nDXva!H;0DN?p;i%Mrp+hm~I8*(WuqedW)Zg-U_D~L9=%ciFVeKwEF>8|0J#GH-D zjqytdxobhVSjaTf7#$~;e}VYHnfSdabC~_rxvdnfL8CXNv9(y^+XIhym2}TJ#CuE7 z`oP%3e}b3i>2%bL?*LyvS#fGko+Nr8@3wj-Actdo zBB8!E-XVB3D7RDq_tK=OA{19h9!mywKhSsaTF=r~vlZt-wmMuykMb6P+*(hH9uKi; zTVgvJ4O4^!{P2zTCW=ES+lL*SG>J0A)Q{Xx9f%!z#-NKB*i?McU^1$jwa4tWDxDvZ ztaJDjr}#j6lT%-C^tfOf{RVyXRsIAQrD8H}vQ;}}wNVG{t#cV&am}dHeffR~{Nzqb z{d9nJMWb{pCqbTO=~IE@_A0=`AzHc+^prmQWIH>&pOCb4wB71mg(}K14|Fu< ziKUGl3GKXP=}nseOzdW^{F-{VJB)k1R`UWkWe5UVZSiCepH%>=q63OkqfQ$1M6p(4 zqB%mChIkOcW$+Sn)AqIo(K&SYZ!aYBeIz>AgFoKkXV_Zc@Kok}o2A>9j+5CRm}d^* zKDRDr-TLYb3x;|mfyfeEtx+DhP zwB;rW?#HA(l0Vgi%1D@xs^^g33*{$(rk zXzqJdzhKlSB@gnsu_dECh!q0S?udEwSFq$=b^Gt$n;rpEk~isf5Idj1cF)BGT-7CM z%i43~7q}G)XJfVbg7iZsKDa;U1J-A+q-785!~54pS+$s7B7%X^1C_tA{8+qi{()@+3;d(WkF_4TKQ(12Peql!}c#kWf~^gH+ZIk)$gW_(9qS z-J*`zs&?S{wkRaho=7xKTJXhd=LXH|5n2~vZ~qReCI z2E{=ONZ;j9gRs7xx90)d$uF+sCy1zyV_HnR_`w1Fpi5yeWj*rJX5{&pxb6gP^Vi|4 zu3uc&fTV8Eb>fQc;N$;}3=-A(N!Q^1PhUUJK^2ZiHL<{^_`xXG5j8bdr1Brw5ov|T zYf&Y;uA-kCtaZgRb=~E!OUW8_`1O}Us=cDN1bL0G?W(qfj>mXD6IDdmQANZN?Qya& z4p=S3RjLglHs-~_cc7gIqamxPjZtCU#~Abd!BDod12Z%^FSttD`q}iB4OSzPONLs( zFSlhBG#6AcakDnI8mjjlus60f8mflr=$T=Nspy$=Uzm2#)Ogze_R3dV@=PT&D>A&> zbC|yvH}c=TFIn}y*^is~hlX8E9)G3Ehc4Ga;I3G`ps4fhkYTDI#%_!7Y z?q{QOxH-MrD2I`K%8$0Ri~MmooA$a4Z5%KbO>$F+P(_=f8^ir5eZg%y$=j6oa%Ezza#L zA$C|u2vfBN$tdXj;VvsQk!Nqn7D zM(Mc<45s>Y@9zQ>g(*P7Va|edvUxZ`Sfe_uGXV;n){BlDt7hS&(swqSw`i7!j{rlx zb_Qq83=I5O#|6GYGmyouZEx|TZ-|nBt@i-`8DHPoIWqrWUCaO*Y!yEHq4K??7av5S zIPSd70TWTocQr^TgF6r8Pnh#bw(pY*e9P@j^-ya#E#)xwTRA92-jeuISyOX$&Hu#Q za55*nUMh2a-3W%-AXXW@5rrfTbiGd<85(0A4GGm0RmWsgI;g0h&}7U|vw|cXxwi&V zExFeisA5NPj9`b-y>fyFrfY!Rul7@xY^!CMmel%Pl%Qg&IDxZrADb1dMNB?W68v?_ z0tW%qf22%L!k*rtpmY4*YLC9v-;78*$NCpnvIg)?7tN^exIX8Wb_M?gy60tE)F@l>0Kt;y;O6kP7rB{ebdtdeFg_XZWa zS&_rALVWyW-);FSzA$+w%hktbYZ**Lt~4(%$_D|0cQtzw59%N+3^vf{sIlT>*=D{S}yl?{?v2 zARo+kT)|L@{Rmma2lSn6>t8m$YZ*AJJCy5904)d_PUxvL_Ox23|G`DN4Cy07!eN{S zSEHJOi*9u}G0#~F|00SQw{ZE5?^#Ma`jD90dzfa}X@VsR{kK?Y{G}8YAyp2GDf*eE zYsYC*?*U@0GnkpNt=8X>q0IF3^;XP5)&dTRDglto&gY&{Hj4qJg7Y-9n(A{)|p%pwMlMHDm{np~qDFRq~&IB@HxI7=&AXo0bI_;Lz00T%lwwLq;gt ztX3)dgTZeyB_uHP4$pi!D6cLzS3aJ%JQ-#ezL4v}C1$=kwR0-kS%^M=d(ON#>)D=o zErq+)gD`m!Zf)gTcefr9Sw~3KIruKdiP`^{BsvPU=R43pIR^D=x_BY)n50wSY%HBl zS}+&nmR2~45Ol7N&Hw2kC5GLPKHiRpBVTqaSOD+tb?1q7RrJnmM%S-jiTAv==))Cw zROptMo$=y2-@5+@Y0GgYb~WFdY-nWRTH@jj3!}%W8ZH319vi{mIU+#p0Yh}Udx&|F zN5ME0C?YqpmR>URFr}^G90)(UogoDxH>GY8nw&&}j50gLbYdaNc>DAb+vND6^h@Yk z0^PD3Is}~`k>#{AnjTr&#jp|42m+q44kT8LyHdhw3lov0s-TQEi&`pXh3ZOEBpgD;;;S{mwP8Qfnr7tmq^RUR@Rz@i~!E>Az zvGsv1nhV4^Oola)9yG-yJFpqGnv88M=I6nE&_`=^DN}+cK)Xn#`W~fh5z|esu1q@x zF|=zfZ#buMBrNgF}bl)q)ulc#10d^6qE*>i|7U4IN~9f#7H^DodO8M>;kedz-I!fo$u=d^2!MTmt1 zyLNfkFQtptc7kc(Lv+i%@_Kk@AEPY`&Fx@y?6*2c6vUNsQm0ifIk1Vb!YNzxAOfI1 z|Zn_kGs>n(AIfDc~1 zbHA>0MOLiEcB33RTz*a-GOJw!t1Z}~h6Nx6_9IaxfjXE2!BWP^GIqrVoUz8mB={-9 z(EsWKas8n*!^T?^Hb;!M>1}l7-w)>ck+wupov2SFUN(lnxH@A9@<*v5Hij|%;h?q* zNg%xM@dWP_u+$SCZ{M%1l~1v{o^|%ErD67M-W!HrVsR3A{Rqp-^z zsTx_Kmg8-UlWD2BqAFW*(PfI|Yt#JDU^UAjvsLE5{rO2PEyd5B;sBeBhDC`Z$S$_w zy*Bb%U<0o4y#U>pz)FDi*ps(GL!GT-utJ{nPHML-wk4*zPhgL^4jz2cg!h{QClQ zvyqJv5=@S?v8zV+$Isl@r3swUGf3LxnT&AI!fGxqehLfD6|IqcO|46ob4y4glRa<6 z7^>h>7`w<;hmW&|*oK{li3P~~-f;`O^V>}jEU)!2kIM{7E0ocspEq1F2Q<6t;k}n} zG87g09hTQI!5Pj*0!kz9_c6g}rGSRM^$YcC7u*_Mo0nsTMQ52qhbn-Bt~t|-gCbm)thJM1kAmLoc9=HH6$v{VR78^_Wo_R_RycMRX%>l@gm zs|nrUAx3x|23&bxuLq*M%sS0X<6LE_exRr`uj9lbNk|;?D|RnYEBcqF*x8gQ4;HwN zRIn(PwBsCdMD)LH&I(r}(QuD>;`%y)zRX^*v4Wo9;y%NVU`98IfiV=M-LH>kMuw>= zko6}9$aYpU<vE%D3+@E#|8fl(S{?B&0+;&$D`5EmycqmM6FjAozD z4mbL}E4E~RMlkp@^QWlA5R~@oh^geLs!4{$m?*!AbRO)-eR2K8da7l zYled&n0Ev06_r{_K`g92X5W$nO5NgeUGH|^X2**az0xH|791ucipU&XKc2D1>6{q? zmfWs`tyWFTZlh+Y;^gIO+c)`Pn~X+BZ9lgIXoeyuMl6C)ZVX|i$*V$=Pb?#gY_1SV z&Z2OH$1Mm3qoUGIH26yr=5!|TufS6CPHgkef;uF;Ns=o`!_1Ipd?_PwCV>I8uL~LM zcN9&7)Z=c>#&b@5Br@?btJA#z2lv{Sc34L`=XWj*I)g-(qQ6#QkJ4VQcP_$R5=>w5 z8wC1Lsa5*O?XqArZ6v!QFqCTsv08I%lj&z79%*i4_1H97A{6M^db1Qg2yUkppU|K%rQFO?rTKY9z_OdV<(F zh5i6isaw4OYa3}2#EKcB+x08^{q zPm;_OdbD?AT5VgrfDuJ^G&;*EpR_TwZgBEk$%-8;fd2w-&Ca~r&9SCx%y3VR?b|E( zt4RvVG3HOnBWbIRW2vt`nWiJK_jg6MhyFj+F^cT*HZ7o!u^nlk#}WMF`7`bdWwKpm-R{hBPNpc3^BAWJ!2a|xI!Al z5VY+`c;vhQEZUl3Hgjz-Sl1$xR2wt&XS5o;v=W<`|AZ^*d2g%L%VW4Sibr1DN4XI zd9YY?4fyA7KH*oO^Zgsi%--~WSo?bIr1HMAJs zt=@gK&bG8IeFZ&kcl_pLqjQXB^ZE*c!rc1*?J2B^ovWbz#0vO-MqsR-pFaKG>VJL4 zyciD!{P(>7Y!Bf4etM4S|8W!1sQ!5RFwj@Uxb>^uylLZJE$hPcYx+6RD^;lfy*v1^ zIbH7$xNlx(@E4nBXZI!kYCWOh|3&jtnwp&V725M+Ojpkw+Yb2t61=pwReS%mu<)?* zJKp)`7+USBjCFe5<6UpL6aV~l2&)dqSCf0S)jR+A@#@&9nBw^O$$bR%o8`Q`>F3-1 zeb}4(Q06+k_`D63=v{NGz1iavsF0CM$ogdXjjZpdppQ}dA=O<23*3Cr*k9Sb_5Tk& z?f0ppr=x3Pe?xoE-a{rxMet>eCtM#$@UPEqv&L~aT-}Hs(D}Vx58$!Azos<3ycx4~ zNG&eUBDbyW+o-C=)5EoRRi3%AIc3BurSEdPdD^#fFJJ#J(tA)LJ2~T+iA^ z(_hrk#ZIUFHGiRgtXg_+&ku9p;5Pt$!aFdG+gq4v6t)rKN4_y5U2BM_?m{ zNcDnJL$7KIJK*=<-v#&8xdl;I2HU?}y;X58v)|>gPQvAz zNciMH>lj1ADqwG%A?h>H0gEo1dR1fLg#=^w@D|*IQ*G}^Pl4$21wLMhqr^0Ik0O!kd`2#tv9Cp^;V8Ldcl3?iwJT;ut$&{x;pT$sXnJ zR!D=@YuewSc}IU5Ynt<+z!5r#pUDIT^;6;6^dz&BJxlry6>lH6j2FOPrQjKgi%~D*e0BLtSK*J zE3X3l9_H*pGO*k%J0v>;>~%t2z`%vOS{#mWvk#1`K=%mf#J+S6WZ)^8rd=bsMN|f; z-;v#qF19{7#ipY1rm4y2CvFK~T=|7Ky?*P?= z!*S?^Q!yC>%DSQV+=n#YDq%+f1!Bwa$?$vGa`NxN+b}BCy*hC@ij34n{3@4`piJe) z_oKvdRLJM&0^9WYXS+;v8sN5EvQqfI?45z(gg~glLexvzwe1C^ z;?6eNfV$OWuRA?*!ouZ&Q5fl-%M?en&>@qEfe#BVrXk&)<)F~=1#~Bp16c0~_zF87 zuwR~q1TVN$m6m-ZO@{7`{tIG$y(ZB=>?)lxP27zSa8|D719|-3_zZiV#*8PHwelW^ z9cA_-qe8cqMHI7lreUf2V;p07Do7%k-%Wbt8T|u!Qt*t?b35WRTFyJ6BVi)CaA}?@ zQ^{hyLZU=B{+{YWA%uQ^xRPx>8Q#z?N(o0;eJ?BtkHTbI>{IqKqqMj5H>rFqk^2o0 zTpWVw>;9=NTl8k2I)PSCYJ&7;8Q%QLXnNUb?~sv(#gf_B<(nS$uA2I+7{Ro-x~8cm z^2z?0#3NF`Q74c5P+Xr$UTRgV5nADy3{~C$1(Iw@oevh(!ZT(XA zaYOA_y%wVoGN>7vYM~w^6-e9SI+25l*MVGI8yiNntKAym^P%w|C6^!#NQr(=$K$in zkXlztT2VA!k)SFz9Jj05@yg*=DRb+a-mL>)8>(Np79_FLo4niK4q;rk)8LK?V?ci( zLWLGL+QN?}5~eBdRxh+@cVVyMd4MGPPVBz}a|Z)&bnx;}t4KeI<3P8MgS9p3nLH%iJqV`e!;3FltpHi;J!E!=)qWo5TXT z@KE>#8XtgaBZ^M3_btYpsk^ixSwXBN+CZDZra6XeDju^#M=?;)1DRqpKrjYX3%Cdw zQi9PQtpLNb;Spv@juRo&(=3A&NoXBoMk8@GIu-XqMGZ@#!f(tL0aP|73R3doM|!}I z*_jcOW*o_3!T2v-_uiXR9Wg_P%jyqRH`iT{sPGOM+JBV*wd#v+3j|=4(&OpUaa3@)V#b{V##oyWFIav z&jLDI(3`d~9?+TV^2?q5Ql{`u_@f3Hl?>O%j&>_>3?^cl2kozV~12 zySEL-N)>d@u>0n_7zE5@lITuS!>En_iL|ViT*oJv7Mx*vj`g-gdd}rmwfJ7D zYFV8%eOXrTXW-n(SYu)TxZ{36gryP|LY|<=le?XCEi8nS-a3wtM~EEczgf%~^NzAl zFGKrC2<=$L)ODw_~t&(gktA-H>h_-Qy5aP}^X-B{Als9eW zjBE}i@1C}L7iL0cs%FxutWrTOAC|=Y6-<)bC zDMEvdYz~_~=F~}D8yZ7bLrCqS(%5sDu_ABWhkvkK5)P6;VK)~FVmGdR*-o^yEP=xN zWG^LPC2%FNN>-IXuu%wh;^5|JWtQOPSbsmPa!(bYKPAqxs2sfqLLHGPp7AoCSf^nW z+c{8eZ~F5*A3UUlqAuF25t=U1fZ-409PlFh;xc_C$0r?qw;pIN$b-}a>thYU3GG38 z5cFYp;@Z@?ZW^AZ_hoV22aBEwQi$sp<_ z0b)bQj8|YDjQm!gNF_v`0!-^=gB>fxGTYco_VpLd;pILiaPv82(LCT^dU)ky7**9O zl0@eAl8eD7x15LYjuU(=7#R#HNiRzW4hf=!4ETgnBqdr0*6^SG9Mq0yu}*aYTz`EmK)5UXXvL7=Ii7SU9XrGi(9sOUxH^X@aqdYjeMc)mYlB8n=&Gq z+!LzM@KDMtwHpPnW#~{*ElEK`_i-4pe4}Q9FspGTYdVlXm^f?vLchi2gWiN0AK%_j z=vX`tFPt%m6j?@gdajN5M#}VK^7Ao~fRK5b{WjVWq32PY^>q))=WI~81)E_oXczr< zl*Pj{Lx=v0ywlFz$(HSB+4gZ33amq9=ycpLO`+_mQTrjI0oqg;JHl)gkqI0cxvDA> zIHTev($+4E^$OXMukT5%B=G+9xsp~QZ_CZ_l~GBH2XWk{g=(Q_&*kd#bjxX4LYCGH zr6lnchQLUpI%GJS(2_H(ra<)#m) z*3JyrXfA0Ru-V<9N}hr#XQ{7bT~n#PQAUDKoq2IyES;x%D`wZ)&m^`Z1^%p+!O+hM zvd%0p@~Tv^`|NkS?3*Y~O7`;;F_^Gl(6=aE(*}8e#EnfSXiJ;jFO?{4dptT@UGbBD3p(ouuhtxyT64x20ceVGfdIK%`1+LJo~*c&7phM{#n0^6V)=p(shhO-Nov! zY_ZP?<}zkc3|`{s!^1_KNYR+88o(N<*B2rYlhWm+kf$M=rM$EfhC}qxIAJNm9U%IP zvB%rXt=?3qwCSM;>Mg3Lh*Tt6u&iX_-S5t2KSy*2r!3H5(VJYbi{_vNy8th&CBz`j zA+6WO%;Y4dp&LK8Bt01C{ADf{Et-cCgft*LJb}sw3cCLX+OyHbh~^rtsO`7{8-tP`+p!!Mxsn4*C?OOL+$paLjVHB# zg5|5IuK9dl4mG7^MJz6{92r}=F`r$1dQt5S^Q@}|CI=S&EC@oxg0Jnkw~CF#y$}2l z58ekR0Gc`pLLm!DJ&+p}W;A0-?OpVM=}2Yv!Ho*fGOm&~eXlX1{tzOWAd+mvsa5R6 zH6l+=Viz2>BbGlbq_K)8li0;vVSD#3g=$D;bNPqx(R zUw4#Lp9m7QNMV}Cm(3|%c5aryG=>!b>h@A#r16noa z!d8ecr~v=vra_JJr2R%4$`&Y47AlYus09(ODS5r-s2uk#vB9K`V;t&plF5H-XNm4}6|l8+&CxDTnG$-qD=A zZouc-11h?4I-IJJmDB8C7Hkc(i0( zV1Jy3DD_~PZj54Aw@;8pzKxL{i5QPXmuqt;Ye4Rcmr>33vM2!bu} z;ofg9ys9x=w>4;oGL2L{$wWOnI5Z4pqZ+aeSqUBW)bV@5%JOt&7sV7B=YODN{WAik zJeEh}HGHI!=g15!+0e9fhB{AC+?(S|y!XKQh{K6v!7uNW#vb@I5HUJTycC*^% z;(5yVXh%@A0k)g1EChc+39p$pvG}zT6yvCnr3aZ*rXy$yK`*l=uL=KdPfX4 z_heI7d3OGPU8udrj!Y!7@E!stif>|~+$#@VUvtV^kS?v=s+LxTE>w3mWs2nB_;})y zr&dz3s2{b$Mt+1k>Qj}>X=t$wr$%R+qP}nww=iYCofKY_0_5OJ-3rO%-qF0J(kZ0jC?Hp00dQni& zjRxKFNubSHDG`U7F6AWxf6N|eH9#Gem-gv4mm%k-|13iWizwij#yb;Y?|z`N+PiHG zt1Ijc$}%Eyj8Ko0XlIP!p1XZa`gu!wg1~Y4M1`xL`O{9fad!R`L1$}zuoa7WE zHM^vziOIBMhcfCr{1j8h!Pg*A)?^(B@hik-1 z37G@E-n6LlGpH2uF`S-dwcFjA>a(x`kqkzyjPHH*E~>n^OM~|Bez7HgyGYk#Cey7z z_3y8doo~-eY->?Ewh3BzjgqobCYMg}xAeXu_`6|jxy^&}S+27hkhlYNJnNP;`=W2n ze~UZSW$-EO6tY4KVCI%3;&~OzUxcFQvMMf<%g0%vkxmZ@8UExp;c5u?hLJN1Mq_4C z6QNoH32r1KqhrHV117Ahny77dK-4f|_LW=ncA)CRo6YBK=5u0yM37sSRwOI70MOTI zx#E?~u_R84{Coq%DXmoQlu8lvdQ{&uN8AVxheNb;9$BQ7R5ajx%hvynq~lw4YkG(> zUMUdl7CPo5^yo8nct}`AmMDuc&`rgQpng_N=>)me^!d>Y2!CG*>+BiBRH7py2d3;g zV(i_LH*%fR!8i(YY=#i+)GvdB6!b)fy2?D;& zrdnwg8BGPI?QB#`*ahn?dbA_JKzYaRP_}C=S)AHI&aq$kzR%^j?_#CUm(Y)a{i)ff zyOf2%^*O--JwO$l;-3XaehpygPz=3u_~gJCC9c4_0Hb(@5>ko7K$sL^-yHKAt2*EP z{<^SZwOu6Q_qN#ToNmP)!WbWi&Ax9W(MZ}5HFD({wDtzq+&KImU1dt|_c}mba*Bz6 zQDU~e@j$voVHlm`a0OU9VXJPC^8q+ZSI=yfy;K~Owq9moQjV$l$OS`JUgfQ~E?4qx zWCa$ZN2xK%uk+qLC3RRvvHX1IGK?mt?9wy`6C_313PR7OkOxwaXk*K9*CMiC;UU=!a>jkla& z%xJ9FJ&$sx7|cvyyHu*#pOI+)oP^5`0ECxVYO<=*mP%SIuGqIyL~`pZKpf&qHsBbA z6fc^mQR-_xC8=h8N7tz49(><7d5cty_6?6rKCJS=o~q`^%Q7+_{19s;8gY`Ziqq-a zP85l4MoV*_Dewiz#{OJ_sf&|~`=vqu+t4^Nl$fSbQ%kK>K0LPH8A9VuVrkKEh>Rxh z8?zuh3cXIo+dYLjZY$^Y9$Kc4BX5;*nTF1_kCIZg67oi?b7ZRI{EDru&B@exh16%2 z|DDESlo!*2<+ZeZ@WQup^X2|R2$ppqjMbF9J8QUF%|g7$`qJMui|Xj;m^oqZH&qlS0w(V_gRaXH{xuO4IObVim9;@CuPtAMYAl4?afek9@mBjc!y?Q{ z(=gSvZY=H|nL%>$GFRuqt;!l>FtJ87XbBtuTaHoewS}tHK1MTOUhi*>AmJxRM`y9z zj8*DBAvuFtZ({;qbT;$tWYf$HCFc4R9E8Zz`=v9Gh46q0vBBQ5NsQo&wE_d?xHpI> z8v1BhxcOmKDMG7%t_EkcLnt_U*f4oNPQ%u0sqtKFIOCv5G^aJCYY2Xje0$rItEtdebQWS5A0 zM{s?o8g3I=;S#-&w(qB-1<&*M=%_g6v~u)aY2H;%LYfY^lh zu@bZ&KU1Uj2jc7r0+HcG_~T@Yz!C-P$qLtQJvgCppTk|(n^^LWOPL3N6p)b*{yH}~ z-Rxh*)%pBzFsMhG(gjIXn9Sva^3C#0rXM*)Cv)_KgjxI&Su*vs882!PNw)b+e2>G1 zAMb7!g>AK}S_Cgm?(Z|pg6Yx6n(syDf@u+y+fHPd2I0|)SigI}zp70lbzo^g$!g0* zB19YV(fO*$UZjf)OPi3UnJ4fxFOjZUn8Jbh{l)&Ktkd}12AW;7ak*B}sk@T)STTY- zv7PR^p8{uSa8W~H$+M$k5o6KKm{kH-OGjOUPyBIQ#we1c)37z!*@Lp*oZycLGPO>d zRY~Ier&161V)8UgRJpS~185;m#PrJW{Ob0#^M{G5i$qanX!V&;?Zd!NrBU16B)Y=@ zI^RwlNOh}mTrvJx^>3R(fPT9u#fj%}0YoL`us}&xANLie-q*Mc&s;5=Rt=c>k&T=) zLTr)%O5UseCU#wl404GGnR~36abFi)xic5VxpnKEtxSqq*RY@Z5_en&$E0bDfH*J+ zndMk`=t=&%Jo{Sk2ctuI1_YOQ(9U!sp3KAzGCx$^A|)W-$lDfm6&fSMp2I#Pq&(zx zsA}k3k#bK27q#h&BLh5~I|P%P>0$oFGoLfmVct8%`y8=_dgOi$$~8bO=x58?PQTk2 zi?oqO#ovjxk61e5kYW)EPmgahJcFSA3z?w9Cs-LaNbHlsYyzsTwA^t#=A})yDxBmx z;p6y1-9IXrMIb6-`sIEKr~G(sB|fSg%=x3l4ZT81@~zpw*6E~RV?N8tnTTDa%{|za zv*U#a3iL-B)bY^FFXmS{$;QT@^a(ixbuYScu$SkJFf5I$gga(HDr1{sWGNfY4&YCg zlIIYOiL7it^MXaL7mOY5LI(YEqSdUnWdWI zt*^cfKc@A}1|a0d+yMrEXZ{*7%ji1MJ1f>!O9cvf>#_qiC>`21MAc(CH!Qk;VZ8{* z&R9$3->e2qkmknV&iUtfeLRUKj9VBBM!~9HfxkZn{9>J?2*r)t)89xf$R9n+1v<^k zI2Gs=w=T6+epmdF7CYv6k+dUzB!VrdF7VRSCCjBe#B3!BLcnUZelqJaO>-$-uH={$ zSvixKR|*PxkKVR)4xerqenlBi$*3bf!Ac-m(*{bT zUcM>7QQ!tdUNvXo!L_<0m)Qu_Ks0vuML*_UpI#Z)B;z3zLlnBb;~EZ9C?T z{kZ))z?8nvI2Ex;+4H`RiGS0S(Pd3TS`rl#jgASzuI`IAA@N*_8*GZGOqH)_LW`&> zd4q3BLiq@}ScuNKrGy+@;(IBk>63Rqv7hn;bywz z1eDYtB3j8Y^~|gcy*sCCK<-GtALiE}$cdxV!#AyR1kw;~hU9{5F^u%Zy%AEgZLo?J zS_*}opo+wg4}0(~^ZfOQW5ByOW$r1#r}aJpUA8pnAcH}DS{FDE{~$=SOQ@N8E`eDk zbJ+W0?h89ya=~k4X}l%MQ!zO_*KbQ1{Zi=bz1zu7Dt*AqVqY3LJvC&t^;es53Nxp{cV4v4t&*vdrdiQdM|C#b`LM+_F5?NoQ3Q}27vJbPT&SGOnO)v; z*O`9t`V_siDjvaGIX?&7eAmzf0K&4qy%8)`_I<7FW#6nB8FGTUPoLJ9aJ>+Y$1X_P)lCmsFTNp%_CW2RU@ z#$q9bnRAEwOv02yVvefx0+6{UG2fFAP6*0v<&1_fL*Nd5u#+WB2_MbEnJ3Kw;dyK^ zLC`^0hs@9NEYCi0Ay!P_ za~4+7)l$@~Ezv%lLvz&M2KCh`mL+vFFU>B1%NXauDhv-(^ofX_!8tfLtJfB}yh`0C zF+weE;8(yf#eFsFFFVvds{}qb7v8EhSp4cWqB+*Yr4W{D>X62nT!?1V%XUR?jyzR! zP#z1CfCv$l_Q(P|rlaDRX#$w2W8YT=Emi)ggYPIgf+yO$=G4tWE1l?qtwp>`m7CDCwjeg|$GuMwa}&O+|6}a#pW}4@n!BTC zp#R@6urA((!?o_bsih>IljVAZEF&=r_|Y|t$X z`d^}1sz)4TXG)8m%3gfoDPXIM$CzoDn20(eS#-SWN*0CaU$TV2+pEe1^IOi(=MXad z%)mzR&jqrv?dvV|4*UCqA&smUm4+6;eu6o!0Ws>?ytzP;I(BD`9j;a(I-5-<^|kuu z+v#XIo2++A^&@L1;d|}4#@-NGoByRV{-c7TyGbx3Ps zOhEFTOINw8nOkrECh{2Tfuv76ng%%jWerQy-c=#~)|(91z_BWUTXwKY zwH4~fZLdsQS?pDnGLlGXCirW^bu06D6uW7?Q{Ny?D>Qw_6i7 z$tX#VyI#tcyP*O>Vzr=ib9G}Ma8ay=VS*Y)c3%m9W3&}Zfq%Dfwosj^z|96Me&BP> z3v66mQ{O#spc=0%^Vi`Wm4!(U$#cDOpu*GM^B{7OYm)=ic$zGZ_qkgwhqpvTJfT4@ zpR$BgDstD$m-qh4bk29Qyu5Hc8Zhkoe?q=Jdq1u(D zUcBkl$=SW>g7<81Juu(L@6D<;;_w^YV1}g$+ETa$v-dt|(Dr~T`y~5CYWo=*b|9b>s1J3haW|>9T$hd#lXfB`T>JGjX8Z2y@$2l=T*EYJlgeg26<4bUwo|YP zpT;_FIS%}aSJX5^c)L+WBISvSpE@4~C?+eWWp`9nq{L9c-RbZpANMQ)^`FDNH2}Cv zo!UT4%lpS@j7vj#MkQ356Dr!49X_-3L0Cb>*6PR-Um9Z5=jeT{UDyRxGOLp+Dh}KJ zC|P%hf_G)B^c#@liu{;zDSGd0g@aX*tEsEj$>EO+@JMbxy(!Jv^R2^qt_{U^;SxA; zwonDv9 z9y*X#4`R$2KIagqI%SSikmU>|G_xfoDfUL~b zkN`BdTc4|6C=Aus=&EH_Rfoq&VsjPx{k4J(y(+@TXuDI06?zi|#_FX}F2ll4o)#an za`Jw@Q%AV(On{m2V9AaqJ(97x)!B2q+^3q{4?Uw?yRq(v4hM%cvoEU7_h6t=TBi^0 z>z+DPSZyR+bQl*^*=bKx3L)ByJDC1Xxn>E-N`td3kI|(A9J_BGr$4`Lo zc7o{qBjp|t(v(t)&1Dik%uV1Lah1AF_ova%po$2*JgHpv8lf^6C0j`aNMaAm$$G#Dg&we?g^YFCkk@*eCs_k0x_74yzXq^_lbU*O=35M^v+}uQv1j zuI%lN<`Tdi1xOeA2H&Mdj@4rFG-f4*;iF_bBW z3DbOzB==2DgECqtQPu-$t%X|YzC!scfB7U&HB-7m#iV?VgxAYUQkPcHo6IavO_L8!!y=eHS`5;KeR1?r957{)+afXNjQS&vpm^8TiZJ7f4h^Z{aoVUbV0D!Ow`U_{87NzGYk;1 zi}*z;=)U9Pje>&Wj`Ne5TzMq;xR}SAG}kZe$t&V`nI6u6udV$3M5v`w7JS5E;x79Z zwcr@-=7@>X=!e2bIxN4MCSgIVpg^5H`J)*ylZRRvN*(>}#eO6q-~Sc~$g9_ek}8Hd zggYyMM%T?sXMiR!e&Y7166_`pbDb@F{H#^oo56Z#t`Zhib_E*o(Zx>B=1M4 zk4}!#bQ$+IGP)kW+nx_Wl4a$bhG>Kno}0et-t1wrbV-S1zyGcV8{(Lf{F&-H-nWh# z;TClK)+b>{XWBHbg~s)>Lk~A!Q5P;lHx6*XM~8+^JL7U_991aY*BkLpjULM&0-*`#d}px76&^d8ce}{;B;bJUpEo7)JmZ;ycw6i% z7oBUP`faMg--dpcG`T~$$;)W(L)#sXq%g&GW)yCB=AW2dkecpI0xY{1}uS)$4!+x0UevfRh0}r>b~{?#ZCPdi$DRdTXAUiT%k}Bf~}dNgwk^yftPX z#O-mMJet)+AHo^rw%|K=>g7uxxBQF8UUqBj(FSdJZbjLcTE2#bTe3Nmau-+TJb##1 z1A^ip&oia`+_E$&)Q3rhF8vf*!Cn9dL1G?k?Cya9SEx$$(g+qv9FK3Tn;b02C)U-nm)m8!b zrt9HMZtwkYAPqwNLFJDsh}$WLzUsZrL#!i5T;;LvlJDfgVga{S!Hu^Y9>K8Q$KYp` z!Gke%`L^n64|S(QB~jw+j7W^`&A<9^?-^HBBUss|(%iASzCM6l9)X-yt2|L)u` zZ(UV%VUiuR`_g-XPN=A{{i@t#r$?iUceAg($`#HWroe#t=BVoAm?rol+AyBBubS;S zYPB!*St)&&u?cN3MT2g3F$`=xh8w-!Tl>pB_2XPWO@%XaesFzm*NE3WURd_2y`yDH zOf~80w10!FMT-IC${D~dz2{+$ZX8d0gihvCrGQ{LZ>*#ac^*tduCVr=G|A|-R(h+% z*Nl(twOlS}_2j{%+0>Z)yLH#4dymy`PtOYY(qWNdl6hVS${Wecg}1#~tVK5TTI=25 zFqJ!c6@n49%6L<|QF>ES@LiUbHp<|n!gBD)zk)#RsyI-C^h~%3;sux3tqlLTRz-Q~ zxI}6_$RJ>08VUJbmt?E}N2I;s?$H=B`^gTV{s9pA0BpY9FTUNE1CC?vrgcL3wx{`g zD70;VbHCOf73=o{5KgU$J*jsNWueV*#A5~?n-*g4Y*t#-5 zp2sq_HNUiNt2bRQ0}`;e-R}!itUKI*@6X&k&+TfT_ePH@<(Lm(d)3BkZ@}mC!6F+P)HPchx-Tn??n4$*0k$Ec z_DjI?mWPeqHvZe`_UHQNq0Z(rnNF+yVg55d`TzkWNi@9J-pt=7O<(qc+<{xUGD|9Q zIv2UJ3!+3yNVvkWUcplPP`NT3mPATX zn8GoJuhlY?MB4H(L5lja?}@BbLE!IyaHzdh{_Mz_Q9q<4OV=Ls_W6wIg76#FAmlLq zL6Ad4gHQ?t|Gvs?aLT0D%WqU`n^X6PUrvphxC93b#nPc%Jd1<6q%Z5P0Q=~m^*PMv z4SqAp<>O$@YyWScy?2qp6~DrPKe#Sj={zGr+2r?vU0z=>pGUs3LB1CoAHassYxVQn zaC_C;IsVqmHnw5yZJ&`I2bP+t2%0jkRC4>r@g)_R&$C}U8PD7a;GUs;aUzFdW+BNa5%buXR9>hWShFJAJ^#{z4UwJ$|76vcpNFTn4Jz4wODue+x6n zRchVp_9v40hYQZvC;a7tW0(F;C3g3R+{pT=`rBxJO^!~z54boU_095yjzByl%m)il z)%Sqm&$pV@ZhvBUG%(Aj>R+P);NLU;5vSYRWBdsn&;5u0Yxz5IOn|R{{?{u$Xx#^@ zMyDl;0kVCbXOpNtkD%wqfr%wNdqbfQPoHnwK$MLXytcc!Y@3P6G9v5n6=8(JHZbMX zRfOE1#3S7;fSIK1&v^?~RwEIR;KC#@UClN(dk|0u-dE(q3}UOJgxD5gCF(SaF{(g! zOnKck4D{O;QNn>#r6sXreDqL-aG31lfF-wi6=bvUVxBltM#@Zfz5^^gfT>zle&XY9 zR&MtW^eG-ac_RE@dw0fti|@NAV4>7~Xp#HzIwF~y98;wxS13RI;nu=EHQ9>3wc#?{ z>MGWRKS8CH9f>b+q6bRp>Hg`UDrCDkm+&$td8Df2qUVt3>_!zx|KHvHV}Nuai9O}+ zi}U$~NkzT0UZurUrjgnUnNkuw3tS_MB^44wqtS0YPG0lMa0#}M!~CVCn9&k!1+ilN zQIQM|qHZO{G>StlaTYDj*B#&fro$8*MX`Ei^l}W-!m`_22L-Wu|HsDJ=pKU3v?y=6 zM`E31%LU{cUeceI{5er}kC@SPb~RP&{k-xvY<}?M$ry+aL)=_?i4x#@n3P*r&O#2gX&IqS zDKYotev%pe@u(X9nHhjI=7@oFIuJ)WG%>N-3sH>-U4hPcF4c{9QY-93QQw?KyFTun zIYESv<{`xp(SA3^Q)+LRu4TUZM+`-gqRaHs9o8|?k8P!dPPyH!H*~Z{WM=H&%1Hah zysw^?O(O{vOPK}WdhVn!vIXlE6)dW*W!!e(>Tbk;l=GOkO)d>lK6W}VC{$)zS_*%x zeBi3KyCM3I2=K_hX|a}OYrBz(`&*T&GF^`p>hA!YmPL8?60;r83(}{na)q+C&B_jz zO~!Ub*ncXfAhFn8`B8|wP>e(u*;r6B7V+SLGa?U{2WTpbRjhKK!k6l9p>1cK?@zcK z0XT(9B2<-ru%At2&-^YYpOd~uCm?mWk(v(Utd{hMme6OO&aczp=!2tu8T^>UJ~Q?%ts(@8Wy>ZmLigjygCoD`)$70Qf%wB_7_~Qceaas?QYnjPt)u)~MhP)z5 z44gmQRSkovG+Vfu?(vLvR_+e*Uf2t*^XU0boSwNl2}SResr5iO%S(SZ&Lr>`6Q8Cd z=UzeiKCC_pnMDeU@f5l#g%TxpIvh)@L_un{Ela>qni-Mm{@OOmWMggv=)N~B>6DV| zU!`XWHVZo1rh=vHA~!iqqlolf;ma=18Y(!EM;2CvDe^+sRc=vj37PP!t?YJ3b_1yTBv&x>$kffF*QY4$yHM&6llceJe1-H z`lwoI6rP^xYi2NlCuR2IX1#uXp1^{zHs&k_>Mhp|LCuV+6_5I}>7u!c{QNm3hMT4~e?XGHy`SH=`aV5t^r2uhj2E9~z>mZ%IX6MUDj7D~hGo zh|g32ciWhjGgehkAM4ke@UqL2Jd@i{Jd?f_xaYaYbNub|04^Cq<#|dG&)hm)czo#8 zSMkfOA%jMjb%jx31bzce6?ckd#F&Zh@-S)ptsGP=njMKkgMz#23@3@5)Yt=Ue81QE^Kw0IM*9)$mu1s$)m)@V zsZ@l>Y;suNKalnk52mR@XDh0byLr^!Cfb?JhW+d{{}9bApNgwflXs1KjoEW}J*MsB zs6og@e_|;&4fV?yo%1dg3USl(vGA;d$$U1bGvq!U^|D#?ccIu2g3lRYjpiflB~g8+fG_Ng}8#JxEw;w8oP z%djJud!h`syPBU*wrrKlLosX?E}Q!Btr6|mg_IK)2SuDcrq1@V&re}ot%p(u^OE^=z`)Cho0>q<5jq}FZ z_L$M5Fl4Vi7@80v_59fHo*Zx2oi^T583`_vA!3`6J*? zCuwL8#(!tzGr46dYl0lI_tlaW+9MKL6f`&(#-cEmF0|)z%l|G!8@M$xi0vl`-dae? zw~AcVjb=>+Hky2@leUnqKb8U(h%W~o=i%uF-d_(Lt(s2ibD0jO-<{8k$t^nU^!LAy zTpu^1@YVBQTEEk;Y|UCZyHu@H{QdimZvSoZVwG<=*((W6AzaLEng(cH;px`z{hVcn zJ$C&Q1F;GF>36F2iVHXt#&rTlUNSfK-Kw{2C(Y03rt@V*vwP=vT)fW7^eh{m`WM=q zKwh4+^?2#A>p0(pnJjC3&#>bnXJ&z>H_pLf*jn1Kb?G6G{a4gn_0;ccVrab01uZw} zJ1F7aBhMR2pwYPg40Vn#(+BCg6Qt#BCe*A!_U(`wtU9b=ZREXJ6lZ%+_z&x?tY>vN z2Wek&z>)IkarKZfZDRx+t_zJUiD^}q;%LsQt~QK5HSG4X6kFz#Hsv_4nxTt}iXKzRPini|bfR)81?RR?B{E z!l%ISCka>A^>@J}Z)MB06xkwp^fykSYOU8$zxQ_Ww7EWczD3|MX7xn=nNanFbg_Y} zk@uO+)mU!;TvF7Jpls>|Ip%xWY0j~D(qa#Ny>H=U5?uXvhEtd0itKz0+Zn}0hD?Q> zp+HLk{Iz!mpXt@ps4@_kiAAQ1s5937FvH*dN%P}1dr0>IfvDN^6WJ!htT%(t#e2(> z@owN_a*o3NG2dRJ3SS+{I|(EED9F5JmK;QzKABm9)9vb7nTOHe&6eriny@2_dqoNx zF)U9?_7MG}60_mEYkPwmJi15D#n)#e=I=eGN#KcS4$wzq-(7wmapB=!=<;E&ZWrQr z1wN;EzeK<6(iO`JmZiE1-q}V<%L0Q$%kHfj#)|uOn__xDgxmBfLyh5Ko>s@JpS8UC zvdLsl*PBwJcEVOwz*dp(rTF~GmIO$;&Lvf0ufwk?7LMjnb=vm6&`J2c{X(mz9ZpTn z28ikgIO4bxzFupim_KQD*Dv*xv8BH(qaHX98h@3rd$HJFvB(xh#3O$=Bk-1z%WI}h$UiciR-O+`||I3f99_C z93dGWEE0!$YQ6t98xn!et=CK`}8nlG8~KOuUB9EantNK6^;?? zr+|l_jxp6n&gZSYCLIY;h4O%nBTy@9BS;m>rk2`;GAF3ryZKZmk%i4m7w*l4uIEMK z^3wQ6+y?%_P=7Ad8DAWkXPTEvRE?^}NAEYirX&0?lp3$c#w5mb49!X6X?xW$)`zYw zu}(RcuBJBLp`)znuEdIxaw+M#SQWNNXwb3#?&Pe2t&!8C+kq`Tfc^Y0^vMPh^(4aL z=@=-)^HX+Wp}!kMcP!5M&e(W(5PuKpH|KpsydDD1}PVQ=%cKuq$ znO5og{Lo}zzUnf@lvwcD-15oE%DA`HTa;B}iL6c!ASjaEFT`s}-rs|?Cuw@ic@y`D zN_9NAQZewlClv;7!hUdjyrQL*8V*!T>{L(7p@`;XHbOC~M;5dZ&(bMH(YIIw!9_dc z_6->oGUWOQ3k*>Kb3GOcfgMEla2}43gV$j23fHF*R&StT9)z!K{S6zVztIrpZz8(K zcPMs$>Fth6b7lCHU^Dmxn0g#ZTiM-MMP&|5{eEPNGSefnf)B?$gZmA9qiBPJgd9p< zRtD$mk4mTAHdtlTJz7V=FmL!^;WI*C<-;%!53a zC|dOzJ8|$Z)0DXz!6)ez$a&|Ej-My)jJMtf`R77si^9uG&b)-u`Qq}aOhU`292xoN zGcMZh5sueYy^TzuWqml94ZV%Z*qyI#`bVC)>JOHV6=*ndc;2I#1d^}J>%g}p4`g1C z!f>c3OoFaX#o7DdoYqrh$%Lebruvf{s#DS>r@>B##?g2KW9uHb-$#hWMM8XT53=|G zGsYxF>Tlq2;$A`1BW;kMNnhvONe_@X{>D%m!Q4OWhn3*{=KO7a zp&WSmO(xl(1N09#em)M`Wew^;-)b+~D3pbyo z5vws1_;4Y9@NIvL*6Xe$pXX`FGswa`yj}Ep2-)`T-$i&nXOs7v9j?EtvbG~D3lirm zdGgJKSq*b$*dj?5uQ5jE_$QP`V=+cqRW=3`nrb#=K34Z>Z7j6PZ?wE~ttxb5ZiA{e zFB`$4VVwrQ_+D*|`sKIrX}Z04Q(8~Iiqz38?Z9UA>;Jy+ci)*=(4R^Hfww^seqlx@aw4$%zrSadfTBVnI7m=B#6-k|w8 zbvG9_G1-_wyXtm6nC}K@d%NOkWu4;cUZdY7LFG0(Q$XdS&XwY<-XLIl+RkaAvL1+} zKe52Yqbq&h2Wp6{vQh7Fz^XG&H$Ij{R`A{w9?*4LVIz zb)sEBXh^U<5`P^o7k(_3J4tJ6h|wS8k@v&mwRfvkp&Bd`!b?Hbs2ZZyc^!lGy8opf zR^zD{xGpH>8r(J?LdV`!n78LiN)5}Tx90GT*zyyHbYRTIrMoMcJ0o`tKj+(1l?SA= zWY+~ldI&RULaKLFmsOlT6{}k0C4Zey-jM8suR<b-SA zNnD$eBdavaP=xz$EB#WWW~CnIh~~{wqPd=FsfD>;s4Q05$bWA?U<6G{FglGAJhGU8 zl8U;F6lbZ`T%C%s^i2^E`K8R2JZU}H);LC@!_cMm&?zYA?bLbXweItL? z35QexaXLEk%HmgJH-QyO-EM|R$XO!ZHTc#OkInqw^?mb(Y($TQDX%zsMk}~qq5X!>v!$dQ(PpqOU*4%G?m}cTudZBVT;3q*4&VJ`2?oSu8SJ9SCx~F zs@i3+#yu_7ftJ6G9#1uC2G=6#gR{ym@>?rHJBZi%vyENiaVKJB(fU*{DE+@wNxoL5VKChT1G-1TS7y9lV_Lh3rsa2ex@4w&&q**+C@dtvJ3FEkhl z>F=uVotfp0%MEu|FC&ui8;&nt9^%}#EnX}=BGVD$v$9Rv@`;{ttpB~PHXna?oJ~Y} zmK97+6@u}{SQ<~*kVxxqjGDs(A?jfZFV~Oo!4v|;Crj;)jdh}`AT&L#tU$NqNjl-j z-U5`Z!!)P0ZFetb%mfb_oaZXZhM1>zLRJ)lID|7@e#7HVyEYiUuSTu1XP5ljn?$E_ z51>RifZYZdE~gmT9-^nz+{c9JSl=8`)xn!AkqeUdYD`$bvd;8m z$RZ>|g*4u6YKEh!y(A_jQnnd46ldkt_2+R%yhOkI%nqjwKOvbjQ{7wUdjt^j&Zlz= zTVS^JaIsur``9LX#jiXHtz{ zIolecOwb6NhlYh2Rh`2(9L>V|aVQi6E+S6ZA_KbG9Xc>VW!Q_UFr%U3^T^y=yd3Oo z9=u^MdX#e+)A6iD&btXkO+thM-7zh4jVgOo;@t9r3M9EL)!ksYunR82iAisTykQh_ zIt6<&_fOo$I_`w?^>~Cnz!Gs#JR)`wIN)ldeJlK%qLSaL)z*8}vOiwKOw*ys$Xl;u zBV{fq6T7)E62Yz3^cQsjv>(6O{WM3_e7!!}OZj`jI@R{lLw`j1Ddgey1u7FhP_Ogr z%Sic3!96cq!6%~9Wh}IW9Lg9XqLsyxu+TU~(6D!HYAGN-y!x0Jz~0F>5s99buRkx2 zXHIZ^l`=oEm5HlVzn$}wO3)gA!F$1;tzkB9NguT7=fe<7HM3uk<;;^E-fKtw#Zl}F z&A>q*m@^BG(PRAJ z+QPf{X6XGH+RJa`#xE7G;xG0&-qPV|aq-0h2ZYBbTudn*UdJ0Di8pIb^~2m;!)eZM z5B<#DhbHTD@^-x2v=rX8Am)j4*n*Ybu=h2r*K%RWHVLql6)bUogQhl9i;Ei6Eaav7 z3sA#Nah>=;Ue61btWfM~RLkA8a}9;B#Vt_OgsvKYfit{tQ8je>$26XRg8=MTyA^*>eE?1CYyQ=B?5CvvL!3VlRKv0rKC9+!u9xC z^C^xYmEA`u9Z(d#V<&C&NB&SJ5I^MvGm%$wM&9G*AAZ>N8Td=dc$H~$9XyWib5xto zZ3O~Sb2j$oDGuE1*-TahTl8F%yyslCbeDs?4kc6)`e`rDDK9ubJmP&L z_w^>?ozkk;f+_wuVj8}SMD49e@By6PpDaSbk}w59tX7lc3LT%>4pz@EJ^jj+V>BIO zAhE@hh$O&RSCt2bSDl$sB0}VHbUEzB#U``kZfG>h#`|+fqq^JPejhTz)_#8-hO_nd zs{t$3tuGxf z4x(&mydO=jyIc&WS@7_*PVCMpUaIv8Er2E1|*_ip}oBbff(Vx z24=7XVL@~AE_8kk{DMVo#GpK*S6VPADH)cV_07#g6cok;2!!VTQeqY!hSE2MLL~{v z%?r%UL;EdE6CBP7i~5K`iAAr30!oVrp;?DvJF4G95&@Dz{ojE7mz!P>NeD;^4us}^ z2L?SPF(4`25Sm{~5TpMQQ0Vp)`huik-4rb+mJXNuqx1pXhehrfnoc{CQx)o$$oKAV`ouRdzk>bbX8&;kLa(G`P)+Eb2iNI}C&%5kF z9oxmQ?4_QSG&QZMAOQ&%=*!(@u?-$Syqz0&QMDc*$LkbbMsBH}C|jv&UfJ)Ko-J!) zmz9QkA=Tz;OQFu95ZAQ)Yi3bht=uJvt#q~JvjWB;zIcAxNqxJVFWbQ~NWWC>@}=Hm znoX=a_0(pNl3h`lAJd~3KW(A(FakYah6Xe=Zb{8!)JnziZ~6$q;p(uc zPG5ESi_r!praf}AP`PDgUozAlOk*6#n*4#w#Iy`zM=~!M^>2!_ufA|BJi# zjH;qpw}r_$OOl{Sk|eMKivboV3BTLU-v%tv=mj9#3%s8Fg~mvF2_hn@2mn&u5U3V+V_239 zQ%VMCw^BKQ`{uU)WvlwTz0qouhD&@G|G#%fqx7Ahb$Fh&&n>22t$VIG*k0pbf3v0R zz_i(*_-c7tIJxUpqg!0|3)Ok!_I6>ft&OXDJRNOy4pll-8Bgw&H)_6w4&K!BXY_>I zpKO28uIfiRq>p@!Sh4UNEIVn4E2tZc(sfqR0Y0q)V7s9(|LofY_r2Q{C%XYZ(Z$vh zmh1Hny3W1`)`^(h&7~OJEHa+&-7C*=^K|r6(`lTNh;YLA+#xLBKrq#}+IW%K(t>Cc z=^NOxo1nZCINAVwh&8NWc)zXrSxte@=S8kM z_Nw`Hnx4Kcg!h3HZ;kOc}r2LDfLx$c*!{&&>!FH!wJspa1~`rlE@ zzeM$aua9SQ<)X@DFE+LLK}WWOZH9|qySB(tW<$wMYUMFS}} zUU#Z%;5BP&wF4auJ;Q#$2k)1-0rI2$ztflU13q)$AXo17x9^vxkztS>Muy%FM9!YS_@^Ey&Wx;5a=Db{7kqjd` znIas|oPSA%ER38llom%)Mk^F(cfV8t2}(BqQU!E3wBc-c~M1Ek|wt4)f@dz@e%;?Z?q_$JL+Sj>vZ%K<9Sbv44n zB?@9cvHON|KYHH!+CKb|1^h4R4$V}FBu3>RVHpRnb4T#ETGx5nfnt57DTUoeRT8W7f{9cX3 zH)lum{vN{%H`h7ohdi$nkJ*G`)oQPN7CJXdcY*E|CpIW#6_%?v#Kcj{Ul$*vw7uAr z8=T%6+D(BO4)5-K+EIAOO&F;w!kfWBvM$McO9W zSv4s)Ewfbs8QINn^yXu9g(@<79R~Sin0mh|yA&>5%$-=Bm6ar_h!ND_6lh71)#>&VhE}R0~2X;S) zIg9lUcd>U*aj#P5CyU}(BwPtTzgQf;R)tXAd(!D+_8k)axunc3NMYxaOKon2aUAb! z+4W1|y&}a1XuZD`ye;vRWk+QuxQb_a8Po9vzDBKv?XJrsnWgT)@Y<5ATjx&}1`w#UOsJF#(>B~JWimWE5)dicuTW4EtaHn)w4_9B9nr#i~Lbr=Nm}#06BT z@=KB8UW|>}_IWhdUNsZW-}t=Kb*l2XPL+=2HuT1f=?BiXOUvM9!cP3KqtiEd)72jA zU0=)$0&vC8FzT)_GJb9Ofu6_JVrq*;lgwzzbtW1vzFxWJ(iTxHG)qglP{RLZy5xB` zuC|XS{=<7wMn=frjx8rYT#);(bv1Cr=(HSAs_bc(Dv2UWVh}a;F{9l zH$5yRb0zp5Q-gT)uD)lUINQFb;d~%<39Tp4I)K=zb!il>+t}MSQm{HdnmWmvO2)J1 znb|`UvhQa?&I;s>IIN^3V@!m2Z=Z`{-*$tXK>0V_T6kw*{dzRttKMcn&PSrZJ=rU> zaT|^=bk)Qm^m?<R-Kd8HMH^i_+}kSg68YK`xAQ=+_6lhL%~Bt(aRm#} z$LANgNFROcnh$tRjv~TOKS$~@oK@?~b?2#(py`<2h_tv7xO#heFpK!OY?ViYo*qYh z>)`-<2sAe*6Jjzr*Bp_+n})E=CDuSNZ$7P z3~)bZ)?Iwwv)}w}yFSwxJ&KpWRo*zXXXx%{ zeTBm8s$f#DEc;HZxsA18kTu5w&*Ds%oEPwSqtV0AT_i?j<)R?3y+)^}gbR;ps4wPL zi#`oYPKVrf*bQWx%CQ=wONFV4;EQbhL_LkXt*M5p(m}sPJd#xv>nhoL(koaBF(=Di zvRgUyL(lM6McDC|TSLe~j89I+!n5Jo+oDKMgzUQLeYxVk23qD94QFO4$C)lnp5lqv zlJ5AfCSR~)XvHbnVv3Bg<_c!Hb@5A$n18r>fUf1PquSXng>@()SqDx>t%gQ|%Ng)ncVz^-h)=YYl& z$=)U<+K9p}{z6BxMUR`)eiQtQIeSktb`K%}@|)jme&A759x%E(KNPh){DgD$(2 z^peCDckHRk;mV`#XoW8g{NvA=q)jyP?D5HGto8LV%IuL!>YBMz!@2s>Y#o+VdTA!k zw%`24PG2ysy>F89f3|Jf7+H)HHq^`fK`)tuBZ-imx(#bW)o~Mk`3B=Mt&*?otG55k z*SxnoLh+c`33s*${B2;h{YpFy_410`te$Kb(|3VyKM80*j+yKRv@t>rnLg-IoMUZ1 z*U+5eO^Iho5#gj$Mo9RAlUSB#|g!E*E>~Rn-*Y3q6 zroTS=k7G0!G!6<|v{fmBgraav)g4piFr;am>rKIz<4-G9T8yyugC`7}cW|4gs_Z;V zYR~5yUVIcL$%&Lra@-o8IN~lGB-?4E2fiJ?N!gLkywE7MGq^F#L4@%ILo9wS1N*_5 zEV~w2oH!0cl1r4k*i*ey%|>+|f_!4?G7*l*HuF!-BQkL}r}G}GN*ASgA-JLWZuR?C zTO5ILlsCl0vL76lb7_V|F~1KVL5_LbH@@ohei?n$6|e4E{L3e|g&VXI$$hyrw2j6e z_5LKDLVs<3g+JUXDvE(Rt?yVY-%0%Hw}~Ff8RO-tRHAAKKZGP-jg~4Z%j^0sUU6Dq zPUlpDH2tTxw$(|%W&xgSFYbH;(8Bl@1(rK&t_U>6aa zsG)X4eO&(H{#O3eZ;vwY-pX0YPr2Yl9**4?^Y@D?l~Akv>|ogQOp5a$z)FfC>e}by z>yJJKm5GRQ$&RV%JQ?iVH9Zf2k`1$;mAS;}Wj6NZLE_)GEtLq=n4owzoj3wun zPF9FNKe^#TnC4t_v2rutQ{FmcR~dba+4Y*i6x>a_=bO={Kg|PX_9`D+ee8<|wbdPR zx;Skj==iR8EBJ}<^d~P>KVu3sYvm4pK253|kkPS$UfrR_H)pL&;g`ptPmsJ&TrSZ}1Dl{V`;tfA}&L<%fhhT2l_czX!Re0)eTpT< zd`QjaqM~D?K=Wu|${nvQ)N!K=Y0xN1TTkcG?6Dn>uFGxNj&=+36+*9Yk|xBe z6mzC19cA_I{z!jWs`gQlo7~o)uJO_~C*<1@3&&mjXP9?h(`Bc=3Gnx}*Dlg&!*pU= zC}GNDCUx)@dyJGq$GPK@v6+aiuuq&0ta$F{^4Q)FlH=jj@WrooKAZ}+q(O3X|MR$X zK?!p^zwq!qwpixe;d%`}oWU6(29qe3R|FaRmV?cPvS}at51QjK$0tNS_xAIAop=I! z-@MYv=TUG+4l?8^zQl{iXw8=>zxBSIc(?huI6du!jT@IifjBbFD$s|Z*nMjUe(F%- z_U5T8_cBTR%m`i;fy+|=l=z-6WzJ)RF7x+dU#NsjLYFTbryg)Z3%^IfDF`yHSz;F5 z9pHHb$`%bY@8D0np173Wjo0Isz+59DJ13BQj}|+3?+J{Af4HnX1zR8ErQ~Cdy8_Sn zQcdv36key388JUkp^!<78%Aibu5s|zQb*Sxi9+vsLFPJ>$OQgte}4KbS}k#Jn3>rc&mo z!837Zxga6%tB@C~xH}sDm`1p)vakzFv;HAdeCRIbb!p-d+0rHvy?0~Lhk|R<6w9wz z9~`h=vpUNs=hRe+o&6~X??Y>hceWcWnlx}}k=g!$Zks4A|17^VT`lb*N)Be6n3(Z>{JTC$yI#}#Xc_zA z`t+}@l%$*Md{ZJ8cwNL&4Ki52VZhU_*rs=Mu5v8|ZBwyx@Z49MnF+0p-rBzPx-8Og zg|ey^?$$JUGl({!na#$VKg+90oSfZqG5i`Stt+>vF|O7CzhUv4U@B_d&Lauk89wa| zrI8A_zi2@I_=ZG0xq!c^g@ME2+?HgFiS6N&z=XVMCyJ{<)1M^crk`>IA-?-kGG?Cm zz#d(sio(4at)I#htUwhLu1M}ZtX!uV8RRljW2|T^i%nl*p*}N=9~soB=JG;#=llkv z3K8$uCz)SIu>3}I-qOE|EqT-}!?T-NSP;lpeJ}Ca`^6%uAZfPTo;-U6VLb#w^YqcU z&`;U#Yu$c*3tdXvRpo<}jcFR1{t*iZh^4iVt%l~~n51p2FA`(w3C9~%%0<4`fkt8F z56!aJqx7;_T6&ux^2y=>ZXA2chY`}o_(wdma{Q7C{*NgiAP+s*bGWmgkPN1&%hg%N zEIMnp#-x#n3<*E750S&58!Wr%>aM2It z+xCl#ch>t#bze)wPMd#;XAM=v-FQjX7Ye+V)oQe1rReq1VwP(>-j2B8mZm`pno66KTbY`X-W zC%MMgG;SX?4jZ&)6(a75mT=tGn9O?+q=1psInqXd@`!Wn36a$6N+Hvyd3;eK161sD zU+?ec?M(C-Vdc}Hn{})AUB4=2_ppItE2(}-aC=7KFvOAg4iZhV*^)>N&*l-YU(7(z z7xJ(4aK`KWKaMLq@8}25`H5G&qauR~Z5Txt=r`h)NZo%V@St5R-mo!pGG$YpbAv}q zC#2wemZI`K-aD}GS4`jN4ZMOAWRLMDjOy)Xt-1XiIOuFlLJ!EJqTum+C2IH`yF{Bt z{F#Wc4Y_HyMUIxN;|L3`Rq>-x2dnU;#FBfB5@lLTSHH2TW ztRp9Wi_u|McSxd=EoDT4k!FO0*}ZA|0^x31?9o0`9_?w3?4R_Zf77*~CL|}cxhQR# z<4@8sK@>am^rjh>6Ln)kUYI2`Z2zlomuezc4)1QGSySVg`gM#W#OaaGK={UHylE#n zagz_D6}%?MJT|+4vJ7G9&OnK7dY69nL+Z!@@r#>K*1H%l=jLIl51h~53&1eHt6fg8 zj%`dps)P~5Wlx0%W1_>2r3xdzJX;7tMY1x#V3t)lv}L3E()7c66|+Ff&E^vYO?qSO73thaR^`llSgv~Rl4VK^yD3k< zIXw`}A+p*2(Ot50uII<6{aCmL@gZ&u6W^XMIL&h~hOtP_{mTo-x1~khep0%FdV6)O zXR1zuGwi)13Wc@D$%t5QMddk`;ppAOr1Z|Q$qQLai_zk-@~6@(A?FUb6X9NG>m8-n3%unyc13ndApKbJ(huy$&~$w&Dk@D89aI*@H1z9r^H zW=^G(8M?-$?>2@TKdnxg*`~hqs%md&x}M{mVQ?_&t%=6_Bd^IszHTg4tG_&f5$7A7-Nls*4^_GCk>e;)cH+seO1Tw3il=8~3MS>xr_GMw zLM`{k91PK1`t-b}hX_uv!~$rnb6v-z63T-vg5jLsCR@J?^Xp?4J!{)(sXOp8tHgjc zwNDHNB|x^Ws>5D+`)muRdTvYZaK9TYFtRbRNDN2YTYvseN1A@%X*qoAsE)I4>^js# zWft-Cq(b{5oNVPC4yQjqQXCoKcD^}d=O}}05L|&KxhWU9P%8(9(`UANJXFao?J5}D zo3v8@NxlD6L;BgGSR{sC39ZF+#LR~;$*jH&^S7}X3TSuSR_L$p1kxzIC%fC@$LVYB z;IjL|Opx5aXZwrGdJ}<3M|j4dZw40^Q*fFP@io)gz*VOfWEJ0&ZrNsc-GqeCoav^6 zPG=-X`#6Z8p*z_Lg2HcJ^U)rC;K>~DQ7eg-Ur6!HJ|I4V&u!ce*r~pHR)5x;7Oao*gGu_$JlnJc=Rrx;?)B z_)vKqa+mxucTM@d%7I%-XlTK_G$=KDMFZ$_?LVhA;sHA{KwXuKLg98UX+st5In;6otDbf;(&*Sxw$*KqT zPFMExeFJ}>RpKGu3g}mxE;l^HMCA4BSFSHUrC&`Xj>kqimh;|Escltx{qTOIOw`_~ zuUQO+nS%wd)HSQjck$C-BVUFgdtcD6Ez<~*m?muN;A90~d5F2ag8im^KE01RfsC}& z=9G2os&qR|h z)}s)OIu!M%z)a9@SToSloivDzt++=Zoq|Vyz-cthwm89T)8a$w(!H(yzK>`0hi>wR z*mkW2sF2BKdDfVDZrY{I$6SkJfq=X|p?6V{KXDevPX@k8rVm?-iwxG^Wu!91ouIkz z+WeMOB%%JNblk$@#a^iqh1~Mg?J3sDPtl+5@!Ty}tNCC)Re`h!mJp~6ZuO>c$v*bX zVpLN-^}n(je#6J8i0C2xtiTUb=gy?X;%kj<=hDxfv`f|}KNe_=F=@Fuyi^qyDyPowyDZZ0c$c5=3!BW#=zf{hUKRZY%E7_p zQe^yVDur5zIa}3@DiS_HmZwU|BI|oE4vLm>UImXxRaJ(07!?bWfs4W>%Bt=vE@@ zmD8tg=D?4Nt;`PJ8zXn>S*t`+{RrjLe`N5nKZ(9KoxSN$K8U2Q(pNA-G#khpF|D*1 zTwQ+>^WN)G@&d()Lvl+HHFk~iya}G^2Ru_6vu#@WBT4G}H{#CG-ZF%3+7+g-+d8*8o@@ciNRGDmk?>H#{Susq<-cj1WqkY~k@1YbR%ow)Mp ziKQBWuf>*{bV+&Es)37Yus+5h**6K+@)PdT#yu^O&3g@#C0L%*`*i9*bc;GqB%?e- z@Odbg^Qxjq*a_fsn@J8yOsIhIbjn+tbyBOQi$W6+RXZy>(wLocy+~&-)Qw z!_lpz>>Xd~HK~d#q#U_2{iX^AYWJJCZO_Q7>1~S@faTJp*|`)l4j+9ZFzRR$el9Iz z%YVDbY5yXKWXjoVJ1Kh80_xB4G2tq^QT$_#hk6FD;Wdq>FAH>C``P*fwM<&lzA0Yo z%43_+m@YeGyu$NtofW4t{-^bmC9BZYO&(g@yc#CeO)lNep$jZXu%Ys5u*z?PRr0x02f|LS zD=n3qJv76A=UKht3p7(~I2gzZzY!a_bnZjM3ngp_YPrV<(5a}z#%X3<76Sg_*q zW2W&zjI?fMcE;M*@ghfCfte&U{+g^MOYtrNMNjycqP@4Sggi?eSy@WsGsUOq#NLA1 zeI1_2cVx<9yj90qr>u1!r&;SLhR7%Hjb>b(dlo61kBXjX>Gn#?1+5)-zRFy-7~%6C z3fQ+Hdw)Jl|?&8(8j^CD>(@_wmS#%rrh?E3B-IKdX7jX0{(@ z?wzBwdPU+4{hG!4f_U)5n6DFj-z^|XIY0GR(AFs%-sJ~ME!mgUu5n3Suqegy99U)# zG!J9enZ@W!z~Zd7D4ZB?{9HF9O(PM(ejHdT!-8Yq=Mb%x?AXaZEYS~BP&#J0!fT5; zD`IN~zli0ddW8`fyEFfN`2~082b#w*m;$zbCSUgwOA&U$R@p-7b#c2eD||yJc!*lXJgpE?TjOuTWLW=7@n+o7$dnzP zMN*$_Xn8dm!$&qdT+MDc$ZMC;+5>^#WTlBM-T!(zeRug`kpqKdp^A(rn&O3gzpuY4 zokIcB;MCBj4)^g@0<}9<>{rkw-iFv*O7GjOb?yG4l*-PcwQ6Rk ztYpC>8&cIkEyW+8PQD_lPIw!8-0oqodaM3gQ$h7W#PU<;_!dgp$-D79mJiq*0?09$ zOe-+df~0o_x5%tDuXCC%Dx938AQRqnBhxs#`wF_0{0wjKQx$MU%A?J^q7Rqn_;Bf! zO$MwWa(q%tIlh>b@Fm5idO~FaxN%7=T^iG8UfEvBHqK9 znbJP*fBHtyHe~ql9kQ_~((o>9|EMfRz3gKGMt4n$b}$2N)k(<19>FA9>@E0QGkT;E z?#m523LQo3D-y{H+9Zfqp^_~InjB;XmIRaK?EO2>w!%{0JU&UPNt$Jd_+~AIA)w|X z=7B{Zko$lmJ5p>?Wf`jF<>n%lS5tV1;a3)o0C%JmR3L%5xie@xc>j z`8a#WXRw=9#d)oL!`y&9pTjZUdX1Z6ri8p~XwJ9&JLT#D>m`>@_T5)KFoSEk%}1P2 z*IU^^SBzRywE1)+9=#7=4Lvqzebc}ycs2NGQMa0kBz3*Qt^#)X#?7L*Md{x&nKjM!T!lj6z{$$SNP!*)fH`c*Q z)y)Dc-p09dvqz;+=j3*65S<_T_Z*m$Ox4R;o0D_$vG3+ux9&WoZW+dzcR8y)EPO6j zcmeBOfd&k|n5X<1Z?WT;f-3DP6sBZN*=umNglns~s5O|D0s9AdoMXWwNfD)>PMn587nr`x!S+F@T)0qJ z%AM5X#!!#<2C}Sj@%fLZZfSN6Zdc3@Z;Wd=91o|w*yOW53l1InrH6c{&cf4d@R~mp zG_yy8SX8w0)H>)gz^M7C;ji2wvPaU8TjummNAvOVA0M(5?&8n-h&|NydDdo-$Y9>= z6V5&4)v%qEtZsVOWJE9dvz8|weB6% z>QlQ2cv|C%(5$gUedn^MP@nw}{#|x-mrN(8Yhx^$221wMva$&#S*N&eZ5gDRrmAl_ zgVGa6N0C4XdnSu9vRt`4*ZQ86-6}+j|CtNGfIXw$%{oh-4jffGxMe5;Ame85(wEw6 z3dAJjV#uKA`yp&UJXRj`c{Jo%Tg8dlDhs2>^^sPAz$90xdqBU zy0>QEWvQUhQpf8n)D4+gOn&{=8!6aveI&s~HWaOHO1@CMWi!~ua2Icd?L@h&X@Ii% zEw>2~PKv?B%hRjm(y}tnc&U|v7_}*uocq=k$)1X(*0YPBO^BllEMbK+%3QJ1GqcLk zd}MEBindvES-F@3PlLrJ7@zyCCInAhL3FwV+jr~@Y`EZ`sn#i~IpwCtmUTJ>zK03< zE`5I%jhWwQC*V^}__F8&L1}ah6Mc?D3i2l%)dqj-&*-g@1^f(;_PlBQn|2vuq5@L%FM7@_ALjnqN5{o@F*8LDZUN4&=ZhWO05cB6qY?o-2vvRu;b;h!H;2$w%qzt7bMo5ARX4Ipj(|Cs3uUD+5B=0A z(pR;OEFGd{6YTGQ#_txf|w z%yFuTHNF3Sx#*yepgNXyK++)O@t{p0=hm(wukqKFBl|VW7g(7wKdW@svIiBEtxSx( zhep1h-%~WNE9CHi8Y{0qpvt|c`>OYbOk97=@nwC>_Z{ehefAeziu)bOCtmd4A3txV zHB{KQ&8Oi%A$$HoF>EU{nvA!7;4I8WLc4o9_T9}MTix-JgJoOo`_a#ngG%0C#s4z? z%Dgbo@<^x)KF{5wE{8#ssp8u$8)PALWw|vx;i~_c$ZVDNtopaWTe!r$*R6IvEd8?p5}m%U zqvNbix>3aO>N(9p`ujduu}F2@n7vxG#UY#Z@jA{(X`bX3-`y+o)94{NUAM^ws5C}y zwvrC=Uu{jV?~tn^k}U|}8Q;qd+A+R+CLYeXduW>M&AHjXWg&pLMY*wEw5VL>NzZb# zF>-t^{IdXnSV6XofsfNtw(k?}=uvGnw3i9?dA2ChJ(97~In>{LNlL0e*$%TSjsC=c zo?rTX9YjB;g-Op0gEs|@1Frizd!^?DvQSxWI_zggBML`O%5cHtU9!6>g@>nI4R54U z#0uinVtc<@b>-k;Hj`{Y5e55CcgZJBly7A4-e8q9F}AXzm|A+|y;Vb~3hxu-YEh8} zNAPAR>qxzf{&C}zZx7D#!ots*pX{EW7zA9g%t)h>w)bsHkuD8oW!|y+jZc^Ozj|QH zu(h7o)EU>gvga)bt-iR4jya_qct}2)9$Q4&z2s;|tac=wI)Liiq%O`?*^2shinY@u^r@+L=kZ z_yVhA0(k_41elO;s1X65ri&-=S|}4gVC8P*?8yYKgrf;WTY0#6xm#Fy08Z51T`aV$ zJPr8NrDd7;w5@zSfqb$qfH6c6WevPe$|nUJ1Nl9e1pbNwYKyAcA1|ikh^ zR|kT636=n;;_v!Ep@0!svHvrdN5KiW+EV}VGC>jlTrbp;Lz;iq3%r*9=j!$6ZG(YL z09E$i*9i*Vra$ZR_mW7!$pFoW3Du4~nD~_JEIpVE2vF-I5kP)rLtRu&0_d;yV8jIY z^#a-l{Ezbk@68{l2bh?7nmM}I{N?v|!&9;HG_wR!nBc!6{=RXj#`fETCImtNLEUXW zO$dwtg0cmI0t66L`vZaq0to7|^JxkapsK~EDMWy341c>sHJJaOU4n)F+b*F31knGL z3Zw4azwQ0sx&|-BhPDtMjR(}p*u8fTkIoOub_?TNOnG8gSUB@cj5}JLx7uz8-*KK8 z@!m`K%1%6TI~6INGWzi0Wv=uqzuetm?hDnuG;+jtQ0YAI*2&EC(WI1+~p4XH3?)D-~VVnt_P0z5MQHher%F zx+OlQdZ5J*nw!ZIBkctQ6@3@}ddL_ey3=cmlrWCK6r74NhjuxfieA4XxBVVd!#hM^ z*gLe#{*VhdbaF$71gl~!`+Q~L)O57|Ih87NSXls#ZjoNDX$@W5fRCAg|NY^sx^V|X zcAfTz)Su6Z93CEQ6UJ!`<$IEgN#iUVAD`b5^XwovQw1iNJ{|foIK4VpTI^k-8F<+k z>@yMc;k=4O=p5bt1=|7$yuVw{UzG3%7D$?TSb9v1F)uAVOLOb`&dHTkq%be!$L&ls3cZ5N0DSq^jp(2||Iho_XS8DPw(Z1y{d zK=A3=S$f)f7%&O&3o=0wf~Y+h7C=Cl;6iXFn2-Uz@Vrw0?ZE=BtQVY z7c2t-~eg!mBz0#Kk#FfUkda07fG z0UIa`$R~tkg25oDcm!B?;27KlguwFy()jrSqydhBdAaEIH;1b$7+c3d?!K9X# zxhHrXwcWj}zzg~}N}>#YBLwPF|CN;wym|jP(6e)vaQ3kK$Fa1XwY3$XDF6{+Kmg&h zf$;MS@Yx^*5MU4jLq))WUqL<_pk{nFaDIM18yH*&I242eAs_|@q`_c71}GBvK?;ER zg}@LTN&qASi3q?kTmT3Ofk$8(3=SFy0Xc=BphF~J0TTpLp{SgoMkwDQxV6-6U84lJ9%pwS6K>$f`uztXq03on8P#_(K0GvZ0K&cQU=n9Ae z&JVB!%)n$JzzzWfgdpIL0N@rpTObjvEXo@aun+?40)YS_2tN{tg@ctu3cvu5Lf{pE z!;Sv9BY$Xx{~EJlg3v!PdtB5xOq>jRAy3N{)0%pwkPzu z?7-ngP~daJ0b&vV;4Npv!1w*_5_eKF9_%?}_-(Cm)7(T8PGF%DA-&|C98)`7KG0<) zZ4lSQ^vjp167b6>zDNH}9A@j(kEv22kb*lW>%dIf&^U$Z$21f6aOJ^_-OgLgvAhqd zxZ@HI?4+#p7EGkl^kMy&V|}#!mho3-hHUitu6FheyUSxJ8!Gk8@v1N z9`GY-PsN=jSdP~lyQYFNqu;62A8VDck*zJf@5BYinnfMS8MHy9lz=r-W2B*5A?ya8AP6sfq{XN(Hpz9 zj(5fxI%C^UQ_%F;QL!tq52LA_@s1nG$cUaa{_SB>|X=luf-_;0KQ*}=6?b{ zpyB)ldY{#Tp;2#x??!XR(}xcHd_0f~qJ z%LPG72poC*1r$sGWP-5%-vH2m9zy(;^?wn7z-|TfS)d1ky%p$$P@s=Ne_;&-4)#A7 zmr**VhIEe`J;=YbnI`?{Rc;C`8k=pIR43Z|F~!XVnhB02$ZP& z&$$6j?rvx0{%>SQDd+#3UEa#k+sf0jOg8J9BlWo*RqP1Jr}3vFVD6U z&DtE-?+3qX|C}L~^K);o33h!rV|9P=@Kx*Zi%%CPTLGuv*QaomHyn;#4jevTzQql! z)vq@kIp0C>or}42obEo>yj|_^;rq_n=h2B9x;axLwp4mS_}d5teMm9F<3CzH5l0RDLtxBoUSY4=`tom#PE^oUw9 zb$bq2A%{zfk3+v&pe73~umn2?n`w~0GZPJl`n{QeF^r+^fNq1qv;7Et7z=5bFxJKGSlstYz{M_nMwVRU2qJk7hWGGKf@YSweDP%|0+$` z%+sl8Y)FQmj&I#*g-*S+j9{#fHpG3v9>-B3KWa&C#k`Om-uUb)T!_N*U9@DkL?uBm zJARR)5xRy(Xl7eC4h32ZRds8)h6;`$dAu-MGFt9vn-%(y8EW+`N2LO56* zdyOARb#pk#_ONabWryvsDO-P}f(u-DW)Wr4`J~`&JP7X>#)At)H&DYHD@Gjevq?(# zg^g0+TfOf2c@p|9Vb$XN1VK7@dOrUm%Gk4QCZL?p;PS`D=W4-fy8KTjPrthT{AYOo zgO&f$WmROAq_lPZlC}R?(f&fdKX4s2K>f3W{Yya$D4D--9Tcl@1c1e$AOtWP3Uoa< zu!n=95EQAP_=5v`Kv;sokYgL(hj02={d91jOD8?=W30#XnV z$EYwMaG{_G6@&mH7z*I}?_;10Bp{-}@_=}hXoUen8RQz!1`fmt0K<1E$Qh_(7{~>v z@&$l#J{S*ffK*}<1nLJ!D80|;Co3#XX;5HH zF93*X7+{AwcVG|wErP*w1TcpQ0bUD;5CP~Pj`$^t|H>}_2Lv?`hXDBtm^=db3$+2F z`Byo>00A5%0Nh3ZN5KB%F*s^k<-g%El)?YLkOqaJ;4cXY&<4OPC>8umL;od(QGywz zhkuD_ke;A`DN6F9gfys80SZD2f|SJ14{{klKT3{*!t|H)2DLM&dQqzQmp%uD@ZWM8 zCD&039i{65WevDQiD}^80Lm34SWpmy8XDBfNKjsb()(|DjRcYaoeS83LK&s1K_L!Q z24qOk3lh}JNCA+&5x^lzg8vfTzia(VUjr==Faw=H_(AdfdyoO-6@q{cf!PqSMj+kt z3jx(YB2niI@-Ir7qr^9AcmXJIzzb>&fs*0B6gf(UBL#r!qKF?QBcR|Vgg`+_fD-#C zc@Go}@;d6gP*wV+_>n^3X$S#T0aZUr?<2vBi$nmG1x7UBkH8-a0RG1)`M(zVzyS6? zaA=qFM}8vdy;G`-ut)L+sv+XPIh54bNoYo@HL_mlaPKzE(SO5?`f-W$ehhSEgwMpd z>DR=}0WdK$wbjJ1bAIGDRQ0N1ddquY>elqh#q_36Q1;Qp$;np3<IU~@)4>jdyYpjQw|(d zGN*Kk%a}XrQg*I$no{LN4Hm>DW471rIjC+0RTgNc**`0=j5*Sj>i60;lsIz^p|#>x?8J@=AWaHNd(x zHd4f{)WmJ07^Ck;C7CfRVqWM`R zttKv+X0-r&%S(O0vgT3fdGN-qVW(QCSg7a3 z{nK2BM&oDi-7onQ*CpvWHUF8y{?KjzpfC+BJq1;XzbK4H0hqS6v-rY6E&9NNF%6IGh3J zY=C%h4-9QU8u}Fm^8)k)Y~V2n_aJ3~bORg{zyNAP(FFkcApHmelmQM~;BdefSUyM< z;QSCsH2}?_C<&OG0rw!4B7iv?6lDQ<5CTA1Ae{mA0JneC69|KJg{nJ1hae4sbOlfg z0YGP{dVzF@qG%}MKTylBnXiAS{ePOH0od{%g8P4Cjs}3Mf0Im50Q;{ebO4wGXa)dA z6l0*c;}<%jcmp*dgW`c-90Ni%iZTA?l3)0YA`cYUqsRi7z5%fo1??aqpcvrSybMSR z;0OvN3!o$rpixi@gh2B7MGPR%q1XY%e!$Z*&=xpf5Q0HQLUGWq*(GrD2=Id<#@`b; zKn#jHKq3Pf3#0%PYy84;(Az&IdO)59AFlm9979c9{z?4c!2j=wO;le}HFL81FDF4I zfhTtcw}3VSY(T?B0u2|K5CSLaZ9IUdEPN6k7U07>gpdI6B+krL-pbC#_V*!J444My zB;fnic_o}}9D!$k1bkYaR!+K15EwvXDs~(~^Uu^o@cW?wI7t8nhSk3xAwUqoE&PM4b^>t&7<#{74()z#d$!d^vsrw5Q}t6_ zLps~t-Z~wp{wBx%Pa(B#T{EVx^0qjb1sNguxsRC#RZKB(81T?+~7Lh;3lw49vuQqP_R<@_}IWcJkJACD*Rhg5a;sI_M zi+1qtH@3jIOXNvRJ=x3fG_6(!3T@nG#c;SB(>48e_fL1>mv?XBZI0SiP=6mg9#|(& zVKkienX+dzUohkjlOEX&KyksVt5lJ6tbEo`z ztR6GfeKduns|Cq?vhymR1i$fqRTt%5wU5q}DX2|Lu1qdip3u}Q!_n$Uca`VbSqFWn*mTTx*`C+Y0bSzDMeO>R_BG_N#G zLEIQyXWYTUnWpE}xkz3)y?pMm#4()>dr#t*)J9R&a)SBvV=5cg3(L1QbQ?qi6JEPS zxaPV7Ur#cAO4yb9fjR$RSK6oG{%9N7dBZdJ0hASzs>ggLeFUS=~&Um`UYg<4d!UQ8i5@v+m*{NIfuuT!qGtw z@?=NyO$u!!pm|awMN%8n8-ky|4DiWn$!}vHnrz4Tpo38vl9jP8W z)0^`JXF-(T$c&S?qsCi(**{$=&Uqud7pU5dVEXuD#kSmnq2$)tp4-Qh9^|zP{5BTX zNcTiz#^r1MZdl*QcvGS5-;NSp`BueRGKv#Bq6|+(Uw_8l`6}j`wO|sFcg+3sVB_S; z#B|gs?uN^T)}k+EAl}avi$na^mn58WH@wZi>~lVmIL7_S5Qr{%%tm*OhF)xUfL~GK zI!inx>~0#}ZF(gt`S4zS3}KbXRs9E#^dlzq!y1#I`vijiGCti@s|wZq5otV?Z*WF4 ztR1@$j<{``uX(rojJN51-U<8nV(OhCL&7#4*cVl|HrkxunqA8fq+eeqc8y=6ec0oN z&ih)X87o6V@!IPvWPDK$Cm6a1UW98uhO%#$y{f1$YO89rT8m%XR7oKIKJmrgp;T9G zv4ZQSo-!97_bpD|*f-zYSqe-$_dE=UgsWtGIai?N(mdu@)^4Hz?SITdF?q|x36=`}xJau$y*Trt!-n6*->K6}I!1i>$eer`HJ_?CAs1c4=@MgGQ#*$hGJ19A3OmYxj(0eR@urtTp~x z1JU(;NGSBB1aU#2F<<#$NtnnzyyS~pRYve#3Bn!B=tQ|!reozv`c#HTk{2IvN|b_uI*Eol*3+3B4aFVY+ zkyn?@z0QQEm4=BXc_E&EpQ=&ZDFbQ}XqB@a)o>Oq+;@jsD$VW5L)epe8*u&+<8Bpj zjD{DM2ycS`BqL8WZ1H|mi7ub&AKtlw!P(dAlKur-5Blq1`^?okdxqxA$3Q`VZu;O$ z6Z=TUq(3X3QAr%?q2gDj2YO*A5yY((x^@*iZnCPL-dXNT1zsy*Mes9+6f7hui|v$_ z>VTNpFNC{aFWx=~Ys($&c6P_pKzd$xAFC^^y;D;%IDf-O^ggc)Fgy$E91OCrvd4>? zl+hi}D`uylw$*x<;+Y(`Ck~>2owy4icvhe6$JK#Dv#I%2cY8ta>aGnDhIx~ul2no> ziu03;%G!oT$d5Y(Wk^{^J8O`W!~T&7#fGzKlE;;dhQ`S%n<-&Qpe(ZKNstUINT#3q zK2qRlClD?3oU_#HZ|B5?qd)%50It7-=$%eQ=%9Wp5+}0BXwOJ>d+xPb#ur1TzUT}s zi4kfb*ata7%zbgyQ0SBfrGn9XOdY7BT4LpFUQ#^eH!iq*1*MV=!(Lu(L4NFD!u*qUAbvANQp2b-R+jI=!5HFg$1yN;=)KCVpj(2BSTn!Jhd<<^eFc6xpz1Co6)AdD4l1gp1?B^H5C!JyJ&%5QmMM=N^zTu=!p=wb+B_v@SL1}L6r=N zDsLWy{SD8-h2wIt_3gjApn)NqTY*<|&Og}aa0U6mmgLiojfw>@&GtYMDv=FquO7I-CekWK^ z`7I4d>9jT8=8_CRq{=P3=L8fi;Q2w_qlEq?yC(p+QGJ0238{Ji7|f@}$8nwj|6SH7 zr0Q+=GZX6eICu$gI~vS}bju4`qyG3lSj|3lV{_>RG%UQ;`!~0IaRU6H=@H+P0DMX8 zK>_*;Z|!s=#ejL`xA-8Vg)u=nx4%h)Y{0y-TX+Br4Zp;m3_wYlTX@e!_t*>=sEAHf z+K@j;1|%$FmNp>*^#Y%i*A+~#K;QsA7<{B|}-21Nk@KwldA0_J>CWRMT=ST#ee(C?=%#Jq$FCrAg#OXIF= zT|O^am?{bn$^=>}TbD8CilT!g0f@kJ8u?;nslqf-L{KHLiblThr&>jkvWy8U2mnZ? zPEn)AYe)f4QKc?amM@GDB>|CxzJVYBufTnvDe#W^P&Gnzyf8t5M3h9HM4W`%IPV)u z!7dRqy37+|#uRuD`-0ej!hpnp%z(&%;(+9U?11Qi{DAm?biQ$c()`jeJ%AUW3%~`~ z0%!rU0DLGYC>{niNfB9e3g9qM9HEQ}Sbe z8CawKO`!}F-7^Cask|f%ssMtDZ^1z%fE%?JI?yw9kK7&;@UMLS^K9@0@+}oW3R<36 z=fwdKgwLD`(Ic@p1HPml%mppa0amZ(9Xm(_E#C@OkCbr^7O1rMUlAzrl{Prl((qLV zA}G5>17X>id`aB+eIIn9{>U060nDj+$Nhe$(|u?L2FlQVA%M!y?gLqjtDw21oxGz2 zPi1s3sH{z3sQDH5SO7xhx746dAYq||kbE>@iNsB@#7$|#k3q+`0s|m4^<_!?RrxIn z2*zdsS-B&B5D6eu?7S0<3S{i_`pFHoO9=2n#?A)6#$}!b>u~$YjlLTPZie^s3R04A zx14>-fqlv|>qs-}2-Ek9iv47U-4lJrhYW;winylM;rMeM!kMA>6BnSR))A$7HpYIE z%6@_YWF%s4gRn2=VJdc}0o6i=GX~2+BW#0VA!8qd>$4l5f_FIooQHKD2sUB-8GqVJ zw3u_UL@%^U1i@cb>G7pta1*G;GxSM5k1h-oOn7412@~uI@dzpK?SXh6QurD23hWJM zK0x>xVjI$(Yu-TE3t}7Goo`<0yCdW#l6$pj=R0Kq-gif^F2YmZ0=w^Z;9a<w|twVNl~FLRTeGG5Jd%v0%QP@;E1SG{}r!I)Th+eG}hD=G!@VV$k2^R5KfR?Cnqj1y%5;Q|B!hPooi zP+U-0P*hMbP<&8$P;^l64xyPLk^MN%*r##@X2M2b0Z6$o$OUu3e~}(&=Bb2<#O4CN zJ&?@jfBy~shCYv4(Ej}|>;vY*E=j@3_dLiqjQM8a{%^j}r#1yfUm|-#x*%=^t(_ClB1HYp~}>z|z#TC0`p;2GIb~H1tIc38F+GLjXMWbosoP2_dKx zc&vO{_8%{o2(<_m!V{J8Qk2pJF_LW2FwqRr2+;&j+2D};kc^NB2)XZt!Dr55A6LO- z!ZZc_U{XfVZ%ze6!c5@3un$JUOkkhTr)xj=etc&%4!tI7WO+t*nGOj2Oq(UTTwnAt z{5+m@^RmA_&slfpUmavavBx>_mr;)7=%X z;coivF_+*XzUIqZz)pLoG4Riu$3?wP5H?zgSKUtU-(6o%=R>gk);@RD?X*X&Ix7U{ zT#<{$aB{yjxAQKKM?2oNYwaZ(UA2zzOm}m{Kodkuemmy=G7Ch=PS096@pI|xL=H+l z0^I|h#H1`>;)dk#cVT$ z+$Aq|56;nZK0ME5ueRj_o5rqL-M01EE$q%+uU5P0iwe2nM_w(y%#~TLT&dhk+c6aw zw>$zn`;(2jhDKa&<_BXBz4`{nc0qFtyD)UkPF_1X%x2woiLt{A?``-lE)UX@ZiO-H zx_SFG{t^=_TTJV}WjG5Fgp0dBmgB2~ijVy^GS8vTHEcDDDQRlbw8jAE?6mE)b*6Ot zRkSPe7=9qYeU)}moEFrehsI>)B$TXYH`@KAvgh^=kPHy6^%K-TA$2$%flr3%$1JH0 z|8p{Us=IN)U`#M-!Zse;#Q$hE?#a5vMwxeUb(zU2^H)66HF8@r*$!{Hk*kZ)c@A5< z9o1;M*Uj+sa$F#!4g%&rmi@2roE3%7*{3@2r?y`?E87a6dgDBE@F!%4_#$c7rys2s zYjp-#26!OI`H$9wCP#q}K=2-HM<79GlOsb2{X+eVj-1Wa8`Q;~VZ^jicUnr9psZ=w zIQrkO&w;OB7%yK>V@<|_q+)>5)u#HWl?Vw{_3*3(gylcfs(X3~IH?CGo@>kFcO~&6 zDI$a)_(=mOJ)pH{?9^?;Bc>$%(YABks*-dTf(qN0$F;ohp~9M`7ZUs+htngHtJ|fn zrkDA>!Vv$O`}1$C6*!gZq<`K`1*%8w6$xtmzw>&8#12>$v$lX3hArcgZ*lp5(u0 zdpn{0j$+d42uWw6D(X>fRxcNpb-&FHVkD6gIaaomlWJI9+nCqMy8(cb?*r~bkj7)T zt`2sEpkYAd$dDXg!T0$B>lI~S7MFVXfmq}V3apJL4s2z>NjrTRaX;QSy~F1>QHid> z{Squ~Q}U#1Qx}te?6imY^rKmM(f<5$-pa|0^!CNf)cyV@qF1hpNu)w-+QYJ>>a*S* z9;K19hmJy?O;xqO;-?ZJoeiza0ntibo(9gs4>yS^x1q#UH{Sg#4v?;d=`qbqtg}TM z&5BdJ7Gh8y7sF0k*J2J=>SfV1{%f@~&C}3$U&@`+&+kR?EOW#hO}m1J5{2$;V#D++ z?a@Dvx3p52S~&98YkU0D=2!Pl_X=rU!Qu#@Nt%V;9N@tWp%87WzyQrr(IWojqYv6t zx<9R*S;8d5Ys6(WiSYR z))*Wjs)4eZrv)ocGpsN@Wo>+dou7;`ggMDa2pi4#BtPiJ${wUXH7;%p`;POLqIyu{ zr_m&s<04B4z+|RG9o?aimJX!nwh#b|qxzu3@g&C*D0w@>I>%P{t7i1(Y^->6X!%qE zg#LOzm{ferki&?viHYxdFhc!8k2%B?OGGcXbvl*B3s7s0J-bOubvo)lx7eBe_0TaQ zRNaFFkhNVx$y%BX;p7A$B*9sW8B+QGi(ZtA2c7`H*?J3o)HT+w?V z?(1!47}qq&wN;cJx=@BpLXKh>!?@#ohKaM;YzD4pNuIB*z&r&2;%M5H$ONn#a zSu{#Bi(lhdm!!Me*aA7n8R|mg`a{|3iifVUWVl=Ot<)OcUFuT6#9G>bm-cn7kxvnQWiG+<*d!t;py|@ zNFB?u?Gr0G+T2Ff?o@+?C2~;ymt>VizYI1oEzT7|6#K3c_WF|}HawBvkc#ZwhH^My zI#!tP@=h&Xz%&ZAXxcq_@NwZc3Peq20*@utrANUkyP&H2!~?1?{4*&N{vsuP_~f>VAhzECrf66wsTO&Dx8RKQR zZ9+hpLA?JV9VVl|W`Raqqu!R4g!3HwCMUv-S_E<8{Bf%+D(3)oXLfS5(^V6LhVsp; z2Vu!(0M;f`ZNZ0DixjBHt3mT)QQ}DZNH%;BE**_Xg(rDWd9V~f-2(XctP!|AY>xFG z+>hxohU+b7X|(>d{?s6woN&fqS-afB*yPmJ!T(_!a(gvNE??nXX8WS6Q6_r*t#V$Q zW0X*V9hvV=(Co*Fgz|I8$(3i-r^B5{k9+=aQ<*smIpZg6uKW;6k`?S1t=Ca(H4a-H=eSr4Wiwg~Be?8WTEC2mA@!>*EXCx~~&7{UK@E9RAbC>fMs0P68f{V4m)a1xB}mEKW3h0c20mrWkD}w$cr_lITjz{NLAO2?1hxv{#A>U> z^GwdfNDptAfd@^OQAgUtV_3pG7-bbDDq~vel#*fIj?_f?Sk4!o8*7A|(fsDG{2O&P zitj2ATByH>kq?FjUlB>30b0Ig5MG~s}Z%k5M1HLB-wVXr)2U%WR_y+dYjM zJhn1$_kxKTEduW|j??U$K|M1RxK8uU94BA?Q#NOjB04AoP>oL>c)YG^Vy_-E8`X0) z=k%TpST#Lf4idHtr_^2agy~sySUK$tWpqE}I9@2d%JhCCFfd7SoMLX?ZEt2U>NV#3 z;J$T)b@~u@%To350GBM!>!7?mvF5U=tk5V!rMlCf+p^dI7A*oHZvNiV4L>F$+&->k zamo`1?PCPK3s5#kE4)uyHcy1Xi|r{>57k;`R`Vw&JJU*B#3VupmNN`-JO8kxtiEF7 zoQv~$eZ`nHHx%zzEtVEgHgu3a&h;^|k*XXTvjH*>y31ZNWaPD!J`{iS2y)SzcJ6QB zWtHb_s#I!8P2!r8kqC8X+)Sd$sS34WEu%1KaNIF+=-^Rl|kv_YJ!x}jr6~wbluD#Amf>7^x;!cnA>)`Rn z=Hst!vwK}yL{*kXAU9*bqoGVnJnjJ-7LyS_8PS*ZnZgu6!7;y<_;|L_<#)tdjvCHn zEp5cH(zX8DW^*l7Sz8B!ZS&4?%z6q^{WdneyX4tp>rXEVZ_}Ia=I_c@zT#wX-lpC3 zyfT{M$T}fJhxlBu=-h$MFDR(XL0NXwa=6XRY`(G$G{4dH$D|@9MC{v_ivj1lwCi+{ zY&2clnGPC+c(@ppy^C2_?nl}@``98^3e1c*(D2m3n@e_#Xf7wsMU&$vbp6zJ-R3}5RzgHm5DyNDsS{bV~Jr^Okyb~eG-ia?ZSpRgJKEuKQ+72 z=`2Rpgav66mEcv>HrP|W;C`_!iN8*{DC)zXVtQ_-r%2SMts*3_f01ikf6D3)riF~2 zqF!IVS-hS?4elDZT~7^t^>mQ{eU4SC%J!gL-`(m0XXx8)Gft>w%i~*#VDGm~K{9`o zeiD{rb*d>_GM)V$W|$G3y-JEBl*E!iCaW5Y3GYa;fxg%stjetspH~aV)>HIj2hBa| zm=nwl?N{|^H8M=Q9L%=csgoJST4zRG)N#&8o!N@7#i_oc_KIQB)PLLX!#+b-YtW(< z7Kl#|Z3eVUS|xQa zi}0vv6SV_NiJEu_B1Nh0q&U9Ile`!^6_cJ;lf!BYV)H$f(^juZ8zVnOzwN?9N!pSN z8mQRuZrj;ncnNh;* zj(Up%*xn($d?LmhXxGE1T0O(vSBnlse&Qsvm%_}62;2`ETudq2&?&!1kyUEhmQm=Y zg$Py>`NTgqF%=iZw6g9B?~P@64C=PvbxO6c<0wae0uqunqw;a}+lv zw|B=ec6bB^DS{c&OtN2o6bjn8v(xctyaKYLObTLZ!>V#V2bb$jSLLbl0vEHO#N$c{ z%FYZ9YmdUgx8cE~HgmV8hD!F5B)Za~!0eqO7C#5w!24?tEWy@Nv@+r3(f#(cF_DM5 z{;IzZqXm42n(J;6JsjT&eGGfhK*~5>oHGowhHd#I*`6+zi1qV+7adIv1|_o-u<$V} z(1wmS_}i7%>oe8aBTH;-M5!sX16k!_Mt>cqux~8lh?EIh`0ZJ`vT>$a^aMH!((A)?COU<+UIcye+>Oc z$5^gL;W7g^~SG_bY+UH@0iAv4rVjUhjJULL1s;VDkWF9Bk*>7H6shhQs>&twD{Uu4xW&a zaT+%w5>@QX*(J@KXx@D!0^+FJ-xh44H4e_jN@KG+wWnqS@}8$l(4od9SCo~IGZF@; zPai?uFF=-LcsaCYE znmQkoDDEdM5AoK2e`HuRd5w-fRjAYgGIB&DN1@AS>njX}=umgNqkAwY;F^6b{Z)9Mpnx>0JYQKhUviK{$%ONv)o?)_5CO zsc|8~4L=K)VJ1ai;iFmGM4`*|mzllXn&;9{efjxI8^?9HJYEXrC%yT;*H>u=o{<(c zD-paxIHAvhiA_e^vR$ZC9=jY0OE%O4$7APy59zfcwmdP39gS(0DE4?RmU;_h4n-aY zkMAmst?3(WEb!R4T1kyqZ*M3t-v}!dV!SR*$>EhL(TYuvS65d5aZp|Yo0NiQ{REm5 z5=GFWo;Gc3(#Z}(|Jmp!y@rPLF-pTKKk7d}A~9f$x<1^aeMx zfoaX%%hJ77hQd-KPlDdvY)=xcdM4c-+Y;TP)Uy9^&99hg;h9Ask}O*Dn6BQSmA^jS z!hQ{7LoW``_Nf9UuqP(Vot2Qk(M`uRSAuQ+^v9Mk(?5rMakpYAHVW&--FO*rZRjt} zm%}Z(4DZ!se}MJlR>qv^(-*G7j%Jh+y*uBHl5|7HDUJQ{*MT4ElsUAM2z7=#9Y@wO z3%;7`KR0QF^e$^+s&YJ1_2uY?cOt8t^bxyYz5N*U zB7Mqsl?doJWZzp3px=bm4qmXdvI_mm*fm#=QaKM5+T%{%J4&~kh7Lcm?vUUS%7dyK zf(n)TWCyU9^8CB1DO^dr3jL|d@3Elnk1-(gA;Oe+ja-O1oz$+Dx z97M5f9Blz!PPTV3cgYJ!1m(es@+NZ=ISh6-EK+nK3zH3frW>orDzyj!3Bp3s&mwVo z%-a;yR)>p8wU*8_-z=)9sr8Uj9O5|UnJ0_sCkr1YUBef44rlAjD`UT8)#95jN1uWU zE2$cw))!!Wy9oV_QJoJuKEoad0|(zC-{Ck7>;8=~1kN$f+Wn?Nd-=cra6F-l7ey(A zS~;B>Y4Q3j^)=6(8|h`?a#C(q%ko8Cm4(DjHpQ9Z1$xaCV{vKb^LZa<^Tg>TmATl%gjneL)mDgdASRZ*S?da8vd%t0QuqpM6@ZIk`J$z~490+_SNBq?C zdE2$0K~~Dt-@{3TvTOSVMHtj!BkAW)^5>y{-a<)18$P0ZM^9Th+iqA4kFdYN@F1>J z?OyUZ$8ZjIG-~|NUhEzOi8ra)f?*v|{`Fpo7`a+H?5AKbC76F~GV15yrn29ATtNP3 zAZ7sC(RG<&ag-Gy0xqw-wo%>MzjD{dHXCH~r@Cj&NpIBKW^n;(Bt|_mx^FW;VXi_y zxF!}Q4ui3;ic4ES$(uWwC{m_7#9u?9LPtPg=qt-j=QUG3Lm zU`>Hf#^)gK{&~wWoQ?79Ug~(6N(Y7uRJAF_u)^Uu9zjR0*6qS*!sw|Dvtqg3h`Jj+ z@!ykymRXgLi;poLIVv^QkT98y&s{uPbLeWisf=Wps$*`9gL--fj|zQ4cq-`T5*n0d zng};w#W;bWe^HW7Y6jY3gKDR!P00;r@09ta!mh;x~68AEm%x+C)fR zg=Ym!AeH^tZQj?E(mQ51`?QqB6qA$EbnP4$jRb3HPV~P6pZba#NVq#YTYX%aS-y(m zax(qv3@J@@Dpe_wQ#p>_(Fh$XTrDrACs8~VjJU{ZSoC6iIu-j>Y&|xX+ahK#9=ZKH zKXPdQE}!vC(icmbxo2MqhAvyPR5=8O@{Jwb9^Y-x%N-{^XHH4*sql1VJuM36Dss@^ zz1~Lzm}(wbgj*1LA9sH|Dr!)QNTeN2KSCYyu^DDrA|cF*4IU=oE8@$avO0Mk1!Rk! z`qS`sx(T_!{Y=rpHeozz`uKw;wRHB_r}hX8Mp@()u1o3Dqbc7$)p5FIwr7U3>Nbx`Ed*;>`ykfg zo|DTDG&+BE61i<|WeY#^&b(sax-t z@Va35`}9$|=dVcF53RfLgIIQN9z95|0DHb^OP{Nk&xQlm(y>_g2Z3~#EPW?NnHz-0 zZe}{nQbE*aDBRliYaDAoy&$0V^zDJ#nY-DvvvV^?#FBQ7 zr?u3!HiCg^O%s7t#c-r~lLm1D+Ci|ql8Ff4#{|omk+`0c>PUAL-=0}1U1{zzNTPTl zvfFAfPRH^+#=aEJkGo_#dCNe8hdj~pX=eR)-Nq8p0-}C2H_9k!ToA>sHyIv4`>DI& zfzYf`0;i5iPAPU7(20FWhAqR*?MXGXHB)8($C%mjWF0*16^Cp()ulV6H}<|`)O(`i z@NQ2i&SmxN=%*NZBrvQ|mcoSIq*;>1A2&TN@(_2o38usv&zUEVu~27!4r6FsNd?ps&qCUeyvl(A<@vlUBzwZcqllS+sTeu4bUXjbQgE?EG@M%Gw z;&BcZP@NKtt={joHH&Fjvka_e*N>toA}n-TG`EM#YJk)njA{km9^^0bsj9RFv{ceZ z*4acF3(~|*Tj^ZcQJi)C?(bsYE&QL77->^0_I+*8}9iC8i;h&s4&X=A)W zOC(!U+D>}AP+bcp-*`(Oq*Bcw)jl_=SEihb6*41X#QjR7ki(=5O?ln3xl22i?gJ${ zD&ve)iqXpH@Mk$!lrlBJkiTsuS!Wug@mh1pv|DJ_J&LVUCkv8L@Q#^sM99!5TJ_J_?{d5(1<2wVL zoQ>}-KfXhWDPbMLfa0rJlel#wyDfB(4nV58BUWzEE!sUY7jy`3=!P@K=CVGK_ranJ zkPfv+4SSkKaWb?VM_@#bc(2$(gM#GVeowjM%;N~xY8@ZDS+>C!KdN>UW$x0J{{&`U zdt>q!QO+RBi6m5iy;ZlypryzA53j8|+%VWq>jt=EXxg%Qw*p^Qm@kQ{H zkjFR9l%W=XyG$8-DV?3}mbh+HBqKTL?U2Jsyr&9-+o*}|Bxar zV)m9#3R^HsnTi$EWBnMxU`>wa_whUz$wAAzB;KJv`r}%=RS+;%^60=aJNggYRAh#DxmiL$Bwz*FPc*h)0V6kRz zXzUY(*5wS-9V|ACI-~{rrhuUTB=`I_YpM{ai{QiOlH<^g47qosCdA5F3jKj>`(uyT zI}`gMO&kp=TOn+WfMthnS_zS{%8xa0A6v=HcsvV=6Swl_xXF12F*n=&SM~YG9bn=1O+fGSl zY??fG{J-^opf#rtF{39xd)^*|bV9?Bi&`HF{K0ny^3A)tBW=da9&;et&4uvvm6gp~ zQci>-TSkl_0@_?hh~3!gB{w$yT@7zwrE?-}MNc^V*C1=A zwmf-m#F9OfZl|%i3`gU8fG!kUd*-QT6SjRgk7R~19Q0Rv=eh z5(6%qv5hWkB1)TF1!fTwv`J_~N}7*P$jnPU3nuF>r;`T}5%t{#TKQI|=LjPFeeSq`daS6;>hSzP-es`0 z8)vn#>?5I5$DPasPU>D&o-%qV(8^`q9nWT+J&hThFV}iYoE6ojDc7{RRJC7U@<=3x ztCefg=dR&+tgWtcBZ7`F6uHijH4D{z?y#QRp|8M;e+3^qEG zUXxks3x*G96e+LL@V(N06A?K^u43`>^cvt?*DiLPBqMl-Dc%XUsUA}-liZp05&;Lt~m8(Oh_ zGx|l0d6P{5)Jmn$3n=09$iW^#rub2XM6py4Wo5V<{RA6;M|7n|n^uh5Nlr<4e;vg( zYasLHr&YX6A+V>>14C8c*SZ!_>RZ2p&MAXq=I(2ervu(rE}ELrSY`8>71Cx=&R|C; zJ>75K27c#be{G*Uyjwv(3x$_z4=b$^84hIuie*tN3K*HhaDellsHu&nGiM5YB~EkJ z*>Xec-7uY+3zc^s$JtvdGaFzx&iLS;h0BLzV;j`G=la-$U~}I?{xT+ao2|EwHOYUem5AJBUA?dJ{pp~ zi)$EqIo5an(a*r`ggs(BKf&9@$Wzf|!Cb}jh&a&3NZ>`cSv*(gaBDATZHd~Iec<1^ zS|`om=Jc>bQ7XVQ^V^8-rlo?Tw~b<=xniOFwTV{TEC-CJv8`Ug(pF@}0A~C}(&6K~ zIPTBfB1q*^ChVXwf<@U8r5J89fhqaggIU%pz5Kk$q&JlxwD*=-DJjI^)bG$Qs7)Mw zAYL+_4U}P5xAh}9yb|sQN^yCUcs}zK*6&c{p}Kvu?c!GKXR`omdenA4a}=1J2a{U{ zfkXUvKabHp$Ud%*%S_CAkvv~M{N@+1eDG#edD~R{^wPYqxhA7s6TC*mf0(i{-9AbjAE&w1WC@eu>@L9wxI-DE~=pfMJ`F3 zaOjSoes1KBI_<D z+Fd7FH_Ft5+0|vxQXxhDY0mnB_{kCH;bCe}3qs{VzAXQK@iXTKV*JmZ zACgG%7pilCCbTU}E8>3P@rS=O4Qp+Xb%{M5W?pAq>M7xGz~Y`5uIA{y!?!|@0Mppa zVw3I2fm0!8Pk2DTre27JjuCy-ch~(G0imAVfzpi$wx^t+0WmqU$~mBz7L^E&}x1KA&G{YoX#buNyde&pEiQlx0kUSjX9RKl#qE zvQ4sNf@TJ*4>z<42b!2ib-0bZOVM7&PRuYZkXf~^Ty?m&cgHXMh*ipA9@{e0-+wi6 z=pt|;zRC#{@8k&=qiGBoABZCp$S1XDV?Br`5_^08P9hlCxXp2iCslgkJwlDV7Qq2m z3^GXd`Gb~H7siN`@@>g2*%;9LiKfUv#F$pe1NZ9uFoZR&m>ZT@nYvECsy*na%+i#8 zh^yGMj!GHCAo4N=kN>M94gJDZ6ti81;THp1b4Dud(U>7={3E=Lfjgv zUN(!o(evu`TK2iaX&TL4hm-b$BA7K}3JO&~{KS*A()`wJ(ET%PQ>2#t((Cn*MI$u+ z2HTVx|5>rd{9g(mq_su_<)+DE556PJxS)&Zr05WR7PFDclYG27s=mt?p%XdC>#>*l zk#vEDrCsJ^;3l9*<1RZUj5-?6jbY|>`hxFcvVX||2(u@tn^aFD@d0;$NC zQ9iAq(@onZiLgfkgX4)dhh&COSPD<;r{#Oip3yD367DEW8#8{tfSK*j1NMqYQpl9X z+`=a)Fzh7u-BL?c8?#tHIJohL_Nb9~oVBBeZ1Gk1l9y#FCf9;UuhJvgzyeHc9xR;3W_T920jl&z3+qZdgM zHx{c(JIT5SCQAH=OKklK)rX{aKHKT}n9M@BfneW9Qu9i2;NJO3yLxc<CxklbALGf?$~cjQ9sR!O$P2XOs-*7Ntb50ej03U`#CxL z=7xlyV%P19!P)(+AF(_^`ri4_Pa)``<0QUh=)-!T+rxGwpTW&5#z<(TWj|Df`4|vI?iFv(A;vySUy5eJHNovyqSybhk^^f_(^cCP6=c2Xh^;xqO=$O)sGIM{nBIsKER+k6$wYql{k>HhdrB~i}acIugSkye|%`+ zhs9}zo&?94x`uVYe%yS8@sbvD>im?0P7L~6EN*SPV?&2or<17Hd)_iKs1a5#Zc6^1 z^)>j^;V-qYkO&8N_C-yu8jt!HarY+S6>o{hI=cd5h94)Ar^SK4G3alWyU<~KQ8>CZ z+?kE3|4#6=5#@%EUY)yPksYAOXDr;pyjG<1b zeF_9{hzMbpiTU}?oL2{p^TJ_vdp!v~j6*1ll#k0|X+C{D;x}Eys`47wBe^MI%VHx~~obms&3|N^t{|QF_ z+cMzc;r>s$?#kcCUu~@QYr1!Ht=eEU)nY;`nqeZ%-e+t|B8|&F!ol9u1eO(+IgA`d z6jxMRR37XHCmc;=a}T|NGtrD4lTET{kb|tQY**N`jM1XIl1#Rv%)M-T4?Fm4Zf8=D zNL$|yQUA`n_?p}GbY^F>|49y;)v>H3Hc5$uA4;rmy*6&8_#P#nripX2?TUEY@qZeC$8tPN(}PD_A6TMtF7a)XuomGoO`e#+l} znJJ8)H8@b=eGbNYyYb3@UBXI?6644SwqQ_0MM))+WJQ~a z-t;*IJp#{-U}r{ACm*a1+=QBPBMP(2X4P(&my4ALoozDZgrf8l5{4BYSl{Bt|B~-2 zpkxSp6;P&#>iup`>JLgtI}UVas~fObj~0wY+NXXp=HpE{(Ar0P0G)+&&vQQT`(g`( zT}$dMP{R%x&GWQixoQ^MmCGgm9oZAL?&Qv~$K%zH`wQ(lAC!sI6Ok8+COIBNXaI5) zm7DLKU!7a1CuRZ}hH_fI;pUYc%*RXZ{dIv=ip;Dg3Fsb2SH{(qI>qiHWXSrJacNUh z;28YciE(^{?+d5>Yo6FP&#@5vpZ61h&ZkRA~fbytTsRDQv*4x#=P(LV$qV5 zCc<@1F*KDd77Fqec_@7w^g<>VX6czYmhqT zDx}w=!l77sJ`0UqKg4V+#B$b%tYwz&2r(0PA>RzfEil?O8QHJJk~R;ctW*@GqAvW_@@ElD72q(JfvTO?7HRW z1H{gdC658bIRWY3@N)fmaO63^Ou?sE2wlEBCDYnOa)EOBv4%^t16g2mm(5&f{y%_DuFfT1_hPR<)wR}61FHv&yyDf*} zYZvL{CYl2M5cxO!Kwo!n62M+ix(5bBsG08NM@=Dp%u?99St}lF&TZ4Hkc+E{*uGCCl zc`lOkJ!juHzQ2B_8i8?BE>pvkN#}}7FllpekKbw3#6Kr-u_ms+Zi|IO8xJM^v_{D@ z6kO(#V6w)2@c?!@|Tm`sOxle2URc(L=|II ztQMAWU0&j$++62cn(?LJ#PIKo^Zg8ZuXY7l)dEcsa?=@QBI4b z*!%R?abTHCzN~6nfH#Q)pCP9_?h(6e>Y-21Q}IOjO#~)lHkK_Ytk32rZ{xM6sjXr# z$QY_Du7cj(+8Nf}G?u!b6x=`uklHM6cUn^KFtmuTO`OTIN5a{_GzOC8CoEF(%Gq78 zm4@|u3vaUF(w!0f{vr)~%p&2cc;rSON^YejX!Z672y<_FWB4X`C!p6hhM2QpK!o}S zOTkH(n*+?uzgkgw`KavoGOu{EI-_JG`~RTro`Pcw|98R1$&PJzY}@9JZQJ&aZDYsT zv27hwtf*}~D zOU~}*j0+eVYH_t_>FP*vHuJCYLB&6;Vr(#Ur+1qk%=JaUNtiaJKJ@`fLk;n}pBtyd zF4_s3cK^zAil+$G?U|+G_5E!X!*&flZCkqffr%&rlv%AgOOMTH-NyWDsL@G5ajWLS zPm+m30c*=7oSLMwn*z*x_Ac>BW0;%eA(p5~=eCcLtMCdaBF@l}u z;C!BQ2Qo%zucyA8#j25^t`4gSCML3`@Y__21p*Rx_XZbzcMSo&$`m&lMmPgSFzl7yPUd zPIzf_lldqvkaFGxszpsiPEwZnzKzNM@B@S??$;%Rj3j9#?BgE4;376G7jOP*fvDDk z9iX~N7R1Ots0vln+cThr!pNQw(?U?TQ44CwsZw)hu3-p=-BrkyGv{Ue^LPX+v=NgZ zM)+bOoaqBH8(76KkM+EPq(?5EN3wMPTj*m`K0mm4!C2lIh}qOrgTlnMcC^&DdwPo` zst21We#-UxV0;Y7UMR}zXl$Ldahdr*4d+tFgM`vAM)#b+Clfbg0W)aGg>l!eoyadx zGpqj@NT&~basQiX%MK6KY>xuMy$Q+m6h*m`p(|CoG7e=rhkxS=CfpyC;1|C-th6u* zHo9=#zY?O~SwSD%0+E}m4`w9Vhb^E?cyEu z6Y4~Nz2Z^vSMfwb)Dr?y0<06^#BGLoKT-m;6Fbr^+Ib!E4$0z9@ebKyUh#FxdHqE9 z$fo33gWSgT9L7&%V4P0Xd7KWc|1}YEZ=!-9y#0zTRKp1mv4(+-S#6K|(?c9yOD6sF z172X&28iiJS*9LuheLFcVdcZ>4ke%&mppjB@WAKjPLkxvdW_w7v{~_sa>tg6w6$ zFW4KTziLl^JCRgKG?%>&-CFAO+edm1*VvnUV$}^4GIrxg4ftJbFKS-HDceZj{5}mo z{Lr`-xdX5GMM5(G^u8YoafZ!(uqI&LiqQv}u*Mhz4V!vNow6@APUs!r1Hv%>-b@R0 zJpRp2>&?&B)bAC7zd2e8hSdAb&)OlcYDagE7?-zTSJJ&^h^tsBscV`l!4cHwJ5T&L zKYVK9@OcN-lNPE)+DmHvBjWHO`gIs^^7-hYcRzKkv-r~L$W#m$em|TuJ#nHZ&f}4& zKZDICld26!re$jqs}RnZ2Ohg7YVTB+E?R=h%$}ui&c3DQNlK;)F3>JX$yYwW&4QUF z5vp%X?c@g_^OtoQ1Sr3#6!S*%w`FjiYU!3WPY`IsnJnOvo7>Ha5IiE6fQ<`92w4VR z!-O~(B3-42;swW&$9_sUm^c-6&Mg5s*74|LM!z%ibU^F0p7tw}KixJde3X@}$5t@)7%FIEkeY`}R0Me98_6MJXLY$F`xvz)Z+o zOCSCCa9}ZDt@gAosO4Z&$(%KeP<{W73j`kQ6};qCbMD)396E;fHve#Fw!=o*4w7HZ zt{e2Kq$lqhBX2Qx3APhyvlF8N{gWp#~J z`nUVTsln?QbN=sZWA`9+fB$fQe7LIo6;oTt%|Do~xPRy*EX0F@qHu8aa3xM85R?#j z5VQ~g2yh5~2zm$%2yzHW2pkA%h#$RNA3t9&?rlyq7J7g7Ci!!J{JV$yems0Mzat+& z=||zm^D%W_e!sFXx?mtjB(sx9s6ZsQle?WxD7%xko!!IUP1()cP20`7m3}GjQNp{B zp8qZ^Fcxr1?fm}4matI*UIr1WgsxVAvTe$77G=gl02?l%^m~i2dJjO%!G|Z#Od&B0 zyF?BHDN5l|!d?8w#LSF+PIJGiUck6%DKEB9O#vpVitp?>H28W3_Y~0k>>=7s0u>oW zRa0aA$2$Aultxgas%T%=O>e1(^UhnjgjI!zE@u3o>(RTWbFzL$!x+<|Jkp-MFTC`JAY863uV@>8W$s?6}EFra6I>=9_j61`@AqY9p7XrYT9xv~gS1)3NB z2Ru_aewr%_=YA=b_u51=7E4QSZg!YRL+vy}4mMsOic%xh6bW}5za{UsueUoW-l1PDaY@I&e{tQaz1H=t>#x23UAA!hGN!O z9U|yR+qD*Q?qZW^V1bIqB^ZHkW*AdHo|UzpAx!Zvs$119bq=qxNd}X!E*_EZyX7mr=&-HQ@-+1MPay2HtP3)1vy4keBuENbCF8o+h*ujkPiG!whM{Was zcQ&P;oqU9}cKqkN{KJxHg!Dx#I@ITT(NTr4XEncI3`!z)WDAYe3Z-DU&*kj%=^N3Q ztlK1=iE|=DGFY_?rCV{oD7Q$BUv{<0XVX>iEr7eZ3T(30CTuWFdUj{_pZTRZ z2JZ{?jwO=4X3;fVs5oywupV5hCOl_d3l^~&fW>JE20R%rhZW00BYLy5DQl~<`)$uz z^QTB2EvA=|m9{1HO0N|#2Fm$SN950p#QjG1)j95!_#B-VmIL-j$W8_#E+us6NplT@ zzEXRKTm;p;lbKY6o$h$>2Nl0RyCA+^#7CPTW-!=*WHNAyGY+G7+ZWfHwkZDTGA>e> z6Mee4)gTsb%@H}Hg++8wUP2@7i3Q_QbQPv=!W%)UdNvecn6?Ut2xWA`B(Q4U%^u_e zk3xq>nHtOdFK69?$r7x!i16ulGw&-;y&0LWLt)jQxuN!r9E2-xI;X5}dcXBNkr@ME zv%fB)a#Cbhf>KrrX7=l1pqiT=?FE2Z!5)%D=ItRZT1JyBm2+6JbHf<;(4>QNmKsvk z_AsaJ+@+yhkFeI691hG8YsOx4B!6E74Tm2+YROJmb*i=Cv=D3}*TkbEyPC|H@31T0 z{h5Vz$gV79D;Rs$6ssoKWY}7g2BHI|qVY?r5t*KwI21+82gspLc%#ogASg60haF1S$~4+pHR@$s>xN;tI`0Lb*_B+nPteSPqCxq`)4` zg@9empXi1{0ct2MNt|vQ!O3TjkJ4Las6hsMT#K7R2h!oo*$maYSX<933#Urlk2^a0 zHWbqvZBUMFNN^_}QU|9+j^@NjVwNVs7MeI=b+N1n1=1-X zeKV8Rhgun#qe&StA)1KRH3#`MH&AxB4jfIRzNf*-5qMDZKEpB zO;c!H4nd1jVaDbQ#RPNl4Ac-NXs3SD>8J%6H#5NLsbTPDl@+Gq3hGrbP*d|~Q5g}i zvky08Qfr2WofhutOf)LX551;hw{h1^7iBie!67jLpDonP zq2+*_EQa&&T*zk6#2Ersf!?|mD~}0*Gp^|SAP(!P_tmSp+^AVDMOa9djTB8aChJWW z*pewVv;i7E4R@$oi{jew&QH9wmS`+{zNhxYL$edSv$I;g<;wtG{j++S!^~02-j=I- z?Xk319gdjGvcd*WsdNxRjItkojNy{>XE3A2Mm$hIow0NF9W}$2x=Dy<&Te} zjK`yy-Pi)PB(**mD${KuQ!kP%ZjAgjUr2#Ue)_){aE|Hnw9(7{LOa-N_iUHW7h5p= z;%Ha`)ocEhvnIBC2MtyzDkheQ8Jpe4Sy+>4R>^DsZtJ3Ek#DzgDh>!t`#b+Sc^Oti zu50FI7hF?pzL2#&N3oHsH*rXMPVJ6pf1>YaX;wb&=k^u2Yoylov^(>3?M|An|9ih6 znlTJBo`Z->NWCPm{O%s^FQr<(foc6$!}<|zBg#w(3Lh38%`v?c#;+q~Lk_I@(7(>I zg+oa3r?h=YwN$i4RQVDH40HLm+LB~ybLSY~WoURIzr{ns|(v>N8xSckOdcbh&cWz87{CU`y?4VcU?Sn2mO>a8^I0^QBFWTf3Ve z_Mm7mkOxV>|L6i}8l^w5-zFMA2#E zLubXt)DrH`%K+dh8Xu%}#oE3e`Sgo&I%D(($VwXsrO*VprLLqm|2Bl?62d1-pc60L zkcbwcilTbZ^7{(bVA$wJeth~g?CR=jmUw%>;0!pg06uo|nrXWjNgpPB^aCPCZa+2Y#iYt9)U-g3gPe=;)R zF}Rx8Gw8;6$FGZJQ+Tomlc7>x@R8QDbP*bzx9m{NFpkxyA71$idFKL{v>B=mG5PMI zDC^~iNNWQyog5JLW3^NjIy`PpYi(c0DtQe$Yp?2`ar{hv*RmhN)?V6aBISx(pDY>( z-jxz?+~w73AL8`{Y_yElRFR!QORcuKg0(9_{GN=hSXbl9bR^;A@Ugmra4#?h$JcA7swhF2wCs%!TNr?!Y#CSbF}5`C^?M`^-MDLbyMXz8YUoGSClZM zraabcQ)&z0u9XcaOB^@;u>C@Y?Yi2_U8W4mRF}e4Mz?Xzq>ahGXbYRh7K4t}JSUz^ zWvnit(zLae65PQ(joye+@)W+Iq2d(VnnRdlY~m)U(tUZYXZ5UM*mp^7#?vg9sSC;?w#^aAM}8X_ zc884R#9FfM!$Z%DsH)DeFhORKT5UNRe8@MoL zRMNt-5*tcS?ScptmQ6xG#&3{fp_7Gy&ZOY5WA8$UFr5mgD##W3Sdue7?af?Ov*}z3NQTmi}OI z8)EO+hLZD?pppF40CD^04HY|B0DUaoJogqzOB4w6R$`GR$I*3u4VEt2X( zY0uYT(X_nY>m58Dm~NikJ-^>Pw#*%lh^`9Lvlpimhp>8V=_;Mu5qyyJKZNqyy~QQ{ zDps3|1?G3OQF~aMop*$U$R~VFR^rZDFWTJBLQSSU%Np(SOSw)dwts?q^1k)6FlIcu z%YZ=<5YQp~q{vX70K<|Ugj}CoT>43IstB$gqeUkVw`nq`g-1{qzW~L?;kPY%SaHp7 z1F#TF_hX7|gz9JU;}DDV?PEq>+zM0~)J(VE*1szDCNx>oBc@ zB7V>sqGwYT+47&&R6~z;ycWue-aCipE`wuMR`E(;SN$<9_u{El)Ss1W?^D>Qtirn7 zSEvWs2&t3^W2&eE>Otmiea_6;GdQv;QXfEm6D73^=XJLfEJ{zfCR2_)uZjp|M3 zZh(zn5m8I17B5h?BDlJxG;2DL1}tM3{fqc650BPY+f29&JKO!RuTi%4?QLhrUl{LP zH#9(T?wEZHEh_rKD**&W?+=0?C8@Ef!30Ue-;Y-tUi114N;J%FRP}^6&k{6Qs#H_C zQrfyBW^PfTF$TGG=#o8APL`sR@7?kgwVhy%b^WERUy%eQ00T`-J3IHod=wIHkAI~O zT2?zF%X({~jFX_rD-}n=mAG?XV+Beo+ANt=;v_KxM%P1xhl9;=*WZ5={N(MXObgW+ z)mE+4FCFWWe?YTnELECL8Qo=AcsKguqT5~eFWoy;aE)pOP~ID9*Y_&8N#_K(iEryh z;u*<)%9*DfCZ6&+ds64Qf*ThuEMAN&sMdv8RGIB`1RkeDyCC%PCAIiM9 z3R&|%)K6{;=R)eKyb=&>aYAtYbE)JJU6*yc8c6Oa>`9AgmLI%p7*R#Epn>JuP&D}L zQqQq79Yk%1SJ%VAU9h&;r>-^BYP!FhSO+vp2ApW#xHLi)HAVb^@L|}|IVM>BvBs@w zmV7MPzI_8*i_13$7(yETk(GYUhE&6q%;$cPIzfS^acUPARl#7TP?g`=X~8mQhwVZ= zVB%KO!L#Cs+8q1vGtYckk`x|B!d|Rh3mwvXopw4~ZO-j20pTd$Gtb+oGU0B+nK6p7 zewpXTt`aMs^mNb+{?}3Jxlh*aAb+$vC7n(D{e!&}x*2_YWtC zh|aWCF)rMh%j>K4(sn}(<>`Wqd>|FaWnuVnzk9$+P^EW}s0r=in#a^FeOL1LV~ZwbX8M0$2857>F0rm`{ z92L3l=v)+NZGEU*hj(86^$Y3Pu4Z-3f&=Ny^~{;Jft6&2xGs?k6uGF$!}Ey-7tVdt zRcV(`l`hl9+*eLFTxZ?FX&VtbNqJObiSRm?OXE!(r7I^_wF}RrnFBa<4_Swm%PUU~ z*7WG5q&0|c)dQz-yJ13s6b)=iYu(m!5u^kG&6mo}02* z_kULzt>#uWYCb2jIlpM`4%Es|;}V>f#>IN`w7$+5xBa~p78bJ&JU_f;zV_hQ&o1RY zkHaSjv1TM#K9U}0JrLFMYmatBk$r?GD7|oOxXoE`tp1TX%uCvt#j$jp!(18if$}i* z`&5OtLIyKOFTr(cG;=ZN9K0u*S+KOqkJDyS!I2X+rF!+8b*g5hOrt>a&>|MT9wNpe zH0r8lLJCq|k{jj;S5AQnww%w}q!G05MN)F`3D)~h89EOGQ)$PcY9jI)@T!o`RbBAP1Pk%Oo*5SI-A9ZrC*&!>G{psCkVbLxx z`VwwqnS1Bj&f~H?llE~7=H=pqQ~Bs;w*o$qt)0iVn5I)XA;+Ru$6}IYR{MHv#=kyE zgqO7zrKzTNn5o83a^QOxtVDGFmJV*8_%7p&>ZH>96_s?N>XZ}7%lzQeLz@W-7|)*s3N_0B0ws`b*9bm+%1Q;Z14fb@Smo5(u1yvoj8c%(Zh+FYu*B7=XvAqYC1_U{@MPlU`%*rFWxbYbt>m!zMS_4Wmx%&1~$h z8dr%v?i}oG^7Deb1CzD%sR9;lLEYt@C-n*{i5zOuXMcKHJo+LzriMwjK;2D*R2__j-_Yp&m3&&;44sC)PWmj7sZ zdCrY&xz#x_d*$4>M+?f?SyR&);P(4;^2lh)zZ;VVtV%G->N@Qq;eJsWmsX^0ea1VyJfr*<($K;UuMEo~r5dSFopIsISsmtFdUA zl&^^OC}Hr@`)BXDlE>8fyJs8$MajO_7eD+Frk~bJ^W=>eVp! zBk3k>wTwILYz^E!f8rjx`plGDKt8kNZZ_Rr_Ot20vR{Vc3Ru|dc%9_^sZb90#g6K} z`4F*&kMPegR99)$!2QYMO};nMvA=pnC7{DtI1ygx!MiA$b<5MEDH?8h{9m<`t8XT*mA5=itx`80KH9m^F+yQEp^3Lx;_>QU1JSsi>#AoqIrkGuL`PB<~vR)pLK-`X1jWr0M z5)WdFS(cs2M}OFqONc2x$m$|cn9@FF5YsqnETa)JS+(N^#vhKX-yU=5E@24 zGl1WcZ*)qsNJlNMKZdg?6kEV>YF(V{i?Bx|if~K1NbZF)Ksj_9OEx>Ig!RF7TJ#y= zn{Zeviea2DupqfxbglGE<%_<}tEiAK&)s{tC1{E;I$!v20IRn{X6M~cm7i?I7zJxqfjSrEi5wa@`H?+dDdliT-ytOx#It=|7xJMjMo#{6%^z;8k8zbQxm zX$G>f{@*kMnZISg|5G{Q{LkC}-VFR-C`bQ8Gw}ba9Q{XU{;$f>f6}DJGO6@e;wIsW>q)voO3|rga z@;}fbB0my@i2Hv?HN=|9F-M{iNB$s#NB~^PrM= z@VTr9lcW)BUaNB1eoc6$w-lU2$>rv?M3l{sR=1YB-raIE%ytrQ_uUoW;RtF(3Z9kZ>QkmR8oro=&1CBVFZ-I8_DgRuj5E5crM zCVyoPwFznU_p$#y@+$+b#7rU9tj+P)VBS6Xcr&n%NSMY{+;Xoma^WOgXe8wiHFvA< zcm+)ESSB)s02k#|@Vy>tKnPR!}+24 zy6fUP8+%v;X-R@B6l@7|+6!MTQYp;(AK^&5>8DI}unFz13uH0opqA_|-M~yvGoc;G zT1ZQNwI$yB28eHC4(TX|%t^H+@B2m|gK&D`Z%eEWxzA08gYzIjy37dyapxSNW#+^j z2C9ja%VPoUoZ77QO1{mU+ZVIj7THGpH3b7bZ2l-h(RkSoU0CfRTqAESk`qVp zV?(S($DI^Zl@GhT#bx_4-trCq_CLJDUs2Q=w#g4t)0@y1^PRKq#2)SE`0|@zZu#$W zv6iQm${#cPKbOV>#?4;aETYUW)09JgXTO=fBiC~!fWBK z@KjZk`J3Rvu9}`TD;pQ@w6rwIZNb{6qLPMod;<3N&bhHDvC8q=Dn^5BRH|LDUZg1r zI$|2PgXKhm3NH#CjIwMiA&)N}6ir}eBR6s6g3+3?$YaIFPx%R#>t_x-t?M+MN$qWJ zeJe)?VWVWHZ(m1^k1w!>jTpE4vgOz3U<>~Q9j+kTrLq@Qmck@LiXKE8BwwQz+i%2& zZHsHa-C`ZEU_>get{2s2$Xh`QU5T_MR;%$!t9a0rkW zod~mVdtztz7A^3nMq-zG!c}L7uPpI_)JSG2ItvE0k3Q`%QRI^c{}^nzZYT)#8+=FB zZOU_4@BPX$VrIri;zS%}{0N4t=k8%RA;cL6`-jihPKWD5sr`DqH>_3wv^ZnsY^_zlkeU6)p_Oz$254 zYXm&%JDW1{vUt51a*1VCSSfyPwT!cOc}O!cVl^>-Nc_c$gARW={+m=%34=(#Lu7AT z?47;9nPUx+gqw7>&Zevha)g8+LavU+?)rp)6~YO>G4OB?0fb57(B$t_=n(6%U0r61 zfl43OK)_;SPjZILenjG!2TSq^?R<+XOp0uklnLGrCND#ONOp$j#m!eLlz)3mtHwrz z_f8M=tATm+5*;k}S2PG{bMO+hDyd__55VhTAoDA7#aO(^XG((5}P#0-TU-3S>D?!=X=&!dHqWP%XL#J(G_~J$6}zAbR`L3)-52JS{p#T zK{;+u811(!rkjtd`OB1raSq3b^c3D7rrh`{wG~lQ@@SVwV1JdnL)qM7OYSl)Gxsl* zjXg%hF@wAfs;>VqB%Qr7C6}axGMWAe-`*@d_>Fz{aqVqvYVa083E3N2RU5;OprdDA z8CI_mr%R{JiwYk-XzDF|gyNB5O)yF3VrQ1Ets-j^u-Rc7;OTBqtwCd>uw%9@JEozf z$ZMacl9vwGQ|eC^Q+q)uy=!AJbHz&|6ytM|)1!pwf)M=h0nl>%-oTEW)0r}nsGB5> zDx5^@aT*vR!L#GT7CNhcQYJE1?GdQ6@U#h*>Njt+NfLqu@d?Le6?zI`?FYs=lIl=e?Ltd#1( zg$L(lq6&X5{s=a@Rxwoc14frq-|naN*GEQj`xPW_FMNXVP58^UV&J!$*v%~ghZ!_YzTqNtXzc- zU2lKxenPy=_bh!Ral;Lkk?SH%{k$rVNn)fq-f{SWCF_UQ5yaq(07{>NFm+kPtuHl@ z{-8o$j-Ys3V#L+t$^^5no?p_~zgW(==+q!>@4l7|3XZmMQmuG=Ya}OKbgo!lk0&e$aBxzGPlR+Xl@I zMc3{~#zjQJ15}IteLs2d2L8}!h-M#>JU;Nr$#1t-b^$;B9Y2Ya?aAdUZ8@%>Z=V5= zIK-6rM1{?9x)WeOavdb5Uvs#rTa?lr&^zL}3s=^|HX==y*-wGZ{#PsmyiyT&7p)`H z0KLRvR^X@epHHe&sW@YpLOyn}2AtcAgOMpTU;}4u1gI|2!qkwN7#m}2Xvz;b!`7Mr4#(&Y z0dXbNSsS7fQ)8+OO}POR*jnR2REaQb98*(fKr}Xvp(zOf4m)#3N)X@|GihSV0O*dH zG&1D?@W;5avP35`NSL$Ck4ZrTE@GOP=f|bs0Ib+n=EaeT5)!!BWeFK@f?n_(WX^)R=uHR131~L~MYP z1Zj*ZGpadRaw0N7SOP5O8Rv#MsXrne1qom;p&P@6YZIX8Suaz5~F~ znD^+!0G3-MiO*@EWQ;EmxP$%jD{&#_JvFhH=~e&`V7|{Uv2C`m5c8gxD9Ci{BjG;^ zE@2`-L08$l{!o zn8$ppBH=#(gp1*u0lLJzXCx9aI|n5avD|`7(F z=a9rv9PUXVi3B1G%Qz4QFc`x(0xXL0%}cyucK($piT%O=*fH8Sk{~qR--zJ@0>NW^ zqZ1uioCN_-%+8E}9m9P>iA(c+28m14{j(U~*hF6J7aBk-t1}+Jz-V7x!ro}#T*BUX zUqZs(aNk?vk=2<1u)^Yu0MKA{#sJWr_y500Hn!0XlKKCyF+wu`Z<#|h|DVL3OA1D8 zs_3%=WN5O;pSKT#&F!VE7uS$c{-U7HXVC$qE#{BA(yH{XGHiOx>mTrQ><4xb+tRw& z0d;R%IC;B2b&=-w_zz3qw)u6r13cd2+OSwEZI*0BKMWBmc_F|1-XRTKWk-`q~^~~slKTx*_o;WMR~^B zZ)2(;NQ66-#k)}%mi(S!7(I##eLfpQ5m>r%@GZ$Cz5|OJ+@o!-& zd7DR!M5-1}@ml3t37G%4aU^BS=cor9B8FWUje0TPQX0k86m~CRbR(?+Hg#zCU+az0Xy$ zUO7V*sC?yi4T@^GLB8m5GrC=PO)=#gJm5gx^>df=KE+^Rv6iZf<1`2Q`n1f2p^p~* z=iH=$@-t*;`nPhX@WTC#Onu+;5G=Y@`DVsSyM%VVvR?2*iBz6ZLebFurDoni<@sfI zxk4?D>r216GuFIf$Cv>$^f+bgA`8NT@=LR0xh4{%a%D(nh)H~M^kD7;JPeQpoy zq12WKKGcRv zm*1KQtj&6{2jZ^`?3=^|El5qi<4ajLmf=+yK@Rgat2HC^s{AgC_X~sf)=${LjIU+Ufh-EM*(g#xg5mQF|WjHe|YnW9D< zp@gtoMJ?!kRZ4g-VKqv4%vYI3Eq)-si(2@8A$rU3hPEi-4MDc0{?VqI%+H)EYS{vj zFKV#?!IiZ00l}59^8r1Tq@My=pf08&qh5^FHuN1`u&i)bJ%=tUP~@jUUHGQcxM`+A z%CIrszNa}3zkrzCYf^_MDKTT^XXI+J(IiD-#6=Z5V16Iv=|^)8|2fP#Ckl{DIVb)g z7a^A*<6uOlHBg0|@Ux!qi{6_Hd#8gy3U*IRk^~2(2ZaausA7XS#==H}*I+(NPs&+0wCN7F9DD*aQHq%^8rv^ zNc(yTf|=@2pO)Gf&)~o-VSngb#QkoBXG~x=v4hZS>#y42cc}dp;$9Ygbk8YGbWegP0hU?4Ytogxbp-b>w@1*uu zawIhn&G75?<$9@EQ?{6Z-r|9KO3s z!sU*9DVy#vfA$KI5A0Si;p!J3{4FxD^}#C;8k7j+ z1ylDgT`E3@uSB;Do8UidS{ zJN;$p zl`OYcJ9|6^10TB2)T=J^z=yT<+8aEU0#mzbY0@7U1na6itPYa43mhf~43qY>fn z8LD!2I{)^)Z-0*WY7AP89NT%fJ@(r7tYdwEa#EC>_kyV2!gKPi&JylrCI}~fZ;-x z@|xdqj!kQ}qvk$+)9jGv*pUv=L{VKIINw;C1&2wa*T7`Sq+`b#I+N4B$-q#loH)jm zxk(=|G5!bON(zT0e3RKcgS~XE3hB6gySPVorsRGs>@Y>3whrfpD}s3d45T*D1>FOQQ4}iV1C>Ycp z#y!Z}Z-ZIgI#i}eM1DPsDu8Qt;rO=zy>veB#J>W*zU?W<=iV>YARsI3 z0%aTR9E&{>5Q8{9_#AQ#ya8{YB|(pvSC|2^9l{hE=$>FltRvj=%NA-4rUBHHAIOu? zOpFz*3(){&$_}JSNF}BfN(-g~*Me<;FoiKiHf08qCV(b{62l1{2HywY2Tp=#!p+06 zK$~(%AxUup=@J+cGKqf^6A)hz+Ywh2(-X4_WeH~q;R@ploeKX6E*456b|YR8vKF=$ zst~Raq7kMM8W$cHk`a~>iV}_zf)$1px)r_^au!A<<|cMZuuZ_0LMH=Df<%QHgZL2$ zAq+;%6f?h_=m3U7mXq3t6i>;!co-r^+~1i!=X zvnOZ>>w|Jb-pVEz{OW?gMFq|X>qBt=xMfZF{w9ch$b=)|T<{lWV7$=JU+>8K(8M!A z_|RTZ`&J31Lb(v!P`403r3B^#0C9XUJ`^{EGqNeVDTFEZK68Ska1YWge*!ph{4Zau zeO_XuU_OXjy98)q!te7CkW=^)x*cg>KjA+oA!kmY9|ffqV^$ z?F#}$^s67*@c+~0@fY^1VAyAT!IjDJ8}_R}SkM2k{Mzt;{(4sU`f>;TjQ?uGWF$qQ zka0K+C}1NYELXxf6=R(XqD(}wT@S3d*&Tcwk&w@QwW`xVgzVpAM^54>o`jwD9Qr36 z7N1gXzdx*=(MBXw;Q(Qfiyz?fJ{)wzsi0E<`}1EA=eE}!!EO=Oa79p($IosR)rjE) zs>rFK@+A&6F4jESXz>YInW*m(?(>#h3q#UgB?lO8zS8x1|Lo{W;{aBZUwhFnzAJ4} z8w5Y6zf1T0=GjUm`z*R?UF#7{KElNuJEez9H2URA78;8dEe4w@FL=$zjl8~?u_Jpf ztA2&v?`|b0jlHz;d7M-XpYQJaYK=^p!vT7wyXZ7a89N8lxa8w`n2}W7kP> z8}P8=4D4ozpMZ56C*32w!t}e5Gw7YE94V27$9R%T%R@fl@L-oP@nd8>95=fp{K)(O zrp8yM0}?vY1cjn|s{{d+H7*gvqf;jfbuQeOQeg*2v)2J0fIAgDkQlpdbYLbV;JYak zR@c9GR)0_9qr{Tgq^gF24i6tOO@mUVNt(leDJ%3Z5_EkVxmpq*F}3&>n`lqomx~pb zzP3+w=BHZ*5_OAp9r6zdQuS)%kLSGQYaSb}K`dqy1VT0JE#?5GQ4{6!A%|TeITufP zSbe+My{vmU?IQI8HZOuGrEclLJKV<4k(=Kzwx>QY)J&S`MC6L(-U0_d+8{P@kSF&C zVTc&OeIW{JOp(Y^FX~JGw(&!bUby=)aC4{UE-SPE zy(`y;gp_5*Ci8qF92{~*u!y!Fl5*q!;lyA1H1w&ZT0EVkuGb+uTIVmu4^6H>N#0pK z01192B||Hanh(){7D+QMT+We9ia#Ec7FlvYPBNSOd$lodwB$vXiw@PKCAR<;zwBJQ zqn`bvjFr%1?>KEE9g`Pz!DSqi!>n|aKlN@yLV@i*rPD&fTzBzf&w||#L8;4YeLS}V z--q~58!0C6w~LjUe4oZkVI!eYFJXGcbFE|7xPvs|NjQ*zJ>R8`QFK-EUx4S$NFkY4G zvi7c3D&4}y>YLD9uCKB`jhJDW$vSAwwzqdKRxOu51A-=u8-`7`xsm+uV;%f&Rz-Z6 zMr|6r>000`InD6Juo8%vAK z5br3^O}?iMB7u}oA?r_|$M&1V)9(C3yza*;utt(Y&B?>>=+5D3HZ1q4&&Q)iz}IX8 z%Xn+sVr(H-k<}k-kq*la?`CKpGj^;b?!PD2$ylbc8LC>Cs>=f2MtP)L$(Jw6AZpK2 z^?(8{VdN6KFT#5M6q>_6$Qnb+UM!*7z}n)HPZlYB$c3s`wt&@o!~wv*uWlKGTY@Su zPs3LMx{^N&mN#Y;t5lj{bfeAI)PftmVtx~qb&p$}VASjh;npDq@GkLI@Ew^6^d6lZ zKxtO1Y5lLkIQ3gS7WL1=t#F^UcB>q5eC(gJ=X6TAjZk$IsmiJ%5U6FbZ8BOqI1(CO zw3^Mug=M@+8Ns}7W3j_6vu;fB8OQ={wp4=C?_8p_9{nogs7RH0R^*ehJ^`?6Gu;Fl zhqFW^9qUjVNQAA4(=GldzS*)C#PHU;q}3K;GeeF{X;BCx&ly@Zz5mJOn0Y&8_Q7lR z*g`yHN!ucOm|HjtYbESyoDo6H4G%t1b(S68U^@WPMcPNy0kfRPRM5lP@b6G@QSyVc zx&uQkawJB=HiMNc8R50umj;zP6&qA@f%9C?3l@I^{hI5ENBYVooopVecqrybMCSuy z^t5uf<5)u>@8@gZX5dwBPsv5pfjr@F-gnr6Lp- zI;%>`(+O7`sGg_Y3lBdIzWpDg{F#da=-62r?$0 z8IN}@3uVjY!xo0<#uI6@$R)l=lf9W4$BvxI)?BVG+5Ly$7F%s{epQ4)VfGJ>Ak3sZ zor1}PYr7~1!V2{oDHD<A@RQ@=Gu)ITYN?H<|yOyObK2^sCiF->$*5^-1vFd3g z(lt@O>RQ37wP4F<^cb?NgK9Szu8ed)j>TRkDu{4P+q3gc()kcBbWMw zhy{1$$y9aU;&e$SE*wSXAL0=-3tTW*b&y(gHt*9k<9wEQu&}ERKC)~Uy*YEQ4^IGN zInoJa!;XD;mZ#!`l4&V>{ltGsvW0Wv@}>#V;Ey%te?iGr`zm}l#fiw!ONiTQy#50? z77~F5q`R7(Q#MOMd44I>&vy>i!|?4FYCo>4n~!~{jq2=02`uR7Trts)Z}k{vRs&oN z$v%L2YNkxbQVR2lxy1l}X-V&-xO*}JE9{6lW&3#J|r5cnSUy5MqxgY6x=fzedq(p?!8s>MLRT{EO{#vfSbQ@v)xp2IwonzvK4Th|(7ES5RU!20qFEgBNs$WexwTU_XKoKUZa`;TKXbF5}Wu|Q$hovVf-X*T?l zDjO~wFa9Ik@x%GqanC=BF zBZIRM_Ix#HE5LGYvaWwp>WVhb$w5O;eZg6B1M4dTAA)FXdXf8I;LVY2IwB&vE5Y$z zZkQLi804%P@J$=76yu6obk@qmQe)f%z*C13+>kgsB_YC@9bHjQR)SC{a^fKLYwjbIo?<+S+JDhcYuep2ZQHhO z{@S)}+qP}nwr$(iwB5b?efR%jXP=yNb&}_zDydYeE-G2|thGMh+bCKQlo^lHgZG<{ z%eo-SE%tSr<3siK;bWM1$+6R^ticB%nGJ;DQ1go-^NS?_1Y*T3vzsxo zlJZhnatplTbdIdJ69);;XfQr%$KOd+J`+h!!Y))s$+n-gHr92+7xwBaO@x?XHIFCLUZ)A~H*blm!#h25UhhemcjlN3Q_FPEPwk{NIqdJlq{>$A$G_eO0`A0f87U+uol`<9A*A?c3@k)O4Mp#qGaPPYbAHsqgZPZlZ1Tza0@=PeRFe@ zxNPLWYGuNR5Lq)6tEo47<;Ks@uG`91VJ$IcWTa2UQi~||SZAGy47xy729vz6x6+VG ze{emZa;ZODzG0%Ng7>uu=2wP}t}AuaX5jj|5MKz8)fmI1JgK%x?XIs_HFPM6n%lR1;n>T9QuTesEM%S{P~F zRLo~HYTAq5M-swN8&VtkT@#^sK|GMH@@EuWbDwx>&&!{Zz+i{J2B{Q__cVD<wARgj2tn4_O!5Nb{i+97RVp=$p>SlrgjEp)Qa;R zFp)Dc4*5iGkf1PLMoL&CSPFVtGe2c7|QBlPu&r#FRWUzV?F(qVl z9bM_YW1PDqtVT-14imBn5qo*waZVxn_(K|vOOjku9~+h{^AtMtr`nr{{6rLTPe|V$ z!<7WjB%2SaRy(1%rlkQ5C6%k|s3wu5W&ZN!-h&j@E=**yR{abZKdc4E@Ae8I6b$in zI?;v>9$dTzHeMTxs2GvxuR^RUtQ#sNF(Avsw+KH(Q}6$*5yVWseR~E${21%PMq6mD zM$yyT>^e*{0fP6wL3Bj)-jf+V%ah+D;gac3(N(RnwPzIT;x%T+y3BuRUea>jYN+ zGx;Wi!civxsQ@}u+K5z6f6n705=ZoENS?T8hat3XBZzG=Hy$vj4im7{qX1iIAleJc z9B7ET8;W-%WLq2&>q_Db202FA?-s;H3w;t~CoBVyX_cLk$d*Ul3&>TmCX~ggeZR&aGjr@p zB#ekNDME068kpheq}~ld+j8NGYO$RU(t}Tnux%qQM|9)dP9m@>rZp0NWU5ULyV_HG zNLZ0pgue2kB_+EW(@j*X6z%|e@|ac|KJrS{%mxL|Mqtc=uoM^b6!gHG$(@#^bnr+h zV9xe9LPjbB#dDJnMn>>ekCKdI0y3tEv9%lgRRR=7dwpinmgGHRzC#yBXos9x5(D18 zO&C={95qWC0d`zQc+jYEI5p$*1@TtsGLI)FSW9W={bUzZkEj%GTV)1DW}REaaZP&tRqu0jtF#8?p^~g{C@Sn}xK+ z!agk79*oqLZMbaqXfDFEeY9wt2WL!u12z#}h#0`9P^-Aps60~SE>}%gFpP!!!YQyrs5W}D? zBR22)awK6%DE+0`hd%xivQV%k{>N{8Ui{oOD;$!rxo7hGCX!(h)X1SbWY_~ag;HcF zjD(hagNOy@Zi6++C#FmG2a1e33f#kH@+@<&go+f2_RJ%a^b|uyMXw7E!?mnN-sFfT z#uT16CoR(NRe1`2P^;zTjk7GZc5}ZnY%|5EFiPW9R3q?X)j=6G^hfEyDKiiPlM~14 zN-_&#J!{k9=Hcq`Mo5ETYDjg<+nPLvkFPu1sdv=6CghkJ%-3Zt;`l)jshV26ufyl_ zEKY=QJL~M!ymEb(A08Jpe}hc^fw@nZiaSPL;ACkOPM0)Ea`V#55wXqK;*nW3nY!BI zJ_%%`MYqY;+JRW_LTr2wwX!E|b?q>WF0P~r*x&bnJiB&wGI z9qR^}^YM@Lg5+P1-gP9WuD=+c5P&k;LsRC#`N?;I##Z7JP0X4%1*33OmY%krIkmL! z3}2hUZ7oeONMLO`wG~@PQ;|sCW{5SlvW_;R(&k)^m9T^cv8}s8(f} zidWFd>~?tSTrc9x%b5g^0((XM2_Up45)A(+C3Mwr{&n+X5Pbtfzu{(f#q!?rXziXn zkQ?|xW^CU4mgg{##It~L2&uIC&jpvr8p^?7wr;AE!q~O8G;`m#+dm|Tt z&Qg!fbubMkX_K0w)p@u)r1dUuuHn0y_>>nsfsvrguPe78xFA18&&rs4mF2+s97VNe ze>sjW4V#%=6(7m!cSW_9WZtRIzA7*HcW(KY=>_1QIizAZj`R^yBI(3R%DwV@MkRm! zUwzo4cy>{mIg~Aeqz}y1{*n+(M0gUm`d63Khi3U8OHZh^;lf63f%9D?A)h?iYX=YH z7P8g@sE>GHN+fi!o~Y)wZCoZRIy;i9cl3BaSg9@g{H(huP-Ygh9L4k8a$D1IwY3=* zo@pG)6r}Rwo5;2i(a$N&c7+LbXc+UZ@DtajZqMuC#kUYvrJv+_pR@EDxMS`?oqDhJ z{&uP81O2=wY=`?RoR0OwX0$5ffbFaLWi1Zpv*dylR%Yw&jv4o%t5@s^%28LWw3o;Z z^)?WKTB8CuKS#c@12?0ZBcttc$_~aFODXL;cU3)rq2+#2V$kI;A;*#l6W9C_XbpdC zfe0o}8WIb!FhpY9IUZ&E{Y)=J&Z-vk^Gi0Wo4mwYFT`u}P<$ox4&Lji#NX1ie2saH zsXDX17WQCO>D>N&np4@f6YI^kUdcfEk_}5{^5&1~D&j7W2u-JT#$Y`!(2#;-!4x*| z#%kR8?z(f#4hJF)edoj-|BTKyUM^lvwyQ51Y`R*hZwQJgmWcVF3DTpPm z33cXBk#_65GsPs}(dbdjU&otw(2RRbTHuxMe5$R+AeX<}>#h1~0<`W#4CAe(yCk%H z@(+pRsu6+R5XK{7$up&TZT!9dR0Tw1!*L)98BqK)fh*|*?z5~04qlnJKTCMBgy6R| zbF^n8#(bJnogADX|Kg~4y|Wd$?cGj8mh3_~dARFgvOFE5?K;hivbfQVrwk1D7X}-O z<5NECpWxhQ1Xlesqd^7{F}FpAb+ z-1g(U)g?`5P9)zjPx9l0o9#AQUR`aYXNo8Zi`-AoNB-o3l8j!{y#z6^6S)U?b z#ZAnwDTW!d$D-{QCWpQb{C7%RW-omAPesVwCRP^XD?HkcJ`r+(wmg7#hc&o*&+hOD zKObRT7%R=)$k{@qVYEG@aTKNxMd*1xRrZ6W!C#y)bPw7Q&P^RoFbKmSBw(k=uPu%B zlA&T=CEEhmHF|hI*iEZg%YvySr}rY#-Ao**xIq2mx$*YH`fi9;_qWO79bKt8EDipr z5C_4!(T?8*pNVr~{FCpBq(?7mc7Ar<-;WzXjy$#UI?G?E+xOfv^;;*X(lkML#G!V^ zdCv;k&~Cp3+ySH%RpEn$#Bs3Pt*;*@+@}&(i6#QuIS)48Jpq@XuMuZI!+u(FD{%>H z0Qi%aA&QzthLX!y0pmmS3Aerj%r|CcrLR)KmDL~53i;tPE2k;9q$)S;Yw{~zCxbEx zZCccd)hEW=V#}1 zqcK|!PyhCVD64hYK*jD2e$3bcO8k-ftcPcqv0wiL<+P z`%SefsYfDnwuTAX%%ZFB;eUqTHNhp~#NJi+J!sj}@BB$7C`!V=!{cYJGgKf0!Tkz?F1mK~d_ ztzp~}EZWtVnSS5mu3&eycX>bON&8y)cBt2=$}6?Mgikk92A4~qYVj|l%(vXv_*##y z_iNWT|DjkJQ_fGQ5*q1@0aSMZp!6>t)%ewQW1aO+p$5QKkkx~#X|+^ZXY2dHEDtAA zkh|;2I_%sjEW+znFSR2$w&&KeS`2yBl*!_fk<$&LQdkxrRb2n&v~aiC1jnjj09NRA zN?#aPVPupsX~)VUHaM$2EiD#~Cd{jDgYzG>8s5!QuHuhpa;rQHt+cZ4{M&)wK+otP zv;3&*!~it>$J6Ykf$39;qy{@FIgv&(ll7zqde@dQjprrAz)<)(lUdwWNru-{j`8&0 z{SGG$j>;tS$R@_L)Ah7DoEGA&(5s8L&B@DXa&oux8mK0$tW%@-@G2V&LXU3uClC0= zV@-QajExFt>eJjr^#u}AIFwx6L3E$mC!n5yeJ=s$sI5e5R}XS$Mkb0&aJ@|KpW zGB(f3lu)sX%4=jERStijfp^#dt$CAr6m?I5zUPalXhTgWz40+KN7gbCH|H9+UAo6# z^UZK=DRijyge$Epk9AxN6~NlzhwAobVx&HYT6TSQ!z;O!`~FTbuw#kB`T-FMiH&1C zIm0dcHtD~Sc|jfy1Qc|6cQ;5*sAowG97fyV4^|3CpT8zy0sFt>N-)!F61FB;Mm!oB z0oF$2m}ww}7Utt3$7!l>KJ9U1U8?n`;b}ql=}_1lU~8pPL?_C}Oeh`(WolhpWvZPf zCNj#BPMg)o_#E?PjcG?!VC-eB+?-1boSeu5#l;bMU0K!|%DqsxC9J1SffIyt^Ot{#vyp^U`+#8wZYJg`bKMglbP%6h13FwJ_pMb-7)2J{epHx!S{w) zCu3G|q%FePoA~#J6_bP_rnVUOfDjGO;f3jB0tBy$vJD>b$!a0(E)F+;nk#ae&R*Lm zhQI*o5nBsp0lMrPOYP*lD;AAW>tiD-S&x)TY>mkq56h}_AlY^YV)LqK5UqZldXmz>&skMU$aR3F0 z7(VLPgWdW9aJ}+R{raYUloo)KpoJXGV#eDr^_^5|T<%;>)jqQh>XmXcu8Vn)Ij$j* zKKGCCI@R*>JYWMUCZK;TXG9wdZ@5+jNYd*C9m9AD{KbKJyCB=_}llioz_HI zqtS0vzs>$NQ#}M5*R5?$IT7c=`l9ZUuyA)3&t5Ikz$60Vv&Vh@5^vOIavWQIcPRgI8)am!I*J z;x>YR0j9_iNK&ClJd<%PVBEkRwZnWVVY{Z^J`H;Zp%*LSRie;!-kTh4G=0%=*mTHT z1~$g6HEmsC`=BUk3g)80HA88d@+_8X#cW!?oia%uwN$WpoE4x`z$2ZWlgSj8=5h8T=K(a|X|9rYfPqig>r&G%VlfyI zuPhR1q7NUrSHj1qftmg3>Mo_*mS|4W7#dpx@lwszz2gVcZ&`E%CxFBBFbVJJWocM) zH_m9|H;4lJ(Cg5?tyn>F_b?8oCD5mKF5;cjwV*nM-f#?0pe1+I@4bjnWwUx)&`em$ z4Ge3;pq1Hy?WKfOM&$9wWl@WQ(k@ac5w%ST=khIYNn3~@ngRN|OEW8ta?T#!DZ9on zf6>KuJw#)+f7vgm&=wY9Ru=*@vV?P4O_c6%z*nJRVztyn*)H3`rAI9DhsZR97@Ku) zp^UrMeFfKo&q5~47EF!pDJRt@5 zn)0s^$)+fE0Onu4e*4)i{b+H-6lb>-^!>nuU5CT7t;MNha$54*DPy!7Z3Q!_^jnoH zZT*Os;Rl>PiKiU)AZ?~nacy@>Z!v?#^7JZgxvanAOzc?Jej143s(4il?1Q;uM-LDO zE~Q|!VS|5tK)(gt$m(UoPm@~;U_n_E8rQg7YIJ$Bb_)BI#)hIE<`yS4SLkHT!Vs34cB6c_SM;%qs zZ=Ip0W&>?H*^bJTcsSY?ou?@iWXi@UBhXQrLYbdzgIO(CQX8)?`S9SlXOQ7R>$lW9 zlZIA45PwJTmobC}&r}FN)@a{I2MV}ZcWq~pRyBH0&IH6K=A$4)A=^ zs2)KU2cK7*6zy{`!*oz+C_T%b3A<2JO6B;jzXZr)mTJwyHy!MpcR1H-zQ(OdVZjE+ zZI(x~(oj{aZz4IpYf;Rd*tS&x#Tc!ZV|JIaw=|<2748gX%x#QDI2O2@{6+v|70$4h zE-khwtCBW#su|gbuaHM6w#di!WcWvk9%0u$& zi&CGp{EPZfi9_zxG9{XDj=T_%W2?QdrHLg|Oqc5ue~}M00Ce3S+~dlj&}t@PieLP0 z5Wg@67r!Wv1l+0@&Fwdf32&I#8n3xV@bqY|;im&dfedtz z#=P{`@VhPZU!2A{1ahIde%Rgp%1s8ZffE+zl1w)rFTZd1Z(sK$urNV7Wc7>fs^cW# zk@F1QCVJ-6OT34%x9f<-MQ_a-1)i$C2&FJwai2QOCMG70=)3I{{L1pOI7+eYY|m}x z$btCM%{X4=h6E&{FFL6Y$DQO zo3t_o(_P&WMeKsfB*;G|L$5d%l zSB1*?bMuVma@w+Ln-hg}D-@9^sN^s{MbqfcoC9!PZ`I`Bxi3&>5aeA9D8BQp0P}~! z0Y4Ps+5APzY+BA=S0M{GcN|9xbU3CWpu`lvXfG0>32#VBdkW~*J)K=f^JVQopbD03 zLdLQLUgPE}$}H+dH-wC zeNft$G5F$RI#&t93Dle9tlDkevPHE+y0%9$$))Xx^KVe^5mTo|q5Q5~{*mL4=4{z8 zAT5fX#YuUjcZ&HCX$*yq2gIu08~iT~vV3qufFbu$7la~&4}Hi&&r}BZeb^WiOh3vW z23~N-FZx6ci!Zstgx%_Y^-JzS*}$LH02ldv7sQ;F=?+`j0pLDgI}Mi_jsESRz*A}G z4wB?-?AKwu++~kP@+rwcE<>TinFRNer*y_%`#d&1eB@vVb;T=~B~ogCEn#A^em$-9 zsFul=;n5(4M$-l%bU_nC<;53_3Y>(XxOw^Q>d7-iJhZlHtM}y-OCibdAXgg$S+x~a zCPs|i1}y0H-54u6r`-Rp7}>u?ue0CF7mh&6jNNNA3B|BJQl9R*jne7r6eyFklYq$e z_Q&Tbkh~9E}5ha@U#aQtr}8hb8em2@kr<3+-oDW_W z$Hy02#x2ro*esJL{uzwGvH0B7r=0r(snZ74rzdY9JXTpmEsxEvZIF0jN*>73Y^AoG zzjDO#(8Rs9BY9!^HR3ZMbK#7!GrkY} z{yxBSm^@(TY_K?nhe5Ao!G>+Ry{ukupttlx z>(NE4HM-~({o*~Fx$*xnRqgsc?#0~$tU}%*@uf+giN0e7G41SVTfBZ*uewRnlt8u! z76*4+ldWm;-PTxFSwu**8P_4%Ucdx$D`FD6K_Y{q^KaPXgza*Z=d>CnVxrRi-10EP zQa!W#xU#eVv`t4^wf*#xi{BUjm$YXt4B1bvTcgC=jv=&s`|?!L7xwk5`F%V6ByRQ^ zdQ3*eaP7IR!AX5jddAugTPzEGI8;?Ve)eNM>P_Xr#B^o)d}sW={aGJDd$hm~RxgVg zYVwqhYjaiH%mCzzzK^+)g|m{-DEiBIdG~||;vD}m@pLky1jv~!)zs#dahG!>WCcUKXtHRt~1 zuoE6pYq785l3Ryr%-`&8hZlj|+fTf6r1v{vo+JrnqyQ?^>TUV$I(@!6Eo~G|DqWM| zIzdZVFt?IWYcvzHlulV~F;X_JSTC50ZLPeGoi@)xSDdK#*lms)kA*tPlg96ohP1Xj z*KaT9+s0~7BRKDalVOg)6ULBykcFm9`%BmJCPgs|zh_*h`l8-7Z{FXSCn`FuUtez(4LsdvHm~_MsOUA355{&P(pd9;l6${E zs6~WDIXpPLvbra;=_}b8X!E6%lN?Rrf4Y0O;8J{&08*J`sp|y@(&;ox#Y4&&%dx}; zY;=^hjV13#x0=)~ZmWToWcJ$m!)Ep_|9A(Kr^35S46s4p;r?pr2J7~!&Y$K(l-JQK zv<+HqpBqibz|ZRJkA;dmVKmUO_0;ZKr`lpYyQr3YpM@vsPh{7vO0Nitq#kAd-bzJG z<{o)9Y#NW^9Uup9oz)(_+Tsd|Yy}>R`^;eKdkRHfzgYheAmw{5n`RC$L^cA8;N066 z?ri@z)vL3V z4r5rO0Q3yAK$0~>JcFc?4B|We>MZy%DQWB6K%zu33&op>ZT;qQCXq)ac2%&x%msKt zeZbo%7Qk%Uwq1;ZCQENt6T4^7vMIeL%Ao1grJZ3i9P2VvFKX9?-HU{HdfT!&I>ykz z1FlEfF>UEg@Jk937r!EPKKyvIY*RGa+%|+4?djkwwn(=0vHW2{!A+OW3&JI~?l?be z;X`3Ow{h6kBfa&7;4qNaQ;rLL3 z4>*+nk)J}?U~ezyJXA+eXEQ$i-7_bGLNg)qi8XKejGMYIH{-41*$}+d<#v;;x=`(* zi$bR2ldl6w`8`nDQ_t&>gWv(!zdM&n!Z*J;7@-Romqb8#VQqGqBLb@}}s zxcf~jgnQUWz|TxTs%pcMM}@L?uHvckB%gj)0ipP%b- zpTF{1k+NyNvgYVCxnYKrfUi2=|2S#uZ?rT(+%$X99O+Jb(oP>64ey?_raMw+wk6u> zDEB$^Uh!k)?0?EW?;@-$jHAA|nlht!64T|GHA)6Ua_KOKk6oCxd)gftl`r+K60$CP zj5nLhsqXS4H;^{VQ*b~{8}L<%<{{FS>67n#Ac#uc;iBc_{N7%?9#kefH_xd;)#iqm z(wR$d;N@|t(mlRrgj(~gJXN9PZ3i%3_<8qzGrx-J&7X&!Tw~?sEin;2X+(C|U<8rg zf}X%^c}_xdtdUHnN?*W$X?dhMMmb?ZX-|0=#xSn{F6tQRN!sD@QYVvD*-7VYJSM1j zhHQSwd`Q7WIQ>j~&kRW?xXdf&s&7HYUychY;i?wOo@phq6O-9MgLI23zt#Jve&9xvS4Drwg(B@2^;DD)-vpnwJ7UE@F&FVl3Bc~R zE*`|eo!!}Y9nM^5m?ZS1_I}|FracRTBY@1#mGDTCFt7QzGDy%L0il9@Yxb@0P0)I| z3g`dZ-|ON83X$FxvNF-TNjIbOr?x4(%u2qRw}0<>yB(eFyz#dGzRD4M>B{S9epGHX z+4^@l)bizM+$e2Fmw*FZ^AYN}bw(&5dpo5p}pW{fjtb|L{fpYz^+tA-T{)K zVT-wh%;R!%eNJ7KoopqZY^WAb-4k`S+Ajh*oe_u@GU&X&JGi%}f4)nE)K6$;mdXSf z7#y2;XKqR=o7)P6AY}@ETId*zkebY*S4{g>fDKVth%aSkK*{amVl)w*S?A|Rckp?f zph8*Y{JiNg({-}#5IuCD-T*Mw-^RosAF-aOJ3r-ozHm#Roj6a9+@DB1fxPgZzT{(! zSM&5Dy9%iVu=dk5I$DTLib8c+O0&_&o(Cfg4w=_UE_2cJbp9Gk!m6a;9wdD7rLxVN9;wc#-PRq*kba}jkWyG}E zn%i+vG)d@+sTR(vMLb%O2t>`p7CzP^upmWNN0I=uctNh;q)6SQ_}zLQ=&dK|x+l<* zMI}bJ6F}!pJefR*=*pCtd#qWNc*hbyGx<0H#37M1B|L^3yW)OS%CX!%Wxm8z(X{om z5iEL0H=6O}%2hyHHxjXe!&~8wx;DVhV)MKl9q)G|sYW>O(|b@G)tSE@+nK;x7>60# z4RHB2gYZs8yEdG>9$Zgz`(JL}c-wN4DHCz=i2{I7Rs#x)d??@&$eE?uQ@wRu^i zk$^eFaf!N1no*e*%z(Ousug)cf)Hb}9n-{dChAagQB$kuu3my0)7372S=-0RCf{qK z9>K@J<70kXnD{3maD=%DV3WOe`Hw>o$H$L%)z!$z%7P$tYQSu!+0;L*dHr-Vz4ODg zTX)QfKA}JQNVDDb^D_AQm;P7SSc1UYPFR5Kx4DajKNj_3>iU3WO9)7fo;Rs5x1E#%(XZA!}C& z$s)go07zPILH(&1>7ZTc`ySn_(7|Fu;^Z27;LiLC*UMk>dDf8J5l#ma69jEV_CWV_ zzC>prDyK;h7M4y*mY~(GK!b`m6v?t@p&u@VV9{%%r@w0Uip517lOhfietB)^ZKREJ zGCOXPrGdglq1}1(T~j`RQFzV+Dj3^RBxwj^5}5sL?+nL_Ld6K+I>+MYws)gn4DG&ZgKA~7zO0?Fki37G38>64h3`GxhC%GJx10sIs4Bel8rWZ^vH z2)DJ)f0=c(*EHJd;+2g7^p2qw@r3J3-4DK4;Ci^aaKlv7qu14XZT}*N9!ox{P}Iq+ zony>7ut`-H$Rqxqm9FctIt2@%KAXzX*zTxliT*fkA925^TC;AL zOE+jZR&QF{#`0Ncy2togZZeaq(5nXQjZM)f%jDM6t5mZYo}6o*VoTtq^`&#Ewfg%_ z?#|8jQn)t%dR_zMkfDO8Ox#(7bjMBRij+6$VxMD8P7*^bidGR`x(Fq_!NQny?8 zf_T|hXbF}omSXLfIOb|MA-rjpc}yls%R_d$^Ys>pYqUZwTx|S_eLC#GnCu~q8ck5@ zc}tT04#w?f{HOMO7o{mLvZH>zVy$72y}uqMY5alU^V*gFcI5#eE$eq2ujT!*amGxi zS>tJ`X?@0v+gvR6JM!Eyzgc-Qgv33pt}?Di54=aTeJW6o)GD;3cpM*;5pHEZ9pr^L zq5`t_)2j4pR;oOAn2R7-Sw*VGoEE-Eix~=fixK-7V=417A_WL?P z($0&x&i&N{;$I6NTagpug_IHQwS{$)$(?Cz^^b>wjp_(Yq6})_ z${3x7E~Bvk)+q{2+n<(h1Iy!cVv1IGJ4bhU8J{+94jA_X-i<$lEtdw;T^%HDfoVW} zIia9v`E&}3i4;_SK>l{6G@NM_PRW495OSj=*=g$cTz-Ao}ODDgtH^i!=GfAL(%nI;`SjcX2g!?4*4*c=GFvZoUW^j~75 za}2AW++n9h&Ntg+qft{k_R3AO3_`D*c~fm|CL|b=6o!-me_dJawm`V{5cmMp$QdKG z`n89Y{d>QH*+fDu>M}d>Zeh^(6YkD!eY6i*n?j5%u_`s?a(eU->jRcFD)l#2=WIxg zVQv97A~#EtXiL`CiB5h?>@giuofWjqSE+yjD2`rm*%-8(1~($PuHyNZV9}mHx{KQ4 z;iMt|!QZZOv~b>rv8$WaYrR%D>!B+Lu33h;a9v>*jmI1?Ol{FsjK*&MfC4@Yu_ja7 zBM*m8SIMy^0niNWOC`SX;UV5uB{Nq^psXCAnfr-gyI}s*q`xv{FE9MuJnwJ zNuh-88OWz6MS4BJ14HPyk+<=BT-M_lA}dHzTE-i#uH*649 zec0%?eWr(;cN>Cj48aTqyYFB!necmVi2WsdG6mf;VLQmyvzG~R`Ud4|T~ zcl`oqz{nbgALTGSn1&mEwYQVV)OVj_N37ZKAe# zbKFj^)Z5?21?Tq2PJV4-Zd>fiU=nxmtvx@JfDEPid(7%V_k>k0<}6C$vl^LTOT3fJ^TMsPhDj>_8{FmT$2M&bO-Kq z3p}L$=s>+AopN?fxA9Lxf5rDs7J1tSePwi2r|Yk;I|RRVQMCUca%DB07w7zkflh`q zaDfsvFp+D)a2Vj4Bc_LZ-LmhEar&~k55R|z0VIAXLzsKc(j|L>j^DO;p8PWk zm9YzF_=cDumHZ-b^{p1@VguTD;am`(;TsVe-GTr^WjNC-&4x&;lqV9^yDxP8xST^e zi;+8~xNV3;Qi;)|BrMT$lL{t0akj4+068lJGR=l)Gr{|3^!LVLMMxYsIG66%l7V;+ zSkQwUMD~Dy>3jJY^|0SIQVH7-IpB6;FF+`Vfcsa*jHo?IcZ{7?8b!pVd+$~RRP zz^y&d*{azMij}eSh}Fs`6T>^Jo{)dOGm{Ev#@tqm-m{+Sz2Pxgf$ zs&Da65xyvs&g|_z`9Mz2x&A+KUwXP9BG*RW9EyvJR?*GYi1zD!x8i97xr82tC@|Bd{zGyf0r%fy8D1Ni>`i2SlZ(Mp>+IG93X zh5Y{K{D0o){|otLWMpSzqLnhTHuksMcXm6xv1?8G~)dlYPgZ#2`IZSL{ zb=5QqS5VJOsQ4;sGH988Y?@Zgw#AL*T=51gb8s%^^;S z&YPTqy{Olk--lZ?1LTD$TYPQDSVimzhU zyzzIH@WrfqBhaA}+nk0fx6F$h?UL*f5q=H_XV0A^Th87 z?|GA?4?fEu`vIolx`zaCpb<#J`@E7H&vSY>|x4*T3PO`j?uuK1AhVc>cO7ZVe3E$^+{I zmzWQ=Sk|a##zPlS_lmT*C+jE+`5Fjb-I_fct6kLiy?{7i%%TJT#E1?9b(+jU6{EyZ zi^!$EI_-|Yi-0@*cn$|AZC~oy!d=~om8>x01^cILCt7n2; zYKFvcHxOgyEbE-y!>_^9XGae7ca%34_dk|>^p05EfjA;Dxp8F=kYdt0F_M{v*^KwN z!X-r1u2|goQQyzArGp+=`lN^|xH6h`vjdb6BZSXjsYU&Y0i@lQ3shQrY#`}AmQF^o^ppWr0cIvX6qV;!zCGYO{10Y`)G zHtZBL(|617T>~W-AKQOBODk~qRhC}CI|mHpJGH_c_{sD90%yR9J0G7OowoJ3POEUO z*<3#N-ugI7Z&D@Hep3AkCZ`2P5-CE<@mR2)Y&e4ll2pU#_TJn^(1=!IH{crl-jFLo zI6K}hE;M;|d{_e^Up3y?Pc>t3-yH5)%c(J3THmqE#?x4+Aq2LQ!ZmYtt`p4 zJwCxlIQ{vnLiDEYL&Xa9ssbZG%JPTa@eyA1b0c`_3nLu}O`G92ru$nFL74u)@wy&U zD}|gno4StZ`cV}xm#QeH*!i8yV~!A5f(;hsLwhu8t^gC?I=y985I^KH?zK*r^D5)1 zI_z89^2W^_Yy=2iH;~VFIuL_|_owYJrY&cVqi7k@gB9S~(0JYfAMg2zk;d6K5{0f4 z_TNzrc?h&S8V$L)NMrHlMvN9&8tiraD8GKgxgRKIsTDzrs(fSf*b(NxxtS8Cu_RMO zT(snwQc3v8GM2e_PyGc`>-k(5o6q!ibl6NK@*Gp${AR|M1pIojO*DzoFtF!GSHJI{Db;-FxE$US ztWb`1&h7S=SB7A!!T8lAtqh@-9)c_zKp+QlXc{~I$0<;tLf2CFSJ7Pv9=)fjt}C8^ z^?HvUpS;N@o%!8NfL@8y9lw3SX|G-ZuTFXf9de@I1O!>GRcT3%y=H7+2COVTq`B!U z1+S($^C_5_gQ*gHDMwS01nN;GP{JtKiddl|F%7{yHB0V1SqL(_EdB?fof2GHyeA(T zT5eQ|d&{nQW zNT!-!2Qm{Cz6Z3@D9MPJc@m5C5^ca|Z5W5szuiSiZtibxr(O(AUdQ(NkPzE+E6DTx z1{}}_A_&*i?%Fh?26;SHtJxiZC}`V^q5L2>)Il|hAOl5{?s>;Czl-+u*!y+T+SK;X z#c`~`+|eO-S0L&BK9Gg~)*E>r852iC@s#R|rt>(smY9KP2-b(cQNQDOvVEerXU8)F;w^0Mon}0oovID6RiurKz|w zWgw;{Wh_utNa|!v3a0t9VtIZ7+(GTF73jGv*XBS!lA|>L&qgSqax%qXEvsM1NaN&* za;c(uAp()hY7%*Y%F0rCp#u0-4ZZ?A)G4C)DFTTCa6y*pYADn=c}EOqO)yY;Q26PL zV)%T}g$n-`?9G@;V*blFW(b&Xvg6_f`BPqB{<4*~m91T{V1ZH|ZnI>|`JEhYMkbXE)QYf4MRoq)Z z)zLirq6q{D1WAHJf+V=JfxVI77Tn!}Y#cW3l0bmq?(XjH!QI{6A-LPyb&Yp4;Ua7`#<6oI#?klFa3j-{r9KAv+mUEyr zS9^A3jl}IghXr$o=9MhFDMisB8e1%V#Rx4_dIuUfc`MQQS&m-XAqkM2ZV}fSOmP>| zie@-yKzWA^c1vz$!br+uz^nGqXkGGG%YT-XcBD67hqH``6fAc|=XEIU5YS4A6g+B0 zP8lG*`4NL4>*zJKzG;x$4>?w$K9sSlPoL$Wg-L1SHl8C1Q@Vt=-eWZJ_ALm%niq?` zl&*UalB}*(D(J=kWoT!yF01`HK=O>P|iy6|@|b`ze?B zX&u#a(?Z(RUbGlMxoLrwce9a!XKwfu1;J{5&nIP+@j+TIOUTU0>gw6exn7n~nUifO z%5M7AsJy_*=--H_r7`DvR>ExF^zw_yybI#b)fz-B?FI^SD_CUd?cn%`XRjz}e#C!? z?Q*q5FF34;=0o%PRf8DiIFAWxX$|6_v}q5_m^fYQg#T)XWEL?an(76Jr(~8f48Yf3 zXh&fd;{;Da-xb5hdv3f651`Cn^LBg2XpZwN#}6Otxx8%75BwihQF0XN48eRf=0BcA zbfTy{Bemp5PKn`@nddQ={|u4mA?7wGdfT5Kf)9GlD@3_IT%{-1ohIQoOa_+iPLV*8 zdpRQXg7O8$li$NU`8}{l41Xo{(pv6wCYu~ZjiDtu9JFldfKmFFOcbcwkJ-g-2L@mu zS0p5PK>gmsTVG}@f~rUhDJ5Vp`Z>kw&Bik;Bp5hcxTMW>L&+!rE>aB4Tk_}R#7i%h zS%-yr2w_~GHC(1HJHLKJ7+(6e2zL{2p1I}z?IBNXX4o#`Ed$m%PUDou=oO!NE^$NF~ z_Rk+BQ;K0-QMU7W?4K>5+Taft@@UC`oz0)usW>KY_4PV`0zF@RX#+d_CS@;jk8_HW z{!Bf;VZu7_#BOM!x7eu&<{^?Ny5#v#hiUHC2ld_Bl0)ewIAOH&_xp28_RHH3ToY~u zvxl=wb&q%V!k3Sx&C_&pzxL+l>>oxNU7c_2E)(r-?3ZeV?awXi`|Is~={#1wB3$s= zvs;4b2BWxHJqBdLR@6(upLMYkD|TNy^h}Hqy7t?$8sq| zXsM(TVzN|~u6A2hurOc!CayBoMq}wFeeY&6s_2)RwTRZ&$qFS;k(z->9#bg%EWipcL;-THs`6?lzOu2Jw>6L5&rwiT zYp(F&i|3$+Emp8s?xivVph4TA>!&Kg6nC+K4ST_u#4e5u!i=qIa1^mtxT@m#W+d}A zGXV;J6B$c^!uT_vaU5Cu3*fdq0p^%e=B_kjT3%iiuRM4QNQC9gD5Q+`vzPb~(e#+P zBv`vFeEm)56v5tsuYjuX_nu#q+JalF+Ah}?DLyX#8vfqk=r(WHk<|xX94$@@WTwi- zHhrsMl1%#AU8)GxG4_PnF+zjpi^}o1Z<8zhBy@hVE@AC&^l*RB%$1r5layKGy3o#* zGJUxB#8?!RebY+vXt)2J8L>Wt+0SLyM;}(X36_fky&*AKbNjKH@b1wT_MwgYVxzD7 z4Px+cJL-kI1FcTz*WL{BzV~QgwerG~6Jt^W{(;Xw^WS(jT#1q(+-uR|v5`rC(5+X; zYpbH0S0HC-%-OA+(o(y*G0A=|wYF`dTO6>{rG?AXsWW1zNe8?_ej8gEK-8`GQ1LD+ zBcrA!g{V1B^#G+MG1E%f1D;Hl?!;40gJ*hIacBIO)v#Cp276_38e5pQ{<%*(IS!riHNv+VG1ubM2{ zH5C-V0fHkZV6l%?F(X*i7FEF;_(&Eu%-owlurM&TFSUT|#y{blo`pEIlioZ)-^{Z@ zfKdd{u!;XTFIB~Yr%+b+*twd1!F^%5Lt}!Jt~%c6Fy5`bx)onr4T z=ZcF;YK@XqgU&6ZZEM7)C{1lK)9y~mVih%2SD>z*8ChPSo?T~r=VFyqt$Xs`9PLmj z)3D97=e?AK;LV$?!xhuP9yVH})$dpr%0HPn>AbN+GmI&Z#->iVj~v9io!5pP_QlIdboG-sU$dapRx=tuWCpS0I$_>}|&wCL| zO*k&iE|o!2mOt{(#EC&_A_L4W*AZwO$;rO|ieaLzK=M~WZP}VI48iX7#|~_=$p;0{ zIQ5}p0e`B}(6Q~)61*L&SC=nqCbbT94BDc|vZK+;wm&#WnveJv@{@`Dz`dA~%EgAPk_hqZsxkQvFZh;YoaNjQ*^ z9dt$?e9$aT?YooeUfY||t}l_g`Zin&u>I~$?9X03m`EKRcFTE^zP?CfUZrOb$3F|P zi_DNQkTn<89A_FPeF^hfXo{uxFs>#sd`jZRx-kdTiVf?JV#V-JqSP;z#hmdkP$#E1 z=HWa#HW_k9%V7n@&=wu+A&+3Ov|RIsxfE zJRj~cW6AB0mr5mLBeh}Jg>IE(C>{$@MY8bH%qbOMyX@PRpdYzuy#zn9EOUXRqX}M& z?`^AsgB4e{UrB9ZzwT(ih-G)W)5?#E+0HPRG@)b}hS`hvYwXIQ;mTex2`lAa>+-?L zWEuE%=8@LqGohH=_KWGn;r&<@L4JWOFv;?zyaZg9@m-Hz!mT3!_`p@L=F1vM^6-qr zi1*x@B)6O>ax{%kG-%46+zDm?;gv!N+C8=cVKcB?&KLFTVPTwkS?6wfc#}BDs!p4s zDEwnMgejWO#KZ7-ev*QpH)2&3vF>%(ZCxSJ_1cF)73_@!D`HygJ%Bf8R7krUw?C|EwS^1&i+s~rQa0>tny&$jm7VHJL{&r-H!_Z)m@ zMycH_SO9x0^OoJ|^^NQgyP+Mi5T;|H^!Pr#k6Gf@(6ZWVg9mo;fen;Qt3A@JqxJ7y z<1%)qbreR^zC26kMl#{(pMxoDtrs}W#!Aai|5_Ru!?*itIhazlm2??ZwP3BeixY|0 z{G?v?4hs`x*+p!$PLlsQf_4D4m#mE=MyIwXR8mNO`9W!|D&W!Vj=)o}Xt=k9V~iq3 ztm_i`B3!bB(E_@7Cf~=OI{9R$*ps4Io~E+H9&BYJ)9+O?My4wZ=Eo0kT5!7r9S;j+ zxFpUGL!}1!$EC|2%C|6L-1|@3_wXN+W?{rule3*V?qHfzWDb@KC9@T%an#9vwdnP6 z-^DR%Tk55kzzp(tZB^8e^%+dAug8>yj_O?KQ%5=-vdpl8@b}6}{RRe;uoc>XwI$T# zYPx))`5-kjMgu|D(~2S@8oe9JkG!hp6kl8Degv$#tYUfeDA$d@_MJ)BJ8EHL#`wv7 z^&vgkX_93yA<|9!UDlT$=R@*vJ=DyY%L4MtkMS~bEj12-pH9W}8~BrO2S2wJ^Cgs_ zd}8XvJ)k=C9cNeC31u$0y4_+9n77~i*JvF3Wc)aAMZ9P7hUzMMN%!j<+$*^ z99ny+t9nsRgoQ99_u@78Fpbt_63s&5eWYb6;eBQG< z>v77?nkX=AqB>cdy8ja&phxrno-%WYIfL+jLyHHV$ z*YbE=eWgq}eIPg2E~}nq_tAEJ1}9L>9bLuO6d0Ujuo#8S%CWyAS$?CTRuwsNbEfo7 z-(epZ%@g9p9L_TzIJ@;Z+Xj|yFU#BXGK7xBV z9bU(Qth;u@=iju>;2p7E4KZ32jKvaU2<5V3fX?+kpK8V|qJMQJVH+gprffqtAUC@4 zYE^MY2m)n|n?B4A6%#mp>H1`UKUw^^-g_Wy-;aL`+~3!9zYUr+4bL_b9;%!3p0yI+ z54$)FN@~dBuDV|wc$MUMvy$)BYd7Cqt*r#9a9ujks?W`^6t=h9TU2XyLZ88hmVrl} zY=d>JKN5F_t(?M$qUL+upLO(7pOA4*9H~|vAFpMeKdn%VV{A==bs!sk@Z}Y$Z;;PW z))!gihZ*B9m9;9V3^+*e;T%6o(rdQn)h4^50iyUSm*OzUE=>?XGiRfNcJ1W~(g@d( z{nl(fo>CQtgYEvFAV+nPvA?)pc&_9m&o4t(iIDu$c!W7BgfFEy?n`RZ!?Q^d!mrmu zeW*qn%Quco2B?%ywV7Mb{NnB`XeKm}h(Gps2{B+*;;QVH%;lBzc#X@uQ`(%oVa)Ga zGWZe zbR08TB394vUS#p0W;rhg6}CrOPrC?xa}-XB_j@l^q>SY{t~rd(vFLvK^C9RNhe|WV z6?z}EKW{G<=L+P5WfIICTb@sYQ+PN|78kj02_bKE8wjg#jGgqYnh%<2kFpBa-KS-U zRvq3p-Qn^^7Jr_{*C8%G&YDk@@->xJeanc;tA|*YT__Fs3eoACOgUdvNMtsdl*g{q ziIBxr&30@#9Jyv;MJ$6*_o8jY(dRf*$p?*z!Nqh21_iM1^DhQY7J^=E0IPWcAjLi{ zGCc*0l|oKhb%u^eCb|5?#GD4Ean16I8798d7Mn^e^lyb{wSm+ocvThNo{<`yiIJ(j zsT@jMbf(>)-dcopJ?AvLEOuCh#L$Ac)%iQ+J*3jZ&cX?-;Gvxml|)qkPW&TpV{A;l zDXguKzKQofQ_*{7bm_hUEgC6n96ViP!}I6j-`1__RkXw6Gw%xwp!HaTTa8b8cVKz~ zIqkCc#+>JK7uwD=1Lt_Fs^K@R=%htv8)Y92>RHE>d<9qv%d(<@#ogu_Zfb+&v_&I=QXvfnHMgFJXLj$w+j+vV zp8csi<U$3}i4L(dY9klQx#_yoqC4vaiBuCO4j& zsmkam6m=-jZD(;XLypodI|zCcsyviNq*51-P{d?Uqo}s}S>g3h^PCEmv_kyicQ~vukW~-ua5qC;}o{Aan1KOw?1 z(6XdJHRCiH@Ml}+hKI0GWl@?A944GMp-Q4bytvd7Yu`OC`DrPIJpIOI@hZ$V4t@EY zW${UDal+RxPLv~R>Ya8P_@N~VNI17uniCOtoqg3I! zj7ZpeHQHWt!CG5h+X@%4X4gsXgAC8vo8%>d-bXB@9V)6}24~fZU?>0GIJ|Oolnva- z_+Xlb>L#*k>xB#Am~Uo8GjRLmIWIMU!uWEsA>UpCSk$kAOMJQ-P7X(~4wu@xQ|%c< zC$%4VkV*6y9?ERi85H5(e9iS#VB9#xlAv)L^AVWb(N&D))^`0dp+RIQVO+>jY@1Y* z$2L`{!Ytib!7fLyWPude*q|%2IMr<2lgw>1=4T;hE0gzg5Crc!Ic{Swvy?@<=dlNL zVrpP7oZYhL7?qQ-UsADL2yNT?ftNpIB;GGe*9j3)DRCJH_0Ks2D`mF8392H#2_6fJ z>hQ+T&@+s}hpG_vKm@!#`uC|Vvt`evHA~z^n zCJNr!B~7&*Ooy|3(1q??@3UM+6T;C_S&Eoyw7iW;h3&| zC(os1g=VlB-OZYTqg|2K3X!f?DW4&Hug#nWcMV>mrR=f6N8Y`|W>On(e!XzO6lGLK z9vBoVLggs(WyW-Lo;gu4H$$jJUoQ&CSdNC*5{V>w8n*rgf=%y!?HvfyY@Av59`H>kl_KHKux~j9CobzoIbgyP}v$ z3lJ498Ffn{XqAn1wHslBdOZe7P)+Wm$lb-vmP(JWN{9oMLAmP8C-2CfNI*;2+X_J{ z=PXhC?J=jORXL5T0VtU|gW74M9;fcGDOe${<_Fl=%9Ln1G@TIH-am|&Z;nK~o#*qGGd1FmwE7c$tisgt65 zrch|&;nyh#e*+)wT3|{t3z22nLsUAQjm}{IBnC!Qw33Z&R+fB*JabsjdwFn5M5|Rq z>oMs-Qjs4ForVi{HEDsvlwn0>WAvi=ZDzMrkCYQ11D1%mYFQqJfN+-(x{2R&Y@D6f z8TVr>t=&fk?_j2-lQ+r|^C0sl8!bun;BEOBYqeK_!fc0s+Y_$M@RMC+*Rm0>yd}u%&9DitR|p)-_C_Lh7AY{oYnf zZ$+*C=4#SXxzX+9{%5&w^*UprUL`OJ5^g_H+h#QbFNSc@+=D(gs(MAZMQSK$bRTD3 zb}0KVr3&n@0qli5>jNS2T%IIq6dz6~*lIH3=|>zVH}sR#FtN##S)>v*T}kWtHOU7}mXT!Y2YAJywcy za@O~oy#t^#2~(*ugMxMZgbu;lQBi^%P5BtjE%JPf&!~^F!5`3jdGHPTehGMY?Za~$ zX6DE`&6}5#dy3g_3t6nSHN-6Lf2Lt5u5PRHd3g{S-GzLXaTz+)&C%v4`RQA-^UFu! z#gMQaNfbO>O??|)nlCzJ4~(>7Ys&1?ANkhYUUc&2R=~;0!k~J!zPVzcpRvEt`F5f4 zHAyl`;+-~5ZZ_EPFd-?){h z)m?rxl~wOz2OgY14aRTFc*hlntByPD%(Mx<884Ybc^i9`PFHOvCnkhg=^|Q5L@_~@ zSj-TS=JYP2$DrDAh$I^Af$Qp$0I% z; zJ3GmKeTmZnDYXEswgGLa92yC^^9r2SL;nHVOtvo`p)6{VRSs?%;%d?}>cde0@Y-7; zNvFD(oo^D%V3E@qfk;Q<&pCOpT$8JdYA*n+ed^YE2Kl$doS^*4ia`Womc88)?v4vuQ ze`^Rg^Gnj$4w98B)=o+6gb{4iWyfmNSFt`eTSwkn(CEIIT)(DW_rAx?+R(Qf#Vk^aU~X;sas&3uOnG0^a@9!+XbDS%RCf28D+A@}c1Ii?%vu z!i#709ueI;PLHN+q3DLeIXrfaiHxNeHmiEM!TWF@)yv8P%pTPAmr1)6Hnb0wP9z;Xb7zwvqyp>_=%O zD9cq-Kr-uYDC1_}%Q4zuwO2HHHz;eL0p6%eEP2}qvV^^bIip3l^PUMkms*&!Ba&!VF{vE=)8+kzF}`D-JfNMBcY-xQVj=e#Ia|BMm?KUHchc?VO(3UU`( zSbFq=tcu}*E=CDp?u+n`E?lG2m%Ay2UIV&w?2H>~%NJf*K?HtSlbhEz{T-)8^(%f7 z6GD)7wvpHhgZcR7gKwJe&MOrSu;}I&-WXAdQzAePle};476bX`x>51hKi?ghlDO>) zbj2lw(<T>DBMTq0Sv?vqwsS3yQsbh^Yn6vTrQl365*4UK7q=%L zjXJ(r#}a58CdO&`fl^SN{@TT;FmfdUu0CF@h|TIeihWgNk9AiB`y7Hhi=$epGaIb` zfb^D@Cw?(yf5c${eFHtlc!q82j4tL7G7Fy39Oz1V?^-H+~hlx zRk_V?&nJ#xiLJqTi3=5!>sSR`qkm3$?rKu?f&e!C6KatzaXRM5Nx;kQVrmSH^C6!` z7drYAnqn7C)8i&Wq1YR7p#gm%Eo=<~u2cZd7MJVmvB$_d{bYwwVbuAEYUa7h?;42F z4!b-gH{`LR+0wUGCe~%UR{Mg9VjO;=lN!wwvvTqIp|1kOo%WauGwRba(uZZHOEc1Q zEUrm4S~^c?BK;OJ&KwKL>Sx|iTKf0{n0lS^@GhWRNL4kAYk6s_!vf3u)~vwMw*dbS zv84p1`p!~8vxW+kz8Te053!DMw^(_?K3m(WLY9gdB(fisj_6<7-w3Eav}W2_fc6xiXT)FNRg6jmUD2t`C&7!X8k8}HH)#_Qy7h4HTS4J zR9h^ODv$gy*K1G|d$me~Q>`jYg5HhE+eIiPC2vXDPlxsDyaRI;S;3 zD_DFKZ^)Ak;TBz*A^uRFC>V>&H6H<{PCEW90JJq^=;&(|)y?bJA3Y9`(rUIbDKIzc zPkmiQc5g!f3GI;|<#H&QnC2x2m9B!#puAqY%&zoX;W_6CEnXbLAlo{=5*r+qx7Vzz z)fo%CzuG0iC#gXDR8-Hy=eT~5IFs}pO$!U8+Ln!j#@Fr7jiHdnQqLx_W-Mtc5Fn77 zQcWMcqZLk;r}Jy$I}=-Ta+Vj2~>e%DIxFDD&Hht(Y;nvKQeT7UuMK!|}$vYfU9RnArGoKrU zGLKEjsWcmWgtWcIvi!&mcW)|)J#=6IeAq;^kL!tXMsk0VWPsbW{@pT(v2YWE|DjV8 zivT-NM^)Ea##*x0*YID^$TS;ha>ug~U>RQxv+8xT`{O zU9=jxF_eP0$EHwkW(UVi81#b*733O01Ebj<-%(X&>RA^-?)R9U=xcySG1?Q4i} zdH`MHtT}uDpkOL~LpEPSMNJ1R=hFhN<7ph>G^f1FGsG} zh=GwNJpU($N}f#k78N^YlUTlvte$@SKmicXF?_&W7B`i!5Bi(zmiTO{`E8r@CH?yQ zayVP>-Wlu9k*XWQn0TZyhM27UQbyzGhrQxh`6A%a-fnc<$g`}jBH!B>?FS?bo*D8` zTrE7M6Uyu(qY_5oT?^u3cD-KbLQch5F}hbMrLPn+DrA)0TiZ$&4(6Eg64K=87?o0L z*pgNE9^QwynpvNZm6v zOR}OHcvFU-T)VvR+@6Z6+>^aq8H#Q%3mXJL{L2bsg?j#pqiEyMvWVs^s{Nw7P9AQ~ zS$I8$^Qh@}V)0j&xi>n2e@h=OVWjvx z$tmSCq3J7`ITG2NpXA?x3%>mJc{~d#uDv3af?ef=-xt_vnFn;FPtsLUMz|XN8dOlq zZV>9R9=(>lY`W3vc{&4sa9eD@pn(l!n&sbLGYPBe$&!*NfZ+;0&%!suLj|oQB+T0c zHOd==Tx<^Qt?(zc@Z6h%#-$3h9V?L{HlN|}p|N5T*Ni-82qY6Cr;;aL3|-7gb{xu^ z60$tQtSNN6t1M*`^Hqom*K_m3gs*2D!HT3Eh}zpCYgJCQhmqs-?9pVm{d)Atcjp}4 z(VFcCzu}45uWXlB#zJB{S{Iy%N$Z3Hg1lg(>7`Z$)YsLsKj!sT4yPN$+wf$3-tcYY zy&==E=^fb|Jp#BFWeK)iJoGY-D_rop-rl&E9F!x}?rxN}iy&KuA(wuSf03VahG+Dp zQcgiZ|1>L(nu_jE>w~#5=6==wgSpyKnhQm|ocG zRi8)~NI);BqxTP0?NS!7H60J1L%fvnX^bRSF!h5!_L-bv0R`F#f(8BAYGvc~0fK$1 zWI+X-!^^{2O6wDs*eYOl1C^OD(d5dSX0rLQne`r1vjY6bg-nzM+|%lD#b3DWiraWLgKRZzaaQ-~~wOn6t$V3HaqhOAl|VLCm2+T5A{ z6;;RVN-=;(l`p{vj+B2Kl$&Z|SR&u7N6E##Nccud9SeG`qn*KA=6v-Ihx7#76)jod z_9#D%(v`x>a#FfI{a5Lwzz0q{JKJN*J0zSu_B&lhYg@&$WkM8Kh^<`}7DVx|ug-yj zlgQx({~qBkkiL<56vKS>?zT*W`=UaeUPeK;xUEY1v5Xk_aFY|-;3vA6G#p<2qGwdX zeTbA3ktt-!CxBEOab$#zJ|kkdr>!>wy|evG=m5!OsRkP*Nw^(K`Ot95K7pLw*i9QO z+rTw&a$#f+{iTAQvpAATh4w}hP^*AwZg*7<_Bpxx^j>kGonNh{tHS|owEEfVl)W8x z29<59_dvCo>D-u>cv8hrMcEu>w-lpCdsKS5Qe)2vlVaCh&pF7$OeD)%*L>jhj9Da` zrmG~csyih8xNU2?DQwTY*3!U}Qx(4_udj4xAyyD<1h+*v-IyW2)pw3!xWY72>gG7| zb9j;S`W!)N5FMmx*;lB9>UgR|XYB77sP8G6Eh$pk16MBc-dw$Q?Tf_4iZj8@g_1o8 zxc_*8puiG(^R45)Y4^l%iVYL_ShCxhDZ%5C7|ky<+rE5hmM-3fPkuYbZu)jd`HUjm zzaiY6^*J)+;$^rq-`0TQO^+6~<@q|yJM74@!XbSVrxXwjs)Da>3mR&>Nb!=)`-H5*MB2aH? zGIeBCkKL=JK$wc8NAt?Fa>askcAjkcXg_b`=;kQblD8Mdw|YUZrMTR4iTg@Pqk4aN zF+loio?gR#Mv>ds+s=KbPOLh#62d0#OR(r|)jbzpo*D5Qafk8y>y0!`-^!)lc)ve||@qMFHdwn9H|CiRGTb^9vXnjEx)+>ulOb=?H2b;{yZ1klf5mCiO z4H4TZ0!jNt=h+#GZJCa!M>cmZ%U}d&?M}1mWx$Nvrkp`1_d)O*p`$f-A6~!?7O0QF z3gZ&`;*sM6k8q`2wl*scQ|*V@s-mjPyFqE=iMUScGk7B+g*mkgly!Sr&roVP>WBos zY_fhgAvKO^B}{2GSrjCnqy};G5eJy0)*=PR6>pg877}Gz z#dJWuuB(b}HTTDbl<@ko22q8dhcCyA^9)(tOEkM)ItH!}2;8nCFnH^iyu04ssZCdY znI0o1RQmcw90VvR@uv2JTq*-tD1Gr$aMw;C4832%$h`RE{)7kH(Kc>3 zZ`}x08IMQaR&jBG!a&@n{KA{m#n053hbUda?atoR=EI_ zSQ*lAgmTi?`79P8fRDDDl%1$q1-?C)w7Xfos{BNXF_hS8kUFQ?rG)ESs$GR9;MP$f z(m3(LDwF7tjFU)YHYWFqM;X&Q3AM}!WQp7O{lp88!2{u_q8cX=yI*B(u++C^BbzMP zHifk%3-1qR7Sw07R`&sdc(3pk{mmtu%tQw2I+v|X+>}hOo3N@YEwpW?1{JxvK+Y=e zYW>k86=fB_=5763GqErA=y#2%F4lqc{W-X*BO6lrCP_o4_Um4zxC$D)5N*w-F1dwS zCbv?MBHpR~VDeJrK@jwt5$B`zC%6o#kTzC~RG`hlyi5#QdJ0)OLvjJMFnguIvavie zj1qB%B<-!7q-IhGqsQ^bC^!_|v|*-Gh4%Jjsn1DgGM4$7bzJ#h_!hH_p7#xYF%^A# zOMg0U5;#6OCmsbUv6U{*lb%l`OosbO-FtL!a}Kp!h^w70DEfTb5q z&lfgMbGz=VH}9O4ZF(EvV;MaBC4V>-o6c6-2_#-jB@n&L)`XE>7+Z&P+_Bfh5mP&U zEy;>pGmWGu2bl^|Vyu+Z;c3y1A%EG>o1u*zi}Fr)0MStoeMs_CzO~`Jd9=v#@kByT zj^t%_?@=_yXmQfm@Y@U0L4<<>v8vPWxC3T}D+a&_aYjQU-*Es9N)+ueU-VaS3o|Km zgrn6RBLcNt-Z|2y5$|ArU|jGo7W_*U>sE7Ix)#Pjxr5MIw$enVozz70nf6*Fl>4>5 zrIhC&7f}a&b_TEHw*&^4q_A7ztv5{GTQyr(q^}9$P|GS?`;SgyJzWqHk!(MF0=;?n5>JRWtMIs((#Ov45cR@!gZw+T2tz@5tLIpYLuwCz zTHR*z3o5Te%c!8If}Qu#fIHcA?;s9A1${h{yG6nM2bVVw#c150UpBw&1=>CiqmDv<2N4?P+u);4tGp;%?)>!g(?T zC(vL{a}Ch9(tMTd92#&3QU6)U|8DUs?j5qK_rjHEL6`sQzM#_k{rY{i?jOw_#T}9t z?_KB?p=d~lw z6W)^{H3r{K^Y6p$&+RWwbC-j{n~lGfO~*_BxCb=B%ziOYdySxpWL0slnL8#^LK*HVk7-uQjWIxOi zUXH_h-2Bxr8<89B>b!^WK`z46E+KT0@BR_Fbct`F0naQ}Y+g8rLj?JfZ9A_g{Cf>U z1e{KEE9W3jnbJzrid2df^O@sIJMjg%aqjqOj@R}=H}C6A$c~M+yRpyU?ztt@sdjJ3 zb36_N%?$Xh`^xB3FUpDaZ}m3Z0lZqqgJF4L-?gq2&NlTN!=~${!C_pK%?0*1ng%4; zagVhWwkNKlIsVsld2u49RI&*uj7vguk4qm6x2noXFW4)B33;dbN$oDz{r6G2PvBg6 zwT7RRE=lwkZjaBrHD!Q&fPNBs06AFoA+epE+-FdrA9ei9sNIdZ)`g5QeuPf{bbTl` zk)m}!!DVwv!U5ynla}vs*`7Fpgcv$b{)^i)yOa$cO(O0PSJaJXU>DxUccp}>UKA*) z?Xi>O?%mgjo19(Vgf2FPFOvK3=F);s$m}Qxuzv9%%YNQsKf2}) zsdsw!*O~;(O#j-!|GOrE1lUGfPuoTtiC)fD$L6U@fwF}7Kez6)GBN#g=l&;d2McXo z6R-`D4%ooRoRj>pzL}iJNRN|TiA91z!h#=cX!P013M}U&DX;5fqRXa7&dr7NiCbF_ zq64ON(6*q}H!`&WTUir&xo9m+p7 z(~}eZ7O^qmBv+P@CbEG*OihezhyZkKbd0o&Of*FLR@!D@dx(_@5hERt96F?xo<6&* zfY9Fugr0Gd8`{`du+!7q+uPIGGtoh;4Cooz*x2Y90Q3L=EmVTm+R@xb8@eIP`Xf}| zZy-j>|LkUNP4^oUoi4ABqH^)3GwLurY#|6Fn)`)`8gCaFPRc*g!yC z9RMwmnFT=0$Ou)z06l0yKo&Me0GqZptFG=pG+F!`!v9bOy#Uq41l9Ek%CbvaLG)~O z!B$+t(&9wIh7fC;zo{l-r2{g5qW=#Oq~ATnz>d&`(X-~Fp#0nQe>Na}qJKjBZ|MKN zaR1iw|8_o5gZ|e`2lax#uiYo847&tG&q&`D1_n{FXC+;(p69JaKeSgzcXk>)&Sg z8{*#){eNi|Z3_vB|Gi<%%$~ySNse6rqHAjgHn$NG_&;=J`u}?lq^J8&m=?BHroZD= zPnRBS3VuRl4fP>LC{8_Hc72GInKm@qv@I;4HB+>og77H}pz#8|Xk%n!3g-Hq4R}p$ z{>GRZJw-RWskXTRC%FTy9#~)7*3^dlKOBMg$v(zUu=0&9Q6Of2IX|0JQ-s3H+XVj%YWef4@keA@n4Sj zoBQo#zcE1m(DHkfCoTUR8_MhbD^LCJb^Xt$|J%QRufZSw4UOLanEpS3{Rf!;A`$&= zf~Ih&OVR)H2Em0y^ndC2zc7EDW{$A|{$~~3K0sQNx`;Qb(@n5BI zN+kNTi^Gcb@t#h{tm|Bn<3g~DrVWB3P>|0ZCdo&Iqrq=53!XCGs*uFZeU<$u0h|LZWIztz^^q8en3<8F+2QX85s-z2iG@g?=x=SzAm{@E(eGzie+moC9se_e~5y<+d91}AOv=G$4>wtm- z0vZ3aje(h!jrlJ+n3)*!0|bL~SjZDE-&}wW%^m0Z{U}y{y(aS<0HbhV$M6yKmBIf!KqNh|Xi$pIXK&1AGk)M@U zh>;1vB*4PY3^lG015k(wB*e(aE5ygh$_V88?V{a}Dv~An&+O}=mwr$(CZQJ(K?%LS3ZQHhc-;;a3-7hy8$(otT`U5kAOi@&v zj)|TXnr!qcp%|Ktkde^A*czIbmqFId-on+Ako~_#nL*sj*450JkU`wm$kj~L%*4Ue zjGrIc#nsu&$PU^w_gZgr5l_O2!ALOP5otXcDH-mgf8-}#Xq1PgtBFO|nTUu~5TDRL z<}o!?Rf$OLE?I!?SHJU>dAsRzbDi(>>YX&?s?m+Lizg$$*F#~Jz`nYqfdlQA=jZKp zSD@0~U;g)dHAH|HQeyPi72)YN;P-o4LBQwk+(FwKaFH|X|5?aAf@y=&IeJp=zC6F4 zLylike>H8<7vSh~d$)dz|8>;_(O2%V86L4G&>D-JA<-aV(v5#&V3mt;gBfeHeVqZ% zV5w)PqIUlh7a|a@DHiZ)W)Ik$;0pLm6On^)uUHxpif8M&uow6xvH$&8yNbOzX6RT) z2D%Uz4^r`2`;O$_>Gi9O4?@@C`HK3XGpG`JhPjR9J7bg8uoA|>`5q||Q9<&&4EVgl z7(_RS7na-R%e(^IKdEm%tZbO5gl(uCa&~bnUESb$GLPWe-Tj=1m9B65z7YJu?zODt z@!oXwu_@~bxYYP+OZW_XBk6hWLzselc6;O*S?5-D^I`eD&nXb7x1i3&xD6zG>aZbLh_fe2YG@6j zjTQ-_k2(2f0>R5T&mPXSJ4fqliFFUBq>2K!zZ!G0#{F?svu#n=7>gHfIfmqq;vQ;p zSbRAj!CxJM=YFubi%GH=^P|buTi$_m#gh$(N9~3qqhb@=(w$fMJSpN~-M}_Yy3}w> zXTlm!h#lF0RNWj@B-CXl2MMbn6Y$o_Cb7GNiII(C{XGlOxBbThYm47~7ISL|^opso z)y$aGaNaVX6G$nW2~MPi{{zu>@<;(vrW6y4wAFe$sTT<}pfYoO^Wv397EWz(i3ILx zIsr9Bsh*en?gZs<>SK|BUzH$!lR`H$Uo9=>seDf1peyt?>UITB&fPa7o$F4|r~P|mA8g-alVr=5d_Eqf3Y!z@qVKds zl!e`C$a3+^a!mCVyt+_U$c&w6>SZARt8@&r7n! zpIqgDft0RPW;x+PFQ(DRi+l?F+Wa-O3!xltGEcjBx7BE9%(3XS;g>r&)crwg7vtYk z&l0&p0sdJ@HhSZeahvDnS=JK+a*itGy}t0D?5#0;ao205Ck+Jt&r%a#5^G-axi?Hm zf>7jLX}eoyIregt`{|^S%1rKxR70DCn4u$|5s`Z2(|M5`lSRQUDh*j zxPI25i$*{BN(ul7OIZAa=Jn6#k|iJxyie<*_d=}ytHeR+@VYI_L@YR7EtGjT)ALjJ zr7@tP*ucTfw>+LS$KIi`rTPMsS@l~!`|WR2=DTl3YYjlJIXVyaX>0Dw0+wVY8_XyZ zL55|A?ha_I408csr23^Skuy?Rj}~)2dQVPi>4xanM&cqPgA}X*`l*RI;Dch9Ku}Xa zFn2ftVQdsqj;W;A<`k-la}jng*C&Fl ztFUmi3*5(QTl%bb;$55g^n@f#%1@F*cgAd3NM>L5b}QCZm9;Qnk&w~bB4-Xk&CY%r zJrxm}DZdkihs=<+eE|l zSZ6&67U1>9hS$KjoBpC+l8h|<7;yTWIB>4D(y*c6t*Nh&eY==vKeQ1$2h-_$U6tBc4WNmALoX!i5p>hNCgjD4)jxoju8 zp-0Ve91Ow|ek^ljLQ9FnP8@abv_^Su@A}%d^rBlE^yOTGPb${`;`_rK%J{gXKN>h=0_FgYZbQUZ<(}$60KvMS4 zwQN$@2svAJ_73KToX-3EW_!zJ=2RA4oSb!T0=pkh8$4c{Ux}6O&qMP!^WY?pj3m1Y z*RUc_;|$clTtKdo%wOyGQA4QYI*b%D%oM8jVOZ58ZWl#78fIp|z5w^u2f0mV(3P=V zu|ffqexC$G^Sr9Ml1uSq>Fx{V;37E*xttHEM_;b_hX1%U=3g~g_|VrZe?3wk8J0BB z=6J2gwU5+kxkezHY1hb$oapu-D3#!r>m+vS_`0AeQv9r0jx!7*b6YV5jKL2n<%3%) zjMcZN{0Fo7ilnl?nIPSKrje^cSYTF=jp~pq;i3drWdRASn##GOKip_>nmUV6?K_np z=pH7)ZQgtHQ;|rWkVlvAlp8{XhgI;$DNbN~wnLGVamhx1Qk96K(NbL!QsQ=L?&Tu0 z_+EoQ&9&~JYJ%hasmnBuI@NWXNioR6ubRRuyINIBi_|Zxj})@)qpOGJqx$JgeljF5;5@eZU&S@7sJY!gy zk_=vxJiH*5f?W9(1947(bGt^9hnmIqbJqe-7Wk zW!H=IT-#~Co%Te#k!A9v!bh{)+Wc}W^|%T@GT(~yV)e)J#7dG|W4p32XrUt#{&0p{ z!(@;tRgE6`r5V9VJVmrWom{0@${px$z=DuPB_g%Awz+Jtm&G0*mMCgr zmGkhH0xNFW3uTmZwe)hVwxAcM?@)=`kpv=$@i^8e%_ljcTrS>zqHSU&rX;Vg zzah(3%RgH2g%7Cs6m&K@t9H`_OoG~-o?C>@U>0eYq(%N5jrMV^n&RCm{7;ORCk+u(U-6B$b*BgoNFNS6wgY`zrGdfa{# z7W$JRbi5YUG$fh`bu<)2v=f$0mNl6v1g;yF|LEtmshAG!j?g1RYNkpCV?@Xg0(9-4FXsNq5kC)AB(`U>WQya&GII=# zu;Fj$&E3u0ux>?%A9fe(^*47+a}77^Z^U70^*57Sx~emsl1MRplxm1^kqy1#Q~i?~ z5o<_i2uf4o;npokFMu?;fft%R(Ra7 z9O7XPsy7{4+*R4h#k`-ZDk>(QaMT!Sh^C+qWrtDky=3M%Rp$q6U)vt9=JNXRvHZ$4 z*dbPkw8tqIA8qQEJ(l+C#Jk0Zha%p8a}0xZMUgSD;)qWb(?*I+;evaKis|Pn9-N8O zYd_oUe5L?CoLF`gqRXcY+y!a%Ox+xI3-~MAsxA1DON^>U4V~;Dub=YAJjI8$eJ5+E z^BYc?W?pm6nUAWFlc>PE8qY6qYL1mM7})KjnO`(m{~T{6ZeyQfi_cO-z$Kc<65cSk z9EaVLD#eWtqF15)1K}D?WS#Qxe`G9)l;~ySox+UxjQ7qi7Fd{;rj^ha-B&sqRGKk| zbDjxp%Ecr5whi(!2a)!ketyAIJX3s3 zn@wLn-QMsV=|tU%^3Bu;?_7v|muj3e(`ft9qxhH4j$DZDENL%F1;yonci`1YX&TOY=p>=3|s&#kYd3)}nOX3S70BUWNa;9A4n0LWhvAKMG+sUv2pQoET1 zG9It&i#dAOk|6IK9F{7?`HNh-z-|q>SzIiD zi5Vrx7HC6UkP1NNE-OpH%#a~lJP1f1CM zF@bx~muMqmaYdY+oKE@ra|d$D&wi{wy~Qp<#V|ZxCcC#K8T?6a9^KlIrIN9I1Gpdt z&c5F{{j70TzRIsV{ng&)*0BD!E>|YOKJGNxHq{_tOFUi_x28K9%7{9rGgkkl__iW$M$PW^B%95u0{A+MS#6+UH( z`6$)RoQrNsB=f7CmE3B^XM}CK?}o_y&d$@5HbB>fze^3OUmL^Nv#{~k!@KPH+UZzy z63hvM&ZPmHF_TMCxku8r`p8*gY0#HAzU=|Ah&Tr<58jxbDaLP;x=UsG9j{P z$=ZiWc#v>h)8+Mo* zFTkc;2kuqZETDP-ce>Z-$>Hsj3%(WqLqYNPD*UI+l_DHZV|4OBjl%F3?XSMWOJ)M4 z`P;d$GmiHY+GuK*@89ZM$ibkJPqM;i^>Y58MXIi%hRzI%83PD_g2e?`2aCu@+-Mj3 zqPPa@g8G~89=xQ06V7yl1!%#17)`x*cnPN6R^<0-HM5Qrf5$BSINCPB>8q-NBL3P; ztgZs@ILH1ur53W*Z@=A>Z82s;mU3b6xX?OF@`6ObEE+C|&-@@%UFet_rj@paBN--$ zHlK{e=y4bS4RjXP;>VF;<@6MiAvMh7LP<+wq#rJD`2lf&#{q%ZJgpyY*^nmUtad!^ z5he?lch ztA(uD$nxh_VJ97K*&UQTbl-J1yE{Iga6(>!E54bhmGnH4t3g3iHJN1$wn{4zYRtFD ztzyE*?bu7WnM^J9@u~%1u$Pu1n&eyr#e}q6cwQ=*;G0A}+LTJa{@Ve)pLF=>ispiS zyGI4TQ7VUxJ_~C#@&E;!1lz08dn4F;qhe*7_U<>&2%=3|g6K>)>hjxWqQaescJDZQNP-BQYSHrVm<3vjO7@RI-WbG#M)s|(8` zo%&ZwEL8XTpknEo?8c?k8wQE7+&7LvV~wY5hD0E!B9@Zn9c@ylR8=CQIF&z~orHwY zjf#Qar$3>U=r-YFEf(p9U=xB5HLYcyAK5ucqR$Q%L?disu0LvQ`%NX;Eo>R&`L>HU zV*PEH>YblC!R+#6ofGJRuO%mGJ*EPv_|q*h5r@n=#;8fSuv3LfPr5+=FYu|)jCwoO zHvKbwJb9-5A&MU{jy%Aid*8Zd&bnKEa$CdleJ^6;S=-WYK*lP#UfFD;v)(Bs@Zly% zU4ccR(7EVYk01Lw8I}K9+h^Bh(nB2X-Lm14+?hZ77`kB)bBC_1Ze)RRYpXKSq~kLK}_$@171;rxG@fvEprrePVfyu4aXf z6CDM09*e?d-JlKy&#-{`v)|C{ijFlN@!NU~B{`oE)Vn1Py(A6K`ut zTACMMv_<&KO7oFr8jwP@O@4@>Rbqdg>?IxDfa+>3B zuCxZ*68Ux}r=#JIJ+mor+Jf$Vl5WxxV+9@29ixCGx5;GqmoQewMW$6vj+BQMQki6f`=( zImg7r7oN*WKy8O+Z|ip9`Z@4b6pO{HKn z_Rg*A!>J$eqYZcdW=ncA=j_sMOh*+E{8}5$fVHV4*p2L4Lkgdf7V|E%ZqHS`EY_jC zF+_*XwD{NUo=UFO(!M^M=4|&lUSD5;w=a?^f-TecdnI93rE)H)mU(mq5KF1dF>!L8 zucik6f^p1-NEXX&3PuY9k2*NSh6AY++8o+WCE@#zGH(jx7>fby_!%g)S)sw%Xf~H^ zqJcmcLt!qFn!5n{Q`vc03Wm@JtAW=wwhx^FS5x;0hVSv>9j%04+V9ur6I_F;MuJ4U zPD*1#PVr?|U5?g~yQY25rIxL`AIA{o)q&9!jNfifyd15OJ162S%k#B>YkK7VS&%n% zW*jo@9%`$(@z|)Owe*WNmlpH~r-I{T91{yD_8CrU@BBk3&Y!-esHklW?)RIM$Tp-7 z2PJrvOiivT50^90yzC9^9mJwyq*8&_a=Sq-QsZ$2Uyg_={~bNN-4!7bO!gm=$ZQL1 z)NUYW-^T*=Q7i$2iL-oaa~r1QdlXJ*>miPA`klsx61Up9Ekf1|5|{%e4QrG}hB-13 zNK!_`KX8>lz95r5VCjo=&KzoJ4H!6*7Tb$rZ!z$Z`7ljD4n@<}cfJH>PgNcSd3SZa zwU(J7lTXTHPNxr2nRv{K84O$n6RlpwU5Tl_K?|=+@ubP4ie^*7)*k;3mi%E52I==T zkidHHa0EWYCyZKnHeQ$7u`b5YwUOi?*N)%5u%u8q$7@R0tiQ$+z;^L|j>rNOOmP|D z0{FR`eRnGnI`7qn3*J|V?F`8z?$q`KN{F5-0tKYVc2w?SA&ly2+*^qqvs~=NU5}l` zX+^8UN&4))*yr3dUdE;YPp$!~1DNyvMdu~bR)f?qk%WXG^>1`V3eTY~nPeDX#HOJ1 zmew zIOk)gp*xb=IxTG+3t%bo%U3sXqOU51+ElyvJ!vWcupD{07{vyD(oQ6y|Moc{m%ut; zQVopeVP|(b+RA!Q%<7ZAY;7)vNj3|Xce|EPQGN8>zg3Sg-G5hkrye#wKmOzN#IHx& zegQi>prO0|6IIdc+RyJl-gh)!rHlG8{0|L$4F03NXvJF+Uu<%ayj5Wz`Z2Lr%KTga}_@)FSMK#4P3L#;s_RCI9+C2}ULmv-RS6kMj z-Bj6O9DImJu=P&E-wJ&p<>sL2tXFSiAGCDs?($f+u>v9OsCIn|qVjWnvEo`elb-<{ zdn~w=K~QYBX3;d4TbY~ngqyj0nBG>;Vegj1aC)d%3V9it_7M~B9P`e0$Ggqk5&jAh zz)V+p{qvvrr=!-445r>BMzJ25OgKlnnrrw7b`lLHuZpRrm6S`pMB}R43oy#hP1IPU z&T!)0O>97EVQbiSv&=n%&>mi$?+LkU=~k7)*AZi!Sfte8V9*HiYde%1Nr_ryl_s~! z#lpWhNg827v=n6q%$a#u?dA&wB;Wn+EwT9y z-PF4&8szu&`UYR=a%So>`~|?0J06R|jgnZnmB(bm=3EUNtz>MhP9*UCw_)_4v84k2 zBR9;K*p5;KIgGtfYQE5|K_;k_)JQ{im?dSHM>{l_%>)CNaeHs=qW}`UUR*0?J3vVk z=#tK&PwYhjJJW2cr{%J!-XP<$6ZG#{ z?NR5jequZw>x8$i)!>fF1D4u91U%nR#ZhJqG*Y$b*R|{)a38~Z%H&VB%Txv6>r0tM z=4n?72%RFw7M>)1{s$Wkd$v9Flv(Zt_9JNEj8!K9EADaI+BfqxcX3vFd}{~1Ee%*| z+G|*F%mRZNu8i4;!py*-t|7*gyOi6{fw+?f(0vGVDVuBh37w^yw>kwz+Lk$`oxenA zFPEBN=7ZcSNbsU+>q3!pB2cKZzdhapSre|kzV(6aXZb|{f(fk zn0A|>EiDOc9>M1Cfpurfg0wQX>%r3;3Q-n06$T^0i|6}Mb@i&W0U+chhMnG|ERBK?*U_cO4bVpHG0 zdve?)Jc_F8T$S7W(1F8PF4^Y<`2`X&L4ym3*r#TZoDlzwZ61FRniirEOlzDm>h+uM zbG;c*K@EnE+|P(6#$oW2j^sgSrTl_Uv=iK!ugO7AH1!GV7O!BNdr#9-&N2mCaxsZf zE0@kg)mC)wn29f#r080LeR9xmEwIE%C@exM-31f$J4@EKitZjm_*h?1Gb7s|+7!p) zW3%=d^Tde9a{mhopnM$!U0r8v+_0=Vt*y??m~uZ<2F;j5l0MuAM$n4Rdv2m<8NHx; zYC?zJ2Ee+gKr)g$(G5tSdjTu2!>_#33Ne9D>er)fmy%{jFS{YQ-l94>}06 zZ^B#RU2y1x6ZU}iO#Es38Gl9*UFHRzgs;^j*&P6v?~3_{S_{qX=B&iL<#EwZZvzV! z7j4oC59g_Da!bhK>g6JjX@mEiYew6$M^X5oCGFk0c8b6~q&?Hw`EB!FI@G<_bi}o2 z*LGtq6&DFFzfV{LF^#WKtN7tBxMwW{&rZ;%(=~t0yA^3wU(kT00!^`x#D*Mkg04#%UhK z7b+^yd7wg?cJmd*$1UYxb}h)!~-IuqMu=o!SKgUQy(h!Y-_*i$|5Z&-6Y z8C!?j%fGs&qH7Kut`azG0l`f8v~<)1T?%i>42vg6Q;u+QNI{O)J)n6MQ730R_&aje zeI<^~H#DbEI0Ys}5D}`~l8evj*gMhRs3Bj>a|CU6CRE=#gpF=|$4~ArlY;;C1OD^Z z{l7T{<2z0t;ayx%{m^wmilOj8Nr8R;!w&EcXT3RDD;)&3(1x+0Eugt`hCeitqCM}QjP6suXeOT$o! zP?tK}T*?y#>P*evTX2c(`!7Xgh8G=Gpnu|eTN`ExSH6v#6#|J<|nem?hLW3US zsycC$t1B9l*MJ-?bB9KsAwlnI`k3!GK^Yr64`?S}dhVIk=GMVxX;nMV{RRN`%CDSX ztge&%MQGG8`sqs=47>#dkNolWdT%wtk5Sj%7QtJGlIw@mOeXeEU1tL9Gi1^&ow1x_p5Qi z2R_4eqBkTQRTR{OKan3Y5m+?s;Nt6=2c-y&L1^%UNnjaG*v3siw$Gt$LZJ!hW>@kt z;goJ|{PPrvXE-m)df8Wyg4c9fT)7iEBsH-dZRHj3{FSoM@rEaBj9LIajCm!u-Erm} zbjiAHpKLBe%;@@z|0c$)KYyn-Y6jZ%@( z_1#|ePQb@{O!B6*HH`pxmq&PP*u@Om;^a!`wEEPp+>kB#&NMQ4P3DKSB-s%{zt-leFMMXQj+?Aa0oK;kL zze-O;UmS3GF)aR&N zQ8i0bRRqcRKQKc%24IcW8}WI&fFv5qbo`y?DBZNKh>N)rXiUbHUaD`s>TW5mJxACg zCag*Ctsc9kOGth^;L;6#)8&%#*`8Z#$XBz#zO9zz^7;8YPK@uHl!k!q$`852L5zZg zxK8nVzn^VvZDV!Oph;8-dS_l#3izG#(OT2L^okKqEA-$s6NInZ>O;QWs#5+bg7e4- zg@6o>U30%OyJ~Kny}bJz3lbHt9L1seCVG9OaoLj!1v334@%KucPN+Jzb?IHD9F|p1 zy62sZ4|`wimd*sbf-VQOH^lST;5la8SibWkSH*r@IVHF_fYFg_a{OG-`lq8&XT=~< z-$76xH(YX00ZOWS_5v3PXi`F}7^|8Ustji)q>>SbF=+hri(&`+7)9qG@wi*8v9vQE znN9Mc@p13GgL}_Q8?@xP({~3dm4P8^^=5aWR}nV1=al?S5`uv0CrKis?nxs%m&I`O z5D#P^^pEw7H(<)J7$I-b^vH`j!vgv_M{ED3Gp3fcH@?%EN0Sn~E`0IeBz%nO$eI+a zR|JE=nfz^2fwbeQABK!xg-Mus9C6T?Kx|>g+>yD4*JiZdsUuZT)X+@k_GS`a`!2KFIi>VUY+q)w7fDd zaWF#94O9KzB26;n{wl%p)6DZ(a?AQ_{aTXivyL`w&B#Cj@na|Uu{Idx3?py_E48WG z&e$smrLGw$E`UAKGe8xaz&>lo^7^ReLU$wKd%#)K^B3ZgC8*!J8(H0XIQ%Pl%TH)S z4(mOfFchnx-n~a59;*P#ZJ)nm5|f}YJ&B9f7kZntfh{?lmuBv_S`rBlm-qWZL(|P> zsvdG}JStwP4y`3CLrf%p(>cKG*TKubhJIOv6pUA@FQ32B-(+Y-FXaMmE>m={h(9Oy1@usjG%z> z`RVC{^qPDFsz%ET>?Q6El^uTbcT+u)F+dlZD8Tqk`I`$vZ z@2mLQ7_){ZAA&o&;Xp;DNG&kf0<Gj zQH7#FWML%GN%G__Y~>6rHmXU{)KInDrCUu&y$TKgSQ79U<4z3F>aWCONY znqIH|5Rxm=+D?^K_&j&+ei+c>4TK zzgf<0XuJLXI~U5M$+wIid_eX0QPXbo)Z%Y(e-W_!sf%P>}5+5z`Fb zM;!2|b5QaSlu(Xzgq>cas)v*7d+F!bgyBZmeAfMB;O0Vz0WhYei`}2_X96CSK(e%2#eOrKK_g?V(b#;3H&0}+hwZT||Q*y8= zhZFF%Pf&1P*Y&8s-sEtbdcLK1cJp)BSMWUuZ%D01p60T+-4f(pg=6^62aH; zWV5Lu?vfOIem0csJ6fk~G5Y%N9uo5O!v`A><4@hSZr`TUb3s1-);c2fGbdn1?ohV< zcV>LfU5nrVmCPO)pG&UEinz`fYdjS(Mv`21tpX${Ns>ZyVC)uA<6izb#tpP&&h?dn zn6*clNLU4FlR1xqUa+3>I92fAi8%qn-XGV4!8H!Wq+5D*PVeU#4!e|XrTtSO{51Fr z)PSV7Ffz>=Za402@q8sbY011lAQLDZ@^z=_|{?lc#lk;hiRiF5c;Z_fq1@u^M|MV3Cd=(sc9bti?mz~ez`g_tfiDIDt z^GtN{OnbvK5{?1o$m{p*2CoR&DVzSml6YZc-ae}SE@O0aMxIiXlTQ2yq7N&Hs#ymb;0Hm=&phsc?;$Hhb;oA6-iM+Xl*YLT$B*AWJ^cTJ6={{Fvoi<_w<#$idH%C+QTfHh#o`m`?%8 z*VTN}`%kSQ2IVeW9ID{ZG7{kgY#OI^LGJui8(#iCgOu^kNz+@PfmR-Ea-0;_WSlWm zb0=X`mg^-gj6>E(eR9K-==>eGUNUJ5=@XB4ZR8!(;wRbihJ!8wRjdofd^dP$zVxL< z<`7*Tgz3d(7=OYmB~Xv|m!WTL2o1LA@o-oYbS#fOj6Pv#vs`h)HMBC7v*Q+4; zyehD6c)@xv6%a%VcUsE0fS_<&%7j1&>iYaLClNY7FrKg^cuGS-Vw(v?Ap~S@nH|Mt z<`=~uhA9+X?<@Myh>n}dy-{KhO#&eoDcICQTv{H%qo-12$;~G`1;PnyI-VpK|8_U+ ziXL3@P+-%z&WyC_nnb2H0ur9Ca_MJ1%W?g@7vSQAt5;YZd!3v#_#Hg&kp23!ly z!Rwys7T_QuUktbV+gK-as=y-y{vz(%n9)!b%O;;AdsLVEsy&h1%*-}i-%~T$J%Q)g z+XAJ7$(q&(_Y zdH})?vsUxXASebly$q>Ti4OZEP5d6-K>T|5 zwz6=5EQJDYNB8Y4&M0Kgn;Qlsk2IK9=s|#iaU79<1HT@^fG1*!q8*F|Y5ksc&^F7( z<|{=|b&Nlz{fFJlv+|S8!JoHXK=m!XyW$i(tcra^y9)wn!T*Ya!ix9kizZ*C% zbI#>j8!5&BdAll3av9of#a;K`{cdg65Ui5&9+-0bbNVkXh)EnLe3Iniz8`J#l2My=5ps7 zG-`z}{&7KJs=TCzp$Vo{76Se!LuCBP$?IR?v9EwHWe7JK|EkWWnc`l}urx2VV5#2J zO)fHdsCb>Id2JNK*p&SXMR*bh<*)T@r^maae- zi;LzNkM-@A0qr-mPCTp9rnp!HbNbLS=dO7@+U|x#q#{E`=q-4|SSD?*T>v&8PkxNk zc9az4eFSfKeSdl(;|trZJ@m^$_x;QO0Ey@a*_fRLi^f9J<@~Vn*A!#A_@^hA$saml zxaY_z(SraCUcGGnsql_DweNs!iQFDr?}sc$&^O8D&)h>15NKThs+}k~#qPHndzSLX znrJ1lp6DHICWq!IvZ+MOHlU)va0)Wjq@Q4f3Ly0=1YCvIV!RM+Z^J9hlME0c)Yq(p zlu1|~;YK5IHM$k|Lq&~9mBM!sh#=Q7Aq!J%=S9551#FH?B@&M3aHD_K?)soiY0sG< z!-h?T667|!S?spk7T{>t)tBPT@#_=WLI+LVmy{VQMcE()FI!A}Mvf88GY^DMLsEh6 zR`l;xQN&9rag`>z5qdA-U=hQt?M?P=-@Nqx*+3Z-;XLk5l0BoEW4-AwzB=Sj^Qpx_ z9m&#p9|G7%Nzuba69jj|mSHG6Kb1ow$PK$P?g)-T(_LHMHk0kt+Mnj(4``awAhD>6 zl8V;^L(sqOvggRbhzb+$wTVsh)>O!jX~8!`S6a z0$IgmJ|R0S*Rz_9yVqMUY56yu&D+%~K5fGCDp1t||&DptPasw9SC*Ltdi>~5aawg2X08p*C6)`f5L8S!)b zmWV+`0a&q?2I|1MX*+1Wk2cwx19NGP{Jbn3`&IjG^q@PD0hu%lFWL`XW#H5aozyUM zyLbYczf!QMetB}-5282+W*XhXnyBJaVu!WkQjN?FRWHf2PYK)2VVi0%N6oLQk(gt# z=+A^l1q<{&kn&b22an@Z=;T*$^%jJEaqhRrzBF;|Vh60*l7?rNV@^n%L+Ka2eNm_w zB+q`_&=oQ1VavF=fAyyCqWUQf<@S=b7GIAtm)rQ&`VxP+`a@ckN`(K=JzCI4o!M(8 z%Z^D^vIUrKoHcO3(ou7nq#v!gs-Nd?8AH$T$T@T^g?W)y%csjUrX);Jxj4>NgBhV) zVyJaj9A}n5Hu~T|CPVlo;rss6H}St~sAMXatUMEQY-*J~P&tUYomUm^#(q_PYxlfI z5ih$P?W*M-_axcqw+%xAGK~5LX9~=Sxq5ZxnRKetG2^<=iVss^NRsqoBTG;1RD!eA zI_13W3}k4E&PQmjvJwTwL*9==wk;f^aF4t*qw1gPp26--b@Q{r_b(H)3*p}+mJw-e zFsd6+APO;(7{d&V`)_J6yAcbhA2M=gD4E9?Ub%QCF8+mq1Po6;&uOP%^v}Rm19P_m zGPZ7~Ow@(iIGio5O@c&F+)acU*bbU+mXP;b7J~D;*voL5aV-|(+{fCaY&al3+1cVe zMRrfvJ#-iCoJZ4mMJI=vy*Pn}ujeUcb}(I@sHc=XIJ*Ehg5Qgk0h$BRT7zi&M@Y8e zyVXPE!WVLil4;(lXKOx!N`-lm^5K8bz;Hvl$aaFV?aW;pi!>U=FEcyEei~~Ym{C#A z3m2SH2PSxqRJ743491UU${b0rS5lV~p`tA07rNuC!^T|y@L(+U1cb?9u@{vZjO#pV z!e(1VT?6)KHzPR;jlV}cUAmtp2bYemQJ2rT6r}vm%bNUhW^xievWJ)@KsSkTTtt~= zD2ovzWWc7BVkt2?z)&C!^H4ipYJDplax0i5hWMymNjmTGYJ^kDgu@@%sGnXAuA)Hz zs+UC|be9VWN`-0UHs{+b1wvcR`JJIRCqy!Nr&L4ip_Er@x6+`C(4mrAQi6u=qcCCx zMxO*>RuxLM=)nDHFRTfQiEZUx1f);+2G6}fW)*fj5sgR`EU9^`SXUD3&frI33vm%Y z+ypB9)0&YX7cPwclo$QboKKsKVFRM8->Oe(FTF}W3@+PyX7o4itvrO;8MRJu5jMTT zwMAvb4K;~x(^hf{^z+%0K&T0t?eccfKODZj!i)#LVM1uiLk0ec{!#H$!U59LW=pa( z*y=#>vYF}bmLPrVHWB1&y@2~dtm9w=YjI^hjOhwR1f7xTvhTw**#hC|Yq1dH85A8u zmjFa)gh=I{i5t<~w`?9J_(*<^zYT`T5j(S;HG0*7LvfgBiR>CmMc~Sk4(8)g7a>Sn z;yatuFQU4sn=JRl;D7oCK0|LFGBO&HxR_DX7jnAX7oay0eXZzvOs2+R|0>aX_{$z( z@7{QIu_04d(&xhR9vfRnrRek~`aYLXvs*9<F>TdU$HdH8Ysze;%qDniI9knadU{7v@?0JMHU4aEVaW{Lfk|4nXAX&z(&pd zNt>v1_^H6zi1EfmW3~h5c_i7{GRye!)R;r|F6%dsy*7U0D&Zs`x*ll8+{eHF?i`zg zdbJ~{sK`sjI31^lQ6>eE0}_V(!^NTShE~YP?-q!mlTjY5h$Ih_uDy33EZ17<#5Rbe zpQ5^@#m2a+Fhu5g8LF#kgvSd%C>xmizREnXh!BOE2SQ4r6iw72rwL6bMR>~hR#@AJ z9jpj7CFVseF0q)IrQ)LDP*rYIc>-8+Wn-}NO4y8uBVL{dlpm~|+*8DSx+{hcT(YRLU7xe6FBTg}P8KYYbx@I3^P)J~RNdo+_dc%RZ*J;qdy<0uw32h(1O# z{84dx)2kRUh#+60!AIq|$LA`_t*4Sh5$B z(z<_@I>A2Z)&oQUJa+<=$>xNvENuP~t)^S{Q^%a%2)`= zcbPV%o^(7t0tEfQh<4AgQ(!h`K0}GbVBz#fC>|6%`9JeSflV)apVE|%A)pF-xWOWN z2$4~3yV|~4T@B34$}qW%2)Z8Q9>#=&?tVcNFD?% zoOnjL&lzd4WdK{1&~yP~ZWo(ES3`9NI0@8BpAh_kjYJS8hrpiLBoU~lP$ZP=OKj-* z4UXyHk}WAL*fz4waP^QCrgV(xXY_Vvr{DZ!raOU8sSiznMw?jmAgQ!!w8&g1_wDD0 z?}V#%h*@k+*4J@@@2oETF#FQFEMeMBzemDp7Fzj-;XBAV`mI9Mtnk%vgkQ1LdL!_% zeN>ifEhWfk^Tr$tvu@g(a^Xuq(iLo`4YBC)zL(?hdgYz>cEJ4r)G5nD2!{K={H}dE z1oKE=-nsOPxZX?#qCB@4|B(xWoF+7eEh1jDftu0XJaRrD8Zk;~Yuvua(rt+7$=NKT zHKl<;_keD#zMTb{wY&r5OeQqK6)eYn)@TJ1k0j;Rlm0h^*nq`>fA0BmOXVYs+Zj zz?22Ia}`Y16a8=1dbNR}eX9B7V$-2|7EO%#cw+ObOI%u5ZK#9B`=q*W7MU*td*6*v z8ZU|0W|Dry7vaO+XB-sZ5#0vDT=*DHn}bHBTB%LB+?H^?G-G0EZF-TiN~X+LE$fI{ z^d;fY4-m_&f|jTNoymdo%z)My(ie_Xs)!2+Sf{uD{6EaSWpEr#m!@sYk|j&BWHB={ zGg-{c%*@ncu$WuS%*<*rGh58e%uK6!-`LohXJ+I3er`lYRGvIt*^pP=9aVW(R^+vg zX;IIvy60#IKEhEFV)0n!F@V0-2O4xGV+gSys1=P|JO~ZJwTO9Ki#L z#<;8+WJNI1kGVsb7!#K)h%eOG9Z+ek%sLC@Il4{O4%lC!r5B(1cfR!zw zWqnj$nxPGS+1HZzm4aU6<6^3Ku0!yHM;U#%_~C9O!E=$CQ9?Apu-tce1)R$#1C?~5 zHdfQzC!~kC6`$|#jOr#?wV+Dbw~{RoAHPzi6ynoM*#|t*mvcBto2$g1?FowzXCriX6kFo>|pdLCai*(?u~;qOO` zvSDRUnp|v;w8d~^QGRt+Xc{%x=uTFEceCfv4b+pbYQJ}Cz1=G`AS%&(wfz+ z)g*UNz`(;ID=a3q_WEBOWpfk)yM`PyT5k@{tqOIWumv(U_N_Iz6P2Aa^5i<5sca%J zE||lN+MKCqjm3~B)z%ft0t~pR_87Psko)5hF=?-(Mu)cP{ zRNT*?dDae?j?X&!HxH*tMpT=_@sv_wjt!LVvaqk}p=tyErcl4!jDs9J`kYQUmeT@n zr2C~N5MspmH8iB#&?Hbd5w=yR|F9&X=5ts>)jtjzmOr1(A)aL16hp zfg|M+S#8hZ6QzaIoN&2%LSODQDbN~mk{LA-g7v1tSW=|-k9RKWaYW}j z_{#~fxx8;A=U!Km*ivE%C_RN`QJKr+KLyl1WVGj}jhMuJm2*}_RFCsF@>s$dZgTVw zNSdw?_>#7={-$VPDAX(v<#tnVrgS+u@+zDR8IHZktwrMNzX(&F!H>e^SL=f#8%2Oi z*G&0oYl{I4?!M=5m@R(WOenj=qWSA0F=TlL=(0&_Yc5_}dD-E}9bklC-U%B%5n|ny2^yG|`LQ3^)b=Qkw z-Cs6yz7LTFX!+*ikve@d^gY1eJ9sx_juF>rScFu#Kn)oqWWZ02v}>5-O4Obog}5#2 ze(8_}mNt1LT3FOT;Eaff$ZY!6QK)A91rUC_g=2ZgvOV#A!PEY00@e_&KD7XYyC}Zb z(em)KGD_h7hpu5l(-)vFivipaRX4S7aP~5BYo4mId)?y{ytrVSo=}0XBwUmZ@MmI)v82zRh9=3gI z=B(|uzu=h;mGp{Af}JP$8-ODf(%GIKDxiz@%3zIhY9}&dGay5)*b|w*X`NNRo-d|m zilVr&A>m@@G1yKY&Ud^vZK06mKxgOfarKcWxh{lq*mz+t^}b%YqGBPf=aQ(28TG(Yb8#DLJ_Y;DHGZs3>li%pqh`I!)$Qnu(GNqYc|qU-+x6G zL5>nR{L^!wsp!iq97)VZrmL0rEITn&!RZ`AM*Vb7`o~(sj~tKaej0TCo~NkfSnt9J z*%mrtYj||Ol4Ih3Qy^ky9yHHy0k9hMsuN&B?$%2op#imB5*AmCT z*@!ZE^qy4no9QDW<+^=SJWW4`66OU$OiTY2;?o79z3`yoa%@o_Oqpsd&U);iU2*jl zOKWzu0=K_K-h3}RIGJT&S!*76rjY`pq{VN&&Q|yATp&22w6}q!o(kCS1g@-{@*P3R28cBI$U^}iynVJJh#C3H8Ln%q3L2YU*#SeG!1&M=Wo!( z)_eGgMou_2(J9ye=MaAgt%eNTE9fiR&+~cWo-r#3&P{xTzx?P_h+Db-{ZiZs@jCFq ztwq*M)iG-2C*c4K4qFRlFjZt#}oSIIiq;x?y3Iurl&Bv!QFYMj{kXq(= zuj`9E1P9LK;Rv9tm198CM4LZ`xmG1`Icrwhl`l(YVHs@+?-%LoCY?MMUO;+JNyJFZ zW=KEz1h)mPkllVq2>Ugoae-1Q55=_az{QdJqwC+^*2=n&Y{eKcC<=mzdOzK(>`u;x znqdIiZhu0xG_5luoiLrVH?j|iwbsP#36iYV?T4(xP2ZHS{>2}4oEoR1_lkYujnv)P zBX>52;fP&VEa$fvaCi zZ6#PVwfySDBuSd7$~}(Z!$a<8K^@~nVWJ51AhpupCDlDz(6n9bVXmz&ejXAT&rQYq zu-C?}PLyOGjhU#!{5$IFf-~7tIpW3zyBv%JDVeksDy8la{HldWF&snui(Xq$hMf7^ z=UHh2+TRrAfj+U7iv-36Hl{+!fIWWbX$H6QFTw@yANpGlHZ={gkqmrdm3C6jPI2IY zVzd=tI^25vJ4IznW`9N1hD6G;oV*|Hg~$ocT5l!ehK}f?dY{{h$WS!5Ec_==OVBvy ztZNhE=g)$@3Ea|Ci!RR)I9Y|i=iX`y44Q?XvH!@pFJCEU;zpqz{@S3l@STh&VX}V@ z-n8>aC9}xaN}#vr+|^^OUDk==x;8RpCYB3V6N|)en{TEkSK?1R!Pz*(Nm1Vhh16t! zDF&l;{?x}OU=nPhkbtV-o7J(ld?R&4{+!IFb@=+;?o>1({g^L8Vynm>o@#iEV(QMD zD2tNiJ}N$Io}8d)E02Mjgn1e&no!CuiFvYb7?8v|X(qER@U5@*?*hE#WdfEe+N_qq z1LcCM4KF>-7FT)vBE+~27OqryPy;T-$k~Fv6^7UZBZyeaSa{}s3(T=t7{`6voShnQ zk{GXy9Y(=Ysb_Vlu`9InN6ZngKJ4HuA)rb$vc|fBNOJ@)G0)=;Yc7_z>Yzgk(9-Jt zdp_;}klQMiR85Ek!m=G2^7>%w;sn_k;I+}HYPY2N*gdg#aQ-|CE*qiA)X~wE^@VPD zC0iNDe)EN<^xJSNiXdglA$Z@%#FDj*Xcf2>;kuQVty&%dcvcl!@`b^J>XY2(D=!2I zS_jDXqPK_1oH}7{&Bm4`g(g%xajOvVBSNjZ1_~KD$G&?odTp8Wp(*SI8I}|6yC1lH z-!99#%R^Lo9wH8{4f)+K;pW<3G+GD7IXs+s3))RbfiHLNH*!pSP^Z z+>!(NTd1-P;?Vih+W9P(({g2S z5)p=w9m)gDPtRay^(18$85kAOQAi{!3ky%KC%J=Ddg|xfnK)8up>dmD^v6Ad((&$V z2BC(mEK>&7;Yzm5Kh@1x>tP9*qfx?oT(Z}wpiDJp3#^EVu#(_(m-I;J)S?O&RvDS? zxdFokqngV7`6NXmefg=Mj+^?L2ue5*L@U3-Y)fws_;ekhEGPM$|L&_0_WoM1X(<>I zgWww`Z1TBsv%0Z?N>-3+)8i8GJE~jUnvV5M(U#7ehu&Ya=zQcaW!4b1&+{KiRnw-i zp+*?9&L5xW{dGtj_D16ZZ@R?D`CVhH!hY_Ib`h+JvfT1|&Nl3~7CsEiKCx|ahl6P3 z?ux$Asex}L3hZSzD{Lg#RFHqPjR}>aP}3ZnB-N10xrf3t@! zs8@+q+4X}8g72IJP`{601^I#Z?JR0j+Kfcugq2l2fL<*rIOqL52}`e`(hS(?-bB0FfN@-{oX!BIWvVei0# zTG1Pz-&LZFh0$02j9~4`89$B*aoHG#09?G4-(+U-^{^)gBe~LnwlF3+y|9&2OYlXn z3Gt;8-wuV*FtkW&m(+=+(=@^<1hCg3a&%;L zqcedi+E-D=6#I^gBL|@yxIS>*LkFR00GtQCO0!)?+wFcd28wdNyt{sws9!cCUijq` z%T&NoE4Yi+)&Av}{muK*nQ6HKxZJEkj^CU3g;`2xhzpY_%H0b|34=FQN9wlo!%Xq3 zOvMam0%K#_zN*kEY;hmHO+3q!6=6O4P1QD;%FMpV2ENWENf#4~721t1wBK<)pxL}{PCvdrm`Bk3H=o_V{B!?dwBz95VENxZJ4UAe?z3b5|L3!ltRfyv(79RK zHO`y!3_T_7r)?Kej<;Eh2tlF?6%@}G3&T|J%~_7-$&bK@n-v2~Lr%j~8~tjfhDF!L z`u%>MwT)@>=_~7ILi^>&r48&i9n9}-G5TpyL#je1nPa6b%5%C3Ez;52V+X?_NC)Y3 z6DN7XHK-2qeLksp7puG!s8xYJAE&!{NR292vTlSQZxd(zl8rJG>-Ae^{Nb8>92E2G z9*C9PG^qJu4Y4q13+u=Z_9yql*O_w_Sy^okC%eF&29-h8zD|%^IG#_q7L5M&LL17u zW9hsMd0FB^rA)7jx;C=6+r~(F23?!_Ivy~VCZ2H=QU#fJRie|A9#?rwL4VY;B)Yy0 z8(u@+l`09oLZ){me#+#@&hh;WUd2Hh-Pr6&tZi0OoH$WcrN}^fOQFH@1QC7QB}*b_ZX07x9qqffM<3l1-oEl)WuFTn>Yh4OJ|MSbC4MXVyX#E@662q|hIvcF z)$RMx*!cH{w>Z4SyjnM*0CX%wW7PRp7I_xT@B|GQN}+z^dX=q4E#5i>!ik*FjVz!o zI*cGGFO}zoX3SjAW`OyFJ$QjS8YsPUX1@hswXUI~o3Y%0AQ0X~O<2ycH+C(8?y{qu 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�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').appendTo(sf).hide();as['sl']=$(''+_loadAlt+'').appendTo(sf).hide();as['sr']=$('#'+p+'ajaxSearch_output').hide().removeClass('init');as['si']=$('#'+p+'ajaxSearch_input');as['se']=$('#'+p+'ajaxSearch_select');if(!as['lvs'])as['ss']=$('#'+p+'ajaxSearch_form input:submit');as['sc'].click(function(){closeSearch(as);return false;});if(!as['lvs'])as['ss'].click(function(){doSearch(as);return false;});else as['si'].keyup(function(){doLiveSearch(as);});if(as['si'].length)as['si'].keydown(function(e){var keyCode=e.keyCode||e.which;if(keyCode==13){doSearch(as);}});doSearch(as);} +var res=as['cfg'].match(/&pagingType=`([^`]*)`/);as['pgt']=_pagingType;if(res!==null)as['pgt']=res[1];res=as['cfg'].match(/&opacity=`([^`]*)`/);as['opc']=_opacity;if(res!=null)as['opc']=parseFloat(res[1]);res=as['cfg'].match(/&init=`([^`]*)`/);as['ini']=_init;if(res!=null)as['ini']=res[1];res=as['cfg'].match(/&liveSearch=`([^`]*)`/);as['lvs']=_liveSearch;if(res!=null)as['lvs']=parseInt(res[1]);res=as['cfg'].match(/&minChars=`([^`]*)`/);as['mch']=_minChars;if(res!=null)as['mch']=parseInt(res[1]);res=as['cfg'].match(/&asId=`([^`]*)`/);as['px']='';if(res!=null)as['px']=res[1]+'_';var p=as['px'];sf=$('#'+p+'ajaxSearch_form');as['sc']=$(''+_closeAlt+'').appendTo(sf).hide();as['sl']=$(''+_loadAlt+'').appendTo(sf).hide();as['sr']=$('#'+p+'ajaxSearch_output').hide().removeClass('init');as['si']=$('#'+p+'ajaxSearch_input');as['se']=$('#'+p+'ajaxSearch_select');if(!as['lvs'])as['ss']=$('#'+p+'ajaxSearch_form input:submit');as['sc'].click(function(){closeSearch(as);return false;});if(!as['lvs'])as['ss'].click(function(){doSearch(as);return false;});else as['si'].keyup(function(){doLiveSearch(as);});if(as['si'].length)as['si'].keypress(function(e){var keyCode=e.keyCode||e.which;if(keyCode==13){doSearch(as);return false;}});doSearch(as);} function doLiveSearch(as){if(as['lt']){window.clearTimeout(as['lt']);} as['lt']=setTimeout(function(){doSearch(as)},400);} function doSearch(as){if(!as['lvs']&&as['is'])return false;if(as['si'].length)s=as['si'].val();else if(as['se'].length){sl=new Array();as['se'].find('option:selected').each(function(i){sl.push($(this).attr('value'));});s=sl.join(" ");} -else s='';if(s==as['bxt'])s='';as['s']=s;if(as['si'].length&&(s.length!=0)&&as['lvs']&&(s.length +$_lang['as_resultsTextSingle'] = 'Nájdený %d výsledok.'; +$_lang['as_resultsTextMultiple'] = 'Nájdených %d výsledkov.'; +$_lang['as_grpResultsDisplayedText'] = '(Zobrazujem %d - %d z %d)'; +$_lang['as_resultsDisplayed'] = 'Zobrazených: %d'; +$_lang['as_paging1Text'] = '%d - %d / %d'; +$_lang['as_paging2Text'] = 'ZobraziÅ¥ ostatných %d výsledkov'; +?> \ No newline at end of file diff --git a/assets/snippets/ajaxSearch/lang/slovak.inc.php b/assets/snippets/ajaxSearch/lang/slovak.inc.php old mode 100644 new mode 100755 index d23456df19..d6a40b8db1 --- a/assets/snippets/ajaxSearch/lang/slovak.inc.php +++ b/assets/snippets/ajaxSearch/lang/slovak.inc.php @@ -1,18 +1,16 @@ +$_lang['as_resultsTextSingle'] = 'Nájdený %d výsledok.'; +$_lang['as_resultsTextMultiple'] = 'Nájdených %d výsledkov.'; +$_lang['as_grpResultsDisplayedText'] = '(Zobrazujem %d - %d z %d)'; +$_lang['as_resultsDisplayed'] = 'Zobrazených: %d'; +$_lang['as_paging1Text'] = '%d - %d / %d'; +$_lang['as_paging2Text'] = 'Zobrazi ostatných %d výsledkov'; +?> \ No newline at end of file diff --git a/assets/snippets/ajaxSearch/lang/spanish-utf8.inc.php b/assets/snippets/ajaxSearch/lang/spanish-utf8.inc.php old mode 100644 new mode 100755 index f08d3ea988..a0b665b066 --- a/assets/snippets/ajaxSearch/lang/spanish-utf8.inc.php +++ b/assets/snippets/ajaxSearch/lang/spanish-utf8.inc.php @@ -26,10 +26,4 @@ $_lang['as_cmtSubmitText'] = 'enviar'; $_lang['as_cmtResetText'] = 'borrar'; $_lang['as_cmtThksMessage'] = 'Gracias por su comentario'; -$_lang['as_resultsTextSingle'] = '%d resultado encontrado.'; -$_lang['as_resultsTextMultiple'] = '%d resultados encontrados.'; -$_lang['as_grpResultsDisplayedText'] = '(Visualización de %d - %d sobre %d)'; -$_lang['as_resultsDisplayed'] = 'Indicados: %d'; -$_lang['as_paging1Text'] = '%d - %d / %d'; -$_lang['as_paging2Text'] = 'Indicar %d resultados más'; ?> diff --git a/assets/snippets/ajaxSearch/lang/spanish.inc.php b/assets/snippets/ajaxSearch/lang/spanish.inc.php old mode 100644 new mode 100755 index df12044b0b..ac3dd74126 --- a/assets/snippets/ajaxSearch/lang/spanish.inc.php +++ b/assets/snippets/ajaxSearch/lang/spanish.inc.php @@ -25,10 +25,4 @@ $_lang['as_cmtSubmitText'] = 'enviar'; $_lang['as_cmtResetText'] = 'borrar'; $_lang['as_cmtThksMessage'] = 'Gracias por su comentario'; -$_lang['as_resultsTextSingle'] = '%d resultado encontrado.'; -$_lang['as_resultsTextMultiple'] = '%d resultados encontrados.'; -$_lang['as_grpResultsDisplayedText'] = '(Visualización de %d - %d sobre %d)'; -$_lang['as_resultsDisplayed'] = 'Indicados: %d'; -$_lang['as_paging1Text'] = '%d - %d / %d'; -$_lang['as_paging2Text'] = 'Indicar %d resultados más'; ?> diff --git a/assets/snippets/ajaxSearch/module.ajaxSearchLogManager.txt b/assets/snippets/ajaxSearch/module.ajaxSearchLogManager.txt old mode 100644 new mode 100755 index de1c9a1d2a..93f1783857 --- a/assets/snippets/ajaxSearch/module.ajaxSearchLogManager.txt +++ b/assets/snippets/ajaxSearch/module.ajaxSearchLogManager.txt @@ -3,8 +3,8 @@ * ----------------------------------------------------------------------------- * * @author Coroico - www.modx.wangba.fr -* @version 1.9.0 -* @date 18/05/20100 +* @version 1.9.2 +* @date 05/12/20100 * * Purpose: * To display the content of the AjaxSearch Log table in the manager diff --git a/assets/snippets/ajaxSearch/snippet.ajaxSearch.txt b/assets/snippets/ajaxSearch/snippet.ajaxSearch.txt old mode 100644 new mode 100755 index 4952b63146..4096617c1d --- a/assets/snippets/ajaxSearch/snippet.ajaxSearch.txt +++ b/assets/snippets/ajaxSearch/snippet.ajaxSearch.txt @@ -5,13 +5,13 @@ * Ajax and non-Ajax search that supports results highlighting * * @category snippet - * @version 1.9.0 + * @version 1.9.2 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) * @internal @properties * @internal @modx_category Search * * @author Coroico - * @date 18/05/2010 + * @date 05/12/2010 * ----------------------------------------------------------------------------- */ /** @@ -71,7 +71,7 @@ MORE : See the ajaxSearch.readme.txt file for more informations. ----------------------------------------------------------------------------- */ // ajaxSearch version being executed -define('AS_VERSION', '1.9.0'); +define('AS_VERSION', '1.9.2'); // Path where ajaxSearch is installed define('AS_SPATH', 'assets/snippets/ajaxSearch/'); //include snippet file @@ -83,12 +83,24 @@ define('AS_PATH', MODX_BASE_PATH . AS_SPATH); global $modx; $tstart = $modx->getMicroTime(); +$cfg = array(); // current configuration +$cfg['version'] = AS_VERSION; + // Load the default configuration $dcfg to get the default values $default = AS_PATH . 'configs/default.config.php'; if (file_exists($default)) include $default; else return "

    AjaxSearch error: $default not found !
    Check the existing of this file!

    "; if (!isset($dcfg)) return "

    AjaxSearch error: default configuration array not defined in $default!
    Check the content of this file!

    "; -$cfg = array(); // current configuration + +if ($dcfg['version'] != AS_VERSION) return "

    AjaxSearch error: Version number mismatch. Check the content of the default configuration file!

    "; + +// check the possible use of deprecated parameters (since 1.8.5) +$readme = "ajaxSearch_version_192.txt"; +if (isset($searchWordList)) return "

    AjaxSearch error: searchWordList is a deprecated parameter. Read " . $readme . " file.

    "; +if (isset($resultsPage)) return "

    AjaxSearch error: resultsPage is a deprecated parameter. Read " . $readme . " file.

    "; +if (isset($AS_showForm)) return "

    AjaxSearch error: AS_showForm parameter has been renamed showInputForm. Read " . $readme . " file.

    "; +if (isset($AS_landing)) return "

    AjaxSearch error: AS_landing parameter has been renamed landingPage. Read " . $readme . " file.

    "; +if (isset($AS_showResults)) return "

    AjaxSearch error: AS_showResults parameter has been renamed showResults. Read " . $readme . " file.

    "; // Load a custom configuration file if required // config_name - Other config installed in the configs folder or in any folder within the MODx base path via @FILE @@ -97,7 +109,7 @@ $cfg = array(); // current configuration $cfg['config'] = isset($config) ? $config : $dcfg['config']; if ($cfg['config']) { $config = $cfg['config']; - $lconfig = (substr($config, 0, 5) != "@FILE") ? AS_PATH . "configs/$config.config.php" : $modx->config['base_path'] . trim(substr($config, 5)); + $lconfig = (substr($config, 0, 6) != "@FILE:") ? AS_PATH . "configs/$config.config.php" : $modx->config['base_path'] . trim(substr($config, 6, strlen($config)-6)); if (file_exists($lconfig)) include $lconfig; else return "

    AjaxSearch error: " . $lconfig . " not found !
    Check your config parameter or your config file name!

    "; } @@ -456,7 +468,6 @@ if ($cfg['ajaxSearch']) { $cfg['jsJquery'] = isset($jsJquery) ? $jsJquery : (isset($__jsJquery) ? $__jsJquery : $dcfg['jsJquery']); } - // ========================================================== End of config include_once AS_PATH . "classes/ajaxSearch.class.inc.php"; if (class_exists('AjaxSearch')) { diff --git a/assets/snippets/ajaxSearch/templates/inputTemplates/readme.txt b/assets/snippets/ajaxSearch/templates/inputTemplates/readme.txt old mode 100644 new mode 100755 index 2c157dd7e3..a42fb476de --- a/assets/snippets/ajaxSearch/templates/inputTemplates/readme.txt +++ b/assets/snippets/ajaxSearch/templates/inputTemplates/readme.txt @@ -3,9 +3,9 @@ * * Ajax and non-Ajax search that supports results highlighting * - * @version 1.9.0 + * @version 1.9.2 * @author Coroico - * @date 12/04/2010 + * @date 05/12/2010 * ----------------------------------------------------------------------------- /** From b18e06f56ac7a39dc1a3fda4c2984d1d312060ee Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 11:51:42 +0900 Subject: [PATCH 40/92] 891 [hq] Google Chrome font problem (text-shadow)(yama) --- manager/media/style/MODxCarbon/style.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manager/media/style/MODxCarbon/style.css b/manager/media/style/MODxCarbon/style.css index 7a31863077..7e01abfbb0 100755 --- a/manager/media/style/MODxCarbon/style.css +++ b/manager/media/style/MODxCarbon/style.css @@ -1245,9 +1245,9 @@ ul.actionButtons { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; - -webkit-text-shadow: 0 1px 1px #fff; - -moz-text-shadow: 0 1px 1px #fff; - text-shadow: 0 1px 1px #fff; + -webkit-text-shadow: 1px 1px 0 #fff; + -moz-text-shadow: 1px 1px 0 #fff; + text-shadow: 1px 1px 0 #fff; border:1px solid #8ea4be; outline: none; } From 41bdd04eadf8cabcad2b40a8e05fa32543f1ada1 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 11:52:37 +0900 Subject: [PATCH 41/92] 892 [hq] The login name and the password leak when updating it. (yama) --- install/action.connection.php | 4 ++-- install/action.options.php | 11 +++++++---- install/action.summary.php | 7 +++---- install/instprocessor.php | 4 ++-- 4 files changed, 14 insertions(+), 12 deletions(-) mode change 100644 => 100755 install/action.connection.php mode change 100644 => 100755 install/action.options.php mode change 100644 => 100755 install/action.summary.php diff --git a/install/action.connection.php b/install/action.connection.php old mode 100644 new mode 100755 index c6b5c8884c..077c3d3db7 --- a/install/action.connection.php +++ b/install/action.connection.php @@ -67,10 +67,10 @@

    - " /> + " />

    - " /> + " />

    diff --git a/install/action.options.php b/install/action.options.php old mode 100644 new mode 100755 index a710ea1b32..34cfdc858e --- a/install/action.options.php +++ b/install/action.options.php @@ -4,6 +4,10 @@ $database_collation = isset($_POST['database_collation']) ? $_POST['database_collation'] : 'utf8_general_ci'; $database_charset = substr($database_collation, 0, strpos($database_collation, '_')); $_POST['database_connection_charset'] = $database_charset; + if(empty($_SESSION['databaseloginpassword'])) + $_SESSION['databaseloginpassword'] = $_POST['databaseloginpassword']; + if(empty($_SESSION['databaseloginname'])) + $_SESSION['databaseloginname'] = $_POST['databaseloginname']; } elseif ($installMode == 1) { include "../manager/includes/config.inc.php"; @@ -38,8 +42,8 @@ $_POST['database_connection_charset'] = $database_connection_charset; $_POST['database_connection_method'] = $database_connection_method; $_POST['databasehost'] = $database_server; - $_POST['databaseloginname'] = $database_user; - $_POST['databaseloginpassword'] = $database_password; + $_SESSION['databaseloginname'] = $database_user; + $_SESSION['databaseloginpassword'] = $database_password; } ?> @@ -54,11 +58,10 @@ - - + diff --git a/install/action.summary.php b/install/action.summary.php old mode 100644 new mode 100755 index 9f0518362a..6d0be0f30c --- a/install/action.summary.php +++ b/install/action.summary.php @@ -119,8 +119,8 @@ } else { // get db info from post $database_server = $_POST['databasehost']; - $database_user = $_POST['databaseloginname']; - $database_password = $_POST['databaseloginpassword']; + $database_user = $_SESSION['databaseloginname']; + $database_password = $_SESSION['databaseloginpassword']; $database_collation = $_POST['database_collation']; $database_charset = substr($database_collation, 0, strpos($database_collation, '_') - 1); $database_connection_charset = $_POST['database_connection_charset']; @@ -269,11 +269,10 @@ - - + diff --git a/install/instprocessor.php b/install/instprocessor.php index 95f8ffa0c0..6f3a434ffa 100755 --- a/install/instprocessor.php +++ b/install/instprocessor.php @@ -28,8 +28,8 @@ //} else { // get db info from post $database_server = $_POST['databasehost']; - $database_user = $_POST['databaseloginname']; - $database_password = $_POST['databaseloginpassword']; + $database_user = $_SESSION['databaseloginname']; + $database_password = $_SESSION['databaseloginpassword']; $database_collation = $_POST['database_collation']; $database_charset = substr($database_collation, 0, strpos($database_collation, '_')); $database_connection_charset = $_POST['database_connection_charset']; From e6cf6e3b1a528347815296572d3c0a25cb1cc0ae Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 11:59:56 +0900 Subject: [PATCH 42/92] 894 [hq] File browser style tune(yama) --- manager/media/browser/mcpuk/browser.html | 2 +- manager/media/browser/mcpuk/browser.html.inc | 2 +- manager/media/browser/mcpuk/browser.php | 1 + .../connectors/php/Commands/Thumbnail.php | 8 +-- .../php/Commands/helpers/iconlookup.php | 66 ++++++++++-------- .../browser/mcpuk/connectors/php/config.php | 2 +- .../mcpuk/connectors/php/images/ascii.jpg | Bin 1240 -> 0 bytes .../mcpuk/connectors/php/images/document2.jpg | Bin 2456 -> 0 bytes .../mcpuk/connectors/php/images/document2.png | Bin 0 -> 1757 bytes .../mcpuk/connectors/php/images/empty.jpg | Bin 1095 -> 0 bytes .../mcpuk/connectors/php/images/empty.png | Bin 0 -> 710 bytes .../mcpuk/connectors/php/images/flash.png | Bin 0 -> 1274 bytes .../mcpuk/connectors/php/images/html.jpg | Bin 2123 -> 0 bytes .../mcpuk/connectors/php/images/html.png | Bin 0 -> 1499 bytes .../mcpuk/connectors/php/images/pdf.jpg | Bin 1973 -> 0 bytes .../mcpuk/connectors/php/images/pdf.png | Bin 0 -> 1141 bytes .../mcpuk/connectors/php/images/real_doc.png | Bin 0 -> 1120 bytes .../mcpuk/connectors/php/images/sound.jpg | Bin 2756 -> 0 bytes .../mcpuk/connectors/php/images/sound.png | Bin 0 -> 1358 bytes .../connectors/php/images/spreadsheet.png | Bin 0 -> 1102 bytes .../mcpuk/connectors/php/images/video.jpg | Bin 2303 -> 0 bytes .../mcpuk/connectors/php/images/video.png | Bin 0 -> 1386 bytes .../media/browser/mcpuk/frmresourceslist.html | 10 +-- .../media/browser/mcpuk/images/Folder96.jpg | Bin 2901 -> 0 bytes .../media/browser/mcpuk/images/folder64.png | Bin 0 -> 1951 bytes .../browser/mcpuk/images/icons/32/ai.gif | Bin 1140 -> 0 bytes .../browser/mcpuk/images/icons/32/avi.gif | Bin 454 -> 0 bytes .../browser/mcpuk/images/icons/32/bmp.gif | Bin 709 -> 0 bytes .../browser/mcpuk/images/icons/32/cs.gif | Bin 224 -> 0 bytes .../mcpuk/images/icons/32/default.icon.gif | Bin 177 -> 0 bytes .../browser/mcpuk/images/icons/32/dll.gif | Bin 258 -> 0 bytes .../browser/mcpuk/images/icons/32/doc.gif | Bin 260 -> 0 bytes .../browser/mcpuk/images/icons/32/exe.gif | Bin 170 -> 0 bytes .../browser/mcpuk/images/icons/32/fla.gif | Bin 946 -> 0 bytes .../browser/mcpuk/images/icons/32/gif.gif | Bin 704 -> 0 bytes .../browser/mcpuk/images/icons/32/htm.gif | Bin 1527 -> 0 bytes .../browser/mcpuk/images/icons/32/html.gif | Bin 1527 -> 0 bytes .../browser/mcpuk/images/icons/32/jpg.gif | Bin 463 -> 0 bytes .../browser/mcpuk/images/icons/32/js.gif | Bin 274 -> 0 bytes .../browser/mcpuk/images/icons/32/mdb.gif | Bin 274 -> 0 bytes .../browser/mcpuk/images/icons/32/mp3.gif | Bin 454 -> 0 bytes .../browser/mcpuk/images/icons/32/pdf.gif | Bin 567 -> 0 bytes .../browser/mcpuk/images/icons/32/ppt.gif | Bin 254 -> 0 bytes .../browser/mcpuk/images/icons/32/rdp.gif | Bin 1493 -> 0 bytes .../browser/mcpuk/images/icons/32/swf.gif | Bin 725 -> 0 bytes .../browser/mcpuk/images/icons/32/swt.gif | Bin 724 -> 0 bytes .../browser/mcpuk/images/icons/32/txt.gif | Bin 213 -> 0 bytes .../browser/mcpuk/images/icons/32/vsd.gif | Bin 277 -> 0 bytes .../browser/mcpuk/images/icons/32/xls.gif | Bin 271 -> 0 bytes .../browser/mcpuk/images/icons/32/xml.gif | Bin 408 -> 0 bytes .../browser/mcpuk/images/icons/32/zip.gif | Bin 368 -> 0 bytes .../media/browser/mcpuk/images/icons/ai.gif | Bin 403 -> 0 bytes .../media/browser/mcpuk/images/icons/avi.gif | Bin 249 -> 0 bytes .../media/browser/mcpuk/images/icons/bmp.gif | Bin 126 -> 0 bytes .../media/browser/mcpuk/images/icons/cs.gif | Bin 128 -> 0 bytes .../mcpuk/images/icons/default.icon.gif | Bin 113 -> 0 bytes .../media/browser/mcpuk/images/icons/dll.gif | Bin 132 -> 0 bytes .../media/browser/mcpuk/images/icons/doc.gif | Bin 140 -> 0 bytes .../media/browser/mcpuk/images/icons/exe.gif | Bin 109 -> 0 bytes .../media/browser/mcpuk/images/icons/fla.gif | Bin 382 -> 0 bytes .../media/browser/mcpuk/images/icons/gif.gif | Bin 125 -> 0 bytes .../media/browser/mcpuk/images/icons/htm.gif | Bin 621 -> 0 bytes .../media/browser/mcpuk/images/icons/html.gif | Bin 621 -> 0 bytes .../media/browser/mcpuk/images/icons/jpg.gif | Bin 125 -> 0 bytes .../media/browser/mcpuk/images/icons/js.gif | Bin 139 -> 0 bytes .../media/browser/mcpuk/images/icons/mdb.gif | Bin 146 -> 0 bytes .../media/browser/mcpuk/images/icons/mp3.gif | Bin 249 -> 0 bytes .../media/browser/mcpuk/images/icons/pdf.gif | Bin 230 -> 0 bytes .../media/browser/mcpuk/images/icons/ppt.gif | Bin 139 -> 0 bytes .../media/browser/mcpuk/images/icons/rdp.gif | Bin 606 -> 0 bytes .../media/browser/mcpuk/images/icons/swf.gif | Bin 388 -> 0 bytes .../media/browser/mcpuk/images/icons/swt.gif | Bin 388 -> 0 bytes .../media/browser/mcpuk/images/icons/txt.gif | Bin 122 -> 0 bytes .../media/browser/mcpuk/images/icons/vsd.gif | Bin 136 -> 0 bytes .../media/browser/mcpuk/images/icons/xls.gif | Bin 138 -> 0 bytes .../media/browser/mcpuk/images/icons/xml.gif | Bin 231 -> 0 bytes .../media/browser/mcpuk/images/icons/zip.gif | Bin 235 -> 0 bytes 77 files changed, 48 insertions(+), 43 deletions(-) mode change 100644 => 100755 manager/media/browser/mcpuk/browser.html mode change 100644 => 100755 manager/media/browser/mcpuk/browser.html.inc mode change 100644 => 100755 manager/media/browser/mcpuk/browser.php mode change 100644 => 100755 manager/media/browser/mcpuk/connectors/php/Commands/Thumbnail.php mode change 100644 => 100755 manager/media/browser/mcpuk/connectors/php/Commands/helpers/iconlookup.php mode change 100644 => 100755 manager/media/browser/mcpuk/connectors/php/config.php delete mode 100644 manager/media/browser/mcpuk/connectors/php/images/ascii.jpg delete mode 100644 manager/media/browser/mcpuk/connectors/php/images/document2.jpg create mode 100755 manager/media/browser/mcpuk/connectors/php/images/document2.png delete mode 100644 manager/media/browser/mcpuk/connectors/php/images/empty.jpg create mode 100755 manager/media/browser/mcpuk/connectors/php/images/empty.png create mode 100755 manager/media/browser/mcpuk/connectors/php/images/flash.png delete mode 100644 manager/media/browser/mcpuk/connectors/php/images/html.jpg create mode 100755 manager/media/browser/mcpuk/connectors/php/images/html.png delete mode 100644 manager/media/browser/mcpuk/connectors/php/images/pdf.jpg create mode 100755 manager/media/browser/mcpuk/connectors/php/images/pdf.png create mode 100755 manager/media/browser/mcpuk/connectors/php/images/real_doc.png delete mode 100644 manager/media/browser/mcpuk/connectors/php/images/sound.jpg create mode 100755 manager/media/browser/mcpuk/connectors/php/images/sound.png create mode 100755 manager/media/browser/mcpuk/connectors/php/images/spreadsheet.png delete mode 100644 manager/media/browser/mcpuk/connectors/php/images/video.jpg create mode 100755 manager/media/browser/mcpuk/connectors/php/images/video.png mode change 100644 => 100755 manager/media/browser/mcpuk/frmresourceslist.html delete mode 100644 manager/media/browser/mcpuk/images/Folder96.jpg create mode 100755 manager/media/browser/mcpuk/images/folder64.png delete mode 100644 manager/media/browser/mcpuk/images/icons/32/ai.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/avi.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/bmp.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/cs.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/default.icon.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/dll.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/doc.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/exe.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/fla.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/gif.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/htm.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/html.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/jpg.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/js.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/mdb.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/mp3.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/pdf.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/ppt.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/rdp.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/swf.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/swt.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/txt.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/vsd.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/xls.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/xml.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/32/zip.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/ai.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/avi.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/bmp.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/cs.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/default.icon.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/dll.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/doc.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/exe.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/fla.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/gif.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/htm.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/html.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/jpg.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/js.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/mdb.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/mp3.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/pdf.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/ppt.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/rdp.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/swf.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/swt.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/txt.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/vsd.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/xls.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/xml.gif delete mode 100644 manager/media/browser/mcpuk/images/icons/zip.gif diff --git a/manager/media/browser/mcpuk/browser.html b/manager/media/browser/mcpuk/browser.html old mode 100644 new mode 100755 index 2706cf2bbc..ea62711600 --- a/manager/media/browser/mcpuk/browser.html +++ b/manager/media/browser/mcpuk/browser.html @@ -17,7 +17,7 @@ - FCKeditor - Resources Browser + File Browser - - '; - - // Page output: TV form - if ($save == 0) { - $output .= ' - - '; - - // Document is locked message - if ($locked) { - $output .= ' -

    '.$_lang['locked'].'

    -
    '.$_lang['lock_msg'].'
    - '; - } - - // Normal form - else { - // Image preview - if ($tv['type'] == 'image') { - $imagePreview = ' -
    - - '; - } - - $output .= ' -
    - '.$editorHtml.' - '; - } - } - - // Page output: close modal box and refresh parent frame - else $output .= ''; - - // Page output: footer - $output .= ' - - - '; - } - - else { - $output = 'Error: Access denied.'; - } - } - - // QM+ with toolbar - else { - - if(isset($_SESSION['mgrValidated']) && $_REQUEST['z'] != 'manprev') { - - // If logout break here - if(isset($_REQUEST['logout'])) { - $this->Logout(); - break; - } - - $userID = $_SESSION['mgrInternalKey']; - //$docID = $this->modx->documentIdentifier; - $doc = $this->modx->getDocument($docID); - - // Edit button - - $editButton = ' -
  • - '.$_lang['edit_resource'].' -
  • - '; - - // Check if user has manager access to current document - $access = $this->checkAccess(); - - // Does user have permissions to edit document - if($access) $controls .= $editButton; - - if ($this->addbutton == 'true' && $access) { - // Add button - $addButton = ' -
  • - '.$_lang['create_resource_here'].' -
  • - '; - - // Does user have permissions to add document - if($this->modx->hasPermission('new_document')) $controls .= $addButton; - } - - // Custom add buttons if not empty and enough permissions - if ($this->custombutton != '') { - - // Replace [*id*] with current doc id - $this->custombutton = str_replace("[*id*]", $docID, $this->custombutton); - - // Handle [~id~] links - $this->custombutton = $this->modx->rewriteUrls($this->custombutton); - - $buttons = explode("||", $this->custombutton); // Buttons are divided by "||" - - // Custom buttons class index - $i = 0; - - // Parse buttons - foreach($buttons as $key => $field) { - $i++; - - $field = substr($field, 1, -1); // Trim "'" from beginning and from end - $buttonParams = explode("','", $field); // Button params are divided by "','" - - $buttonTitle = $buttonParams[0]; - $buttonAction = $buttonParams[1]; // Contains URL if this is not add button - $buttonParentId = $buttonParams[2]; // Is empty is this is not add button - $buttonTplId = $buttonParams[3]; - - // Button visible for all - if ($buttonParams[4] == '') { - $showButton = TRUE; - } - // Button is visible for specific user roles - else { - $showButton = FALSE; - - // Get user roles the button is visible for - $buttonRoles = explode(",", $buttonParams[4]); // Roles are divided by ',' - - // Check if user role is found - foreach($buttonRoles as $key => $field) { - if ($field == $_SESSION['mgrRole']) { - $showButton = TRUE; - } - } - } - - // Show custom button - if ($showButton) { - switch ($buttonAction) - { - case 'new': - $customButton = ' -
  • - '.$buttonTitle.' -
  • - '; - break; - - case 'link': - $customButton = ' -
  • - '.$buttonTitle.' -
  • - '; - break; - - case 'modal': - $customButton = ' -
  • - '.$buttonTitle.' -
  • - '; - break; - } - $controls .= $customButton; - } - } - } - - // Go to Manager button - if ($this->managerbutton == 'true') { - $managerButton = ' -
  • - '.$_lang['manager'].' -
  • - '; - $controls .= $managerButton; - } - - // Logout button - $logout = $this->modx->config['site_url'].'manager/index.php?a=8&quickmanager=logout&logoutid='.$docID; - $logoutButton = ' -
  • - '.$_lang['logout'].' -
  • - '; - $controls .= $logoutButton; - - // Add action buttons - $editor = ' -
    - -
    - - X - -
      -
    • - '.$controls.' -
    -
    '; - - $css = ' - - - - '; - - // Autohide toolbar? Default: true - if ($this->autohide == 'false') { - $css .= ' - - '; - } - - // Insert jQuery and ColorBox in head if needed - if ($this->loadfrontendjq == 'true') $head .= ''; - if ($this->loadtb == 'true') { - $head .= ' - - - - - - '; - } - - // Insert ColorBox jQuery definitions for QuickManager+ - $head .= ' - - '; - - // Insert QM+ css in head - $head .= $css; - - // Place QM+ head information in head, just before tag - $output = preg_replace('~()~i', $head . '\1', $output); - - // Insert editor toolbar right after tag - $output = preg_replace('~(]*>)~i', '\1' . $editor, $output); - - // Search and create edit buttons in to the content - if ($this->editbuttons == 'true' && $access) { - $output = preg_replace('//', '$2', $output); - } - - // Search and create new document buttons in to the content - if ($this->newbuttons == 'true' && $access) { - $output = preg_replace('//', '$3', $output); - } - - // Search and create new document buttons in to the content - if ($this->tvbuttons == 'true' && $access) { - // Set and get user doc groups for TV permissions - $this->docGroup = ''; - $mrgDocGroups = $_SESSION['mgrDocgroups']; - if (!empty($mrgDocGroups)) $this->docGroup = implode(",", $mrgDocGroups); - - // Create TV buttons and check TV permissions - $output = preg_replace_callback('//', array(&$this, 'createTvButtons'), $output); - } - } - } - - break; - - // Edit document in ThickBox frame (MODx manager frame) - case 'OnDocFormPrerender': - - // If there is Qm call, add control buttons and modify to edit document page - if (intval($_REQUEST['quickmanager']) == 1) { - - global $content; - - // Set template for new document, action = 4 - if(intval($_GET['a']) == 4) { - - // Custom add button - if (isset($_GET['customaddtplid'])) { - // Set template - $content['template'] = intval($_GET['customaddtplid']); - } - - // Normal add button - else { - switch ($this->tpltype) { - // Template type is parent - case 'parent': - // Get parent document id - $pid = $content['parent'] ? $content['parent'] : intval($_REQUEST['pid']); - - // Get parent document - $parent = $this->modx->getDocument($pid); - - // Set parent template - $content['template'] = $parent['template']; - - break; - - // Template is specific id - case 'id': - $content['template'] = $this->tplid; - - break; - - // Template is inherited by Inherit Selected Template plugin - case 'selected': - // Get parent document id - $pid = $content['parent'] ? $content['parent'] : intval($_REQUEST['pid']); - - // Get inheritTpl TV - $tv = $this->modx->getTemplateVar("inheritTpl", "", $pid); - - // Set template to inherit - if ($tv['value'] != '') $content['template'] = $tv['value']; - else $content['template'] = $this->modx->config['default_template']; - - break; - } - } - } - - // Manager control class - $mc = new Mcc(); - - // Hide default manager action buttons - $mc->addLine('$("#actions").hide();'); - - // Get MODx theme - $qm_theme = $this->modx->config['manager_theme']; - - // Get doc id - $doc_id = intval($_REQUEST['id']); - - // Get jQuery conflict mode - if ($this->noconflictjq == 'true') $jq_mode = '$j'; - else $jq_mode = '$'; - - // Add action buttons - $mc->addLine('var controls = "";'); - - // Modify head - $mc->head = ''; - if ($this->loadmanagerjq == 'true') $mc->head .= ''; - - // Add control button - $mc->addLine('$("body").prepend(controls);'); - - // Hide fields to from front-end editors - if ($this->hidefields != '') { - $hideFields = explode(",", $this->hidefields); - - foreach($hideFields as $key => $field) { - $mc->hideField($field); - } - } - - // Hide tabs to from front-end editors - if ($this->hidetabs != '') { - $hideTabs = explode(",", $this->hidetabs); - - foreach($hideTabs as $key => $field) { - $mc->hideTab($field); - } - } - - // Hide sections from front-end editors - if ($this->hidesections != '') { - $hideSections = explode(",", $this->hidesections); - - foreach($hideSections as $key => $field) { - $mc->hideSection($field); - } - } - - // Hidden field to verify that QM+ call exists - $hiddenFields = ''; - - // Different doc to be refreshed? - if (isset($_REQUEST['qmrefresh'])) { - $hiddenFields .= ''; - } - - // Output - $e->output($mc->Output().$hiddenFields); - } - - break; - - // Where to logout - case 'OnManagerLogout': - // Only if cancel editing the document and QuickManager is in use - if ($_REQUEST['quickmanager'] == 'logout') { - // Redirect to document id - if ($this->logout != 'manager') { - $this->modx->sendRedirect($this->modx->makeUrl($_REQUEST['logoutid']), 0, 'REDIRECT_HEADER', 'HTTP/1.1 301 Moved Permanently'); - } - } - - break; - } - } - - // Check if user has manager access permissions to current document - //_______________________________________________________ - function checkAccess() { - $access = FALSE; - - // If user is admin (role = 1) - if ($_SESSION['mgrRole'] == 1) $access = TRUE; - - else { - $docID = $this->modx->documentIdentifier; - - // Database table - $table= $this->modx->getFullTableName("document_groups"); - - // Check if current document is assigned to one or more doc groups - $sql= "SELECT id FROM {$table} WHERE document={$docID}"; - $result= $this->modx->db->query($sql); - $rowCount= $this->modx->recordCount($result); - - // If document is assigned to one or more doc groups, check access - if ($rowCount >= 1) { - - // Get document groups for current user - $mrgDocGroups = $_SESSION['mgrDocgroups']; - if (!empty($mrgDocGroups)) { - $docGroup = implode(",", $mrgDocGroups); - - // Check if user has access to current document - $sql= "SELECT id FROM {$table} WHERE document = {$docID} AND document_group IN ({$docGroup})"; - $result= $this->modx->db->query($sql); - $rowCount = $this->modx->recordCount($result); - - if ($rowCount >= 1) $access = TRUE; - } - - else $access = FALSE; - } - - else $access = TRUE; - } - - return $access; - } - - // Function from: manager/processors/cache_sync.class.processor.php - //_____________________________________________________ - function getParents($id, $path = '') { // modx:returns child's parent - global $modx; - if(empty($this->aliases)) { - $sql = "SELECT id, IF(alias='', id, alias) AS alias, parent FROM ".$modx->getFullTableName('site_content'); - $qh = $modx->db->query($sql); - if ($qh && $modx->db->getRecordCount($qh) > 0) { - while ($row = $modx->db->getRow($qh)) { - $this->aliases[$row['id']] = $row['alias']; - $this->parents[$row['id']] = $row['parent']; - } - } - } - if (isset($this->aliases[$id])) { - $path = $this->aliases[$id] . ($path != '' ? '/' : '') . $path; - return $this->getParents($this->parents[$id], $path); - } - return $path; - } - - // Create TV buttons if user has permissions to TV - //_____________________________________________________ - function createTvButtons($matches) { - - $access = FALSE; - $table = $this->modx->getFullTableName('site_tmplvar_access'); - $docID = $this->modx->documentIdentifier; - - // Get TV caption for button title - $tv = $this->modx->getTemplateVar($matches[1]); - $caption = $tv['caption']; - - // If caption is empty this must be a "build-in-tv-field" like pagetitle etc. - if ($caption == '') { - - // Allowed for all - $access = TRUE; - - // Resolve caption - $caption = $this->getDefaultTvCaption($matches[1]); - } - - // Check TV access - else { - $access = $this->checkTvAccess($tv['id']); - } - - // Return TV button link if access - if ($access && $caption != '') { - return ''.$caption.''; - } - } - - // Check user access to TV - //_____________________________________________________ - function checkTvAccess($tvId) { - $access = FALSE; - $table = $this->modx->getFullTableName('site_tmplvar_access'); - - // If user is admin (role = 1) - if ($_SESSION['mgrRole'] == 1 && !$access) { $access = TRUE; } - - // Check permission to TV, is TV in document group? - if (!$access) { - $sql = "SELECT id FROM {$table} WHERE tmplvarid = {$tvId}"; - $result = $this->modx->db->query($sql); - $rowCount = $this->modx->recordCount($result); - // TV is not in any document group - if ($rowCount == 0) { $access = TRUE; } - } - - // Check permission to TV, TV is in document group - if (!$access && $this->docGroup != '') { - $sql = "SELECT id FROM {$table} WHERE tmplvarid = {$tvId} AND documentgroup IN ({$this->docGroup})"; - $result = $this->modx->db->query($sql); - $rowCount = $this->modx->recordCount($result); - if ($rowCount >= 1) { $access = TRUE; } - } - - return $access; - } - - // Get default TV ("build-in" TVs) captions - //_____________________________________________________ - function getDefaultTvCaption($name) { - - global $_lang; - $caption = ''; - - switch ($name) { - case 'pagetitle' : $caption = $_lang['resource_title']; break; - case 'longtitle' : $caption = $_lang['long_title']; break; - case 'description' : $caption = $_lang['resource_description']; break; - case 'content' : $caption = $_lang['resource_content']; break; - case 'menutitle' : $caption = $_lang['resource_opt_menu_title']; break; - case 'introtext' : $caption = $_lang['resource_summary']; break; - } - - return $caption; - } - - // Check that a document isn't locked for editing - //_____________________________________________________ - function checkLocked() { - - $activeUsersTable = $this->modx->getFullTableName('active_users'); - $pageId = $this->modx->documentIdentifier; - $locked = TRUE; - $userId = $_SESSION['mgrInternalKey']; - - $sql = "SELECT `internalKey` - FROM {$activeUsersTable} - WHERE (`action` = 27) - AND `internalKey` != '{$userId}' - AND `id` = '{$pageId}';"; - $result = $this->modx->db->query($sql); - - if ($this->modx->db->getRecordCount($result) === 0) { - $locked = FALSE; - } - - return $locked; - } - - // Set document locked on/off - //_____________________________________________________ - function setLocked($locked) { - - $activeUsersTable = $this->modx->getFullTableName('active_users'); - $pageId = $this->modx->documentIdentifier; - $userId = $_SESSION['mgrInternalKey']; - - // Set document locked - if ($locked == 1) { - $fields = array ( - 'id' => $pageId, - 'action' => 27 - ); - } - - // Set document unlocked - else { - $fields = array ( - 'id' => 'NULL', - 'action' => 2 - ); - } - - $where = 'internalKey = "' . $userId . '"'; - - $result = $this->modx->db->update($fields, $activeUsersTable, $where); - } - - // Save TV - //_____________________________________________________ - function saveTv($tvName) { - - $tmplvarContentValuesTable = $this->modx->getFullTableName('site_tmplvar_contentvalues'); - $siteContentTable = $this->modx->getFullTableName('site_content'); - $pageId = $this->modx->documentIdentifier; - $result = null; - $time = time(); - $user = $_SESSION['mgrInternalKey']; - $tvId = isset($_POST['tvid']) ? intval($_POST['tvid']) : ''; - $tvContent = isset($_POST['tv'.$tvName]) ? $_POST['tv'.$tvName] : ''; - $tvContentTemp = ''; - - // Invoke OnBeforeDocFormSave event - $this->modx->invokeEvent('OnBeforeDocFormSave', array('mode'=>'upd', 'id'=>$pageId)); - - // Handle checkboxes and other arrays, TV to be saved must be e.g. value1||value2||value3 - if (is_array($tvContent)) { - foreach($tvContent as $key => $value) { - $tvContentTemp .= $value . '||'; - } - $tvContentTemp = substr($tvContentTemp, 0, -2); // Remove last || - $tvContent = $tvContentTemp; - } - - // Save TV - if ($tvId != '') { - // Escape TV content - $tvContent = $this->modx->db->escape($tvContent); - - $sql = "SELECT id - FROM {$tmplvarContentValuesTable} - WHERE `tmplvarid` = '{$tvId}' - AND `contentid` = '{$pageId}';"; - $result = $this->modx->db->query($sql); - - // TV exists, update TV - if($this->modx->db->getRecordCount($result)) { - - $sql = "UPDATE {$tmplvarContentValuesTable} - SET `value` = '{$tvContent}' - WHERE `tmplvarid` = '{$tvId}' - AND `contentid` = '{$pageId}';"; - } - - // TV does not exist, create new TV - else { - $sql = "INSERT INTO {$tmplvarContentValuesTable} (tmplvarid, contentid, value) - VALUES('{$tvId}', '{$pageId}', '{$tvContent}');"; - } - - // Page edited by - $this->modx->db->update(array('editedon'=>$time, 'editedby'=>$user), $siteContentTable, 'id = "' . $pageId . '"'); - } - - // Save default field, e.g. pagetitle - else { - $sql = "UPDATE {$siteContentTable} - SET - `{$tvName}` = '{$tvContent}', - `editedon` = '{$time}', - `editedby` = '{$user}' - WHERE `id` = '{$pageId}';"; - - } - - // Update TV - if($sql) { $result = $this->modx->db->query($sql); } - - // Log possible errors - if(!$result) { - $modx->logEvent(0, 0, "

    Save failed!

    SQL:
    {$sql}
    ", 'QuickManager+'); - } - - // No errors - else { - // Invoke OnDocFormSave event - $this->modx->invokeEvent('OnDocFormSave', array('mode'=>'upd', 'id'=>$pageId)); - - // Clear cache - $this->clearCache(); - } - } - - // Clear cache - //_____________________________________________________ - function clearCache() { - // Clear cache - include_once $this->modx->config['base_path']."manager/processors/cache_sync.class.processor.php"; - $sync = new synccache(); - $sync->setCachepath($this->modx->config['base_path']."assets/cache/"); - $sync->setReport(false); - $sync->emptyCache(); - } - -} -} +modx = $modx; + + // Get plugin parameters + $this->jqpath = $jqpath; + $this->loadmanagerjq = $loadmanagerjq; + $this->loadfrontendjq = $loadfrontendjq; + $this->noconflictjq = $noconflictjq; + $this->loadtb = $loadtb; + $this->tbwidth = $tbwidth; + $this->tbheight = $tbheight; + $this->usemm = $usemm; + $this->hidefields = $hidefields; + $this->hidetabs = $hidetabs; + $this->hidesections = $hidesections; + $this->addbutton = $addbutton; + $this->tpltype = $tpltype; + $this->tplid = $tplid; + $this->custombutton = $custombutton; + $this->managerbutton = $managerbutton; + $this->logout = $logout; + $this->autohide = $autohide; + $this->editbuttons = $editbuttons; + $this->editbclass = $editbclass; + $this->newbuttons = $newbuttons; + $this->newbclass = $newbclass; + $this->tvbuttons = $tvbuttons; + $this->tvbclass = $tvbclass; + + // Includes + include_once($this->modx->config['base_path'].'assets/plugins/qm/mcc.class.php'); + + // Run plugin + $this->Run(); + } + + //_______________________________________________________ + function Run() { + + // Include MODx manager language file + global $_lang; + + // Get manager language + $manager_language = $this->modx->config['manager_language']; + + // Individual user language setting (if set) + $query = 'SELECT setting_name, setting_value FROM '.$this->modx->getFullTableName('user_settings').' WHERE setting_name=\'manager_language\' AND user='.$_SESSION['mgrInternalKey']; + $records = $this->modx->db->query($query); + if ($this->modx->db->getRecordCount($records) > 0) { + $record = $this->modx->db->getRow($records); + $manager_language = $record['setting_value']; + } + + // Include_once the language file + if(!isset($manager_language) || !file_exists(MODX_MANAGER_PATH."includes/lang/".$manager_language.".inc.php")) { + $manager_language = "english"; // if not set, get the english language file. + } + // Include default language + include_once MODX_MANAGER_PATH."includes/lang/english.inc.php"; + + // Include user language + if($manager_language!="english" && file_exists(MODX_MANAGER_PATH."includes/lang/".$manager_language.".inc.php")) { + include_once MODX_MANAGER_PATH."includes/lang/".$manager_language.".inc.php"; + } + + // Get event + $e = &$this->modx->Event; + + // Run plugin based on event + switch ($e->name) { + + // Save document + case 'OnDocFormSave': + + // Saving process for Qm only + if(intval($_REQUEST['quickmanager']) == 1) { + + $id = $e->params['id']; + $key = $id; + + // Normal saving document procedure stops to redirect => Before redirecting secure documents and clear cache + + // Secure web documents - flag as private (code from: manager/processors/save_content.processor.php) + include $this->modx->config['base_path']."manager/includes/secure_web_documents.inc.php"; + secureWebDocument($key); + + // Secure manager documents - flag as private (code from: manager/processors/save_content.processor.php) + include $this->modx->config['base_path']."manager/includes/secure_mgr_documents.inc.php"; + secureMgrDocument($key); + + // Clear cache + $this->clearCache(); + + // Different doc to be refreshed than the one we are editing? + if (isset($_POST['qmrefresh'])) { + $id = intval($_POST['qmrefresh']); + } + + // Redirect to clearer page which refreshes parent window and closes modal box frame + $this->modx->sendRedirect($this->modx->config['base_url'].'index.php?id='.$id.'&quickmanagerclose=1', 0, 'REDIRECT_HEADER', 'HTTP/1.1 301 Moved Permanently'); + } + + break; + + // Display page in front-end + case 'OnWebPagePrerender': + + // Get document id + $docID = $this->modx->documentIdentifier; + + // Get page output + $output = &$this->modx->documentOutput; + + // Close modal box after saving (previously close.php) + if (isset($_GET['quickmanagerclose'])) { + + // Set url to refresh + $url = $this->modx->makeUrl($docID, '', '', 'full'); + + $output = ' + + + + + + + + + + '; + + break; + } + + // QM+ TV edit + if(intval($_GET['quickmanagertv'] == 1) && $_GET['tvname'] != '' && $this->tvbuttons == 'true') { + + $tvName = ''; + $locked = FALSE; + $access = FALSE; + $save = 0; + $imagePreview = ''; + + // Includes + $manager_path = 'manager/'; + include_once($manager_path.'includes/tmplvars.inc.php'); + include_once($manager_path.'includes/tmplvars.commands.inc.php'); + include_once($manager_path.'includes/tmplvars.format.inc.php'); + + // Get save status + if (isset($_POST['save'])) $save = intval($_POST['save']); + + // Get TV name + if (preg_match('/^([^\\"\'\(\)<>!?]+)/i', $_GET['tvname'])) $tvName = $_GET['tvname']; + + // Get TV array + $tv = $this->modx->getTemplateVar($tvName, '*', $docID); + + // Handle default TVs + switch ($tvName) { + case 'pagetitle' : $tv['type'] = 'text'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; + case 'longtitle' : $tv['type'] = 'text'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; + case 'description' : $tv['type'] = 'text'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; + case 'content' : $tv['type'] = 'richtext'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; + case 'menutitle' : $tv['type'] = 'text'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; + case 'introtext' : $tv['type'] = 'textarea'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; + } + + // Check TV access + if (!$access) { $access = $this->checkTvAccess($tv['id']); } + + // User can access TV + if ($access) { + + // Show TV form + if ($save == 0) { + + // Check is document locked? Someone else is editing the document... //$_lang['lock_msg'] + if ($this->checkLocked()) $locked = TRUE; + + // Set document locked + else $this->setLocked(1); + + // Handle RTE + if($tv['type'] == 'richtext') { + // Invoke OnRichTextEditorInit event + $eventOutput = $this->modx->invokeEvent("OnRichTextEditorInit", array('editor'=>$this->modx->config['which_editor'], 'elements'=>array('tv'.$tvName))); + + if(is_array($eventOutput)) { + $editorHtml = implode("",$eventOutput); + } + } + + // Render TV html + $tvHtml = renderFormElement($tv['type'], $tv['name'], $tv['default_text'], $tv['elements'], $tv['value']); + + // Get jQuery conflict mode + if ($this->noconflictjq == 'true') $jq_mode = '$j'; + else $jq_mode = '$'; + } + + // Save TV + else { + // Remove document locked + $this->setLocked(0); + + // Save TV + $this->saveTv($tvName); + } + + // Page output: header + $output = ' + + + + + + + + + + + '; + + // Page output: TV form + if ($save == 0) { + $output .= ' + + '; + + // Document is locked message + if ($locked) { + $output .= ' +

    '.$_lang['locked'].'

    +
    '.$_lang['lock_msg'].'
    + '; + } + + // Normal form + else { + // Image preview + if ($tv['type'] == 'image') { + $imagePreview = ' +
    + + '; + } + + $output .= ' +
    + + + + + +

    '.$tv['caption'].'

    + +
    '.$tv['description'].'
    + +
    + '.$tvHtml.' +
    + + '.$imagePreview.' + +
    + '.$editorHtml.' + '; + } + } + + // Page output: close modal box and refresh parent frame + else $output .= ''; + + // Page output: footer + $output .= ' + + + '; + } + + else { + $output = 'Error: Access denied.'; + } + } + + // QM+ with toolbar + else { + + if(isset($_SESSION['mgrValidated']) && $_REQUEST['z'] != 'manprev') { + + // If logout break here + if(isset($_REQUEST['logout'])) { + $this->Logout(); + break; + } + + $userID = $_SESSION['mgrInternalKey']; + //$docID = $this->modx->documentIdentifier; + $doc = $this->modx->getDocument($docID); + + // Edit button + + $editButton = ' +
  • + '.$_lang['edit_resource'].' +
  • + '; + + // Check if user has manager access to current document + $access = $this->checkAccess(); + + // Does user have permissions to edit document + if($access) $controls .= $editButton; + + if ($this->addbutton == 'true' && $access) { + // Add button + $addButton = ' +
  • + '.$_lang['create_resource_here'].' +
  • + '; + + // Does user have permissions to add document + if($this->modx->hasPermission('new_document')) $controls .= $addButton; + } + + // Custom add buttons if not empty and enough permissions + if ($this->custombutton != '') { + + // Replace [*id*] with current doc id + $this->custombutton = str_replace("[*id*]", $docID, $this->custombutton); + + // Handle [~id~] links + $this->custombutton = $this->modx->rewriteUrls($this->custombutton); + + $buttons = explode("||", $this->custombutton); // Buttons are divided by "||" + + // Custom buttons class index + $i = 0; + + // Parse buttons + foreach($buttons as $key => $field) { + $i++; + + $field = substr($field, 1, -1); // Trim "'" from beginning and from end + $buttonParams = explode("','", $field); // Button params are divided by "','" + + $buttonTitle = $buttonParams[0]; + $buttonAction = $buttonParams[1]; // Contains URL if this is not add button + $buttonParentId = $buttonParams[2]; // Is empty is this is not add button + $buttonTplId = $buttonParams[3]; + + // Button visible for all + if ($buttonParams[4] == '') { + $showButton = TRUE; + } + // Button is visible for specific user roles + else { + $showButton = FALSE; + + // Get user roles the button is visible for + $buttonRoles = explode(",", $buttonParams[4]); // Roles are divided by ',' + + // Check if user role is found + foreach($buttonRoles as $key => $field) { + if ($field == $_SESSION['mgrRole']) { + $showButton = TRUE; + } + } + } + + // Show custom button + if ($showButton) { + switch ($buttonAction) + { + case 'new': + $customButton = ' +
  • + '.$buttonTitle.' +
  • + '; + break; + + case 'link': + $customButton = ' +
  • + '.$buttonTitle.' +
  • + '; + break; + + case 'modal': + $customButton = ' +
  • + '.$buttonTitle.' +
  • + '; + break; + } + $controls .= $customButton; + } + } + } + + // Go to Manager button + if ($this->managerbutton == 'true') { + $managerButton = ' +
  • + '.$_lang['manager'].' +
  • + '; + $controls .= $managerButton; + } + + // Logout button + $logout = $this->modx->config['site_url'].'manager/index.php?a=8&quickmanager=logout&logoutid='.$docID; + $logoutButton = ' +
  • + '.$_lang['logout'].' +
  • + '; + $controls .= $logoutButton; + + // Add action buttons + $editor = ' +
    + +
    + + X + +
      +
    • + '.$controls.' +
    +
    '; + + $css = ' + + + + '; + + // Autohide toolbar? Default: true + if ($this->autohide == 'false') { + $css .= ' + + '; + } + + // Insert jQuery and ColorBox in head if needed + if ($this->loadfrontendjq == 'true') $head .= ''; + if ($this->loadtb == 'true') { + $head .= ' + + + + + + '; + } + + // Insert ColorBox jQuery definitions for QuickManager+ + $head .= ' + + '; + + // Insert QM+ css in head + $head .= $css; + + // Place QM+ head information in head, just before tag + $output = preg_replace('~()~i', $head . '\1', $output); + + // Insert editor toolbar right after tag + $output = preg_replace('~(]*>)~i', '\1' . $editor, $output); + + // Search and create edit buttons in to the content + if ($this->editbuttons == 'true' && $access) { + $output = preg_replace('//', '$2', $output); + } + + // Search and create new document buttons in to the content + if ($this->newbuttons == 'true' && $access) { + $output = preg_replace('//', '$3', $output); + } + + // Search and create new document buttons in to the content + if ($this->tvbuttons == 'true' && $access) { + // Set and get user doc groups for TV permissions + $this->docGroup = ''; + $mrgDocGroups = $_SESSION['mgrDocgroups']; + if (!empty($mrgDocGroups)) $this->docGroup = implode(",", $mrgDocGroups); + + // Create TV buttons and check TV permissions + $output = preg_replace_callback('//', array(&$this, 'createTvButtons'), $output); + } + } + } + + break; + + // Edit document in ThickBox frame (MODx manager frame) + case 'OnDocFormPrerender': + + // If there is Qm call, add control buttons and modify to edit document page + if (intval($_REQUEST['quickmanager']) == 1) { + + global $content; + + // Set template for new document, action = 4 + if(intval($_GET['a']) == 4) { + + // Custom add button + if (isset($_GET['customaddtplid'])) { + // Set template + $content['template'] = intval($_GET['customaddtplid']); + } + + // Normal add button + else { + switch ($this->tpltype) { + // Template type is parent + case 'parent': + // Get parent document id + $pid = $content['parent'] ? $content['parent'] : intval($_REQUEST['pid']); + + // Get parent document + $parent = $this->modx->getDocument($pid); + + // Set parent template + $content['template'] = $parent['template']; + + break; + + // Template is specific id + case 'id': + $content['template'] = $this->tplid; + + break; + + // Template is inherited by Inherit Selected Template plugin + case 'selected': + // Get parent document id + $pid = $content['parent'] ? $content['parent'] : intval($_REQUEST['pid']); + + // Get inheritTpl TV + $tv = $this->modx->getTemplateVar("inheritTpl", "", $pid); + + // Set template to inherit + if ($tv['value'] != '') $content['template'] = $tv['value']; + else $content['template'] = $this->modx->config['default_template']; + + break; + } + } + } + + // Manager control class + $mc = new Mcc(); + + // Hide default manager action buttons + $mc->addLine('$("#actions").hide();'); + + // Get MODx theme + $qm_theme = $this->modx->config['manager_theme']; + + // Get doc id + $doc_id = intval($_REQUEST['id']); + + // Get jQuery conflict mode + if ($this->noconflictjq == 'true') $jq_mode = '$j'; + else $jq_mode = '$'; + + // Add action buttons + $mc->addLine('var controls = "";'); + + // Modify head + $mc->head = ''; + if ($this->loadmanagerjq == 'true') $mc->head .= ''; + + // Add control button + $mc->addLine('$("body").prepend(controls);'); + + // Hide fields to from front-end editors + if ($this->hidefields != '') { + $hideFields = explode(",", $this->hidefields); + + foreach($hideFields as $key => $field) { + $mc->hideField($field); + } + } + + // Hide tabs to from front-end editors + if ($this->hidetabs != '') { + $hideTabs = explode(",", $this->hidetabs); + + foreach($hideTabs as $key => $field) { + $mc->hideTab($field); + } + } + + // Hide sections from front-end editors + if ($this->hidesections != '') { + $hideSections = explode(",", $this->hidesections); + + foreach($hideSections as $key => $field) { + $mc->hideSection($field); + } + } + + // Hidden field to verify that QM+ call exists + $hiddenFields = ''; + + // Different doc to be refreshed? + if (isset($_REQUEST['qmrefresh'])) { + $hiddenFields .= ''; + } + + // Output + $e->output($mc->Output().$hiddenFields); + } + + break; + + // Where to logout + case 'OnManagerLogout': + // Only if cancel editing the document and QuickManager is in use + if ($_REQUEST['quickmanager'] == 'logout') { + // Redirect to document id + if ($this->logout != 'manager') { + $this->modx->sendRedirect($this->modx->makeUrl($_REQUEST['logoutid']), 0, 'REDIRECT_HEADER', 'HTTP/1.1 301 Moved Permanently'); + } + } + + break; + } + } + + // Check if user has manager access permissions to current document + //_______________________________________________________ + function checkAccess() { + $access = FALSE; + + // If user is admin (role = 1) + if ($_SESSION['mgrRole'] == 1) $access = TRUE; + + else { + $docID = $this->modx->documentIdentifier; + + // Database table + $table= $this->modx->getFullTableName("document_groups"); + + // Check if current document is assigned to one or more doc groups + $sql= "SELECT id FROM {$table} WHERE document={$docID}"; + $result= $this->modx->db->query($sql); + $rowCount= $this->modx->recordCount($result); + + // If document is assigned to one or more doc groups, check access + if ($rowCount >= 1) { + + // Get document groups for current user + $mrgDocGroups = $_SESSION['mgrDocgroups']; + if (!empty($mrgDocGroups)) { + $docGroup = implode(",", $mrgDocGroups); + + // Check if user has access to current document + $sql= "SELECT id FROM {$table} WHERE document = {$docID} AND document_group IN ({$docGroup})"; + $result= $this->modx->db->query($sql); + $rowCount = $this->modx->recordCount($result); + + if ($rowCount >= 1) $access = TRUE; + } + + else $access = FALSE; + } + + else $access = TRUE; + } + + return $access; + } + + // Function from: manager/processors/cache_sync.class.processor.php + //_____________________________________________________ + function getParents($id, $path = '') { // modx:returns child's parent + global $modx; + if(empty($this->aliases)) { + $sql = "SELECT id, IF(alias='', id, alias) AS alias, parent FROM ".$modx->getFullTableName('site_content'); + $qh = $modx->db->query($sql); + if ($qh && $modx->db->getRecordCount($qh) > 0) { + while ($row = $modx->db->getRow($qh)) { + $this->aliases[$row['id']] = $row['alias']; + $this->parents[$row['id']] = $row['parent']; + } + } + } + if (isset($this->aliases[$id])) { + $path = $this->aliases[$id] . ($path != '' ? '/' : '') . $path; + return $this->getParents($this->parents[$id], $path); + } + return $path; + } + + // Create TV buttons if user has permissions to TV + //_____________________________________________________ + function createTvButtons($matches) { + + $access = FALSE; + $table = $this->modx->getFullTableName('site_tmplvar_access'); + $docID = $this->modx->documentIdentifier; + + // Get TV caption for button title + $tv = $this->modx->getTemplateVar($matches[1]); + $caption = $tv['caption']; + + // If caption is empty this must be a "build-in-tv-field" like pagetitle etc. + if ($caption == '') { + + // Allowed for all + $access = TRUE; + + // Resolve caption + $caption = $this->getDefaultTvCaption($matches[1]); + } + + // Check TV access + else { + $access = $this->checkTvAccess($tv['id']); + } + + // Return TV button link if access + if ($access && $caption != '') { + return ''.$caption.''; + } + } + + // Check user access to TV + //_____________________________________________________ + function checkTvAccess($tvId) { + $access = FALSE; + $table = $this->modx->getFullTableName('site_tmplvar_access'); + + // If user is admin (role = 1) + if ($_SESSION['mgrRole'] == 1 && !$access) { $access = TRUE; } + + // Check permission to TV, is TV in document group? + if (!$access) { + $sql = "SELECT id FROM {$table} WHERE tmplvarid = {$tvId}"; + $result = $this->modx->db->query($sql); + $rowCount = $this->modx->recordCount($result); + // TV is not in any document group + if ($rowCount == 0) { $access = TRUE; } + } + + // Check permission to TV, TV is in document group + if (!$access && $this->docGroup != '') { + $sql = "SELECT id FROM {$table} WHERE tmplvarid = {$tvId} AND documentgroup IN ({$this->docGroup})"; + $result = $this->modx->db->query($sql); + $rowCount = $this->modx->recordCount($result); + if ($rowCount >= 1) { $access = TRUE; } + } + + return $access; + } + + // Get default TV ("build-in" TVs) captions + //_____________________________________________________ + function getDefaultTvCaption($name) { + + global $_lang; + $caption = ''; + + switch ($name) { + case 'pagetitle' : $caption = $_lang['resource_title']; break; + case 'longtitle' : $caption = $_lang['long_title']; break; + case 'description' : $caption = $_lang['resource_description']; break; + case 'content' : $caption = $_lang['resource_content']; break; + case 'menutitle' : $caption = $_lang['resource_opt_menu_title']; break; + case 'introtext' : $caption = $_lang['resource_summary']; break; + } + + return $caption; + } + + // Check that a document isn't locked for editing + //_____________________________________________________ + function checkLocked() { + + $activeUsersTable = $this->modx->getFullTableName('active_users'); + $pageId = $this->modx->documentIdentifier; + $locked = TRUE; + $userId = $_SESSION['mgrInternalKey']; + + $sql = "SELECT `internalKey` + FROM {$activeUsersTable} + WHERE (`action` = 27) + AND `internalKey` != '{$userId}' + AND `id` = '{$pageId}';"; + $result = $this->modx->db->query($sql); + + if ($this->modx->db->getRecordCount($result) === 0) { + $locked = FALSE; + } + + return $locked; + } + + // Set document locked on/off + //_____________________________________________________ + function setLocked($locked) { + + $activeUsersTable = $this->modx->getFullTableName('active_users'); + $pageId = $this->modx->documentIdentifier; + $userId = $_SESSION['mgrInternalKey']; + + // Set document locked + if ($locked == 1) { + $fields = array ( + 'id' => $pageId, + 'action' => 27 + ); + } + + // Set document unlocked + else { + $fields = array ( + 'id' => 'NULL', + 'action' => 2 + ); + } + + $where = 'internalKey = "' . $userId . '"'; + + $result = $this->modx->db->update($fields, $activeUsersTable, $where); + } + + // Save TV + //_____________________________________________________ + function saveTv($tvName) { + + $tmplvarContentValuesTable = $this->modx->getFullTableName('site_tmplvar_contentvalues'); + $siteContentTable = $this->modx->getFullTableName('site_content'); + $pageId = $this->modx->documentIdentifier; + $result = null; + $time = time(); + $user = $_SESSION['mgrInternalKey']; + $tvId = isset($_POST['tvid']) ? intval($_POST['tvid']) : ''; + $tvContent = isset($_POST['tv'.$tvName]) ? $_POST['tv'.$tvName] : ''; + $tvContentTemp = ''; + + // Invoke OnBeforeDocFormSave event + $this->modx->invokeEvent('OnBeforeDocFormSave', array('mode'=>'upd', 'id'=>$pageId)); + + // Handle checkboxes and other arrays, TV to be saved must be e.g. value1||value2||value3 + if (is_array($tvContent)) { + foreach($tvContent as $key => $value) { + $tvContentTemp .= $value . '||'; + } + $tvContentTemp = substr($tvContentTemp, 0, -2); // Remove last || + $tvContent = $tvContentTemp; + } + + // Save TV + if ($tvId != '') { + // Escape TV content + $tvContent = $this->modx->db->escape($tvContent); + + $sql = "SELECT id + FROM {$tmplvarContentValuesTable} + WHERE `tmplvarid` = '{$tvId}' + AND `contentid` = '{$pageId}';"; + $result = $this->modx->db->query($sql); + + // TV exists, update TV + if($this->modx->db->getRecordCount($result)) { + + $sql = "UPDATE {$tmplvarContentValuesTable} + SET `value` = '{$tvContent}' + WHERE `tmplvarid` = '{$tvId}' + AND `contentid` = '{$pageId}';"; + } + + // TV does not exist, create new TV + else { + $sql = "INSERT INTO {$tmplvarContentValuesTable} (tmplvarid, contentid, value) + VALUES('{$tvId}', '{$pageId}', '{$tvContent}');"; + } + + // Page edited by + $this->modx->db->update(array('editedon'=>$time, 'editedby'=>$user), $siteContentTable, 'id = "' . $pageId . '"'); + } + + // Save default field, e.g. pagetitle + else { + $sql = "UPDATE {$siteContentTable} + SET + `{$tvName}` = '{$tvContent}', + `editedon` = '{$time}', + `editedby` = '{$user}' + WHERE `id` = '{$pageId}';"; + + } + + // Update TV + if($sql) { $result = $this->modx->db->query($sql); } + + // Log possible errors + if(!$result) { + $modx->logEvent(0, 0, "

    Save failed!

    SQL:
    {$sql}
    ", 'QuickManager+'); + } + + // No errors + else { + // Invoke OnDocFormSave event + $this->modx->invokeEvent('OnDocFormSave', array('mode'=>'upd', 'id'=>$pageId)); + + // Clear cache + $this->clearCache(); + } + } + + // Clear cache + //_____________________________________________________ + function clearCache() { + // Clear cache + include_once $this->modx->config['base_path']."manager/processors/cache_sync.class.processor.php"; + $sync = new synccache(); + $sync->setCachepath($this->modx->config['base_path']."assets/cache/"); + $sync->setReport(false); + $sync->emptyCache(); + } + +} +} ?> \ No newline at end of file diff --git a/assets/plugins/tinymce/lang/japanese-utf8.inc.php b/assets/plugins/tinymce/lang/japanese-utf8.inc.php index 2980876abe..554e0e6648 100755 --- a/assets/plugins/tinymce/lang/japanese-utf8.inc.php +++ b/assets/plugins/tinymce/lang/japanese-utf8.inc.php @@ -3,18 +3,18 @@ * Filename: assets/plugins/tinymce/lang/japanese-utf8.inc.php * Function: Japanese language file for TinyMCE. * Encoding: UTF-8 - * Author: yama - * Date: 2010/07/29 - * Version: 2.1.1 - * MODx version: 0.9.5-1.0.5 + * Author: Japanese community + * Date: 2009/07/29 + * Version: 2.1.0 + * MODx version: 0.9.5-1.0.2 */ $_lang['tinymce_editor_theme_title'] = 'テーマ:'; $_lang['tinymce_editor_theme_message'] = 'ãƒ†ãƒ¼ãƒžã‚’é¸æŠžã—ã€ãƒ„ールãƒãƒ¼ã‚¢ã‚¤ã‚³ãƒ³ã®ã‚»ãƒƒãƒˆãŠã‚ˆã³ã‚¨ãƒ‡ã‚£ã‚¿ã®ãƒ‡ã‚¶ã‚¤ãƒ³ã‚’変更ã§ãã¾ã™ã€‚'; $_lang['tinymce_editor_custom_plugins_title'] = 'カスタムテーマã®ãƒ—ラグイン設定:'; -$_lang['tinymce_editor_custom_plugins_message'] = 'ã‚«ã‚¹ã‚¿ãƒ ãƒ†ãƒ¼ãƒžã‚’é¸æŠžã—ãŸã¨ãã«åˆ©ç”¨ã™ã‚‹ãƒ—ラグインをカンマ(,)ã§åŒºåˆ‡ã£ã¦è¨˜è¿°ã—ã¾ã™ã€‚
    値を空ã«ã—ã¦æ›´æ–°ã™ã‚‹ã¨ãƒ‡ãƒ•ォルト値をセットã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚'; +$_lang['tinymce_editor_custom_plugins_message'] = 'ã‚«ã‚¹ã‚¿ãƒ ãƒ†ãƒ¼ãƒžã‚’é¸æŠžã—ãŸã¨ãã«åˆ©ç”¨ã™ã‚‹ãƒ—ラグインをカンマ(,)ã§åŒºåˆ‡ã£ã¦è¨˜è¿°ã—ã¾ã™ã€‚'; $_lang['tinymce_editor_custom_buttons_title'] = 'カスタムボタン:'; -$_lang['tinymce_editor_custom_buttons_message'] = 'ã‚«ã‚¹ã‚¿ãƒ ãƒ†ãƒ¼ãƒžã‚’é¸æŠžã—ãŸã¨ãã«åˆ©ç”¨ã™ã‚‹ãƒœã‚¿ãƒ³ã‚’カンマ(,)ã§åŒºåˆ‡ã£ã¦ãれãžã‚Œã®è¡Œã«è¨˜è¿°ã—ã¾ã™ã€‚セパレータã¯ã€Œseparatorã€ã¾ãŸã¯ã€Œ|ã€ã¨è¨˜è¿°ã—ã¾ã™ã€‚プラグインã«ã‚ˆã£ã¦æ©Ÿèƒ½ãŒæä¾›ã•れるボタンã¯ã€ãƒ—ラグイン指定も必è¦ã§ã™ã€‚詳細ã«ã¤ã„ã¦ã¯TinyMCE開発元ã®å…¬å¼ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®Control referenceã®ãƒšãƒ¼ã‚¸ã‚’ã”確èªãã ã•ã„。
    値を空ã«ã—ã¦æ›´æ–°ã™ã‚‹ã¨ãƒ‡ãƒ•ォルト値をセットã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚'; +$_lang['tinymce_editor_custom_buttons_message'] = 'ã‚«ã‚¹ã‚¿ãƒ ãƒ†ãƒ¼ãƒžã‚’é¸æŠžã—ãŸã¨ãã«åˆ©ç”¨ã™ã‚‹ãƒœã‚¿ãƒ³ã‚’カンマ(,)ã§åŒºåˆ‡ã£ã¦ãれãžã‚Œã®è¡Œã«è¨˜è¿°ã—ã¾ã™ã€‚セパレータã¯ã€Œseparatorã€ã¾ãŸã¯ã€Œ|ã€ã¨è¨˜è¿°ã—ã¾ã™ã€‚プラグインã«ã‚ˆã£ã¦æ©Ÿèƒ½ãŒæä¾›ã•れるボタンã¯ã€ãƒ—ラグイン指定も必è¦ã§ã™ã€‚詳細ã«ã¤ã„ã¦ã¯TinyMCE開発元ã®å…¬å¼ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®Control referenceã®ãƒšãƒ¼ã‚¸ã‚’ã”確èªãã ã•ã„。'; $_lang['tinymce_editor_css_selectors_title'] = 'CSSスタイルセレクタ:'; $_lang['tinymce_editor_css_selectors_message'] = 'class=xxxxxã¨ã„ã†å½¢ã§ä»»æ„ã®ã‚¿ã‚°ã«å‰²ã‚Šå½“ã¦ã‚‹ã€ŒCSSクラスã€ã‚’ã“ã“ã§è¨­å®šã§ãã¾ã™ã€‚
    書å¼ï¼šæœ¬ã®ã‚¿ã‚¤ãƒˆãƒ«=booktitle;著者=author
    上記ã®ã‚ˆã†ã«ã€è¤‡æ•°ã®ã‚¯ãƒ©ã‚¹ã‚’セミコロンã§åŒºåˆ‡ã£ã¦æŒ‡å®šã—ã¾ã™ã€‚'; $_lang['tinymce_settings'] = 'TinyMCEã®è¨­å®š'; diff --git a/assets/plugins/tinymce/style/content.css b/assets/plugins/tinymce/style/content.css index 82a65056b0..7ac12e3bf9 100755 --- a/assets/plugins/tinymce/style/content.css +++ b/assets/plugins/tinymce/style/content.css @@ -1,76 +1,70 @@ @charset "UTF-8"; -/* body.mceContentBody {margin:8px;text-align:left;} */ - -body, -td, -th, -pre { +.mceContentBody, +.mceContentBody td, +.mceContentBody th, +.mceContentBody pre { /* font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ï¼­ï¼³ Pゴシック',sans-serif;*/ font-size : 12px; font-style : normal; } -body { +.mceContentBody { line-height : 1.5; color : #333333; background-color : #FFFFFF; background-attachment: fixed; - background-repeat:repeat-x; - background-image : url(textareabg.gif); + background-repeat:repeat-x !important; + background-image : url(textareabg.gif) !important; text-align : left; - margin:8px; } -pre { +.mceContentBody pre { color : #555555; } -h1, -h2, -h3, -h4, -h5, -h6 { +.mceContentBody h1, +.mceContentBody h2, +.mceContentBody h3, +.mceContentBody h4, +.mceContentBody h5, +.mceContentBody h6 { color : #111111; letter-spacing:1px; } -h4, -h5, -h6 { +.mceContentBody h4, +.mceContentBody h5, +.mceContentBody h6 { font-size : 12px; } -ul { +.mceContentBody ul { line-height : 1.5; margin : 0 0 0.5em 20px; padding : 0; } -ol { +.mceContentBody ol { line-height : 1.5; margin : 0 0 0.5em 18px; padding : 0; color : black; } -ol li {margin-left:7px;} +.mceContentBody ol li {margin-left:7px;} -blockquote { +.mceContentBody blockquote { padding-left : 7px; margin-left : 3px; background-color: #fcfcfc; } -table {margin-bottom:8px;} -td,th {padding:4px} -th {background-color:#fcfcfc;text-align:left;} +.mceContentBody table {margin-bottom:8px;} +.mceContentBody td,th {padding:4px !important;} +.mceContentBody th {background-color:#fcfcfc;text-align:left;} -a:hover { +.mceContentBody a:hover { color: #7fa2ff; } - -.justifyleft {text-align:left;} -.justifyright {text-align:right;} -img.justifyleft {float:left; margin-right:10px;margin-bottom:5px;} -img.justifyright {float:right; margin-left:10px;margin-bottom:5px;} +.justifyleft {float:left; margin-right:10px;margin-bottom:5px;} +.justifyright {float:right; margin-left:10px;margin-bottom:5px;} From 80b47fe01f573da4d63d37f6e7902e16e2310752 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 12:15:02 +0900 Subject: [PATCH 45/92] =?UTF-8?q?898=20=E6=9C=AC=E5=AE=B6=E7=89=88?= =?UTF-8?q?=E6=9B=B4=E6=96=B0(assets=E3=83=87=E3=82=A3=E3=83=AC=E3=82=AF?= =?UTF-8?q?=E3=83=88=E3=83=AA)(yama)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/js/jquery-1.4.2.min.js | 154 ------------------ .../docmanager/classes/dm_backend.class.php | 22 ++- .../docmanager/lang/japanese-utf8.inc.php | 22 +-- .../docmanager/templates/sort_list.tpl | 24 +-- .../ajaxSearch/lang/japanese-utf8.inc.php | 26 +-- 5 files changed, 47 insertions(+), 201 deletions(-) delete mode 100755 assets/js/jquery-1.4.2.min.js diff --git a/assets/js/jquery-1.4.2.min.js b/assets/js/jquery-1.4.2.min.js deleted file mode 100755 index 7c24308023..0000000000 --- a/assets/js/jquery-1.4.2.min.js +++ /dev/null @@ -1,154 +0,0 @@ -/*! - * jQuery JavaScript Library v1.4.2 - * http://jquery.com/ - * - * Copyright 2010, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2010, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Sat Feb 13 22:33:48 2010 -0500 - */ -(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/, -Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&& -(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this, -a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b=== -"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this, -function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b
    a"; -var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected, -parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent= -false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n= -s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true, -applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando]; -else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this, -a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b=== -w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i, -cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected= -c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed"); -a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g, -function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split("."); -k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a), -C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B=0){a.type= -e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&& -f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive; -if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data", -e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a, -"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a, -d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, -e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift(); -t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D|| -g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()}, -CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m, -g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)}, -text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}}, -setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return hl[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h= -h[3];l=0;for(m=h.length;l=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m=== -"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g, -h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&& -q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML=""; -if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="

    ";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}(); -(function(){var g=s.createElement("div");g.innerHTML="
    ";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}: -function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f0)for(var j=d;j0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j= -{},i;if(f&&a.length){e=0;for(var o=a.length;e-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a=== -"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode", -d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")? -a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType=== -1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/"},F={option:[1,""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div
    ","
    "];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= -c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, -wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, -prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, -this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); -return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja, -""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]); -return this}else{e=0;for(var j=d.length;e0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["", -""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]===""&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e= -c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]? -c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja= -function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter= -Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a, -"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f= -a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b= -a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=//gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!== -"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("
    ").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this}, -serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), -function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href, -global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&& -e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)? -"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache=== -false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B= -false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since", -c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E|| -d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x); -g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status=== -1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b=== -"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional; -if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration=== -"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]|| -c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start; -this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now= -this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem, -e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b
    "; -a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b); -c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a, -d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top- -f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset": -"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in -e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window); diff --git a/assets/modules/docmanager/classes/dm_backend.class.php b/assets/modules/docmanager/classes/dm_backend.class.php index 893a7d2c37..934ce50ffe 100755 --- a/assets/modules/docmanager/classes/dm_backend.class.php +++ b/assets/modules/docmanager/classes/dm_backend.class.php @@ -40,7 +40,7 @@ function showSortList($id) { $resource = array(); if (is_numeric($id)) { - $query = 'SELECT id , pagetitle , parent , menuindex, published, deleted, hidemenu FROM '. $this->modx->getFullTableName('site_content') .' WHERE parent=' . $id . ' ORDER BY menuindex ASC'; + $query = 'SELECT id , pagetitle , parent , menuindex, published, hidemenu, deleted FROM '. $this->modx->getFullTableName('site_content') .' WHERE parent=' . $id . ' ORDER BY menuindex ASC'; if (!$rs = $this->modx->db->query($query)) { return false; } @@ -63,17 +63,15 @@ function showSortList($id) { $this->dm->ph['sort.message'] = $this->dm->lang['DM_sort_nochildren']; } else { foreach ($resource as $item) { - // deleted, hidden from menu, unpublished - $class = 'sort'; - if($item['deleted'] == '1') { - $class .= ' deletedNode'; - } elseif($item['published'] == '0') { - $class .= ' unpublishedNode'; - } elseif($item['hidemenu'] == '1') { - $class .= ' notInMenuNode'; - } - $this->dm->ph['sort.options'] .= '
  • ' . $item['pagetitle'] . '
  • '; - + // Add classes to determine whether it's published, deleted, not in the menu + // or has children. + // Use class names which match the classes in the document tree + $classes = ''; + $classes .= ($item['hidemenu']) ? ' notInMenuNode ' : ' inMenuNode' ; + $classes .= ($item['published']) ? ' publishedNode ' : ' unpublishedNode ' ; + $classes = ($item['deleted']) ? ' deletedNode ' : $classes ; + $classes .= (count($this->modx->getChildIds($item['id'], 1)) > 0) ? ' hasChildren ' : ' noChildren '; + $this->dm->ph['sort.options'] .= '
  • ' . $item['pagetitle'] . '
  • '; } } } diff --git a/assets/modules/docmanager/lang/japanese-utf8.inc.php b/assets/modules/docmanager/lang/japanese-utf8.inc.php index 193f32055b..c50afc8233 100755 --- a/assets/modules/docmanager/lang/japanese-utf8.inc.php +++ b/assets/modules/docmanager/lang/japanese-utf8.inc.php @@ -15,7 +15,7 @@ //-- titles $_lang['DM_module_title'] = 'Doc Manager'; $_lang['DM_action_title'] = 'æ“ä½œã‚’é¸æŠžã—ã¾ã™'; -$_lang['DM_range_title'] = 'æ“作対象(æ“作元)ã®ãƒªã‚½ãƒ¼ã‚¹IDを指定'; +$_lang['DM_range_title'] = 'リソースIDを指定'; $_lang['DM_tree_title'] = 'サイトツリーã‹ã‚‰ãƒªã‚½ãƒ¼ã‚¹ã‚’é¸æŠž'; $_lang['DM_update_title'] = '更新完了'; $_lang['DM_sort_title'] = 'メニューインデックスエディタ'; @@ -26,13 +26,13 @@ $_lang['DM_sort_menu'] = 'メニュー整列'; $_lang['DM_change_template'] = 'ãƒ†ãƒ³ãƒ—ãƒ¬ãƒ¼ãƒˆé¸æŠž'; $_lang['DM_publish'] = '公開/éžå…¬é–‹'; -$_lang['DM_other'] = 'ãã®ä»–'; +$_lang['DM_other'] = 'ãã®ä»–ã®ãƒ—ロパティ'; //-- buttons -$_lang['DM_close'] = 'é–‰ã˜ã‚‹'; +$_lang['DM_close'] = 'Doc Managerã‚’é–‰ã˜ã‚‹'; $_lang['DM_cancel'] = '戻る'; $_lang['DM_go'] = 'Go'; -$_lang['DM_save'] = 'æ›´æ–°'; +$_lang['DM_save'] = 'ä¿å­˜'; $_lang['DM_sort_another'] = 'åˆ¥ã®æ•´åˆ—'; //-- templates tab @@ -68,16 +68,16 @@ $_lang['DM_doc_skip_message2'] = 'ã¯é¸æŠžã—ãŸãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—ã«æ—¢ã«å«ã¾ã‚Œã¦ã„ã¾ã™ã€‚(スキップ)'; //-- sort menu tab -$_lang['DM_sort_pick_item'] = 'メニューã®ä¸¦ã³é †(menuindex)をマウスæ“作ã§ã¾ã¨ã‚ã¦å¤‰æ›´ã§ãã¾ã™ã€‚
    サイトルートã‹ã€ä¸¦ã¹æ›¿ãˆãŸã„範囲ã®è¦ªãƒªã‚½ãƒ¼ã‚¹(コンテナ)をクリックã—ã¦ãã ã•ã„。'; +$_lang['DM_sort_pick_item'] = 'サイトルートã‹ã€æ•´åˆ—ã—ãŸã„範囲ã®è¦ªãƒªã‚½ãƒ¼ã‚¹(コンテナ)をクリックã—ã¦ãã ã•ã„。'; $_lang['DM_sort_updating'] = '更新中 ...'; -$_lang['DM_sort_updated'] = 'æ›´æ–°ã—ã¾ã—ãŸã€‚「閉ã˜ã‚‹ã€ã¾ãŸã¯ã€Œæˆ»ã‚‹ã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¦ãã ã•ã„。'; +$_lang['DM_sort_updated'] = 'æ›´æ–°'; $_lang['DM_sort_nochildren'] = 'ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã«ã¯ã‚µãƒ–リソースãŒã‚りã¾ã›ã‚“。'; $_lang['DM_sort_noid']='リソースãŒé¸æŠžã•れã¦ã„ã¾ã›ã‚“。戻ã£ã¦ãƒªã‚½ãƒ¼ã‚¹ã‚’é¸æŠžã—ã¦ãã ã•ã„。'; //-- other tab $_lang['DM_other_header'] = 'リソースã®å„種設定'; $_lang['DM_misc_label'] = '変更対象ã®è¨­å®š:'; -$_lang['DM_misc_desc'] = '変更ã™ã‚‹è¨­å®šã‚’ドロップダウンメニューã‹ã‚‰é¸æŠžã—ã¦ãã ã•ã„。ãã—ã¦å¿…è¦ãªã‚ªãƒ—ションを指定ã—ã¾ã™ã€‚一度ã«ã²ã¨ã¤ã®è¨­å®šã—ã‹å¤‰æ›´ã§ãã¾ã›ã‚“。'; +$_lang['DM_misc_desc'] = '変更ã™ã‚‹è¨­å®šã‚’ドロップダウンメニューã‹ã‚‰é¸æŠžã—ã¦ãã ã•ã„。ãã—ã¦å¿…è¦ãªã‚ªãƒ—ションを指定ã—ã¾ã™ã€‚1度ã«1ã¤ã®è¨­å®šã—ã‹å¤‰æ›´ã§ãã¾ã›ã‚“。'; $_lang['DM_other_dropdown_publish'] = '公開/éžå…¬é–‹'; $_lang['DM_other_dropdown_show'] = 'メニューã«è¡¨ç¤º/éžè¡¨ç¤º'; @@ -102,7 +102,7 @@ //-- adjust dates $_lang['DM_adjust_dates_header'] = 'リソースã®å„種日時設定'; -$_lang['DM_adjust_dates_desc'] = '複数ã®ãƒªã‚½ãƒ¼ã‚¹ã®æ—¥æ™‚設定をã¾ã¨ã‚ã¦å¤‰æ›´ã§ãã¾ã™ã€‚'; +$_lang['DM_adjust_dates_desc'] = 'æ¬¡ã®æ—¥æ™‚設定を変更ã§ãã¾ã™ã€‚「カレンダーを表示ã€ã‚’ãŠä½¿ã„ãã ã•ã„。'; $_lang['DM_view_calendar'] = 'カレンダーを表示'; $_lang['DM_clear_date'] = 'リセット'; @@ -115,7 +115,7 @@ //-- labels $_lang['DM_date_pubdate'] = '公開日時:'; -$_lang['DM_date_unpubdate'] = '公開終了日時:'; +$_lang['DM_date_unpubdate'] = 'éžå…¬é–‹æ—¥æ™‚:'; $_lang['DM_date_createdon'] = 'ä½œæˆæ—¥æ™‚:'; $_lang['DM_date_editedon'] = '編集日時:'; //$_lang['DM_date_deletedon'] = 'Deleted On Date'; @@ -140,9 +140,9 @@ $_lang['DM_process_noselection'] = 'å¿…è¦ãªæŒ‡å®šãŒã•れã¦ã„ã¾ã›ã‚“。'; $_lang['DM_process_novalues'] = 'å€¤ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“ã§ã—ãŸã€‚'; $_lang['DM_process_limits_error'] = '上é™ãŒä¸‹é™ã‚ˆã‚Šã‚‚å°ã•ã„ã§ã™:'; -$_lang['DM_process_invalid_error'] = '値ãŒã‚¤ãƒ¬ã‚®ãƒ¥ãƒ©ãƒ¼ã§ã™ '; +$_lang['DM_process_invalid_error'] = '値ãŒå¤‰ã§ã—ãŸ:'; $_lang['DM_process_update_success'] = '変更ã¯ç„¡äº‹å®Œäº†ã—ã¾ã—ãŸã€‚'; -$_lang['DM_process_update_error'] = '変更ã¯å®Œäº†ã—ã¾ã—ãŸãŒã€ã‚¨ãƒ©ãƒ¼ãŒã‚りã¾ã—ãŸ:'; +$_lang['DM_process_update_error'] = '変更ã¯å®Œäº†ã—ã¾ã—ãŸãŒã‚¨ãƒ©ãƒ¼ãŒã‚りã¾ã—ãŸ:'; $_lang['DM_process_back'] = '戻る'; //-- manager access logging diff --git a/assets/modules/docmanager/templates/sort_list.tpl b/assets/modules/docmanager/templates/sort_list.tpl index 7b32f7ce8e..e24e58b683 100755 --- a/assets/modules/docmanager/templates/sort_list.tpl +++ b/assets/modules/docmanager/templates/sort_list.tpl @@ -36,18 +36,20 @@ diff --git a/assets/snippets/ajaxSearch/lang/japanese-utf8.inc.php b/assets/snippets/ajaxSearch/lang/japanese-utf8.inc.php index 1104a6a1cc..41abb53af4 100755 --- a/assets/snippets/ajaxSearch/lang/japanese-utf8.inc.php +++ b/assets/snippets/ajaxSearch/lang/japanese-utf8.inc.php @@ -5,32 +5,32 @@ Created on: 01/22/07, Modified on 18/05/10 Description: Language strings for AjaxSearch */ -$_lang['as_resultsIntroFailure'] = '指定キーワードをå«ã‚€ãƒšãƒ¼ã‚¸ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。'; +$_lang['as_resultsIntroFailure'] = '一致ã™ã‚‹æ¤œç´¢çµæžœãŒã‚りã¾ã›ã‚“ã§ã—ãŸã€‚類似ã™ã‚‹åˆ¥ã®å˜èªžã§å†åº¦æ¤œç´¢ã—ã¦ãã ã•ã„。'; $_lang['as_searchButtonText'] = '検索'; -$_lang['as_boxText'] = 'キーワードを入力'; -$_lang['as_introMessage'] = 'キーワードを入力ã—ã¦ãã ã•ã„'; +$_lang['as_boxText'] = '検索語を入力ã—ã¦ãã ã•ã„'; +$_lang['as_introMessage'] = '検索ã™ã‚‹å˜èªžã‚’入力ã—ã¦ãã ã•ã„'; $_lang['as_resultsFoundTextSingle'] = '%2$sã§æ¤œç´¢ã—ãŸçµæžœã€%1$d件見ã¤ã‹ã‚Šã¾ã—ãŸã€‚'; $_lang['as_resultsFoundTextMultiple'] = '%2$sã§æ¤œç´¢ã—ãŸçµæžœã€%1$d件見ã¤ã‹ã‚Šã¾ã—ãŸã€‚'; $_lang['as_paginationTextSinglePage'] = ''; -$_lang['as_paginationTextMultiplePages'] = 'æ¤œç´¢çµæžœãƒšãƒ¼ã‚¸ï¼š'; +$_lang['as_paginationTextMultiplePages'] = 'æ¤œç´¢çµæžœãƒšãƒ¼ã‚¸ï¼šã€€'; $_lang['as_moreResultsText'] = 'ã™ã¹ã¦ã®çµæžœã‚’見る'; $_lang['as_moreResultsTitle'] = 'ã‚‚ã£ã¨è¦‹ã‚‹'; -$_lang['as_maxWords'] = '最大 %d 文字ã¾ã§å…¥åŠ›ã§ãã¾ã™ã€‚'; -$_lang['as_minChars'] = '最少 %d 文字以上ã®å…¥åŠ›ãŒå¿…è¦ã§ã™ã€‚'; -$_lang['as_maxChars'] = '最大 %d 文字ã¾ã§å…¥åŠ›ã§ãã¾ã™ã€‚'; -$_lang['oneword'] = '最低ã²ã¨ã¤ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã‚’å«ã‚€'; -$_lang['allwords'] = 'ã™ã¹ã¦ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã‚’å«ã‚€'; +$_lang['as_maxWords'] = '検索ã«ã¯ã€æœ€å¤§ %d 文字ã¾ã§å…¥åŠ›ã§ãã¾ã™ã€‚'; +$_lang['as_minChars'] = '検索ã«ã¯ã€æœ€ä½Ž %d 文字以上ã®å…¥åŠ›ãŒå¿…è¦ã§ã™ã€‚'; +$_lang['as_maxChars'] = '検索ã«ã¯ã€æœ€å¤§ %d 文字ã¾ã§å…¥åŠ›ã§ãã¾ã™ã€‚'; +$_lang['oneword'] = '最低ã²ã¨ã¤ã®å˜èªžã‚’å«ã‚€'; +$_lang['allwords'] = 'ã™ã¹ã¦ã®å˜èªžã‚’å«ã‚€'; $_lang['exactphrase'] = '完全ã«ä¸€è‡´ã™ã‚‹æ–‡ç« '; -$_lang['nowords'] = 'キーワードをå«ã¾ãªã„'; +$_lang['nowords'] = 'å˜èªžã‚’å«ã¾ãªã„'; $_lang['as_cmtHiddenFieldIntro'] = 'ã“ã®æ¬„ã¯ç©ºç™½ã®ã¾ã¾ã«ã—ã¦ãã ã•ã„。
    何も入力ã—ãªã„ã§ãã ã•ã„。'; -$_lang['as_cmtIntroMessage'] = '探ã—物ã¯è¦‹ã¤ã‹ã‚Šã¾ã—ãŸã‹ï¼Ÿã‚³ãƒ¡ãƒ³ãƒˆã‚’ã©ã†ãžã€‚'; +$_lang['as_cmtIntroMessage'] = '検索ã—ã¦ã„ãŸã‚‚ã®ãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸã‹ï¼Ÿã‚³ãƒ¡ãƒ³ãƒˆã‚’ã“ã¡ã‚‰ã¸ã©ã†ãžã€‚'; $_lang['as_cmtSubmitText'] = 'é€ä¿¡'; $_lang['as_cmtResetText'] = '消去'; $_lang['as_cmtThksMessage'] = 'コメントをã‚りãŒã¨ã†ã”ã–ã„ã¾ã—ãŸã€‚'; $_lang['as_resultsTextSingle'] = '%d result found.'; $_lang['as_resultsTextMultiple'] = '%d results found.'; -$_lang['as_grpResultsDisplayedText'] = '%dä»¶ ã‹ã‚‰ %dä»¶ ã¾ã§ã‚’表示(å…¨%dä»¶)'; -$_lang['as_resultsDisplayed'] = '最åˆã®%d件を表示ã—ã¾ã™ã€‚'; +$_lang['as_grpResultsDisplayedText'] = '(Displaying %d - %d of %d)'; +$_lang['as_resultsDisplayed'] = 'Displayed: %d'; $_lang['as_paging1Text'] = '%d - %d / %d'; $_lang['as_paging2Text'] = 'Show more %d results'; ?> \ No newline at end of file From 1a114523f63ea222ca33b42981451df9ad79f628 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 12:17:40 +0900 Subject: [PATCH 46/92] =?UTF-8?q?899=20=E6=9C=AC=E5=AE=B6=E7=89=88?= =?UTF-8?q?=E6=9B=B4=E6=96=B0(=E3=82=A4=E3=83=B3=E3=82=B9=E3=83=88?= =?UTF-8?q?=E3=83=BC=E3=83=A9)(yama)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install/action.connection.php | 4 +- install/action.options.php | 170 ++-- install/action.summary.php | 7 +- install/assets/chunks/mm_demo_rules.tpl | 1 + install/assets/chunks/weblogin.sidebar.tpl | 75 +- install/assets/modules/docmanager.tpl | 3 +- .../assets/plugins/ForgotManagerPassword.tpl | 1 + install/assets/plugins/inherit-parent-tpl.tpl | 54 - install/assets/plugins/mgrmgr.tpl | 5 +- install/assets/plugins/qm.tpl | 3 +- install/assets/plugins/searchhighlight.tpl | 1 + install/assets/plugins/tinymce.tpl | 3 +- install/assets/plugins/transalias.tpl | 1 + install/assets/snippets/ajaxSearch.tpl | 26 +- install/assets/snippets/breadcrumbs.tpl | 3 +- install/assets/snippets/ditto.tpl | 1 + install/assets/snippets/eform.tpl | 3 +- install/assets/snippets/firstchild.tpl | 3 +- install/assets/snippets/jot.tpl | 3 +- install/assets/snippets/listindexer.tpl | 3 +- install/assets/snippets/membercheck.tpl | 3 +- install/assets/snippets/personalize.tpl | 5 +- install/assets/snippets/reflect.tpl | 3 +- install/assets/snippets/ultparent.tpl | 3 +- install/assets/snippets/wayfinder.tpl | 3 +- install/assets/snippets/webchangepwd.tpl | 3 +- install/assets/snippets/weblogin.tpl | 1 + install/assets/snippets/websignup.tpl | 1 + install/assets/templates/modx_host.tpl | 4 +- install/assets/tvs/blogContent.tpl | 18 + install/assets/tvs/documentTags.tpl | 18 + install/assets/tvs/loginName.tpl | 18 + install/changelog.txt | 36 + install/instprocessor.php | 945 ++++++++++-------- install/setup.data.sql | 64 +- install/setup.info.php | 59 +- install/setup.sql | 28 +- install/sqlParser.class.php | 4 +- 38 files changed, 846 insertions(+), 740 deletions(-) mode change 100644 => 100755 install/assets/chunks/mm_demo_rules.tpl mode change 100644 => 100755 install/assets/modules/docmanager.tpl mode change 100644 => 100755 install/assets/plugins/ForgotManagerPassword.tpl delete mode 100644 install/assets/plugins/inherit-parent-tpl.tpl mode change 100644 => 100755 install/assets/plugins/searchhighlight.tpl mode change 100644 => 100755 install/assets/plugins/transalias.tpl mode change 100644 => 100755 install/assets/snippets/breadcrumbs.tpl mode change 100644 => 100755 install/assets/snippets/firstchild.tpl mode change 100644 => 100755 install/assets/snippets/jot.tpl mode change 100644 => 100755 install/assets/snippets/listindexer.tpl mode change 100644 => 100755 install/assets/snippets/membercheck.tpl mode change 100644 => 100755 install/assets/snippets/personalize.tpl mode change 100644 => 100755 install/assets/snippets/reflect.tpl mode change 100644 => 100755 install/assets/snippets/ultparent.tpl mode change 100644 => 100755 install/assets/snippets/wayfinder.tpl mode change 100644 => 100755 install/assets/templates/modx_host.tpl create mode 100755 install/assets/tvs/blogContent.tpl create mode 100755 install/assets/tvs/documentTags.tpl create mode 100755 install/assets/tvs/loginName.tpl mode change 100644 => 100755 install/setup.data.sql diff --git a/install/action.connection.php b/install/action.connection.php index 077c3d3db7..c6b5c8884c 100755 --- a/install/action.connection.php +++ b/install/action.connection.php @@ -67,10 +67,10 @@

    - " /> + " />

    - " /> + " />

    diff --git a/install/action.options.php b/install/action.options.php index 34cfdc858e..c2323a0f62 100755 --- a/install/action.options.php +++ b/install/action.options.php @@ -4,10 +4,6 @@ $database_collation = isset($_POST['database_collation']) ? $_POST['database_collation'] : 'utf8_general_ci'; $database_charset = substr($database_collation, 0, strpos($database_collation, '_')); $_POST['database_connection_charset'] = $database_charset; - if(empty($_SESSION['databaseloginpassword'])) - $_SESSION['databaseloginpassword'] = $_POST['databaseloginpassword']; - if(empty($_SESSION['databaseloginname'])) - $_SESSION['databaseloginname'] = $_POST['databaseloginname']; } elseif ($installMode == 1) { include "../manager/includes/config.inc.php"; @@ -42,15 +38,15 @@ $_POST['database_connection_charset'] = $database_connection_charset; $_POST['database_connection_method'] = $database_connection_method; $_POST['databasehost'] = $database_server; - $_SESSION['databaseloginname'] = $database_user; - $_SESSION['databaseloginpassword'] = $database_password; + $_POST['databaseloginname'] = $database_user; + $_POST['databaseloginpassword'] = $database_password; } ?>
    - + @@ -58,10 +54,11 @@ + + -
    @@ -81,9 +78,9 @@ // toggle options echo "

    " . $_lang['checkbox_select_options'] . "

    -

    " . $_lang['all'] . " " . $_lang['none'] . " " . $_lang['toggle'] . "

    -
    -
    "; +

    " . $_lang['all'] . " " . $_lang['none'] . " " . $_lang['toggle'] . "

    +
    +
    "; $options_selected = isset ($_POST['options_selected']); @@ -91,10 +88,15 @@ $templates = isset ($_POST['template']) ? $_POST['template'] : array (); $limit = count($moduleTemplates); if ($limit > 0) { - echo "

    " . $_lang['templates'] . "


    "; + $tplOutput = ''; for ($i = 0; $i < $limit; $i++) { + $class = !in_array('sample', $moduleTemplates[$i][6]) ? 'toggle' : 'toggle demo'; $chk = in_array($i, $templates) || (!$options_selected) ? 'checked="checked"' : ""; - echo "" . $_lang['install_update'] . " " . $moduleTemplates[$i][0] . " - " . $moduleTemplates[$i][1] . "
    "; + $tplOutput .= "" . $_lang['install_update'] . " " . $moduleTemplates[$i][0] . " - " . $moduleTemplates[$i][1] . "
    \n"; + } + if($tplOutput !== '') { + echo "

    " . $_lang['templates'] . "


    "; + echo $tplOutput; } } @@ -102,10 +104,15 @@ $tvs = isset ($_POST['tv']) ? $_POST['tv'] : array (); $limit = count($moduleTVs); if ($limit > 0) { - echo "

    " . $_lang['tvs'] . "


    "; + $tvOutput = ''; for ($i = 0; $i < $limit; $i++) { + $class = !in_array('sample', $moduleTVs[$i][12]) ? "toggle" : "toggle demo"; $chk = in_array($i, $tvs) || (!$options_selected) ? 'checked="checked"' : ""; - echo "" . $_lang['install_update'] . " " . $moduleTVs[$i][0] . " - " . $moduleTVs[$i][2] . "
    "; + $tvOutput .= "" . $_lang['install_update'] . " " . $moduleTVs[$i][0] . " - " . $moduleTVs[$i][2] . "
    \n"; + } + if($tvOutput != '') { + echo "

    " . $_lang['tvs'] . "


    \n"; + echo $tvOutput; } } @@ -113,10 +120,15 @@ $chunks = isset ($_POST['chunk']) ? $_POST['chunk'] : array (); $limit = count($moduleChunks); if ($limit > 0) { - echo "

    " . $_lang['chunks'] . "

    "; + $chunkOutput = ''; for ($i = 0; $i < $limit; $i++) { + $class = !in_array('sample', $moduleChunks[$i][5]) ? "toggle" : "toggle demo"; $chk = in_array($i, $chunks) || (!$options_selected) ? 'checked="checked"' : ""; - echo "" . $_lang['install_update'] . " " . $moduleChunks[$i][0] . " - " . $moduleChunks[$i][1] . "
    "; + $chunkOutput .= "" . $_lang['install_update'] . " " . $moduleChunks[$i][0] . " - " . $moduleChunks[$i][1] . "
    "; + } + if($chunkOutput != '') { + echo "

    " . $_lang['chunks'] . "

    "; + echo $chunkOutput; } } @@ -124,10 +136,15 @@ $modules = isset ($_POST['module']) ? $_POST['module'] : array (); $limit = count($moduleModules); if ($limit > 0) { - echo "

    " . $_lang['modules'] . "

    "; + $moduleOutput = ''; for ($i = 0; $i < $limit; $i++) { + $class = !in_array('sample', $moduleModules[$i][7]) ? "toggle" : "toggle demo"; $chk = in_array($i, $modules) || (!$options_selected) ? 'checked="checked"' : ""; - echo "" . $_lang['install_update'] . " " . $moduleModules[$i][0] . " - " . $moduleModules[$i][1] . "
    "; + $moduleOutput .= "" . $_lang['install_update'] . " " . $moduleModules[$i][0] . " - " . $moduleModules[$i][1] . "
    "; + } + if($moduleOutput != '') { + echo "

    " . $_lang['modules'] . "

    "; + echo $moduleOutput; } } @@ -135,10 +152,15 @@ $plugins = isset ($_POST['plugin']) ? $_POST['plugin'] : array (); $limit = count($modulePlugins); if ($limit > 0) { - echo "

    " . $_lang['plugins'] . "

    "; + $pluginOutput = ''; for ($i = 0; $i < $limit; $i++) { + $class = !in_array('sample', $modulePlugins[$i][8]) ? "toggle" : "toggle demo"; $chk = in_array($i, $plugins) || (!$options_selected) ? 'checked="checked"' : ""; - echo "" . $_lang['install_update'] . " " . $modulePlugins[$i][0] . " - " . $modulePlugins[$i][1] . "
    "; + $pluginOutput .= "" . $_lang['install_update'] . " " . $modulePlugins[$i][0] . " - " . $modulePlugins[$i][1] . "
    "; + } + if($pluginOutput != '') { + echo "

    " . $_lang['plugins'] . "

    "; + echo $pluginOutput; } } @@ -146,74 +168,66 @@ $snippets = isset ($_POST['snippet']) ? $_POST['snippet'] : array (); $limit = count($moduleSnippets); if ($limit > 0) { - echo "

    " . $_lang['snippets'] . "

    "; + $snippetOutput = ''; for ($i = 0; $i < $limit; $i++) { + $class = !in_array('sample', $moduleSnippets[$i][5]) ? "toggle" : "toggle demo"; $chk = in_array($i, $snippets) || (!$options_selected) ? 'checked="checked"' : ""; - echo "" . $_lang['install_update'] . " " . $moduleSnippets[$i][0] . " - " . $moduleSnippets[$i][1] . "
    "; + $snippetOutput .= "" . $_lang['install_update'] . " " . $moduleSnippets[$i][0] . " - " . $moduleSnippets[$i][1] . "
    "; + } + if($snippetOutput != '') { + echo "

    " . $_lang['snippets'] . "

    "; + echo $snippetOutput; } } ?> -
    +
    + + // handle state of demo content checkbox on page load + handleSampleDataCheckbox(); + }); + \ No newline at end of file diff --git a/install/action.summary.php b/install/action.summary.php index 6d0be0f30c..9f0518362a 100755 --- a/install/action.summary.php +++ b/install/action.summary.php @@ -119,8 +119,8 @@ } else { // get db info from post $database_server = $_POST['databasehost']; - $database_user = $_SESSION['databaseloginname']; - $database_password = $_SESSION['databaseloginpassword']; + $database_user = $_POST['databaseloginname']; + $database_password = $_POST['databaseloginpassword']; $database_collation = $_POST['database_collation']; $database_charset = substr($database_collation, 0, strpos($database_collation, '_') - 1); $database_connection_charset = $_POST['database_connection_charset']; @@ -269,10 +269,11 @@ + + - diff --git a/install/assets/chunks/mm_demo_rules.tpl b/install/assets/chunks/mm_demo_rules.tpl old mode 100644 new mode 100755 index 0ca6d6e9e2..71bbd99fb4 --- a/install/assets/chunks/mm_demo_rules.tpl +++ b/install/assets/chunks/mm_demo_rules.tpl @@ -8,6 +8,7 @@ * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) * @internal @modx_category Demo Content * @internal @overwrite false + * @internal @installset base, sample */ // more example rules are in assets/plugins/managermanager/example_mm_rules.inc.php diff --git a/install/assets/chunks/weblogin.sidebar.tpl b/install/assets/chunks/weblogin.sidebar.tpl index 2d58646034..c5378366c6 100755 --- a/install/assets/chunks/weblogin.sidebar.tpl +++ b/install/assets/chunks/weblogin.sidebar.tpl @@ -1,67 +1,40 @@ /** - * WebLoginSidebar + * WebLoginSideBar * * WebLogin Tpl * * @category chunk - * @version 1.0 + * @version 1.1 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) * @internal @modx_category Login + * @internal @installset base, sample */ - + -
    - - - - - -
    - - - - - - - - - - - - - - - - -
    User:
    Password:
    - - - - - -
    -
    -
    Forget Password?
    -
    + + +
    +

    Your Login Details

    + + + + + Forget Your Password? +

    -[+logouttext+] +

    You're already logged in

    +Do you wish to [+logouttext+]?
    -
    - - - - - - - - - - - -
    Enter the email address of your account
    below to receive your password:
    -
    + +
    +

    It happens to everyone...

    + + + + +
    diff --git a/install/assets/modules/docmanager.tpl b/install/assets/modules/docmanager.tpl old mode 100644 new mode 100755 index 1169adbfeb..70026951d4 --- a/install/assets/modules/docmanager.tpl +++ b/install/assets/modules/docmanager.tpl @@ -7,11 +7,12 @@ * @category module * @version 1.1 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) - * @internal @properties + * @internal @properties * @internal @guid * @internal @shareparams 1 * @internal @dependencies requires files located at /assets/modules/docmanager/ * @internal @modx_category Manager and Admin + * @internal @installset base, sample */ include_once(MODX_BASE_PATH.'assets/modules/docmanager/classes/docmanager.class.php'); diff --git a/install/assets/plugins/ForgotManagerPassword.tpl b/install/assets/plugins/ForgotManagerPassword.tpl old mode 100644 new mode 100755 index fa903407dc..30ef45cf84 --- a/install/assets/plugins/ForgotManagerPassword.tpl +++ b/install/assets/plugins/ForgotManagerPassword.tpl @@ -9,6 +9,7 @@ * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) * @internal @events OnBeforeManagerLogin,OnManagerAuthentication,OnManagerLoginFormRender * @internal @modx_category Manager and Admin + * @internal @installset base */ if(!class_exists('ForgotManagerPassword')) { diff --git a/install/assets/plugins/inherit-parent-tpl.tpl b/install/assets/plugins/inherit-parent-tpl.tpl deleted file mode 100644 index 5622966cf9..0000000000 --- a/install/assets/plugins/inherit-parent-tpl.tpl +++ /dev/null @@ -1,54 +0,0 @@ -Event; - -switch($e->name) { - case 'OnDocFormPrerender': - if ($inheritTemplate == 'From First Sibling') { - if ($_REQUEST['pid'] > 0 && $id == 0) { - if ($sibl = $modx->getDocumentChildren($_REQUEST['pid'], 1, 0, 'template', '', 'menuindex', 'ASC', 1)) { - $content['template'] = $sibl[0]['template']; - } else if ($sibl = $modx->getDocumentChildren($_REQUEST['pid'], 0, 0, 'template', '', 'menuindex', 'ASC', 1)) { - $content['template'] = $sibl[0]['template']; - } else if ($parent = $modx->getPageInfo($_REQUEST['pid'], 0, 'template')) { - $content['template'] = $parent['template']; - } - } - } else { - if ($parent = $modx->getPageInfo($_REQUEST['pid'],0,'template')) { - $content['template'] = $parent['template']; - } - } - break; - default: - break; -} \ No newline at end of file diff --git a/install/assets/plugins/mgrmgr.tpl b/install/assets/plugins/mgrmgr.tpl index 95ca638134..2b5187f148 100755 --- a/install/assets/plugins/mgrmgr.tpl +++ b/install/assets/plugins/mgrmgr.tpl @@ -11,6 +11,7 @@ * @internal @events OnDocFormRender,OnDocFormPrerender,OnPluginFormRender,OnTVFormRender * @internal @modx_category Manager and Admin * @internal @legacy_names Image TV Preview, Show Image TVs + * @internal @installset base, sample */ // You can put your ManagerManager rules EITHER in a chunk OR in an external file - whichever suits your development style the best @@ -30,8 +31,8 @@ // or specify a URL to a custom location. // Here we set some default values, because this is a convenient place to change them if we need to, // but you should configure your preference via the Configuration tab. -$js_default_url_local = $modx->config['site_url'] . 'assets/js/jquery-1.4.2.min.js'; -$js_default_url_remote = 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'; +$js_default_url_local = $modx->config['site_url']. '/assets/js/jquery-1.3.2.min.js'; +$js_default_url_remote = 'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js'; // You don't need to change anything else from here onwards //------------------------------------------------------- diff --git a/install/assets/plugins/qm.tpl b/install/assets/plugins/qm.tpl index a3e6134fe6..5f2d946c73 100755 --- a/install/assets/plugins/qm.tpl +++ b/install/assets/plugins/qm.tpl @@ -7,10 +7,11 @@ * @category plugin * @version 1.5.3-GA * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) - * @internal @properties &jqpath=Path to jQuery;text;assets/js/jquery-1.4.2.min.js &loadmanagerjq=Load jQuery in manager;list;true,false;false &loadfrontendjq=Load jQuery in front-end;list;true,false;true &noconflictjq=jQuery noConflict mode in front-end;list;true,false;false &loadtb=Load modal box in front-end;list;true,false;true &tbwidth=Modal box window width;text;80% &tbheight=Modal box window height;text;90% &hidefields=Hide document fields from front-end editors;text;parent &hidetabs=Hide document tabs from front-end editors;text; &hidesections=Hide document sections from front-end editors;text; &addbutton=Show add document here button;list;true,false;true &tpltype=New document template type;list;parent,id,selected;parent &tplid=New document template id;int;3 &custombutton=Custom buttons;textarea; &1=undefined;; &managerbutton=Show go to manager button;list;true,false;true &logout=Logout to;list;manager,front-end;manager &disabled=Plugin disabled on documents;text; &autohide=Autohide toolbar;list;true,false;true &editbuttons=Inline edit buttons;list;true,false;false &editbclass=Edit button CSS class;text;qm-edit &newbuttons=Inline new resource buttons;list;true,false;false &newbclass=New resource button CSS class;text;qm-new &tvbuttons=Inline template variable buttons;list;true,false;false &tvbclass=Template variable button CSS class;text;qm-tv + * @internal @properties &jqpath=Path to jQuery;text;assets/js/jquery-1.3.2.min.js &loadmanagerjq=Load jQuery in manager;list;true,false;false &loadfrontendjq=Load jQuery in front-end;list;true,false;true &noconflictjq=jQuery noConflict mode in front-end;list;true,false;false &loadtb=Load modal box in front-end;list;true,false;true &tbwidth=Modal box window width;text;80% &tbheight=Modal box window height;text;90% &hidefields=Hide document fields from front-end editors;text;parent &hidetabs=Hide document tabs from front-end editors;text; &hidesections=Hide document sections from front-end editors;text; &addbutton=Show add document here button;list;true,false;true &tpltype=New document template type;list;parent,id,selected;parent &tplid=New document template id;int;3 &custombutton=Custom buttons;textarea; &1=undefined;; &managerbutton=Show go to manager button;list;true,false;true &logout=Logout to;list;manager,front-end;manager &disabled=Plugin disabled on documents;text; &autohide=Autohide toolbar;list;true,false;true &editbuttons=Inline edit buttons;list;true,false;false &editbclass=Edit button CSS class;text;qm-edit &newbuttons=Inline new resource buttons;list;true,false;false &newbclass=New resource button CSS class;text;qm-new &tvbuttons=Inline template variable buttons;list;true,false;false &tvbclass=Template variable button CSS class;text;qm-tv * @internal @events OnParseDocument,OnWebPagePrerender,OnDocFormPrerender,OnDocFormSave,OnManagerLogout * @internal @modx_category Manager and Admin * @internal @legacy_names QM+ + * @internal @installset base, sample */ diff --git a/install/assets/plugins/searchhighlight.tpl b/install/assets/plugins/searchhighlight.tpl old mode 100644 new mode 100755 index f50d22f91b..cd4dd2cebd --- a/install/assets/plugins/searchhighlight.tpl +++ b/install/assets/plugins/searchhighlight.tpl @@ -10,6 +10,7 @@ * @internal @events OnWebPagePrerender * @internal @modx_category Search * @internal @legacy_names Search Highlighting + * @internal @installset base, sample */ /* diff --git a/install/assets/plugins/tinymce.tpl b/install/assets/plugins/tinymce.tpl index 328cb35bf1..3311f9c4f8 100755 --- a/install/assets/plugins/tinymce.tpl +++ b/install/assets/plugins/tinymce.tpl @@ -11,6 +11,7 @@ * @internal @events OnRichTextEditorRegister,OnRichTextEditorInit,OnInterfaceSettingsRender * @internal @modx_category Manager and Admin * @internal @legacy_names TinyMCE + * @internal @installset base, sample * * Written By Jeff Whitfield * and Mikko Lammi / updated: 03/09/2010 @@ -69,7 +70,7 @@ switch ($e->name) $params['use_browser'] = $modx->config['use_browser']; $params['editor_css_path'] = $modx->config['editor_css_path']; - if($modx->isBackend() || (intval($_GET['quickmanagertv']) == 1 && isset($_SESSION['mrgValidated']))) + if($modx->isBackend()) { $params['theme'] = $modx->config['tinymce_editor_theme']; $params['language'] = getTinyMCELang($modx->config['manager_language']); diff --git a/install/assets/plugins/transalias.tpl b/install/assets/plugins/transalias.tpl old mode 100644 new mode 100755 index 7cf7be1f86..29918a8be5 --- a/install/assets/plugins/transalias.tpl +++ b/install/assets/plugins/transalias.tpl @@ -13,6 +13,7 @@ * @internal @properties &table_name=Trans table;list;common,russian,utf8,utf8lowercase;utf8lowercase &char_restrict=Restrict alias to;list;lowercase alphanumeric,alphanumeric,legal characters;legal characters &remove_periods=Remove Periods;list;Yes,No;No &word_separator=Word Separator;list;dash,underscore,none;dash &override_tv=Override TV name;string; * @internal @events OnStripAlias * @internal @modx_category Manager and Admin + * @internal @installset base, sample */ /* diff --git a/install/assets/snippets/ajaxSearch.tpl b/install/assets/snippets/ajaxSearch.tpl index 9cf4170785..2b7aa6e13e 100755 --- a/install/assets/snippets/ajaxSearch.tpl +++ b/install/assets/snippets/ajaxSearch.tpl @@ -4,13 +4,14 @@ * Ajax and non-Ajax search that supports results highlighting * * @category snippet - * @version 1.9.0 + * @version 1.9.2 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) * @internal @properties * @internal @modx_category Search + * @internal @installset base, sample * * @author Coroico - * @date 18/05/2010 + * @date 05/12/2010 * ----------------------------------------------------------------------------- */ /** @@ -70,7 +71,7 @@ MORE : See the ajaxSearch.readme.txt file for more informations. ----------------------------------------------------------------------------- */ // ajaxSearch version being executed -define('AS_VERSION', '1.9.0'); +define('AS_VERSION', '1.9.2'); // Path where ajaxSearch is installed define('AS_SPATH', 'assets/snippets/ajaxSearch/'); //include snippet file @@ -82,12 +83,24 @@ define('AS_PATH', MODX_BASE_PATH . AS_SPATH); global $modx; $tstart = $modx->getMicroTime(); +$cfg = array(); // current configuration +$cfg['version'] = AS_VERSION; + // Load the default configuration $dcfg to get the default values $default = AS_PATH . 'configs/default.config.php'; if (file_exists($default)) include $default; else return "

    AjaxSearch error: $default not found !
    Check the existing of this file!

    "; if (!isset($dcfg)) return "

    AjaxSearch error: default configuration array not defined in $default!
    Check the content of this file!

    "; -$cfg = array(); // current configuration + +if ($dcfg['version'] != AS_VERSION) return "

    AjaxSearch error: Version number mismatch. Check the content of the default configuration file!

    "; + +// check the possible use of deprecated parameters (since 1.8.5) +$readme = "ajaxSearch_version_192.txt"; +if (isset($searchWordList)) return "

    AjaxSearch error: searchWordList is a deprecated parameter. Read " . $readme . " file.

    "; +if (isset($resultsPage)) return "

    AjaxSearch error: resultsPage is a deprecated parameter. Read " . $readme . " file.

    "; +if (isset($AS_showForm)) return "

    AjaxSearch error: AS_showForm parameter has been renamed showInputForm. Read " . $readme . " file.

    "; +if (isset($AS_landing)) return "

    AjaxSearch error: AS_landing parameter has been renamed landingPage. Read " . $readme . " file.

    "; +if (isset($AS_showResults)) return "

    AjaxSearch error: AS_showResults parameter has been renamed showResults. Read " . $readme . " file.

    "; // Load a custom configuration file if required // config_name - Other config installed in the configs folder or in any folder within the MODx base path via @FILE @@ -96,7 +109,7 @@ $cfg = array(); // current configuration $cfg['config'] = isset($config) ? $config : $dcfg['config']; if ($cfg['config']) { $config = $cfg['config']; - $lconfig = (substr($config, 0, 5) != "@FILE") ? AS_PATH . "configs/$config.config.php" : $modx->config['base_path'] . trim(substr($config, 5)); + $lconfig = (substr($config, 0, 6) != "@FILE:") ? AS_PATH . "configs/$config.config.php" : $modx->config['base_path'] . trim(substr($config, 6, strlen($config)-6)); if (file_exists($lconfig)) include $lconfig; else return "

    AjaxSearch error: " . $lconfig . " not found !
    Check your config parameter or your config file name!

    "; } @@ -455,7 +468,6 @@ if ($cfg['ajaxSearch']) { $cfg['jsJquery'] = isset($jsJquery) ? $jsJquery : (isset($__jsJquery) ? $__jsJquery : $dcfg['jsJquery']); } - // ========================================================== End of config include_once AS_PATH . "classes/ajaxSearch.class.inc.php"; if (class_exists('AjaxSearch')) { @@ -467,4 +479,4 @@ if (class_exists('AjaxSearch')) { $elapsedTime = $modx->getMicroTime() - $tstart; $etime = sprintf("%.4fs",$elapsedTime); //$f=fopen('test.txt','a+');fwrite($f,"etime=".$etime."\n\n"); -return $output; +return $output; \ No newline at end of file diff --git a/install/assets/snippets/breadcrumbs.tpl b/install/assets/snippets/breadcrumbs.tpl old mode 100644 new mode 100755 index 7329eb38b5..f0032a6155 --- a/install/assets/snippets/breadcrumbs.tpl +++ b/install/assets/snippets/breadcrumbs.tpl @@ -7,8 +7,9 @@ * @category snippet * @version 1.0.2 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) - * @internal @properties + * @internal @properties * @internal @modx_category Navigation + * @internal @installset base, sample */ /* diff --git a/install/assets/snippets/ditto.tpl b/install/assets/snippets/ditto.tpl index 974ce25cb9..1cf45d2325 100755 --- a/install/assets/snippets/ditto.tpl +++ b/install/assets/snippets/ditto.tpl @@ -9,6 +9,7 @@ * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) * @internal @properties * @internal @modx_category Content + * @internal @installset base, sample */ /* Description: diff --git a/install/assets/snippets/eform.tpl b/install/assets/snippets/eform.tpl index 9b88388bd3..cc35b8b497 100755 --- a/install/assets/snippets/eform.tpl +++ b/install/assets/snippets/eform.tpl @@ -7,8 +7,9 @@ * @category snippet * @version 1.4.4.6 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) - * @internal @properties + * @internal @properties * @internal @modx_category Forms + * @internal @installset base, sample */ # eForm 1.4.4.6 - Electronic Form Snippet diff --git a/install/assets/snippets/firstchild.tpl b/install/assets/snippets/firstchild.tpl old mode 100644 new mode 100755 index 8c2d6c3d8d..d804cbd538 --- a/install/assets/snippets/firstchild.tpl +++ b/install/assets/snippets/firstchild.tpl @@ -7,8 +7,9 @@ * @category snippet * @version 1.0 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) - * @internal @properties + * @internal @properties * @internal @modx_category Navigation + * @internal @installset base */ diff --git a/install/assets/snippets/jot.tpl b/install/assets/snippets/jot.tpl old mode 100644 new mode 100755 index 0a9daae8e9..c6e1fa9466 --- a/install/assets/snippets/jot.tpl +++ b/install/assets/snippets/jot.tpl @@ -7,8 +7,9 @@ * @category snippet * @version 1.1.4 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) - * @internal @properties + * @internal @properties * @internal @modx_category Content + * @internal @installset base, sample */ diff --git a/install/assets/snippets/listindexer.tpl b/install/assets/snippets/listindexer.tpl old mode 100644 new mode 100755 index 09358df7ec..214c41497b --- a/install/assets/snippets/listindexer.tpl +++ b/install/assets/snippets/listindexer.tpl @@ -7,8 +7,9 @@ * @category snippet * @version 1.0.1 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) - * @internal @properties + * @internal @properties * @internal @modx_category Navigation + * @internal @installset base */ // added in 1.0.1: hidePrivate (hide items from unauthorized users) diff --git a/install/assets/snippets/membercheck.tpl b/install/assets/snippets/membercheck.tpl old mode 100644 new mode 100755 index 06652ad941..f4fb930a5f --- a/install/assets/snippets/membercheck.tpl +++ b/install/assets/snippets/membercheck.tpl @@ -7,8 +7,9 @@ * @category snippet * @version 1.1 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) - * @internal @properties + * @internal @properties * @internal @modx_category Login + * @internal @installset base */ #:::::::::::::::::::::::::::::::::::::::: diff --git a/install/assets/snippets/personalize.tpl b/install/assets/snippets/personalize.tpl old mode 100644 new mode 100755 index eb26ac94fe..729eae6cbb --- a/install/assets/snippets/personalize.tpl +++ b/install/assets/snippets/personalize.tpl @@ -7,8 +7,9 @@ * @category snippet * @version 2.0 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) - * @internal @properties + * @internal @properties * @internal @modx_category Login + * @internal @installset base */ #:::::::::::::::::::::::::::::::::::::::: @@ -46,7 +47,7 @@ # # Example Usage: # -# [[LoggedOrNot? &yesChunk=`Link` &noChunk=`Register` &ph=`name`]] +# [[Personalize? &yesChunk=`Link` &noChunk=`Register` &ph=`name`]] # # Having Chunks named {{Link}} and another {{Register}}, the first will be # published to registered user, the second to non-registered users. diff --git a/install/assets/snippets/reflect.tpl b/install/assets/snippets/reflect.tpl old mode 100644 new mode 100755 index 4e6c4f119e..0b3ac71068 --- a/install/assets/snippets/reflect.tpl +++ b/install/assets/snippets/reflect.tpl @@ -7,8 +7,9 @@ * @category snippet * @version 2.1.0 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) - * @internal @properties + * @internal @properties * @internal @modx_category Content + * @internal @installset base, sample */ diff --git a/install/assets/snippets/ultparent.tpl b/install/assets/snippets/ultparent.tpl old mode 100644 new mode 100755 index 6baa80f4c0..45d4dabb27 --- a/install/assets/snippets/ultparent.tpl +++ b/install/assets/snippets/ultparent.tpl @@ -7,8 +7,9 @@ * @category snippet * @version 2.0 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) - * @internal @properties + * @internal @properties * @internal @modx_category Navigation + * @internal @installset base */ diff --git a/install/assets/snippets/wayfinder.tpl b/install/assets/snippets/wayfinder.tpl old mode 100644 new mode 100755 index c7da91f08a..2f557c524e --- a/install/assets/snippets/wayfinder.tpl +++ b/install/assets/snippets/wayfinder.tpl @@ -7,8 +7,9 @@ * @category snippet * @version 2.0 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) - * @internal @properties + * @internal @properties * @internal @modx_category Navigation + * @internal @installset base, sample */ diff --git a/install/assets/snippets/webchangepwd.tpl b/install/assets/snippets/webchangepwd.tpl index 528f73c212..d40e03f45f 100755 --- a/install/assets/snippets/webchangepwd.tpl +++ b/install/assets/snippets/webchangepwd.tpl @@ -7,8 +7,9 @@ * @category snippet * @version 1.0 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) - * @internal @properties + * @internal @properties * @internal @modx_category Login + * @internal @installset base */ diff --git a/install/assets/snippets/weblogin.tpl b/install/assets/snippets/weblogin.tpl index dece5ba884..93f36e89ef 100755 --- a/install/assets/snippets/weblogin.tpl +++ b/install/assets/snippets/weblogin.tpl @@ -9,6 +9,7 @@ * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) * @internal @properties &loginhomeid=Login Home Id;string; &logouthomeid=Logout Home Id;string; &logintext=Login Button Text;string; &logouttext=Logout Button Text;string; &tpl=Template;string; * @internal @modx_category Login + * @internal @installset base, sample */ # Created By Raymond Irving 2004 diff --git a/install/assets/snippets/websignup.tpl b/install/assets/snippets/websignup.tpl index 42a092a053..14c6fa28fe 100755 --- a/install/assets/snippets/websignup.tpl +++ b/install/assets/snippets/websignup.tpl @@ -9,6 +9,7 @@ * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) * @internal @properties &tpl=Template;string; * @internal @modx_category Login + * @internal @installset base, sample */ diff --git a/install/assets/templates/modx_host.tpl b/install/assets/templates/modx_host.tpl old mode 100644 new mode 100755 index 3f1e6623e8..6e3ede18ff --- a/install/assets/templates/modx_host.tpl +++ b/install/assets/templates/modx_host.tpl @@ -8,6 +8,7 @@ * @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL) * @internal @lock_template 0 * @internal @modx_category Demo Content + * @internal @installset sample */ @@ -40,7 +41,7 @@

    Most Recent:

    [[ListIndexer?LIn_root=0]]

    Login:

    -
    [!WebLogin? &tpl=`FormLogin` &loginhomeid=`[(site_start)]`!]
    +
    [!WebLogin? &tpl=`WebLoginSideBar` &loginhomeid=`[(site_start)]`!]

    Meta:

    Valid XHTML

    Valid css

    @@ -53,6 +54,7 @@
    + [[Breadcrumbs?]]

    [*longtitle*]

    diff --git a/install/assets/tvs/blogContent.tpl b/install/assets/tvs/blogContent.tpl new file mode 100755 index 0000000000..77af201088 --- /dev/null +++ b/install/assets/tvs/blogContent.tpl @@ -0,0 +1,18 @@ +/** + * blogContent + * + * RTE for the new blog entries + * + * @category tv + * @name blogContent + * @internal @caption blogContent + * @internal @input_type richtext + * @internal @input_options + * @internal @input_default + * @internal @output_widget RichText + * @internal @output_widget_params &w=383px&h=450px&edt=TinyMCE + * @internal @lock_tv 0 + * @internal @template_assignments MODxHost + * @internal @modx_category Demo Content + * @internal @installset sample + */ \ No newline at end of file diff --git a/install/assets/tvs/documentTags.tpl b/install/assets/tvs/documentTags.tpl new file mode 100755 index 0000000000..fdc3bccb43 --- /dev/null +++ b/install/assets/tvs/documentTags.tpl @@ -0,0 +1,18 @@ +/** + * documentTags + * + * Space delimited tags for the current document + * + * @category tv + * @name documentTags + * @internal @caption Tags + * @internal @input_type text + * @internal @input_options + * @internal @input_default + * @internal @output_widget + * @internal @output_widget_params + * @internal @lock_tv 0 + * @internal @template_assignments MODxHost + * @internal @modx_category Demo Content + * @internal @installset sample + */ \ No newline at end of file diff --git a/install/assets/tvs/loginName.tpl b/install/assets/tvs/loginName.tpl new file mode 100755 index 0000000000..cf34497e62 --- /dev/null +++ b/install/assets/tvs/loginName.tpl @@ -0,0 +1,18 @@ +/** + * loginName + * + * Conditional name for the Login menu item + * + * @category tv + * @name loginName + * @internal @caption loginName + * @internal @input_type text + * @internal @input_options + * @internal @input_default @EVAL if ($modx->getLoginUserID()) return 'Logout'; else return 'Login'; + * @internal @output_widget + * @internal @output_widget_params + * @internal @lock_tv 0 + * @internal @template_assignments MODxHost + * @internal @modx_category Demo Content + * @internal @installset sample + */ \ No newline at end of file diff --git a/install/changelog.txt b/install/changelog.txt index a3842893ef..bb6116a551 100755 --- a/install/changelog.txt +++ b/install/changelog.txt @@ -20,6 +20,15 @@ Bugfixes: * [#488] Fix bad check for mysql strict mode * [#595] Fix bad path on Resource Editor rich text fields when TMCE in "root relative" mode * [#1252] Fix @SELECT multi-select listbox TV losing its value when switching Content field "Editor to use" +* [#321] stop parser from running case-mismatched snippet calls +* [#343] Fix Hiding "Validate Referer" warning messes up the setting itself +* [#432] Fix TV date-layer display problem with multiple datefields in FF 3.6.3 +* [#445] Fix error displaying filenames with non-Latin charsets +* [#577] Fix Spanish UTF8 language file +* [#760] Fix Document tree not loading in children +* [#609] Fix web_groups and member_groups tables can have duplicate entries +* [#364] Fix W3C validation problem with TV image output widget +* [#2957] Allow multibyte strings in QuickManager+ TV buttons -------------------------------------------- Additional Improvements & Updates: @@ -30,6 +39,33 @@ Additional Improvements & Updates: * [#23] Quick Manager+ updated to 1.5.3-GA * [#421] ManagerManager updated to 0.3.9 * [#359][#421] Default Chunk for ManagerManager rules now "mm_rules"; Since demo rules are "mm_demo_rules", MM is now disabled on install +* [#308] Return to active tab for Elements, regardless of "Remember tabs" system setting +* [#331] Updated Czech language file +* [#881] Improvements to Template inheritance (moved from plugin into core, added system setting to control behavior) +* [#592] Adjustment of manager fonts +* [#476] Improvement to New user's default role +* [#378] Check for and disallow reserved words in Template Variable names +* [#1360] Better handling of Template Switcher plugin +* [#833] Manager and Web User comments field no longer limited to 255 characters +* [#1132] New system setting to strip characters from files uploaded in Manage Files (using same logic configured for aliases) +* [#190] Resolve hostnames config option deprecated +* [#1065] Let manager themes have their own welcome.html page +* [#216] Optimization of core methods (getParentIds & getChildIds) +* [#819] Improvement in config.inc.php file (new installs only) so proper MODX_SITE_URL constant is set in API Mode +* [#2867] Improvements to installer with respect to handling of Demo Site option and related elements +* [#2867] Laid foundation for "installsets" or preset groups of installer elements +* [#2963] New icons in manager resource tree (to reflect site start, error page, site unavailable and unauthorized system settings) +* [#594] Tweaked Quick Manager window open style +* [#487] Links updated in demo site content +* [#3075] Apply monospace font to manager textarea fields +* [#999] Enhance ordering logic when displaying lists of TVs +* [#2953] Fix QuickManager+ Google Chrome font problem (text-shadow) +* [#3063][#3064][#3065] Replace calls to deprecated db-related parser methods with calls to db class methods +* [#2961] Wayfinder improvement - allow use of [+wf.alias+] +* [#3061] Allow @ and . characters in remembered login name +* [#3062] Corrections to ActionList item names (given that Documents are now Resources and Resources are now Elements) +* [#3115] Automatically regenerate siteCache if it not found +* [#835] @INHERIT improved to work with @FILE, and to allow additional data after the @INHERIT MODx Evolution 1.0.4 (Jun 8, 2010) =================================== diff --git a/install/instprocessor.php b/install/instprocessor.php index 6f3a434ffa..9916d58e52 100755 --- a/install/instprocessor.php +++ b/install/instprocessor.php @@ -26,36 +26,36 @@ //if ($installMode == 1) { // include "../manager/includes/config.inc.php"; //} else { - // get db info from post - $database_server = $_POST['databasehost']; - $database_user = $_SESSION['databaseloginname']; - $database_password = $_SESSION['databaseloginpassword']; - $database_collation = $_POST['database_collation']; - $database_charset = substr($database_collation, 0, strpos($database_collation, '_')); - $database_connection_charset = $_POST['database_connection_charset']; - $database_connection_method = $_POST['database_connection_method']; - $dbase = "`" . $_POST['database_name'] . "`"; - $table_prefix = $_POST['tableprefix']; - $adminname = $_POST['cmsadmin']; - $adminemail = $_POST['cmsadminemail']; - $adminpass = $_POST['cmspassword']; - $managerlanguage = $_POST['managerlanguage']; +// get db info from post +$database_server = $_POST['databasehost']; +$database_user = $_POST['databaseloginname']; +$database_password = $_POST['databaseloginpassword']; +$database_collation = $_POST['database_collation']; +$database_charset = substr($database_collation, 0, strpos($database_collation, '_')); +$database_connection_charset = $_POST['database_connection_charset']; +$database_connection_method = $_POST['database_connection_method']; +$dbase = "`" . $_POST['database_name'] . "`"; +$table_prefix = $_POST['tableprefix']; +$adminname = $_POST['cmsadmin']; +$adminemail = $_POST['cmsadminemail']; +$adminpass = $_POST['cmspassword']; +$managerlanguage = $_POST['managerlanguage']; //} // set session name variable if (!isset ($site_sessionname)) { - $site_sessionname = 'SN' . uniqid(''); + $site_sessionname = 'SN' . uniqid(''); } // get base path and url $a = explode("install", str_replace("\\", "/", dirname($_SERVER["PHP_SELF"]))); if (count($a) > 1) - array_pop($a); + array_pop($a); $url = implode("install", $a); reset($a); $a = explode("install", str_replace("\\", "/", realpath(dirname(__FILE__)))); if (count($a) > 1) - array_pop($a); + array_pop($a); $pth = implode("install", $a); unset ($a); $base_url = $url . (substr($url, -1) != "/" ? "/" : ""); @@ -64,61 +64,108 @@ // connect to the database echo "

    ". $_lang['setup_database_create_connection']; if (!@ $conn = mysql_connect($database_server, $database_user, $database_password)) { - echo "".$_lang["setup_database_create_connection_failed"]."

    ".$_lang['setup_database_create_connection_failed_note']."

    "; - return; + echo "".$_lang["setup_database_create_connection_failed"]."

    ".$_lang['setup_database_create_connection_failed_note']."

    "; + return; } else { - echo "".$_lang['ok']."

    "; + echo "".$_lang['ok']."

    "; } // select database echo "

    ".$_lang['setup_database_selection']. str_replace("`", "", $dbase) . "`: "; if (!@ mysql_select_db(str_replace("`", "", $dbase), $conn)) { - echo "".$_lang['setup_database_selection_failed']."".$_lang['setup_database_selection_failed_note']."

    "; - $create = true; + echo "".$_lang['setup_database_selection_failed']."".$_lang['setup_database_selection_failed_note']."

    "; + $create = true; } else { @ mysql_query("{$database_connection_method} {$database_connection_charset}"); - echo "".$_lang['ok']."

    "; + echo "".$_lang['ok']."

    "; } // try to create the database if ($create) { - echo "

    ".$_lang['setup_database_creation']. str_replace("`", "", $dbase) . "`: "; - // if(!@mysql_create_db(str_replace("`","",$dbase), $conn)) { - if (! mysql_query("CREATE DATABASE $dbase DEFAULT CHARACTER SET $database_charset COLLATE $database_collation")) { - echo "".$_lang['setup_database_creation_failed']."".$_lang['setup_database_creation_failed_note']."

    "; - $errors += 1; + echo "

    ".$_lang['setup_database_creation']. str_replace("`", "", $dbase) . "`: "; + // if(!@mysql_create_db(str_replace("`","",$dbase), $conn)) { + if (! mysql_query("CREATE DATABASE $dbase DEFAULT CHARACTER SET $database_charset COLLATE $database_collation")) { + echo "".$_lang['setup_database_creation_failed']."".$_lang['setup_database_creation_failed_note']."

    "; + $errors += 1; ?>
             database charset = 
             database collation = 
             
    -

    +

    ".$_lang['ok']."

    "; - } + return; + } else { + echo "".$_lang['ok']."

    "; + } } // check table prefix if ($installMode == 0) { - echo "

    " . $_lang['checking_table_prefix'] . $table_prefix . "`: "; - if (@ $rs = mysql_query("SELECT COUNT(*) FROM $dbase.`" . $table_prefix . "site_content`")) { - echo "" . $_lang['failed'] . "" . $_lang['table_prefix_already_inuse'] . "

    "; - $errors += 1; - echo "

    " . $_lang['table_prefix_already_inuse_note'] . "

    "; - return; - } else { - echo "" . $_lang['ok'] . "

    "; - } + echo "

    " . $_lang['checking_table_prefix'] . $table_prefix . "`: "; + if (@ $rs = mysql_query("SELECT COUNT(*) FROM $dbase.`" . $table_prefix . "site_content`")) { + echo "" . $_lang['failed'] . "" . $_lang['table_prefix_already_inuse'] . "

    "; + $errors += 1; + echo "

    " . $_lang['table_prefix_already_inuse_note'] . "

    "; + return; + } else { + echo "" . $_lang['ok'] . "

    "; + } +} + +if(!function_exists('parseProperties')) { + // parses a resource property string and returns the result as an array + // duplicate of method in documentParser class + function parseProperties($propertyString) { + $parameter= array (); + if (!empty ($propertyString)) { + $tmpParams= explode("&", $propertyString); + for ($x= 0; $x < count($tmpParams); $x++) { + if (strpos($tmpParams[$x], '=', 0)) { + $pTmp= explode("=", $tmpParams[$x]); + $pvTmp= explode(";", trim($pTmp[1])); + if ($pvTmp[1] == 'list' && $pvTmp[3] != "") + $parameter[trim($pTmp[0])]= $pvTmp[3]; //list default + else + if ($pvTmp[1] != 'list' && $pvTmp[2] != "") + $parameter[trim($pTmp[0])]= $pvTmp[2]; + } + } + } + return $parameter; + } +} + +// check status of Inherit Parent Template plugin +$auto_template_logic = 'parent'; +if ($installMode != 0) { + $rs = mysql_query("SELECT properties, disabled FROM $dbase.`" . $table_prefix . "site_plugins` WHERE name='Inherit Parent Template'"); + $row = mysql_fetch_row($rs); + if(!$row) { + // not installed + $auto_template_logic = 'system'; + } else { + if($row[1] == 1) { + // installed but disabled + $auto_template_logic = 'system'; + } else { + // installed, enabled .. see how it's configured + $properties = parseProperties($row[0]); + if(isset($properties['inheritTemplate'])) { + if($properties['inheritTemplate'] == 'From First Sibling') { + $auto_template_logic = 'sibling'; + } + } + } + } } // open db connection $setupPath = realpath(dirname(__FILE__)); include "{$setupPath}/setup.info.php"; include "{$setupPath}/sqlParser.class.php"; -$sqlParser = new SqlParser($database_server, $database_user, $database_password, str_replace("`", "", $dbase), $table_prefix, $adminname, $adminemail, $adminpass, $database_connection_charset, $managerlanguage, $database_connection_method); +$sqlParser = new SqlParser($database_server, $database_user, $database_password, str_replace("`", "", $dbase), $table_prefix, $adminname, $adminemail, $adminpass, $database_connection_charset, $managerlanguage, $database_connection_method, $auto_template_logic); $sqlParser->mode = ($installMode < 1) ? "new" : "upd"; /* image and file manager paths now handled via settings screen in Manager $sqlParser->imageUrl = 'http://' . $_SERVER['SERVER_NAME'] . $base_url . "assets/"; @@ -132,50 +179,29 @@ // install/update database echo "

    " . $_lang['setup_database_creating_tables']; if ($moduleSQLBaseFile) { - $sqlParser->process($moduleSQLBaseFile); - // display database results - if ($sqlParser->installFailed == true) { - $errors += 1; - echo "" . $_lang['database_alerts'] . "

    "; - echo "

    " . $_lang['setup_couldnt_install'] . "

    "; - echo "

    " . $_lang['installation_error_occured'] . "

    "; - for ($i = 0; $i < count($sqlParser->mysqlErrors); $i++) { - echo "" . $sqlParser->mysqlErrors[$i]["error"] . "" . $_lang['during_execution_of_sql'] . "" . strip_tags($sqlParser->mysqlErrors[$i]["sql"]) . ".


    "; - } - echo "

    "; - echo "

    " . $_lang['some_tables_not_updated'] . "

    "; - return; - } else { - echo "".$_lang['ok']."

    "; - } -} - -// install data -if ($installData && $moduleSQLDataFile) { - echo "

    " . $_lang['installing_demo_site']; - $sqlParser->process($moduleSQLDataFile); - // display database results - if ($sqlParser->installFailed == true) { - $errors += 1; - echo "" . $_lang['database_alerts'] . "

    "; - echo "

    " . $_lang['setup_couldnt_install'] . "

    "; - echo "

    " . $_lang['installation_error_occured'] . "

    "; - for ($i = 0; $i < count($sqlParser->mysqlErrors); $i++) { - echo "" . $sqlParser->mysqlErrors[$i]["error"] . "" . $_lang['during_execution_of_sql'] . "" . strip_tags($sqlParser->mysqlErrors[$i]["sql"]) . ".


    "; - } - echo "

    "; - echo "

    " . $_lang['some_tables_not_updated'] . "

    "; - return; - } else { - echo "".$_lang['ok']."

    "; - } + $sqlParser->process($moduleSQLBaseFile); + // display database results + if ($sqlParser->installFailed == true) { + $errors += 1; + echo "" . $_lang['database_alerts'] . "

    "; + echo "

    " . $_lang['setup_couldnt_install'] . "

    "; + echo "

    " . $_lang['installation_error_occured'] . "

    "; + for ($i = 0; $i < count($sqlParser->mysqlErrors); $i++) { + echo "" . $sqlParser->mysqlErrors[$i]["error"] . "" . $_lang['during_execution_of_sql'] . "" . strip_tags($sqlParser->mysqlErrors[$i]["sql"]) . ".


    "; + } + echo "

    "; + echo "

    " . $_lang['some_tables_not_updated'] . "

    "; + return; + } else { + echo "".$_lang['ok']."

    "; + } } // write the config.inc.php file if new installation echo "

    " . $_lang['writing_config_file']; $configString = '"; $filename = '../manager/includes/config.inc.php'; $configFileFailed = false; if (@ !$handle = fopen($filename, 'w')) { - $configFileFailed = true; + $configFileFailed = true; } // write $somecontent to our opened file. if (@ fwrite($handle, $configString) === FALSE) { - $configFileFailed = true; + $configFileFailed = true; } @ fclose($handle); @@ -266,393 +292,407 @@ function startCMSSession(){ $chmodSuccess = @chmod($filename, 0600); if ($configFileFailed == true) { - echo "" . $_lang['failed'] . "

    "; - $errors += 1; + echo "" . $_lang['failed'] . "

    "; + $errors += 1; ?> -

    manager/includes/config.inc.php

    - -

    +

    manager/includes/config.inc.php

    + +

    " . $_lang['ok'] . "

    "; + echo "" . $_lang['ok'] . "

    "; } // generate new site_id and set manager theme to MODxCarbon if ($installMode == 0) { - $siteid = uniqid(''); - mysql_query("REPLACE INTO $dbase.`" . $table_prefix . "system_settings` (setting_name,setting_value) VALUES('site_id','$siteid'),('manager_theme','MODxCarbon')", $sqlParser->conn); + $siteid = uniqid(''); + mysql_query("REPLACE INTO $dbase.`" . $table_prefix . "system_settings` (setting_name,setting_value) VALUES('site_id','$siteid'),('manager_theme','MODxCarbon')", $sqlParser->conn); } else { - // update site_id if missing - $ds = mysql_query("SELECT setting_name,setting_value FROM $dbase.`" . $table_prefix . "system_settings` WHERE setting_name='site_id'", $sqlParser->conn); - if ($ds) { - $r = mysql_fetch_assoc($ds); - $siteid = $r['setting_value']; - if ($siteid == '' || $siteid = 'MzGeQ2faT4Dw06+U49x3') { - $siteid = uniqid(''); - mysql_query("REPLACE INTO $dbase.`" . $table_prefix . "system_settings` (setting_name,setting_value) VALUES('site_id','$siteid')", $sqlParser->conn); - } - } + // update site_id if missing + $ds = mysql_query("SELECT setting_name,setting_value FROM $dbase.`" . $table_prefix . "system_settings` WHERE setting_name='site_id'", $sqlParser->conn); + if ($ds) { + $r = mysql_fetch_assoc($ds); + $siteid = $r['setting_value']; + if ($siteid == '' || $siteid = 'MzGeQ2faT4Dw06+U49x3') { + $siteid = uniqid(''); + mysql_query("REPLACE INTO $dbase.`" . $table_prefix . "system_settings` (setting_name,setting_value) VALUES('site_id','$siteid')", $sqlParser->conn); + } + } } // Install Templates -if (isset ($_POST['template'])) { - echo "

    " . $_lang['templates'] . ":

    "; - $selTemplates = $_POST['template']; - foreach ($selTemplates as $si) { - $si = (int) trim($si); - $name = mysql_real_escape_string($moduleTemplates[$si][0]); - $desc = mysql_real_escape_string($moduleTemplates[$si][1]); - $category = mysql_real_escape_string($moduleTemplates[$si][4]); - $locked = mysql_real_escape_string($moduleTemplates[$si][5]); - $filecontent = $moduleTemplates[$si][3]; - if (!file_exists($filecontent)) { - echo "

      $name: " . $_lang['unable_install_template'] . " '$filecontent' " . $_lang['not_found'] . ".

    "; - } else { - // Create the category if it does not already exist - if($category) { - $rs = mysql_query("REPLACE INTO $dbase.`".$table_prefix."categories` (`id`,`category`) ( SELECT MIN(`id`), '$category' FROM ( SELECT `id` FROM $dbase.`" . $table_prefix . "categories` WHERE `category` = '$category' UNION SELECT (CASE COUNT(*) WHEN 0 THEN 1 ELSE MAX(`id`)+1 END ) `id` FROM $dbase.`" . $table_prefix . "categories` ) AS _tmp )", $sqlParser->conn); - - $rs = mysql_query("SELECT id FROM $dbase.`".$table_prefix."categories` WHERE category = '".$category."'"); - if(mysql_num_rows($rs) && ($row = mysql_fetch_assoc($rs))) { - $category = $row['id']; - } else { - $category = 0; - } - } else { - $category = 0; - } - - // Strip the first comment up top - $template = preg_replace("/^.*?\/\*\*.*?\*\/\s+/s", '', file_get_contents($filecontent), 1); - $template = mysql_real_escape_string($template); - - // See if the template already exists - $rs = mysql_query("SELECT * FROM $dbase.`" . $table_prefix . "site_templates` WHERE templatename='$name'", $sqlParser->conn); - - if (mysql_num_rows($rs)) { - if (!@ mysql_query("UPDATE $dbase.`" . $table_prefix . "site_templates` SET content='$template', description='$desc', category='$category', locked='$locked' WHERE templatename='$name';", $sqlParser->conn)) { - $errors += 1; - echo "

    " . mysql_error() . "

    "; - return; - } - echo "

      $name: " . $_lang['upgraded'] . "

    "; - } else { - if (!@ mysql_query("INSERT INTO $dbase.`" . $table_prefix . "site_templates` (templatename,description,content,category,locked) VALUES('$name','$desc','$template','$category','$locked');", $sqlParser->conn)) { - $errors += 1; - echo "

    " . mysql_error() . "

    "; - return; - } - echo "

      $name: " . $_lang['installed'] . "

    "; - } - } - } +if (isset ($_POST['template']) || $installData) { + echo "

    " . $_lang['templates'] . ":

    "; + $selTemplates = $_POST['template']; + foreach ($moduleTemplates as $k=>$moduleTemplate) { + $installSample = in_array('sample', $moduleTemplate[6]) && $installData == 1; + if(in_array($k, $selTemplates) || $installSample) { + $name = mysql_real_escape_string($moduleTemplate[0]); + $desc = mysql_real_escape_string($moduleTemplate[1]); + $category = mysql_real_escape_string($moduleTemplate[4]); + $locked = mysql_real_escape_string($moduleTemplate[5]); + $filecontent = $moduleTemplate[3]; + if (!file_exists($filecontent)) { + echo "

      $name: " . $_lang['unable_install_template'] . " '$filecontent' " . $_lang['not_found'] . ".

    "; + } else { + // Create the category if it does not already exist + $category_id = getCreateDbCategory($category, $sqlParser); + + // Strip the first comment up top + $template = preg_replace("/^.*?\/\*\*.*?\*\/\s+/s", '', file_get_contents($filecontent), 1); + $template = mysql_real_escape_string($template); + + // See if the template already exists + $rs = mysql_query("SELECT * FROM $dbase.`" . $table_prefix . "site_templates` WHERE templatename='$name'", $sqlParser->conn); + + if (mysql_num_rows($rs)) { + if (!@ mysql_query("UPDATE $dbase.`" . $table_prefix . "site_templates` SET content='$template', description='$desc', category=$category_id, locked='$locked' WHERE templatename='$name';", $sqlParser->conn)) { + $errors += 1; + echo "

    " . mysql_error() . "

    "; + return; + } + echo "

      $name: " . $_lang['upgraded'] . "

    "; + } else { + if (!@ mysql_query("INSERT INTO $dbase.`" . $table_prefix . "site_templates` (templatename,description,content,category,locked) VALUES('$name','$desc','$template',$category_id,'$locked');", $sqlParser->conn)) { + $errors += 1; + echo "

    " . mysql_error() . "

    "; + return; + } + echo "

      $name: " . $_lang['installed'] . "

    "; + } + } + } + } } // Install Template Variables -if (isset ($_POST['tv'])) { +if (isset ($_POST['tv']) || $installData) { echo "

    " . $_lang['tvs'] . ":

    "; $selTVs = $_POST['tv']; - foreach ($selTVs as $si) { - $si = (int) trim($si); - $name = mysql_real_escape_string($moduleTVs[$si][0]); - $caption = mysql_real_escape_string($moduleTVs[$si][1]); - $desc = mysql_real_escape_string($moduleTVs[$si][2]); - $input_type = mysql_real_escape_string($moduleTVs[$si][3]); - $input_options = mysql_real_escape_string($moduleTVs[$si][4]); - $input_default = mysql_real_escape_string($moduleTVs[$si][5]); - $output_widget = mysql_real_escape_string($moduleTVs[$si][6]); - $output_widget_params = mysql_real_escape_string($moduleTVs[$si][7]); - $filecontent = $moduleTVs[$si][8]; - $assignments = $moduleTVs[$si][9]; - $category = mysql_real_escape_string($moduleTVs[$si][10]); - $locked = mysql_real_escape_string($moduleTVs[$si][11]); - - - // Create the category if it does not already exist - if( $category ){ - $rs = mysql_query("REPLACE INTO $dbase.`" . $table_prefix . "categories` (`id`,`category`) ( SELECT MIN(`id`), '$category' FROM ( SELECT `id` FROM $dbase.`" . $table_prefix . "categories` WHERE `category` = '$category' UNION SELECT (CASE COUNT(*) WHEN 0 THEN 1 ELSE MAX(`id`)+1 END ) `id` FROM $dbase.`" . $table_prefix . "categories` ) AS _tmp )", $sqlParser->conn); - } - $rs = mysql_query("SELECT * FROM $dbase.`" . $table_prefix . "site_tmplvars` WHERE name='$name'", $sqlParser->conn); - if (mysql_num_rows($rs)) { - $insert = true; - while($row = mysql_fetch_assoc($rs)) { - if (!@ mysql_query("UPDATE $dbase.`" . $table_prefix . "site_tmplvars` SET type='$input_type', caption='$caption', description='$desc', locked=$locked, elements='$input_options', display='$output_widget', display_params='$output_widget_params', default_text='$input_default' WHERE id={$row['id']};", $sqlParser->conn)) { + foreach ($moduleTVs as $k=>$moduleTV) { + $installSample = in_array('sample', $moduleTV[12]) && $installData == 1; + if(in_array($k, $selTVs) || $installSample) { + $name = mysql_real_escape_string($moduleTV[0]); + $caption = mysql_real_escape_string($moduleTV[1]); + $desc = mysql_real_escape_string($moduleTV[2]); + $input_type = mysql_real_escape_string($moduleTV[3]); + $input_options = mysql_real_escape_string($moduleTV[4]); + $input_default = mysql_real_escape_string($moduleTV[5]); + $output_widget = mysql_real_escape_string($moduleTV[6]); + $output_widget_params = mysql_real_escape_string($moduleTV[7]); + $filecontent = $moduleTV[8]; + $assignments = $moduleTV[9]; + $category = mysql_real_escape_string($moduleTV[10]); + $locked = mysql_real_escape_string($moduleTV[11]); + + + // Create the category if it does not already exist + $category = getCreateDbCategory($category, $sqlParser); + + $rs = mysql_query("SELECT * FROM $dbase.`" . $table_prefix . "site_tmplvars` WHERE name='$name'", $sqlParser->conn); + if (mysql_num_rows($rs)) { + $insert = true; + while($row = mysql_fetch_assoc($rs)) { + if (!@ mysql_query("UPDATE $dbase.`" . $table_prefix . "site_tmplvars` SET type='$input_type', caption='$caption', description='$desc', category=$category, locked=$locked, elements='$input_options', display='$output_widget', display_params='$output_widget_params', default_text='$input_default' WHERE id={$row['id']};", $sqlParser->conn)) { + echo "

    " . mysql_error() . "

    "; + return; + } + $insert = false; + } + echo "

      $name: " . $_lang['upgraded'] . "

    "; + } else { + //$q = "INSERT INTO $dbase.`" . $table_prefix . "site_tmplvars` (type,name,caption,description,category,locked,elements,display,display_params,default_text) VALUES('$input_type','$name','$caption','$desc',(SELECT (CASE COUNT(*) WHEN 0 THEN 0 ELSE `id` END) `id` FROM $dbase.`" . $table_prefix . "categories` WHERE `category` = '$category'),$locked,'$input_options','$output_widget','$output_widget_params','$input_default');"; + $q = "INSERT INTO $dbase.`" . $table_prefix . "site_tmplvars` (type,name,caption,description,category,locked,elements,display,display_params,default_text) VALUES('$input_type','$name','$caption','$desc',$category,$locked,'$input_options','$output_widget','$output_widget_params','$input_default');"; + if (!@ mysql_query($q, $sqlParser->conn)) { echo "

    " . mysql_error() . "

    "; return; } - $insert = false; - } - echo "

      $name: " . $_lang['upgraded'] . "

    "; - } else { - if (!@ mysql_query("INSERT INTO $dbase.`" . $table_prefix . "site_tmplvars` (type,name,caption,description,category,locked,elements,display,display_params,default_text) VALUES('$input_type','$name','$caption','$desc',(SELECT (CASE COUNT(*) WHEN 0 THEN 0 ELSE `id` END) `id` FROM $dbase.`" . $table_prefix . "categories` WHERE `category` = '$category'),$locked,'$input_options','$output_widget','$output_widget_params','$input_default');", $sqlParser->conn)) { - echo "

    " . mysql_error() . "

    "; - return; + echo "

      $name: " . $_lang['installed'] . "

    "; } - echo "

      $name: " . $_lang['installed'] . "

    "; - } - - // add template assignments - $assignments = explode(',', $assignments); - - if (count($assignments) > 0) { - - // remove existing tv -> template assignments - $ds=mysql_query("SELECT id FROM $dbase.`".$table_prefix."site_tmplvars` WHERE name='$name' AND description='$desc';",$sqlParser->conn); - $row = mysql_fetch_assoc($ds); - $id = $row["id"]; - mysql_query('DELETE FROM ' . $dbase . '.`' . $table_prefix . 'site_tmplvar_templates` WHERE tmplvarid = \'' . $id . '\''); - - // add tv -> template assignments - foreach ($assignments as $assignment) { - $template = mysql_real_escape_string($assignment); - $ts = mysql_query("SELECT id FROM $dbase.`".$table_prefix."site_templates` WHERE templatename='$template';",$sqlParser->conn); - if ($ds && $ts) { - $tRow = mysql_fetch_assoc($ts); - $templateId = $tRow['id']; - mysql_query("INSERT INTO $dbase.`" . $table_prefix . "site_tmplvar_templates` (tmplvarid, templateid) VALUES($id, $templateId)"); - } + + // add template assignments + $assignments = explode(',', $assignments); + + if (count($assignments) > 0) { + + // remove existing tv -> template assignments + $ds=mysql_query("SELECT id FROM $dbase.`".$table_prefix."site_tmplvars` WHERE name='$name' AND description='$desc';",$sqlParser->conn); + $row = mysql_fetch_assoc($ds); + $id = $row["id"]; + mysql_query('DELETE FROM ' . $dbase . '.`' . $table_prefix . 'site_tmplvar_templates` WHERE tmplvarid = \'' . $id . '\''); + + // add tv -> template assignments + foreach ($assignments as $assignment) { + $template = mysql_real_escape_string($assignment); + $ts = mysql_query("SELECT id FROM $dbase.`".$table_prefix."site_templates` WHERE templatename='$template';",$sqlParser->conn); + if ($ds && $ts) { + $tRow = mysql_fetch_assoc($ts); + $templateId = $tRow['id']; + mysql_query("INSERT INTO $dbase.`" . $table_prefix . "site_tmplvar_templates` (tmplvarid, templateid) VALUES($id, $templateId)"); + } + } } } - } } // Install Chunks -if (isset ($_POST['chunk'])) { - echo "

    " . $_lang['chunks'] . ":

    "; - $selChunks = $_POST['chunk']; - foreach ($selChunks as $si) { - $si = (int) trim($si); - $name = mysql_real_escape_string($moduleChunks[$si][0]); - $desc = mysql_real_escape_string($moduleChunks[$si][1]); - $category = mysql_real_escape_string($moduleChunks[$si][3]); - $overwrite = mysql_real_escape_string($moduleChunks[$si][4]); - - $filecontent = $moduleChunks[$si][2]; - if (!file_exists($filecontent)) - echo "

      $name: " . $_lang['unable_install_chunk'] . " '$filecontent' " . $_lang['not_found'] . ".

    "; - else { - - // Create the category if it does not already exist - if( $category ){ - $rs = mysql_query("REPLACE INTO $dbase.`" . $table_prefix . "categories` (`id`,`category`) ( SELECT MIN(`id`), '$category' FROM ( SELECT `id` FROM $dbase.`" . $table_prefix . "categories` WHERE `category` = '$category' UNION SELECT (CASE COUNT(*) WHEN 0 THEN 1 ELSE MAX(`id`)+1 END ) `id` FROM $dbase.`" . $table_prefix . "categories` ) AS _tmp )", $sqlParser->conn); - } - - $chunk = preg_replace("/^.*?\/\*\*.*?\*\/\s+/s", '', file_get_contents($filecontent), 1); - $chunk = mysql_real_escape_string($chunk); - $rs = mysql_query("SELECT * FROM $dbase.`" . $table_prefix . "site_htmlsnippets` WHERE name='$name'", $sqlParser->conn); - $count_original_name = mysql_num_rows($rs); - if($overwrite == 'false') { - $newname = $name . '-' . str_replace('.', '_', $modx_version); - $rs = mysql_query("SELECT * FROM $dbase.`" . $table_prefix . "site_htmlsnippets` WHERE name='$newname'", $sqlParser->conn); - $count_new_name = mysql_num_rows($rs); - } - $update = $count_original_name > 0 && $overwrite == 'true'; - if ($update) { - if (!@ mysql_query("UPDATE $dbase.`" . $table_prefix . "site_htmlsnippets` SET snippet='$chunk', description='$desc' WHERE name='$name';", $sqlParser->conn)) { - $errors += 1; - echo "

    " . mysql_error() . "

    "; - return; +if (isset ($_POST['chunk']) || $installData) { + echo "

    " . $_lang['chunks'] . ":

    "; + $selChunks = $_POST['chunk']; + foreach ($moduleChunks as $k=>$moduleChunk) { + $installSample = in_array('sample', $moduleChunk[5]) && $installData == 1; + if(in_array($k, $selChunks) || $installSample) { + + $name = mysql_real_escape_string($moduleChunk[0]); + $desc = mysql_real_escape_string($moduleChunk[1]); + $category = mysql_real_escape_string($moduleChunk[3]); + $overwrite = mysql_real_escape_string($moduleChunk[4]); + $filecontent = $moduleChunk[2]; + + if (!file_exists($filecontent)) + echo "

      $name: " . $_lang['unable_install_chunk'] . " '$filecontent' " . $_lang['not_found'] . ".

    "; + else { + + // Create the category if it does not already exist + $category_id = getCreateDbCategory($category, $sqlParser); + + $chunk = preg_replace("/^.*?\/\*\*.*?\*\/\s+/s", '', file_get_contents($filecontent), 1); + $chunk = mysql_real_escape_string($chunk); + $rs = mysql_query("SELECT * FROM $dbase.`" . $table_prefix . "site_htmlsnippets` WHERE name='$name'", $sqlParser->conn); + $count_original_name = mysql_num_rows($rs); + if($overwrite == 'false') { + $newname = $name . '-' . str_replace('.', '_', $modx_version); + $rs = mysql_query("SELECT * FROM $dbase.`" . $table_prefix . "site_htmlsnippets` WHERE name='$newname'", $sqlParser->conn); + $count_new_name = mysql_num_rows($rs); } - echo "

      $name: " . $_lang['upgraded'] . "

    "; - } elseif($count_new_name == 0) { - if($count_original_name > 0 && $overwrite == 'false') { - $name = $newname; + $update = $count_original_name > 0 && $overwrite == 'true'; + if ($update) { + if (!@ mysql_query("UPDATE $dbase.`" . $table_prefix . "site_htmlsnippets` SET snippet='$chunk', description='$desc', category=$category_id WHERE name='$name';", $sqlParser->conn)) { + $errors += 1; + echo "

    " . mysql_error() . "

    "; + return; + } + echo "

      $name: " . $_lang['upgraded'] . "

    "; + } elseif($count_new_name == 0) { + if($count_original_name > 0 && $overwrite == 'false') { + $name = $newname; + } + if (!@ mysql_query("INSERT INTO $dbase.`" . $table_prefix . "site_htmlsnippets` (name,description,snippet,category) VALUES('$name','$desc','$chunk',$category_id);", $sqlParser->conn)) { + $errors += 1; + echo "

    " . mysql_error() . "

    "; + return; + } + echo "

      $name: " . $_lang['installed'] . "

    "; } - if (!@ mysql_query("INSERT INTO $dbase.`" . $table_prefix . "site_htmlsnippets` (name,description,snippet,category) VALUES('$name','$desc','$chunk',(SELECT (CASE COUNT(*) WHEN 0 THEN 0 ELSE `id` END) `id` FROM $dbase.`" . $table_prefix . "categories` WHERE `category` = '$category'));", $sqlParser->conn)) { - $errors += 1; - echo "

    " . mysql_error() . "

    "; - return; - } - echo "

      $name: " . $_lang['installed'] . "

    "; - } - } - } + } + } + } } // Install Modules -if (isset ($_POST['module'])) { - echo "

    " . $_lang['modules'] . ":

    "; - $selPlugs = $_POST['module']; - foreach ($selPlugs as $si) { - $si = (int) trim($si); - $name = mysql_real_escape_string($moduleModules[$si][0]); - $desc = mysql_real_escape_string($moduleModules[$si][1]); - $filecontent = $moduleModules[$si][2]; - $properties = mysql_real_escape_string($moduleModules[$si][3]); - $guid = mysql_real_escape_string($moduleModules[$si][4]); - $shared = mysql_real_escape_string($moduleModules[$si][5]); - $category = mysql_real_escape_string($moduleModules[$si][6]); - if (!file_exists($filecontent)) - echo "

      $name: " . $_lang['unable_install_module'] . " '$filecontent' " . $_lang['not_found'] . ".

    "; - else { - - // Create the category if it does not already exist - if( $category ){ - $rs = mysql_query("REPLACE INTO $dbase.`" . $table_prefix . "categories` (`id`,`category`) ( SELECT MIN(`id`), '$category' FROM ( SELECT `id` FROM $dbase.`" . $table_prefix . "categories` WHERE `category` = '$category' UNION SELECT (CASE COUNT(*) WHEN 0 THEN 1 ELSE MAX(`id`)+1 END ) `id` FROM $dbase.`" . $table_prefix . "categories` ) AS _tmp )", $sqlParser->conn); - } - - $module = end(preg_split("/(\/\/)?\s*\<\?php/", file_get_contents($filecontent), 2)); - // remove installer docblock - $module = preg_replace("/^.*?\/\*\*.*?\*\/\s+/s", '', $module, 1); - $module = mysql_real_escape_string($module); - $rs = mysql_query("SELECT * FROM $dbase.`" . $table_prefix . "site_modules` WHERE name='$name'", $sqlParser->conn); - if (mysql_num_rows($rs)) { - $row = mysql_fetch_assoc($rs); - $props = propUpdate($properties,$row['properties']); - if (!@ mysql_query("UPDATE $dbase.`" . $table_prefix . "site_modules` SET modulecode='$module', description='$desc', properties='$props', enable_sharedparams='$shared' WHERE name='$name';", $sqlParser->conn)) { - echo "

    " . mysql_error() . "

    "; - return; - } - echo "

      $name: " . $_lang['upgraded'] . "

    "; - } else { - if (!@ mysql_query("INSERT INTO $dbase.`" . $table_prefix . "site_modules` (name,description,modulecode,properties,guid,enable_sharedparams,category) VALUES('$name','$desc','$module','$properties','$guid','$shared',(SELECT (CASE COUNT(*) WHEN 0 THEN 0 ELSE `id` END) `id` FROM $dbase.`" . $table_prefix . "categories` WHERE `category` = '$category'));", $sqlParser->conn)) { - echo "

    " . mysql_error() . "

    "; - return; - } - echo "

      $name: " . $_lang['installed'] . "

    "; - } - } - } +if (isset ($_POST['module']) || $installData) { + echo "

    " . $_lang['modules'] . ":

    "; + $selModules = $_POST['module']; + foreach ($moduleModules as $k=>$moduleModule) { + $installSample = in_array('sample', $moduleModule[7]) && $installData == 1; + if(in_array($k, $selModules) || $installSample) { + $name = mysql_real_escape_string($moduleModule[0]); + $desc = mysql_real_escape_string($moduleModule[1]); + $filecontent = $moduleModule[2]; + $properties = mysql_real_escape_string($moduleModule[3]); + $guid = mysql_real_escape_string($moduleModule[4]); + $shared = mysql_real_escape_string($moduleModule[5]); + $category = mysql_real_escape_string($moduleModule[6]); + if (!file_exists($filecontent)) + echo "

      $name: " . $_lang['unable_install_module'] . " '$filecontent' " . $_lang['not_found'] . ".

    "; + else { + + // Create the category if it does not already exist + $category = getCreateDbCategory($category, $sqlParser); + + $module = end(preg_split("/(\/\/)?\s*\<\?php/", file_get_contents($filecontent), 2)); + // remove installer docblock + $module = preg_replace("/^.*?\/\*\*.*?\*\/\s+/s", '', $module, 1); + $module = mysql_real_escape_string($module); + $rs = mysql_query("SELECT * FROM $dbase.`" . $table_prefix . "site_modules` WHERE name='$name'", $sqlParser->conn); + if (mysql_num_rows($rs)) { + $row = mysql_fetch_assoc($rs); + $props = propUpdate($properties,$row['properties']); + if (!@ mysql_query("UPDATE $dbase.`" . $table_prefix . "site_modules` SET modulecode='$module', description='$desc', properties='$props', enable_sharedparams='$shared' WHERE name='$name';", $sqlParser->conn)) { + echo "

    " . mysql_error() . "

    "; + return; + } + echo "

      $name: " . $_lang['upgraded'] . "

    "; + } else { + if (!@ mysql_query("INSERT INTO $dbase.`" . $table_prefix . "site_modules` (name,description,modulecode,properties,guid,enable_sharedparams,category) VALUES('$name','$desc','$module','$properties','$guid','$shared', $category);", $sqlParser->conn)) { + echo "

    " . mysql_error() . "

    "; + return; + } + echo "

      $name: " . $_lang['installed'] . "

    "; + } + } + } + } } // Install Plugins -if (isset ($_POST['plugin'])) { - echo "

    " . $_lang['plugins'] . ":

    "; - $selPlugs = $_POST['plugin']; - foreach ($selPlugs as $si) { - $si = (int) trim($si); - $name = mysql_real_escape_string($modulePlugins[$si][0]); - $desc = mysql_real_escape_string($modulePlugins[$si][1]); - $filecontent = $modulePlugins[$si][2]; - $properties = mysql_real_escape_string($modulePlugins[$si][3]); - $events = explode(",", $modulePlugins[$si][4]); - $guid = mysql_real_escape_string($modulePlugins[$si][5]); - $category = mysql_real_escape_string($modulePlugins[$si][6]); - $leg_names = ''; - if(array_key_exists(7, $modulePlugins[$si])) { - // parse comma-separated legacy names and prepare them for sql IN clause - $leg_names = "'" . implode("','", preg_split('/\s*,\s*/', mysql_real_escape_string($modulePlugins[$si][7]))) . "'"; - } - if (!file_exists($filecontent)) - echo "

      $name: " . $_lang['unable_install_plugin'] . " '$filecontent' " . $_lang['not_found'] . ".

    "; - else { - - // disable legacy versions based on legacy_names provided - if(!empty($leg_names)) { - $update_query = "UPDATE $dbase.`" . $table_prefix . "site_plugins` SET disabled='1' WHERE name IN ($leg_names);"; - $rs = mysql_query($update_query, $sqlParser->conn); - } - - // Create the category if it does not already exist - if( $category ){ - $rs = mysql_query("REPLACE INTO $dbase.`" . $table_prefix . "categories` (`id`,`category`) ( SELECT MIN(`id`), '$category' FROM ( SELECT `id` FROM $dbase.`" . $table_prefix . "categories` WHERE `category` = '$category' UNION SELECT (CASE COUNT(*) WHEN 0 THEN 1 ELSE MAX(`id`)+1 END ) `id` FROM $dbase.`" . $table_prefix . "categories` ) AS _tmp )", $sqlParser->conn); - } - - $plugin = end(preg_split("/(\/\/)?\s*\<\?php/", file_get_contents($filecontent), 2)); - // remove installer docblock - $plugin = preg_replace("/^.*?\/\*\*.*?\*\/\s+/s", '', $plugin, 1); - $plugin = mysql_real_escape_string($plugin); - $rs = mysql_query("SELECT * FROM $dbase.`" . $table_prefix . "site_plugins` WHERE name='$name'", $sqlParser->conn); - if (mysql_num_rows($rs)) { - $insert = true; - while($row = mysql_fetch_assoc($rs)) { - $props = propUpdate($properties,$row['properties']); - if($row['description'] == $desc){ - if (!@ mysql_query("UPDATE $dbase.`" . $table_prefix . "site_plugins` SET plugincode='$plugin', description='$desc', properties='$props' WHERE id={$row['id']};", $sqlParser->conn)) { - echo "

    " . mysql_error() . "

    "; - return; +if (isset ($_POST['plugin']) || $installData) { + echo "

    " . $_lang['plugins'] . ":

    "; + $selPlugs = $_POST['plugin']; + foreach ($modulePlugins as $k=>$modulePlugin) { + $installSample = in_array('sample', $modulePlugin[8]) && $installData == 1; + if(in_array($k, $selPlugs) || $installSample) { + $name = mysql_real_escape_string($modulePlugin[0]); + $desc = mysql_real_escape_string($modulePlugin[1]); + $filecontent = $modulePlugin[2]; + $properties = mysql_real_escape_string($modulePlugin[3]); + $events = explode(",", $modulePlugin[4]); + $guid = mysql_real_escape_string($modulePlugin[5]); + $category = mysql_real_escape_string($modulePlugin[6]); + $leg_names = ''; + if(array_key_exists(7, $modulePlugin)) { + // parse comma-separated legacy names and prepare them for sql IN clause + $leg_names = "'" . implode("','", preg_split('/\s*,\s*/', mysql_real_escape_string($modulePlugin[7]))) . "'"; + } + if (!file_exists($filecontent)) + echo "

      $name: " . $_lang['unable_install_plugin'] . " '$filecontent' " . $_lang['not_found'] . ".

    "; + else { + + // disable legacy versions based on legacy_names provided + if(!empty($leg_names)) { + $update_query = "UPDATE $dbase.`" . $table_prefix . "site_plugins` SET disabled='1' WHERE name IN ($leg_names);"; + $rs = mysql_query($update_query, $sqlParser->conn); + } + + // Create the category if it does not already exist + $category = getCreateDbCategory($category, $sqlParser); + + $plugin = end(preg_split("/(\/\/)?\s*\<\?php/", file_get_contents($filecontent), 2)); + // remove installer docblock + $plugin = preg_replace("/^.*?\/\*\*.*?\*\/\s+/s", '', $plugin, 1); + $plugin = mysql_real_escape_string($plugin); + $rs = mysql_query("SELECT * FROM $dbase.`" . $table_prefix . "site_plugins` WHERE name='$name'", $sqlParser->conn); + if (mysql_num_rows($rs)) { + $insert = true; + while($row = mysql_fetch_assoc($rs)) { + $props = propUpdate($properties,$row['properties']); + if($row['description'] == $desc){ + if (!@ mysql_query("UPDATE $dbase.`" . $table_prefix . "site_plugins` SET plugincode='$plugin', description='$desc', properties='$props' WHERE id={$row['id']};", $sqlParser->conn)) { + echo "

    " . mysql_error() . "

    "; + return; + } + $insert = false; + } else { + if (!@ mysql_query("UPDATE $dbase.`" . $table_prefix . "site_plugins` SET disabled='1' WHERE id={$row['id']};", $sqlParser->conn)) { + echo "

    ".mysql_error()."

    "; + return; + } } - $insert = false; - } else { - if (!@ mysql_query("UPDATE $dbase.`" . $table_prefix . "site_plugins` SET disabled='1' WHERE id={$row['id']};", $sqlParser->conn)) { + } + if($insert === true) { + if(!@mysql_query("INSERT INTO $dbase.`".$table_prefix."site_plugins` (name,description,plugincode,properties,moduleguid,disabled,category) VALUES('$name','$desc','$plugin','$properties','$guid','0',$category);",$sqlParser->conn)) { echo "

    ".mysql_error()."

    "; return; } } - } - if($insert === true) { - if(!@mysql_query("INSERT INTO $dbase.`".$table_prefix."site_plugins` (name,description,plugincode,properties,moduleguid,disabled,category) VALUES('$name','$desc','$plugin','$properties','$guid','0',(SELECT (CASE COUNT(*) WHEN 0 THEN 0 ELSE `id` END) `id` FROM $dbase.`" . $table_prefix . "categories` WHERE `category` = '$category'));",$sqlParser->conn)) { - echo "

    ".mysql_error()."

    "; + echo "

      $name: " . $_lang['upgraded'] . "

    "; + } else { + if (!@ mysql_query("INSERT INTO $dbase.`" . $table_prefix . "site_plugins` (name,description,plugincode,properties,moduleguid,category) VALUES('$name','$desc','$plugin','$properties','$guid',$category);", $sqlParser->conn)) { + echo "

    " . mysql_error() . "

    "; return; } + echo "

      $name: " . $_lang['installed'] . "

    "; } - echo "

      $name: " . $_lang['upgraded'] . "

    "; - } else { - if (!@ mysql_query("INSERT INTO $dbase.`" . $table_prefix . "site_plugins` (name,description,plugincode,properties,moduleguid,category) VALUES('$name','$desc','$plugin','$properties','$guid',(SELECT (CASE COUNT(*) WHEN 0 THEN 0 ELSE `id` END) `id` FROM $dbase.`" . $table_prefix . "categories` WHERE `category` = '$category'));", $sqlParser->conn)) { - echo "

    " . mysql_error() . "

    "; - return; + // add system events + if (count($events) > 0) { + $ds=mysql_query("SELECT id FROM $dbase.`".$table_prefix."site_plugins` WHERE name='$name' AND description='$desc';",$sqlParser->conn); + if ($ds) { + $row = mysql_fetch_assoc($ds); + $id = $row["id"]; + // remove existing events + mysql_query('DELETE FROM ' . $dbase . '.`' . $table_prefix . 'site_plugin_events` WHERE pluginid = \'' . $id . '\''); + // add new events + mysql_query("INSERT INTO $dbase.`" . $table_prefix . "site_plugin_events` (pluginid, evtid) SELECT '$id' as 'pluginid',se.id as 'evtid' FROM $dbase.`" . $table_prefix . "system_eventnames` se WHERE name IN ('" . implode("','", $events) . "')"); + } } - echo "

      $name: " . $_lang['installed'] . "

    "; } - // add system events - if (count($events) > 0) { - $ds=mysql_query("SELECT id FROM $dbase.`".$table_prefix."site_plugins` WHERE name='$name' AND description='$desc';",$sqlParser->conn); - if ($ds) { - $row = mysql_fetch_assoc($ds); - $id = $row["id"]; - // remove existing events - mysql_query('DELETE FROM ' . $dbase . '.`' . $table_prefix . 'site_plugin_events` WHERE pluginid = \'' . $id . '\''); - // add new events - mysql_query("INSERT INTO $dbase.`" . $table_prefix . "site_plugin_events` (pluginid, evtid) SELECT '$id' as 'pluginid',se.id as 'evtid' FROM $dbase.`" . $table_prefix . "system_eventnames` se WHERE name IN ('" . implode("','", $events) . "')"); - } - } - } - } + } + } } // Install Snippets -if (isset ($_POST['snippet'])) { - echo "

    " . $_lang['snippets'] . ":

    "; - $selSnips = $_POST['snippet']; - foreach ($selSnips as $si) { - $si = (int) trim($si); - $name = mysql_real_escape_string($moduleSnippets[$si][0]); - $desc = mysql_real_escape_string($moduleSnippets[$si][1]); - $filecontent = $moduleSnippets[$si][2]; - $properties = mysql_real_escape_string($moduleSnippets[$si][3]); - $category = mysql_real_escape_string($moduleSnippets[$si][4]); - if (!file_exists($filecontent)) - echo "

      $name: " . $_lang['unable_install_snippet'] . " '$filecontent' " . $_lang['not_found'] . ".

    "; - else { - - // Create the category if it does not already exist - if( $category ){ - $rs = mysql_query("REPLACE INTO $dbase.`" . $table_prefix . "categories` (`id`,`category`) ( SELECT MIN(`id`), '$category' FROM ( SELECT `id` FROM $dbase.`" . $table_prefix . "categories` WHERE `category` = '$category' UNION SELECT (CASE COUNT(*) WHEN 0 THEN 1 ELSE MAX(`id`)+1 END ) `id` FROM $dbase.`" . $table_prefix . "categories` ) AS _tmp )", $sqlParser->conn); - } - - $snippet = end(preg_split("/(\/\/)?\s*\<\?php/", file_get_contents($filecontent))); - // remove installer docblock - $snippet = preg_replace("/^.*?\/\*\*.*?\*\/\s+/s", '', $snippet, 1); - $snippet = mysql_real_escape_string($snippet); - $rs = mysql_query("SELECT * FROM $dbase.`" . $table_prefix . "site_snippets` WHERE name='$name'", $sqlParser->conn); - if (mysql_num_rows($rs)) { - $row = mysql_fetch_assoc($rs); - $props = propUpdate($properties,$row['properties']); - if (!@ mysql_query("UPDATE $dbase.`" . $table_prefix . "site_snippets` SET snippet='$snippet', description='$desc', properties='$props' WHERE name='$name';", $sqlParser->conn)) { - echo "

    " . mysql_error() . "

    "; - return; - } - echo "

      $name: " . $_lang['upgraded'] . "

    "; - } else { - if (!@ mysql_query("INSERT INTO $dbase.`" . $table_prefix . "site_snippets` (name,description,snippet,properties,category) VALUES('$name','$desc','$snippet','$properties',(SELECT (CASE COUNT(*) WHEN 0 THEN 0 ELSE `id` END) `id` FROM $dbase.`" . $table_prefix . "categories` WHERE `category` = '$category'));", $sqlParser->conn)) { - echo "

    " . mysql_error() . "

    "; - return; - } - echo "

      $name: " . $_lang['installed'] . "

    "; - } - } - } +if (isset ($_POST['snippet']) || $installData) { + echo "

    " . $_lang['snippets'] . ":

    "; + $selSnips = $_POST['snippet']; + foreach ($moduleSnippets as $k=>$moduleSnippet) { + $installSample = in_array('sample', $moduleSnippet[5]) && $installData == 1; + if(in_array($k, $selSnips) || $installSample) { + $name = mysql_real_escape_string($moduleSnippet[0]); + $desc = mysql_real_escape_string($moduleSnippet[1]); + $filecontent = $moduleSnippet[2]; + $properties = mysql_real_escape_string($moduleSnippet[3]); + $category = mysql_real_escape_string($moduleSnippet[4]); + if (!file_exists($filecontent)) + echo "

      $name: " . $_lang['unable_install_snippet'] . " '$filecontent' " . $_lang['not_found'] . ".

    "; + else { + + // Create the category if it does not already exist + $category = getCreateDbCategory($category, $sqlParser); + + $snippet = end(preg_split("/(\/\/)?\s*\<\?php/", file_get_contents($filecontent))); + // remove installer docblock + $snippet = preg_replace("/^.*?\/\*\*.*?\*\/\s+/s", '', $snippet, 1); + $snippet = mysql_real_escape_string($snippet); + $rs = mysql_query("SELECT * FROM $dbase.`" . $table_prefix . "site_snippets` WHERE name='$name'", $sqlParser->conn); + if (mysql_num_rows($rs)) { + $row = mysql_fetch_assoc($rs); + $props = propUpdate($properties,$row['properties']); + if (!@ mysql_query("UPDATE $dbase.`" . $table_prefix . "site_snippets` SET snippet='$snippet', description='$desc', properties='$props' WHERE name='$name';", $sqlParser->conn)) { + echo "

    " . mysql_error() . "

    "; + return; + } + echo "

      $name: " . $_lang['upgraded'] . "

    "; + } else { + if (!@ mysql_query("INSERT INTO $dbase.`" . $table_prefix . "site_snippets` (name,description,snippet,properties,category) VALUES('$name','$desc','$snippet','$properties',$category);", $sqlParser->conn)) { + echo "

    " . mysql_error() . "

    "; + return; + } + echo "

      $name: " . $_lang['installed'] . "

    "; + } + } + } + } +} + +// install data +if ($installData && $moduleSQLDataFile) { + echo "

    " . $_lang['installing_demo_site']; + $sqlParser->process($moduleSQLDataFile); + // display database results + if ($sqlParser->installFailed == true) { + $errors += 1; + echo "" . $_lang['database_alerts'] . "

    "; + echo "

    " . $_lang['setup_couldnt_install'] . "

    "; + echo "

    " . $_lang['installation_error_occured'] . "

    "; + for ($i = 0; $i < count($sqlParser->mysqlErrors); $i++) { + echo "" . $sqlParser->mysqlErrors[$i]["error"] . "" . $_lang['during_execution_of_sql'] . "" . strip_tags($sqlParser->mysqlErrors[$i]["sql"]) . ".


    "; + } + echo "

    "; + echo "

    " . $_lang['some_tables_not_updated'] . "

    "; + return; + } else { + echo "".$_lang['ok']."

    "; + } } // call back function if ($callBackFnc != "") - $callBackFnc ($sqlParser); + $callBackFnc ($sqlParser); // Setup the MODx API -- needed for the cache processor define('MODX_API_MODE', true); @@ -680,18 +720,18 @@ function startCMSSession(){ $sqlParser->close(); // andrazk 20070416 - release manager access - if (file_exists('../assets/cache/installProc.inc.php')) { - @chmod('../assets/cache/installProc.inc.php', 0755); +if (file_exists('../assets/cache/installProc.inc.php')) { + @chmod('../assets/cache/installProc.inc.php', 0755); unlink('../assets/cache/installProc.inc.php'); - } +} // setup completed! echo "

    " . $_lang['installation_successful'] . "

    "; echo "

    " . $_lang['to_log_into_content_manager'] . "

    "; if ($installMode == 0) { - echo "

    " . $_lang['installation_note'] . "

    "; + echo "

    " . $_lang['installation_note'] . "

    "; } else { - echo "

    " . $_lang['upgrade_note'] . "

    "; + echo "

    " . $_lang['upgrade_note'] . "

    "; } // Property Update function @@ -703,8 +743,8 @@ function propUpdate($new,$old){ foreach ($newArr as $k => $v) { if(!empty($v)){ - $tempArr = explode("=",trim($v)); - $returnArr[$tempArr[0]] = $tempArr[1]; + $tempArr = explode("=",trim($v)); + $returnArr[$tempArr[0]] = $tempArr[1]; } } foreach ($oldArr as $k => $v) { @@ -724,4 +764,23 @@ function propUpdate($new,$old){ return $return; } -?> \ No newline at end of file + +function getCreateDbCategory($category, $sqlParser) { + $dbase = $sqlParser->dbname; + $table_prefix = $sqlParser->prefix; + $category_id = 0; + if(!empty($category)) { + $category = mysql_real_escape_string($category); + $rs = mysql_query("SELECT id FROM $dbase.`".$table_prefix."categories` WHERE category = '".$category."'"); + if(mysql_num_rows($rs) && ($row = mysql_fetch_assoc($rs))) { + $category_id = $row['id']; + } else { + $q = "INSERT INTO $dbase.`".$table_prefix."categories` (`category`) VALUES ('{$category}');"; + $rs = mysql_query($q, $sqlParser->conn); + if($rs) { + $category_id = mysql_insert_id($sqlParser->conn); + } + } + } + return $category_id; +} diff --git a/install/setup.data.sql b/install/setup.data.sql old mode 100644 new mode 100755 index 4d97f7be66..b2fad16257 --- a/install/setup.data.sql +++ b/install/setup.data.sql @@ -36,7 +36,7 @@ REPLACE INTO `{PREFIX}site_content` VALUES (1, 'document', 'text/html', 'Home', REPLACE INTO `{PREFIX}site_content` VALUES (2, 'document', 'text/html', 'Blog', 'My Blog', '', 'blog', '', 1, 0, 0, 0, 1, '', '[[Ditto? &parents=`2` &display=`2` &removeChunk=`Comments` &tpl=`ditto_blog` &paginate=`1` &extenders=`summary,dateFilter` &paginateAlwaysShowLinks=`1` &tagData=`documentTags`]]\r\n\r\n

    Showing [+start+] - [+stop+] of [+total+] Articles

    \r\n\r\n
    [+previous+] [+pages+] [+next+]
    \r\n\r\n
     
    \r\n\r\n[[Reflect? &config=`wordpress` &dittoSnippetParameters=`parents:2` &id=`wp` &getDocuments=`1`]]', 1, 4, 2, 0, 0, 1, 1144904400, 1, 1159818696, 0, 0, 0, 0, 0, 'Blog', 0, 0, 0, 0, 0, 0, 0); -REPLACE INTO `{PREFIX}site_content` VALUES (4, 'document', 'text/html', '[*loginName*]', 'Login to Enable to Comments', '', 'login', '', 1, 0, 0, 0, 0, '', '

    In order to comment on blog entries, you must be a registered user of [(site_name)]. If you haven''t already registered, you can request an account.

    \r\n
    [!WebLogin? &tpl=`FormLogin` &loginhomeid=`2`!]
    ', 1, 4, 11, 0, 0, 1, 1144904400, 1, 1144904400, 0, 0, 0, 0, 0, '[*loginName*]', 0, 0, 0, 0, 0, 0, 1); +REPLACE INTO `{PREFIX}site_content` VALUES (4, 'document', 'text/html', '[*loginName*]', 'Login to Enable to Comments', '', 'login', '', 1, 0, 0, 0, 0, '', '

    In order to comment on blog entries, you must be a registered user of [(site_name)]. If you haven''t already registered, you can request an account.

    \r\n
    [!WebLogin? &tpl=`WebLoginSideBar` &loginhomeid=`2`!]
    ', 1, 4, 11, 0, 0, 1, 1144904400, 1, 1144904400, 0, 0, 0, 0, 0, '[*loginName*]', 0, 0, 0, 0, 0, 0, 1); REPLACE INTO `{PREFIX}site_content` VALUES (5, 'document', 'text/html', 'Request an Account', 'Sign Up for Full Site Privileges', '', 'request-an-account', '', 1, 0, 0, 0, 0, '', '[[WebSignup? &tpl=`FormSignup` &groups=`Registered Users`]]', 1, 4, 3, 0, 0, 1, 1144904400, 1, 1158320704, 0, 0, 0, 0, 0, '', 0, 0, 0, 0, 0, 0, 1); @@ -78,10 +78,10 @@ REPLACE INTO `{PREFIX}site_content` VALUES (24, 'document', 'text/html', 'Extend REPLACE INTO `{PREFIX}site_content` VALUES (32, 'document', 'text/html', 'Design', 'Site Design', '', 'design', '', 1, 0, 0, 0, 0, '', '

    Credits

    \r\n

    The default site''s themes are based off of validating XHTML/CSS designs by Andreas Viklund, ziworks | Web Solutions and MODxHost.

    ', 1, 4, 10, 1, 1, 2, 1144904400, 1, 1160112322, 0, 0, 0, 1144912754, 1, 'Design', 0, 0, 0, 0, 0, 0, 0); -REPLACE INTO `{PREFIX}site_content` VALUES (33, 'document', 'text/html', 'Getting Help', 'Getting Help with MODx', '', 'geting-help', '', 1, 0, 0, 0, 0, '', '

    The team behind MODx strives to constantly add to and refine the documentation to help you get up to speed with MODx:

    \r\n
      \r\n
    • For basic instructions on integrating custom templates into MODx, please see the Designer''s Guide.
    • \r\n
    • For an introduction to working in MODx from the content editors perspectve, see the Content Editor''s Guide.
    • \r\n
    • For a detailed overview of the backend "manager" and setting up Users and Groups, please peruse the Administration Guide.
    • \r\n
    • For developers, architecture and API documentation can be found in the Developer''s Guide.
    • \r\n
    • And if someone has installed this site for you, but you''re curious as to the steps they went through, please see the Getting Started Guide.
    • \r\n
    \r\n\r\n

    And don''t forget, you can always learn and ask questions at the MODx forums. \r\n', 1, 4, 8, 1, 1, 2, 1144904400, 2, 1144904400, 0, 0, 0, 0, 0, 'Getting Help', 0, 0, 0, 0, 0, 0, 0); +REPLACE INTO `{PREFIX}site_content` VALUES (33, 'document', 'text/html', 'Getting Help', 'Getting Help with MODx', '', 'geting-help', '', 1, 0, 0, 0, 0, '', '

    The team behind MODx strives to constantly add to and refine the documentation to help you get up to speed with MODx:

    \r\n
      \r\n
    • For basic instructions on integrating custom templates into MODx, please see the Designer''s Guide.
    • \r\n
    • For an introduction to working in MODx from the content editors perspectve, see the Content Editor''s Guide.
    • \r\n
    • For a detailed overview of the backend "manager" and setting up Users and Groups, please peruse the Administration Guide.
    • \r\n
    • For developers, architecture and API documentation can be found in the Developer''s Guide.
    • \r\n
    • And if someone has installed this site for you, but you''re curious as to the steps they went through, please see the Getting Started Guide.
    • \r\n
    \r\n\r\n

    And don''t forget, you can always learn and ask questions at the MODx forums. \r\n', 1, 4, 8, 1, 1, 2, 1144904400, 2, 1144904400, 0, 0, 0, 0, 0, 'Getting Help', 0, 0, 0, 0, 0, 0, 0); -REPLACE INTO `{PREFIX}site_content` VALUES (37, 'document', 'text/html', '[*loginName*]', 'The page you''re trying to reach requires a login', '', 'blog-login', '', 1, 0, 0, 0, 0, '', '

    In order to add a blog entry, you must be logged in as a Site Admin webuser. Also, commenting on posts requires a login. Contact the site owner for permissions to create new post, or create a web user account to automatically receive commenting privileges. If you already have an account, please login below.

    \r\n\r\n[!WebLogin? &tpl=`FormLogin` &loginhomeid=`3`!]', 1, 4, 12, 0, 0, 1, 1144904400, 1, 1158599931, 0, 0, 0, 0, 0, '', 0, 0, 0, 0, 0, 0, 1); +REPLACE INTO `{PREFIX}site_content` VALUES (37, 'document', 'text/html', '[*loginName*]', 'The page you''re trying to reach requires a login', '', 'blog-login', '', 1, 0, 0, 0, 0, '', '

    In order to add a blog entry, you must be logged in as a Site Admin webuser. Also, commenting on posts requires a login. Contact the site owner for permissions to create new post, or create a web user account to automatically receive commenting privileges. If you already have an account, please login below.

    \r\n\r\n[!WebLogin? &tpl=`WebLoginSideBar` &loginhomeid=`3`!]', 1, 4, 12, 0, 0, 1, 1144904400, 1, 1158599931, 0, 0, 0, 0, 0, '', 0, 0, 0, 0, 0, 0, 1); REPLACE INTO `{PREFIX}site_content` VALUES (46, 'document', 'text/html', 'Thank You', '', '', 'thank-you', '', 1, 0, 0, 0, 0, '', '

    Thank You!

    \r\n

    We do appreciate your feedback. Your comments have been submitted to our office and hopefully someone will bother to actually read it. You should also receive a copy of the message in your inbox.

    \r\n

    Please be assured that we will do our best not to ignore you, but if today is a Monday please try again in a few days.

    \r\n', 1, 4, 13, 1, 1, 1, 1159302141, 1, 1159302892, 0, 0, 0, 1159302182, 1, '', 0, 0, 0, 0, 0, 0, 1); @@ -92,21 +92,12 @@ REPLACE INTO `{PREFIX}site_content` VALUES (46, 'document', 'text/html', 'Thank # -REPLACE INTO `{PREFIX}site_htmlsnippets` VALUES (1, 'WebLoginSideBar', 'WebLogin Sidebar Template', 0, 2, 0, ' \r\n\r\n
    \r\n \r\n\r\n\r\n\r\n\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    User:
    Password:
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    Forgot Password?
    \r\n
    \r\n
    \r\n
    \r\n\r\n[+logouttext+]\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Enter the email address of your account
    below to receive your password:
    \r\n
    \r\n
    \r\n\r\n', 0); - - -REPLACE INTO `{PREFIX}site_htmlsnippets` VALUES (3, 'FormLogin', 'Custom login form for Weblogins', 0, 2, 0, ' \r\n\r\n
    \r\n \r\n
    \r\n

    Your Login Details

    \r\n \r\n \r\n \r\n \r\n Forget Your Password?\r\n
    \r\n
    \r\n
    \r\n\r\n

    You''re already logged in

    \r\nDo you wish to [+logouttext+]?\r\n
    \r\n\r\n
    \r\n
    \r\n

    It happens to everyone...

    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n', 0); - - REPLACE INTO `{PREFIX}site_htmlsnippets` VALUES (4, 'FormSignup', 'For the weblogin signup', 0, 2, 0, ' \r\n\r\n
    \r\n
    \r\n

    User Details

    \r\n

    Items marked by * are required

    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n

    Password

    \r\n \r\n \r\n
    \r\n \r\n
    \r\n

    Optional Account Profile Info

    \r\n \r\n \r\n
    \r\n \r\n
    \r\n

    Bot-Patrol

    \r\n

    Enter the word/number combination shown in the image below.

    \r\n

    \"If

    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n

    Signup completed successfully!
    \r\nYour account was created. A copy of your signup information was sent to your email address.

    \r\n', 0); REPLACE INTO `{PREFIX}site_htmlsnippets` VALUES (6, 'nl_sidebar', 'Default Template TPL for Ditto', 0, 1, 0, '[+title+]
    \r\n[+longtitle+]

    ', 0); -REPLACE INTO `{PREFIX}site_htmlsnippets` VALUES (7, 'styles', 'Stylesheet switcher list', 0, 1, 0, '
    The CSS Themes can only be used on the MODxCSS and MODxCSSW Layouts
    \r\n\r\n', 0); - - REPLACE INTO `{PREFIX}site_htmlsnippets` VALUES (8, 'ditto_blog', 'Blog Template', 0, 1, 0, '
    \r\n\

    [+title+]

    \r\n
    Tags: [+tagLinks+]
    \r\n [+summary+]\r\n \r\n
    ', 0); @@ -161,20 +152,6 @@ REPLACE INTO `{PREFIX}site_keywords` VALUES ('3','Front End Editing'); REPLACE INTO `{PREFIX}site_keywords` VALUES ('4','login'); -# -# Dumping data for table `site_tmplvars` -# - - -REPLACE INTO `{PREFIX}site_tmplvars` VALUES ('1','richtext','blogContent','blogContent','RTE for the new blog entries','0','1','0','','0','richtext','&w=383px&h=450px&edt=TinyMCE',''); - - -REPLACE INTO `{PREFIX}site_tmplvars` VALUES ('2','text','loginName','loginName','Conditional name for the Login menu item','0','1','0','','0','','','@EVAL if ($modx->getLoginUserID()) return \'Logout\'; else return \'Login\';'); - - -REPLACE INTO `{PREFIX}site_tmplvars` VALUES ('3','text','documentTags','Tags','Space delimited tags for the current document','0','1','0','','0','','',''); - - # # Dumping data for table `modx2352_site_tmplvar_contentvalues` # @@ -186,41 +163,6 @@ REPLACE INTO `{PREFIX}site_tmplvar_contentvalues` VALUES ('1','3','9','demo mini REPLACE INTO `{PREFIX}site_tmplvar_contentvalues` VALUES ('2','3','18','demo older posting'); -# -# Dumping data for table `site_tmplvar_templates` -# - - -REPLACE INTO `{PREFIX}site_tmplvar_templates` VALUES ('1','1','1'); - - -REPLACE INTO `{PREFIX}site_tmplvar_templates` VALUES ('1','3','2'); - - -REPLACE INTO `{PREFIX}site_tmplvar_templates` VALUES ('1','4','3'); - - -REPLACE INTO `{PREFIX}site_tmplvar_templates` VALUES ('2','1','1'); - - -REPLACE INTO `{PREFIX}site_tmplvar_templates` VALUES ('2','3','2'); - - -REPLACE INTO `{PREFIX}site_tmplvar_templates` VALUES ('2','4','3'); - - -REPLACE INTO `{PREFIX}site_tmplvar_templates` VALUES ('3','3','0'); - - -REPLACE INTO `{PREFIX}site_tmplvar_templates` VALUES ('3','4','0'); - - -REPLACE INTO `{PREFIX}site_tmplvar_templates` VALUES ('3','1','0'); - - -REPLACE INTO `{PREFIX}site_tmplvar_templates` VALUES ('3','5','0'); - - # # Dumping data for table `system_settings` # diff --git a/install/setup.info.php b/install/setup.info.php index 4ca8cb06ee..e922d97747 100755 --- a/install/setup.info.php +++ b/install/setup.info.php @@ -17,8 +17,7 @@ // setup Template template files - array : name, description, type - 0:file or 1:content, parameters, category $mt = &$moduleTemplates; - if(is_dir($templatePath) && is_readable($templatePath)) - { +if(is_dir($templatePath) && is_readable($templatePath)) { $d = dir($templatePath); while (false !== ($tplfile = $d->read())) { @@ -35,7 +34,8 @@ $params['type'], "$templatePath/{$params['filename']}", $params['modx_category'], - $params['lock_template'] + $params['lock_template'], + array_key_exists('installset', $params) ? preg_split("/\s*,\s*/", $params['installset']) : false ); } } @@ -44,18 +44,14 @@ // setup Template Variable template files $mtv = &$moduleTVs; - if(is_dir($tvPath) && is_readable($tvPath)) - { +if(is_dir($tvPath) && is_readable($tvPath)) { $d = dir($tvPath); - while (false !== ($tplfile = $d->read())) - { + while (false !== ($tplfile = $d->read())) { if(substr($tplfile, -4) != '.tpl') continue; $params = parse_docblock($tvPath, $tplfile); - if(is_array($params) && (count($params)>0)) - { + if(is_array($params) && (count($params)>0)) { $description = empty($params['version']) ? $params['description'] : "{$params['version']} {$params['description']}"; - $mtv[] = array - ( + $mtv[] = array( $params['name'], $params['caption'], $description, @@ -67,7 +63,8 @@ "$templatePath/{$params['filename']}", /* not currently used */ $params['template_assignments'], /* comma-separated list of template names */ $params['modx_category'], - $params['lock_tv'] /* value should be 1 or 0 */ + $params['lock_tv'], /* value should be 1 or 0 */ + array_key_exists('installset', $params) ? preg_split("/\s*,\s*/", $params['installset']) : false ); } } @@ -89,7 +86,8 @@ $params['description'], "$chunkPath/{$params['filename']}", $params['modx_category'], - array_key_exists('overwrite', $params) ? $params['overwrite'] : 'true' + array_key_exists('overwrite', $params) ? $params['overwrite'] : 'true', + array_key_exists('installset', $params) ? preg_split("/\s*,\s*/", $params['installset']) : false ); } } @@ -107,7 +105,14 @@ $params = parse_docblock($snippetPath, $tplfile); if(is_array($params) && count($params) > 0) { $description = empty($params['version']) ? $params['description'] : "{$params['version']} {$params['description']}"; - $ms[] = array($params['name'], $description, "$snippetPath/{$params['filename']}", $params['properties'], $params['modx_category'] ); + $ms[] = array( + $params['name'], + $description, + "$snippetPath/{$params['filename']}", + $params['properties'], + $params['modx_category'], + array_key_exists('installset', $params) ? preg_split("/\s*,\s*/", $params['installset']) : false + ); } } $d->close(); @@ -124,7 +129,17 @@ $params = parse_docblock($pluginPath, $tplfile); if(is_array($params) && count($params) > 0) { $description = empty($params['version']) ? $params['description'] : "{$params['version']} {$params['description']}"; - $mp[] = array($params['name'], $description, "$pluginPath/{$params['filename']}", $params['properties'], $params['events'], $params['guid'], $params['modx_category'], $params['legacy_names'] ); + $mp[] = array( + $params['name'], + $description, + "$pluginPath/{$params['filename']}", + $params['properties'], + $params['events'], + $params['guid'], + $params['modx_category'], + $params['legacy_names'], + array_key_exists('installset', $params) ? preg_split("/\s*,\s*/", $params['installset']) : false + ); } } $d->close(); @@ -141,7 +156,16 @@ $params = parse_docblock($modulePath, $tplfile); if(is_array($params) && count($params) > 0) { $description = empty($params['version']) ? $params['description'] : "{$params['version']} {$params['description']}"; - $mm[] = array($params['name'], $description, "$modulePath/{$params['filename']}", $params['properties'], $params['guid'], intval($params['shareparams']), $params['modx_category'] ); + $mm[] = array( + $params['name'], + $description, + "$modulePath/{$params['filename']}", + $params['properties'], + $params['guid'], + intval($params['shareparams']), + $params['modx_category'], + array_key_exists('installset', $params) ? preg_split("/\s*,\s*/", $params['installset']) : false + ); } } $d->close(); @@ -274,7 +298,8 @@ function parse_docblock($element_dir, $filename) { $param = trim($ma[1]); $val = trim($ma[2]); } - if($val !== '0' && (empty($param) || empty($val))) { + //if($val !== '0' && (empty($param) || empty($val))) { + if(empty($param)) { continue; } } diff --git a/install/setup.sql b/install/setup.sql index 43bc956060..af067aeb43 100755 --- a/install/setup.sql +++ b/install/setup.sql @@ -90,7 +90,8 @@ CREATE TABLE IF NOT EXISTS `{PREFIX}member_groups` ( `id` int(10) NOT NULL auto_increment, `user_group` int(10) NOT NULL default '0', `member` int(10) NOT NULL default '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + UNIQUE INDEX `ix_group_member` (`user_group`,`member`) ) TYPE=MyISAM COMMENT='Contains data used for access permissions.'; @@ -480,7 +481,8 @@ CREATE TABLE IF NOT EXISTS `{PREFIX}web_groups` ( `id` int(10) NOT NULL auto_increment, `webgroup` int(10) NOT NULL default '0', `webuser` int(10) NOT NULL default '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + UNIQUE INDEX `ix_group_user` (`webgroup`,`webuser`) ) Type=MyISAM COMMENT='Contains data used for web access permissions.'; @@ -770,7 +772,8 @@ ALTER TABLE `{PREFIX}web_user_settings` MODIFY COLUMN `setting_value` text; ALTER TABLE `{PREFIX}user_attributes` MODIFY COLUMN `state` varchar(25) NOT NULL default '', - MODIFY COLUMN `zip` varchar(25) NOT NULL default ''; + MODIFY COLUMN `zip` varchar(25) NOT NULL default '', + MODIFY COLUMN `comment` text; ALTER TABLE `{PREFIX}site_metatags` @@ -781,13 +784,22 @@ ALTER TABLE `{PREFIX}site_metatags` ALTER TABLE `{PREFIX}web_user_attributes` MODIFY COLUMN `state` varchar(25) NOT NULL default '', - MODIFY COLUMN `zip` varchar(25) NOT NULL default ''; + MODIFY COLUMN `zip` varchar(25) NOT NULL default '', + MODIFY COLUMN `comment` text; ALTER TABLE `{PREFIX}user_roles` ADD COLUMN `remove_locks` int(1) NOT NULL DEFAULT '0'; +ALTER TABLE `{PREFIX}member_groups` + ADD UNIQUE INDEX `ix_group_member` (`user_group`,`member`); + + +ALTER TABLE `{PREFIX}web_groups` + ADD UNIQUE INDEX `ix_group_user` (`webgroup`,`webuser`); + + # Set the private manager group flag UPDATE {PREFIX}documentgroup_names AS dgn LEFT JOIN {PREFIX}membergroup_access AS mga ON mga.documentgroup = dgn.id @@ -799,9 +811,15 @@ UPDATE {PREFIX}documentgroup_names AS dgn UPDATE `{PREFIX}site_plugins` SET `disabled` = '1' WHERE `name` IN ('Bottom Button Bar'); +UPDATE `{PREFIX}site_plugins` SET `disabled` = '1' WHERE `name` IN ('Inherit Parent Template'); + + UPDATE `{PREFIX}system_settings` SET `setting_value` = '' WHERE `setting_name` = 'settings_version'; +UPDATE `{PREFIX}system_settings` SET `setting_value` = '0' WHERE `setting_name` = 'validate_referer' AND `setting_value` = '00'; + + # start related to #MODX-1321 @@ -884,8 +902,8 @@ INSERT IGNORE INTO `{PREFIX}system_settings` ('site_status','1'), ('site_unavailable_message','The site is currently unavailable'), ('track_visitors','0'), -('resolve_hostnames','0'), ('top_howmany','10'), +('auto_template_logic','{AUTOTEMPLATELOGIC}'), ('default_template','3'), ('old_template',''), ('publish_default','0'), diff --git a/install/sqlParser.class.php b/install/sqlParser.class.php index 1fa293b0ff..fae80fdf6b 100755 --- a/install/sqlParser.class.php +++ b/install/sqlParser.class.php @@ -10,7 +10,7 @@ class SqlParser { var $dbVersion; var $connection_charset, $connection_method; - function SqlParser($host, $user, $password, $db, $prefix='modx_', $adminname, $adminemail, $adminpass, $connection_charset= 'utf8', $managerlanguage='english', $connection_method = 'SET CHARACTER SET') { + function SqlParser($host, $user, $password, $db, $prefix='modx_', $adminname, $adminemail, $adminpass, $connection_charset= 'utf8', $managerlanguage='english', $connection_method = 'SET CHARACTER SET', $auto_template_logic = 'parent') { $this->host = $host; $this->dbname = $db; $this->prefix = $prefix; @@ -23,6 +23,7 @@ function SqlParser($host, $user, $password, $db, $prefix='modx_', $adminname, $a $this->connection_method = $connection_method; $this->ignoreDuplicateErrors = false; $this->managerlanguage = $managerlanguage; + $this->autoTemplateLogic = $auto_template_logic; } function connect() { @@ -76,6 +77,7 @@ function process($filename) { $idata = str_replace('{IMAGEURL}', $this->imageUrl, $idata); $idata = str_replace('{FILEMANAGERPATH}', $this->fileManagerPath, $idata); $idata = str_replace('{MANAGERLANGUAGE}', $this->managerlanguage, $idata); + $idata = str_replace('{AUTOTEMPLATELOGIC}', $this->autoTemplateLogic, $idata); /*$idata = str_replace('{VERSION}', $modx_version, $idata);*/ $sql_array = explode("\n\n", $idata); From cc82230ec96cdf16ae46421378475978e4ec29d3 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 12:18:42 +0900 Subject: [PATCH 47/92] =?UTF-8?q?900=20=E6=9C=AC=E5=AE=B6=E7=89=88?= =?UTF-8?q?=E6=9B=B4=E6=96=B0(manager/actions=E3=83=87=E3=82=A3=E3=83=AC?= =?UTF-8?q?=E3=82=AF=E3=83=88=E3=83=AA)(yama)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- manager/actions/files.dynamic.php | 8 +- manager/actions/mutate_content.dynamic.php | 1867 +++++++++-------- .../actions/mutate_htmlsnippet.dynamic.php | 8 +- manager/actions/mutate_module.dynamic.php | 7 +- manager/actions/mutate_plugin.dynamic.php | 4 +- manager/actions/mutate_settings.dynamic.php | 53 +- manager/actions/mutate_snippet.dynamic.php | 4 +- .../mutate_template_tv_rank.dynamic.php | 2 +- manager/actions/mutate_templates.dynamic.php | 6 +- manager/actions/mutate_user.dynamic.php | 6 +- manager/actions/resources.static.php | 2 +- manager/actions/welcome.static.php | 24 + 12 files changed, 1032 insertions(+), 959 deletions(-) mode change 100644 => 100755 manager/actions/files.dynamic.php mode change 100644 => 100755 manager/actions/mutate_settings.dynamic.php mode change 100644 => 100755 manager/actions/mutate_template_tv_rank.dynamic.php mode change 100644 => 100755 manager/actions/mutate_user.dynamic.php mode change 100644 => 100755 manager/actions/resources.static.php mode change 100644 => 100755 manager/actions/welcome.static.php diff --git a/manager/actions/files.dynamic.php b/manager/actions/files.dynamic.php old mode 100644 new mode 100755 index 9f20e7c27b..ceb784a97a --- a/manager/actions/files.dynamic.php +++ b/manager/actions/files.dynamic.php @@ -183,7 +183,13 @@ function getFolderName(a){ if(!empty($_FILES['userfile']['tmp_name'][$i])) { $userfiles[$i]['tmp_name'] = $_FILES['userfile']['tmp_name'][$i]; $userfiles[$i]['error'] = $_FILES['userfile']['error'][$i]; - $userfiles[$i]['name'] = $_FILES['userfile']['name'][$i]; + $name = $_FILES['userfile']['name'][$i]; + if($modx->config['clean_uploaded_filename']) { + $nameparts = explode('.', $name); + $nameparts = array_map(array($modx, 'stripAlias'), $nameparts); + $name = implode('.', $nameparts); + } + $userfiles[$i]['name'] = $name; $userfiles[$i]['type'] = $_FILES['userfile']['type'][$i]; } } diff --git a/manager/actions/mutate_content.dynamic.php b/manager/actions/mutate_content.dynamic.php index 5c15ff2d58..325763e32d 100755 --- a/manager/actions/mutate_content.dynamic.php +++ b/manager/actions/mutate_content.dynamic.php @@ -3,34 +3,34 @@ // check permissions switch ($_REQUEST['a']) { - case 27: - if (!$modx->hasPermission('edit_document')) { - $e->setError(3); - $e->dumpError(); - } - break; - case 85: - case 72: - case 4: - if (!$modx->hasPermission('new_document')) { - $e->setError(3); - $e->dumpError(); - } elseif(isset($_REQUEST['pid']) && $_REQUEST['pid'] != '0') { - // check user has permissions for parent - include_once(MODX_MANAGER_PATH.'processors/user_documents_permissions.class.php'); - $udperms = new udperms(); - $udperms->user = $modx->getLoginUserID(); - $udperms->document = empty($_REQUEST['pid']) ? 0 : $_REQUEST['pid']; - $udperms->role = $_SESSION['mgrRole']; - if (!$udperms->checkPermissions()) { - $e->setError(3); - $e->dumpError(); - } - } - break; - default: - $e->setError(3); - $e->dumpError(); + case 27: + if (!$modx->hasPermission('edit_document')) { + $e->setError(3); + $e->dumpError(); + } + break; + case 85: + case 72: + case 4: + if (!$modx->hasPermission('new_document')) { + $e->setError(3); + $e->dumpError(); + } elseif(isset($_REQUEST['pid']) && $_REQUEST['pid'] != '0') { + // check user has permissions for parent + include_once(MODX_MANAGER_PATH.'processors/user_documents_permissions.class.php'); + $udperms = new udperms(); + $udperms->user = $modx->getLoginUserID(); + $udperms->document = empty($_REQUEST['pid']) ? 0 : $_REQUEST['pid']; + $udperms->role = $_SESSION['mgrRole']; + if (!$udperms->checkPermissions()) { + $e->setError(3); + $e->dumpError(); + } + } + break; + default: + $e->setError(3); + $e->dumpError(); } @@ -61,24 +61,24 @@ $tbl_site_tmplvars = $modx->getFullTableName('site_tmplvars'); if ($action == 27) { - //editing an existing document - // check permissions on the document - include_once(MODX_MANAGER_PATH.'processors/user_documents_permissions.class.php'); - $udperms = new udperms(); - $udperms->user = $modx->getLoginUserID(); - $udperms->document = $id; - $udperms->role = $_SESSION['mgrRole']; - - if (!$udperms->checkPermissions()) { + //editing an existing document + // check permissions on the document + include_once(MODX_MANAGER_PATH.'processors/user_documents_permissions.class.php'); + $udperms = new udperms(); + $udperms->user = $modx->getLoginUserID(); + $udperms->document = $id; + $udperms->role = $_SESSION['mgrRole']; + + if (!$udperms->checkPermissions()) { ?>

    -

    +

    1) { - for ($i = 0; $i < $limit; $i++) { - $lock = mysql_fetch_assoc($rs); - if ($lock['internalKey'] != $modx->getLoginUserID()) { - $msg = sprintf($_lang['lock_msg'], $lock['username'], 'document'); - $e->setError(5, $msg); - $e->dumpError(); - } - } + for ($i = 0; $i < $limit; $i++) { + $lock = mysql_fetch_assoc($rs); + if ($lock['internalKey'] != $modx->getLoginUserID()) { + $msg = sprintf($_lang['lock_msg'], $lock['username'], 'document'); + $e->setError(5, $msg); + $e->dumpError(); + } + } } // get document groups for current user if ($_SESSION['mgrDocgroups']) { - $docgrp = implode(',', $_SESSION['mgrDocgroups']); + $docgrp = implode(',', $_SESSION['mgrDocgroups']); } if (!empty ($id)) { - $access = "1='" . $_SESSION['mgrRole'] . "' OR sc.privatemgr=0" . - (!$docgrp ? '' : " OR dg.document_group IN ($docgrp)"); - $sql = 'SELECT DISTINCT sc.* '. - 'FROM '.$tbl_site_content.' AS sc '. - 'LEFT JOIN '.$tbl_document_groups.' AS dg ON dg.document=sc.id '. - 'WHERE sc.id=\''.$id.'\' AND ('.$access.')'; - $rs = mysql_query($sql); - $limit = mysql_num_rows($rs); - if ($limit > 1) { - $e->setError(6); - $e->dumpError(); - } - if ($limit < 1) { - $e->setError(3); - $e->dumpError(); - } - $content = mysql_fetch_assoc($rs); + $access = "1='" . $_SESSION['mgrRole'] . "' OR sc.privatemgr=0" . + (!$docgrp ? '' : " OR dg.document_group IN ($docgrp)"); + $sql = 'SELECT DISTINCT sc.* '. + 'FROM '.$tbl_site_content.' AS sc '. + 'LEFT JOIN '.$tbl_document_groups.' AS dg ON dg.document=sc.id '. + 'WHERE sc.id=\''.$id.'\' AND ('.$access.')'; + $rs = mysql_query($sql); + $limit = mysql_num_rows($rs); + if ($limit > 1) { + $e->setError(6); + $e->dumpError(); + } + if ($limit < 1) { + $e->setError(3); + $e->dumpError(); + } + $content = mysql_fetch_assoc($rs); } else { - $content = array(); + $content = array(); } // restore saved form $formRestored = false; if ($modx->manager->hasFormValues()) { - $modx->manager->loadFormValues(); - $formRestored = true; + $modx->manager->loadFormValues(); + $formRestored = true; } // retain form values if template was changed // edited to convert pub_date and unpub_date // sottwell 02-09-2006 if ($formRestored == true || isset ($_REQUEST['newtemplate'])) { - $content = array_merge($content, $_POST); - $content['content'] = $_POST['ta']; - if (empty ($content['pub_date'])) { - unset ($content['pub_date']); - } else { - $content['pub_date'] = $modx->toTimeStamp($content['pub_date']); - } - if (empty ($content['unpub_date'])) { - unset ($content['unpub_date']); - } else { - $content['unpub_date'] = $modx->toTimeStamp($content['unpub_date']); - } + $content = array_merge($content, $_POST); + $content['content'] = $_POST['ta']; + if (empty ($content['pub_date'])) { + unset ($content['pub_date']); + } else { + $content['pub_date'] = $modx->toTimeStamp($content['pub_date']); + } + if (empty ($content['unpub_date'])) { + unset ($content['unpub_date']); + } else { + $content['unpub_date'] = $modx->toTimeStamp($content['unpub_date']); + } } // increase menu index if this is a new document if (!isset ($_REQUEST['id'])) { - if (!isset ($auto_menuindex) || $auto_menuindex) { - $pid = intval($_REQUEST['pid']); - $sql = 'SELECT count(*) FROM '.$tbl_site_content.' WHERE parent=\''.$pid.'\''; - $content['menuindex'] = $modx->db->getValue($sql); - } else { - $content['menuindex'] = 0; - } + if (!isset ($auto_menuindex) || $auto_menuindex) { + $pid = intval($_REQUEST['pid']); + $sql = 'SELECT count(*) FROM '.$tbl_site_content.' WHERE parent=\''.$pid.'\''; + $content['menuindex'] = $modx->db->getValue($sql); + } else { + $content['menuindex'] = 0; + } } if (isset ($_POST['which_editor'])) { - $which_editor = $_POST['which_editor']; + $which_editor = $_POST['which_editor']; } ?> @@ -503,10 +503,10 @@ function decode(s) { // invoke OnDocFormPrerender event $evtOut = $modx->invokeEvent('OnDocFormPrerender', array( - 'id' => $id + 'id' => $id )); if (is_array($evtOut)) - echo implode('', $evtOut); + echo implode('', $evtOut); ?> @@ -516,255 +516,279 @@ function decode(s) {
    -

    +

    - +
    - - - -
    -

    - - - - - - - - - - - - - - + + + +
    +

    + + +
    -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    + + + + + + + + + + + - - - + + + - - - - + + + + + + + + + + + + +
    +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    " onclick="enableLinkSelection(!allowLinkSelection);" style="cursor:pointer;" />" class="inputBox" onchange="documentDirty=true;" /> -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    " onclick="enableLinkSelection(!allowLinkSelection);" style="cursor:pointer;" />" class="inputBox" onchange="documentDirty=true;" /> +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" spellcheck="true"/>
    +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" spellcheck="true"/>
      " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    + + +
    +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />  onclick="changestate(document.mutate.hidemenu);" /> +  " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    + setError(8); + $e->dumpError(); + } + $parentrs = mysql_fetch_assoc($rs); + $parentname = $parentrs['pagetitle']; + } + ?> " onclick="enableParentSelection(!allowParentSelection);" style="cursor:pointer;" /> () +  " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" /> + +
    + + + +
    +
    \n"; - } - echo "\t\t\t\t\t\n"; - $closeOptGroup = true; - } else { - $closeOptGroup = false; - } - if (isset($_REQUEST['newtemplate'])) { - $selectedtext = $row['id'] == $_REQUEST['newtemplate'] ? ' selected="selected"' : ''; - } else { - if (isset ($content['template'])) - $selectedtext = $row['id'] == $content['template'] ? ' selected="selected"' : ''; - else $selectedtext = $row['id'] == $default_template ? ' selected="selected"' : ''; - } - echo "\t\t\t\t\t".'\n"; - $currentCategory = $thisCategory; - } - if($thisCategory != '') { - echo "\t\t\t\t\t\n"; - } + if (($content['richtext'] == 1 || $_REQUEST['a'] == '4') && $use_editor == 1) { + $htmlContent = $content['content']; ?> -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" /> - - -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" /> - - - - -
    -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />  onclick="changestate(document.mutate.hidemenu);" /> -  " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    - -
    - - - - setError(8); - $e->dumpError(); - } - $parentrs = mysql_fetch_assoc($rs); - $parentname = $parentrs['pagetitle']; - } - ?> " onclick="enableParentSelection(!allowParentSelection);" style="cursor:pointer;" /> () -  " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" /> - - - - - - -
    -
    - -
    - - - - -
    -
    '."\n"; - } - ?> -
    - - - - -
    -
    - 0) { - echo "\t".''."\n"; - require_once(MODX_MANAGER_PATH.'includes/tmplvars.inc.php'); - require_once(MODX_MANAGER_PATH.'includes/tmplvars.commands.inc.php'); - for ($i = 0; $i < $limit; $i++) { - // Go through and display all Template Variables - $row = mysql_fetch_assoc($rs); - if ($row['type'] == 'richtext' || $row['type'] == 'htmlarea') { - // Add richtext editor to the list - if (is_array($replace_richtexteditor)) { - $replace_richtexteditor = array_merge($replace_richtexteditor, array( - "tv" . $row['id'], - )); - } else { - $replace_richtexteditor = array( - "tv" . $row['id'], - ); - } - } - // splitter - if ($i > 0 && $i < $limit) - echo "\t\t",'',"\n"; +
    + + + + +
    +'."\n"; + } +?> + + + + + +
    +
    + 0) { + echo "\t".'
    '."\n"; + require_once(MODX_MANAGER_PATH.'includes/tmplvars.inc.php'); + require_once(MODX_MANAGER_PATH.'includes/tmplvars.commands.inc.php'); + for ($i = 0; $i < $limit; $i++) { + // Go through and display all Template Variables + $row = mysql_fetch_assoc($rs); + if ($row['type'] == 'richtext' || $row['type'] == 'htmlarea') { + // Add richtext editor to the list + if (is_array($replace_richtexteditor)) { + $replace_richtexteditor = array_merge($replace_richtexteditor, array( + "tv" . $row['id'], + )); + } else { + $replace_richtexteditor = array( + "tv" . $row['id'], + ); + } + } + // splitter + if ($i > 0 && $i < $limit) + echo "\t\t",'',"\n"; // post back value if(array_key_exists('tv'.$row['id'], $_POST)) { if($row['type'] == 'listbox-multiple') { - $tvPBV = implode('||', $_POST['tv'.$row['id']]); + $tvPBV = implode('||', $_POST['tv'.$row['id']]); } else { $tvPBV = $_POST['tv'.$row['id']]; } @@ -772,112 +796,113 @@ function decode(s) { $tvPBV = $row['value']; } - echo "\t\t",'\n", - "\t\t\t",'\n"; - } - echo "\t
    ',$row['caption'],"\n", - "\t\t\t",'
    ',$row['description'],"
    ',"\n", - "\t\t\t",renderFormElement($row['type'], $row['id'], $row['default_text'], $row['elements'], $tvPBV, ' style="width:300px;"'),"\n", - "\t\t
    \n"; - } else { - // There aren't any Template Variables - echo "\t

    ".$_lang['tmplvars_novars']."

    \n"; - } - ?> -
    - - - -
    - - -
    -

    - - - - - hasPermission('publish_document') ? '' : 'disabled="disabled" '; ?> - - - - - - - - - - - - - - - - - - - - - + $zindex = $row['type'] == 'date' ? '100' : '500'; + echo "\t\t",'\n", + "\t\t\t",'\n"; + } + echo "\t
    name="publishedcheck" type="checkbox" class="checkbox" onclick="changestate(document.mutate.published);" /> - -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    name="pub_date" class="DatePicker" value="toDateFormat($content['pub_date'])?>" onblur="documentDirty=true;" /> - - " width="16" height="16" border="0" alt="" /> -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" /> -
    config['datetime_format']; ?> HH:MM:SS
    name="unpub_date" class="DatePicker" value="toDateFormat($content['unpub_date'])?>" onblur="documentDirty=true;" /> - - " width="16" height="16" border="0" alt="" /> -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" /> -
    config['datetime_format']; ?> HH:MM:SS
    ',$row['caption'],"\n", + "\t\t\t",'
    ',$row['description'],"
    ',"\n", + "\t\t\t",renderFormElement($row['type'], $row['id'], $row['default_text'], $row['elements'], $tvPBV),"\n", + "\t\t
    \n"; + } else { + // There aren't any Template Variables + echo "\t

    ".$_lang['tmplvars_novars']."

    \n"; + } + ?> +
    + + + +
    + + +
    +

    + + + + + hasPermission('publish_document') ? '' : 'disabled="disabled" '; ?> + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - + + + + + + + + + " /> @@ -886,133 +911,133 @@ function decode(s) { }//if mgrRole ?> - - - - - - - - - - - - - - - - - - - - - - - - -
    name="publishedcheck" type="checkbox" class="checkbox" onclick="changestate(document.mutate.published);" /> + +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    name="pub_date" class="DatePicker" value="toDateFormat($content['pub_date'])?>" onblur="documentDirty=true;" /> + + " width="16" height="16" border="0" alt="" /> +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" /> +
    config['datetime_format']; ?> HH:MM:SS
    name="unpub_date" class="DatePicker" value="toDateFormat($content['unpub_date'])?>" onblur="documentDirty=true;" /> + + " width="16" height="16" border="0" alt="" /> +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" /> +
    config['datetime_format']; ?> HH:MM:SS
    -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    onclick="changestate(document.mutate.isfolder);" /> - -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    onclick="changestate(document.mutate.richtext);" /> - -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    onclick="changestate(document.mutate.donthit);" /> -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    onclick="changestate(document.mutate.searchable);" /> -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    onclick="changestate(document.mutate.cacheable);" /> - -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    - -   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    -
    + + + onclick="changestate(document.mutate.isfolder);" /> + +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" /> + + + + onclick="changestate(document.mutate.richtext);" /> + +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" /> + + + + onclick="changestate(document.mutate.donthit);" /> +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" /> + + + + onclick="changestate(document.mutate.searchable);" /> +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" /> + + + + onclick="changestate(document.mutate.cacheable);" /> + +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" /> + + + + + +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" /> + + +
    hasPermission('edit_doc_metatags') && $modx->config['show_meta']) { - // get list of site keywords - $keywords = array(); - $ds = $modx->db->select('*', $tbl_site_keywords, '', 'keyword ASC'); - $limit = $modx->db->getRecordCount($ds); - if ($limit > 0) { - for ($i = 0; $i < $limit; $i++) { - $row = $modx->db->getRow($ds); - $keywords[$row['id']] = $row['keyword']; - } - } - // get selected keywords using document's id - if (isset ($content['id']) && count($keywords) > 0) { - $keywords_selected = array(); - $ds = $modx->db->select('keyword_id', $tbl_keyword_xref, 'content_id=\''.$content['id'].'\''); - $limit = $modx->db->getRecordCount($ds); - if ($limit > 0) { - for ($i = 0; $i < $limit; $i++) { - $row = $modx->db->getRow($ds); - $keywords_selected[$row['keyword_id']] = ' selected="selected"'; - } - } - } - - // get list of site META tags - $metatags = array(); - $ds = $modx->db->select('*', $tbl_site_metatags); - $limit = $modx->db->getRecordCount($ds); - if ($limit > 0) { - for ($i = 0; $i < $limit; $i++) { - $row = $modx->db->getRow($ds); - $metatags[$row['id']] = $row['name']; - } - } - // get selected META tags using document's id - if (isset ($content['id']) && count($metatags) > 0) { - $metatags_selected = array(); - $ds = $modx->db->select('metatag_id', $tbl_site_content_metatags, 'content_id=\''.$content['id'].'\''); - $limit = $modx->db->getRecordCount($ds); - if ($limit > 0) { - for ($i = 0; $i < $limit; $i++) { - $row = $modx->db->getRow($ds); - $metatags_selected[$row['metatag_id']] = ' selected="selected"'; - } - } - } - ?> - -
    -

    - - - - - -


    - - - -

    - -
    - -

    - -
    - -
    -
    -
    + // get list of site keywords + $keywords = array(); + $ds = $modx->db->select('*', $tbl_site_keywords, '', 'keyword ASC'); + $limit = $modx->db->getRecordCount($ds); + if ($limit > 0) { + for ($i = 0; $i < $limit; $i++) { + $row = $modx->db->getRow($ds); + $keywords[$row['id']] = $row['keyword']; + } + } + // get selected keywords using document's id + if (isset ($content['id']) && count($keywords) > 0) { + $keywords_selected = array(); + $ds = $modx->db->select('keyword_id', $tbl_keyword_xref, 'content_id=\''.$content['id'].'\''); + $limit = $modx->db->getRecordCount($ds); + if ($limit > 0) { + for ($i = 0; $i < $limit; $i++) { + $row = $modx->db->getRow($ds); + $keywords_selected[$row['keyword_id']] = ' selected="selected"'; + } + } + } + + // get list of site META tags + $metatags = array(); + $ds = $modx->db->select('*', $tbl_site_metatags); + $limit = $modx->db->getRecordCount($ds); + if ($limit > 0) { + for ($i = 0; $i < $limit; $i++) { + $row = $modx->db->getRow($ds); + $metatags[$row['id']] = $row['name']; + } + } + // get selected META tags using document's id + if (isset ($content['id']) && count($metatags) > 0) { + $metatags_selected = array(); + $ds = $modx->db->select('metatag_id', $tbl_site_content_metatags, 'content_id=\''.$content['id'].'\''); + $limit = $modx->db->getRecordCount($ds); + if ($limit > 0) { + for ($i = 0; $i < $limit; $i++) { + $row = $modx->db->getRow($ds); + $metatags_selected[$row['metatag_id']] = ' selected="selected"'; + } + } + } + ?> + +
    +

    + + + + + +


    + + + +

    + +
    + +

    + +
    + +
    +
    +
    @@ -1020,147 +1045,147 @@ function decode(s) { /******************************* * Document Access Permissions */ if ($use_udperms == 1) { - $groupsarray = array(); - $sql = ''; - - $documentId = ($_REQUEST['a'] == '27' ? $id : (!empty($_REQUEST['pid']) ? $_REQUEST['pid'] : $content['parent'])); - if ($documentId > 0) { - // Load up, the permissions from the parent (if new document) or existing document - $sql = 'SELECT id, document_group FROM '.$tbl_document_groups.' WHERE document=\''.$documentId.'\''; - $rs = mysql_query($sql); - while ($currentgroup = mysql_fetch_assoc($rs)) - $groupsarray[] = $currentgroup['document_group'].','.$currentgroup['id']; - - // Load up the current permissions and names - $sql = 'SELECT dgn.*, groups.id AS link_id '. - 'FROM '.$tbl_document_group_names.' AS dgn '. - 'LEFT JOIN '.$tbl_document_groups.' AS groups ON groups.document_group = dgn.id '. - ' AND groups.document = '.$documentId.' '. - 'ORDER BY name'; - } else { - // Just load up the names, we're starting clean - $sql = 'SELECT *, NULL AS link_id FROM '.$tbl_document_group_names.' ORDER BY name'; - } - - // retain selected doc groups between post - if (isset($_POST['docgroups'])) - $groupsarray = array_merge($groupsarray, $_POST['docgroups']); - - // Query the permissions and names from above - $rs = mysql_query($sql); - $limit = mysql_num_rows($rs); - - $isManager = $modx->hasPermission('access_permissions'); - $isWeb = $modx->hasPermission('web_access_permissions'); - - // Setup Basic attributes for each Input box - $inputAttributes = array( - 'type' => 'checkbox', - 'class' => 'checkbox', - 'name' => 'docgroups[]', - 'onclick' => 'makePublic(false);', - ); - $permissions = array(); // New Permissions array list (this contains the HTML) - $permissions_yes = 0; // count permissions the current mgr user has - $permissions_no = 0; // count permissions the current mgr user doesn't have - - // Loop through the permissions list - for ($i = 0; $i < $limit; $i++) { - $row = mysql_fetch_assoc($rs); - - // Create an inputValue pair (group ID and group link (if it exists)) - $inputValue = $row['id'].','.($row['link_id'] ? $row['link_id'] : 'new'); - $inputId = 'group-'.$row['id']; - - $checked = in_array($inputValue, $groupsarray); - if ($checked) $notPublic = true; // Mark as private access (either web or manager) - - // Skip the access permission if the user doesn't have access... - if ((!$isManager && $row['private_memgroup'] == '1') || (!$isWeb && $row['private_webgroup'] == '1')) - continue; - - // Setup attributes for this Input box - $inputAttributes['id'] = $inputId; - $inputAttributes['value'] = $inputValue; - if ($checked) - $inputAttributes['checked'] = 'checked'; - else unset($inputAttributes['checked']); - - // Create attribute string list - $inputString = array(); - foreach ($inputAttributes as $k => $v) $inputString[] = $k.'="'.$v.'"'; - - // Make the HTML - $inputHTML = ''; - - // does user have this permission? - $sql = "SELECT COUNT(mg.id) FROM {$tbl_membergroup_access} mga, {$tbl_member_groups} mg + $groupsarray = array(); + $sql = ''; + + $documentId = ($_REQUEST['a'] == '27' ? $id : (!empty($_REQUEST['pid']) ? $_REQUEST['pid'] : $content['parent'])); + if ($documentId > 0) { + // Load up, the permissions from the parent (if new document) or existing document + $sql = 'SELECT id, document_group FROM '.$tbl_document_groups.' WHERE document=\''.$documentId.'\''; + $rs = mysql_query($sql); + while ($currentgroup = mysql_fetch_assoc($rs)) + $groupsarray[] = $currentgroup['document_group'].','.$currentgroup['id']; + + // Load up the current permissions and names + $sql = 'SELECT dgn.*, groups.id AS link_id '. + 'FROM '.$tbl_document_group_names.' AS dgn '. + 'LEFT JOIN '.$tbl_document_groups.' AS groups ON groups.document_group = dgn.id '. + ' AND groups.document = '.$documentId.' '. + 'ORDER BY name'; + } else { + // Just load up the names, we're starting clean + $sql = 'SELECT *, NULL AS link_id FROM '.$tbl_document_group_names.' ORDER BY name'; + } + + // retain selected doc groups between post + if (isset($_POST['docgroups'])) + $groupsarray = array_merge($groupsarray, $_POST['docgroups']); + + // Query the permissions and names from above + $rs = mysql_query($sql); + $limit = mysql_num_rows($rs); + + $isManager = $modx->hasPermission('access_permissions'); + $isWeb = $modx->hasPermission('web_access_permissions'); + + // Setup Basic attributes for each Input box + $inputAttributes = array( + 'type' => 'checkbox', + 'class' => 'checkbox', + 'name' => 'docgroups[]', + 'onclick' => 'makePublic(false);', + ); + $permissions = array(); // New Permissions array list (this contains the HTML) + $permissions_yes = 0; // count permissions the current mgr user has + $permissions_no = 0; // count permissions the current mgr user doesn't have + + // Loop through the permissions list + for ($i = 0; $i < $limit; $i++) { + $row = mysql_fetch_assoc($rs); + + // Create an inputValue pair (group ID and group link (if it exists)) + $inputValue = $row['id'].','.($row['link_id'] ? $row['link_id'] : 'new'); + $inputId = 'group-'.$row['id']; + + $checked = in_array($inputValue, $groupsarray); + if ($checked) $notPublic = true; // Mark as private access (either web or manager) + + // Skip the access permission if the user doesn't have access... + if ((!$isManager && $row['private_memgroup'] == '1') || (!$isWeb && $row['private_webgroup'] == '1')) + continue; + + // Setup attributes for this Input box + $inputAttributes['id'] = $inputId; + $inputAttributes['value'] = $inputValue; + if ($checked) + $inputAttributes['checked'] = 'checked'; + else unset($inputAttributes['checked']); + + // Create attribute string list + $inputString = array(); + foreach ($inputAttributes as $k => $v) $inputString[] = $k.'="'.$v.'"'; + + // Make the HTML + $inputHTML = ''; + + // does user have this permission? + $sql = "SELECT COUNT(mg.id) FROM {$tbl_membergroup_access} mga, {$tbl_member_groups} mg WHERE mga.membergroup = mg.user_group AND mga.documentgroup = {$row['id']} AND mg.member = {$_SESSION['mgrInternalKey']};"; - $rsp = $modx->db->query($sql); - $count = $modx->db->getValue($rsp); - if($count > 0) { - ++$permissions_yes; - } else { - ++$permissions_no; - } - $permissions[] = "\t\t".'
  • '.$inputHTML.'
  • '; - } - // if mgr user doesn't have access to any of the displayable permissions, forget about them and make doc public - if($_SESSION['mgrRole'] != 1 && ($permissions_yes == 0 && $permissions_no > 0)) { - $permissions = array(); - } - - // See if the Access Permissions section is worth displaying... - if (!empty($permissions)) { - // Add the "All Document Groups" item if we have rights in both contexts - if ($isManager && $isWeb) - array_unshift($permissions,"\t\t".'
  • '); - // Output the permissions list... + $rsp = $modx->db->query($sql); + $count = $modx->db->getValue($rsp); + if($count > 0) { + ++$permissions_yes; + } else { + ++$permissions_no; + } + $permissions[] = "\t\t".'
  • '.$inputHTML.'
  • '; + } + // if mgr user doesn't have access to any of the displayable permissions, forget about them and make doc public + if($_SESSION['mgrRole'] != 1 && ($permissions_yes == 0 && $permissions_no > 0)) { + $permissions = array(); + } + + // See if the Access Permissions section is worth displaying... + if (!empty($permissions)) { + // Add the "All Document Groups" item if we have rights in both contexts + if ($isManager && $isWeb) + array_unshift($permissions,"\t\t".'
  • '); + // Output the permissions list... ?>
    -

    - - -

    -
      - -
    +

    + + +

    +
      + +
    0) && ($_SESSION['mgrPermissions']['access_permissions'] == 1 || $_SESSION['mgrPermissions']['web_access_permissions'] == 1)) { + } // !empty($permissions) + elseif($_SESSION['mgrRole'] != 1 && ($permissions_yes == 0 && $permissions_no > 0) && ($_SESSION['mgrPermissions']['access_permissions'] == 1 || $_SESSION['mgrPermissions']['web_access_permissions'] == 1)) { ?> -

    +

    invokeEvent('OnDocFormRender', array( - 'id' => $id, + 'id' => $id, )); if (is_array($evtOut)) echo implode('', $evtOut); ?> @@ -1179,18 +1204,18 @@ function makePublic(b) { + //setTimeout('showParameters()',10); + storeCurTemplate(); invokeEvent('OnRichTextEditorInit', array( - 'editor' => $which_editor, - 'elements' => $replace_richtexteditor - )); - if (is_array($evtOut)) - echo implode('', $evtOut); - } - } + if (($content['richtext'] == 1 || $_REQUEST['a'] == '4' || $_REQUEST['a'] == '72') && $use_editor == 1) { + if (is_array($replace_richtexteditor)) { + // invoke OnRichTextEditorInit event + $evtOut = $modx->invokeEvent('OnRichTextEditorInit', array( + 'editor' => $which_editor, + 'elements' => $replace_richtexteditor + )); + if (is_array($evtOut)) + echo implode('', $evtOut); + } + } ?> \ No newline at end of file diff --git a/manager/actions/mutate_htmlsnippet.dynamic.php b/manager/actions/mutate_htmlsnippet.dynamic.php index 4dec448978..a9ac92817b 100755 --- a/manager/actions/mutate_htmlsnippet.dynamic.php +++ b/manager/actions/mutate_htmlsnippet.dynamic.php @@ -171,7 +171,8 @@ function deletedocument() { echo "\t\t\t\t".'\n"; } } -?> +?> + :    class="inputBox" value="on" /> @@ -182,7 +183,7 @@ function deletedocument() {
     
    - +
    @@ -196,7 +197,8 @@ function deletedocument() { echo "\t".'\n"; } } -?> +?> +
    '; break; case 'textarea': - c = ''; + c = ''; break; default: // string c = ''; @@ -391,7 +391,8 @@ function SetUrl(url, width, height, alt) { echo "\t\t\t".'\n"; } } -?> +?> + :    class="inputBox" onclick="documentDirty=true;" /> : @@ -408,7 +409,7 @@ function SetUrl(url, width, height, alt) {   class="inputBox" onclick="setTextWrap(document.mutate.post,this.checked)" />
    - + diff --git a/manager/actions/mutate_plugin.dynamic.php b/manager/actions/mutate_plugin.dynamic.php index dd8818b267..4eefc8002f 100755 --- a/manager/actions/mutate_plugin.dynamic.php +++ b/manager/actions/mutate_plugin.dynamic.php @@ -168,7 +168,7 @@ function showParameters(ctrl) { c += ''; break; case 'textarea': - c = ''; + c = ''; break; default: // string c = ''; @@ -324,7 +324,7 @@ function decode(s){   class="inputBox" onclick="setTextWrap(document.mutate.post,this.checked)" /> - + diff --git a/manager/actions/mutate_settings.dynamic.php b/manager/actions/mutate_settings.dynamic.php old mode 100644 new mode 100755 index 6f700eb192..8125bda83e --- a/manager/actions/mutate_settings.dynamic.php +++ b/manager/actions/mutate_settings.dynamic.php @@ -47,8 +47,6 @@ $isDefaultUnavailableMsg = $site_unavailable_message == $_lang['siteunavailable_message_default']; $isDefaultUnavailableMsgJs = $isDefaultUnavailableMsg ? 'true' : 'false'; $site_unavailable_message_view = isset($site_unavailable_message) ? $site_unavailable_message : $_lang['siteunavailable_message_default']; -$validate_referrer_off_val = $modx->db->getValue('SELECT setting_value FROM '.$modx->getFullTableName('system_settings').' WHERE setting_name=\'validate_referer\''); -$validate_referrer_off_val = $validate_referrer_off_val === '00' ? '00' : '0'; // storing the double zero is a trick to hide the warning message from the manager /* check the file paths */ $settings['filemanager_path'] = $filemanager_path = trim($settings['filemanager_path']) == '' ? MODX_BASE_PATH : $settings['filemanager_path']; @@ -336,9 +334,9 @@ function confirmLangChange(el, lkey, elupd){ - onclick='showHide(/logRow/, 1);' /> + />
    - onclick='showHide(/logRow/, 0);' /> + /> @@ -348,20 +346,6 @@ function confirmLangChange(el, lkey, elupd){
    - - - /> -
    - /> - - - -   - - - -
    - @@ -373,6 +357,18 @@ function confirmLangChange(el, lkey, elupd){
    + + + +

    + />
    + />
    + />
    + + + +
    + @@ -380,7 +376,7 @@ function confirmLangChange(el, lkey, elupd){ $sql = "select templatename, id from $dbase.`".$table_prefix."site_templates`"; $rs = mysql_query($sql); ?> -
    -
    + @@ -527,7 +524,7 @@ function confirmLangChange(el, lkey, elupd){ />
    - /> + /> @@ -1165,6 +1162,20 @@ function getResourceBaseUrl() {   + +
    + + + + /> +
    + /> + + + +   + +
    diff --git a/manager/actions/mutate_snippet.dynamic.php b/manager/actions/mutate_snippet.dynamic.php index 424c83f150..eb7d869bfb 100755 --- a/manager/actions/mutate_snippet.dynamic.php +++ b/manager/actions/mutate_snippet.dynamic.php @@ -172,7 +172,7 @@ function showParameters(ctrl) { c += ''; break; case 'textarea': - c = ''; + c = ''; break; default: // string c = ''; @@ -326,7 +326,7 @@ function decode(s){   class="inputBox" onclick="setTextWrap(document.mutate.post,this.checked)" /> - + diff --git a/manager/actions/mutate_template_tv_rank.dynamic.php b/manager/actions/mutate_template_tv_rank.dynamic.php old mode 100644 new mode 100755 index bd036783b6..bb4ff2b524 --- a/manager/actions/mutate_template_tv_rank.dynamic.php +++ b/manager/actions/mutate_template_tv_rank.dynamic.php @@ -49,7 +49,7 @@ 'FROM '.$tbl_site_tmplvar_templates.' AS tr '. 'INNER JOIN '.$tbl_site_tmplvars.' AS tv ON tv.id = tr.tmplvarid '. 'INNER JOIN '.$tbl_site_templates.' AS tm ON tr.templateid = tm.id '. - 'WHERE tr.templateid='.(int)$_REQUEST['id'].' ORDER BY tr.rank ASC'; + 'WHERE tr.templateid='.(int)$_REQUEST['id'].' ORDER BY tr.rank, tv.rank, tv.id'; $rs = $modx->db->query($sql); $limit = $modx->db->getRecordCount($rs); diff --git a/manager/actions/mutate_templates.dynamic.php b/manager/actions/mutate_templates.dynamic.php index f25b568ee4..1437d507fb 100755 --- a/manager/actions/mutate_templates.dynamic.php +++ b/manager/actions/mutate_templates.dynamic.php @@ -138,7 +138,7 @@ function deletedocument() { - + @@ -179,7 +179,7 @@ function deletedocument() {
     
    - + @@ -189,7 +189,7 @@ function deletedocument() { FROM ".$modx->getFullTableName('site_tmplvar_templates')." tr INNER JOIN ".$modx->getFullTableName('site_tmplvars')." tv ON tv.id = tr.tmplvarid LEFT JOIN ".$modx->getFullTableName('categories')." cat ON tv.category = cat.id - WHERE tr.templateid='".$_REQUEST['id']."' ORDER BY tr.rank ASC"; + WHERE tr.templateid='{$id}' ORDER BY tr.rank, tv.rank, tv.id"; $rs = $modx->db->query($sql); diff --git a/manager/actions/mutate_user.dynamic.php b/manager/actions/mutate_user.dynamic.php old mode 100644 new mode 100755 index 7d347d5407..bc3f28e9fa --- a/manager/actions/mutate_user.dynamic.php +++ b/manager/actions/mutate_user.dynamic.php @@ -345,7 +345,11 @@ function showHide(what, onoff){
    diff --git a/manager/actions/welcome.static.php b/manager/actions/welcome.static.php old mode 100644 new mode 100755 index 6d547084ec..73227b3f21 --- a/manager/actions/welcome.static.php +++ b/manager/actions/welcome.static.php @@ -8,6 +8,25 @@ exit; } +$script = << + function hideConfigCheckWarning(key){ + var myAjax = new Ajax('index.php?a=118', { + method: 'post', + data: 'action=setsetting&key=_hide_configcheck_' + key + '&value=1' + }); + myAjax.addEvent('onComplete', function(resp){ + fieldset = $(key + '_warning_wrapper').getParent().getParent(); + var sl = new Fx.Slide(fieldset); + sl.slideOut(); + }); + myAjax.request(); + } + + +JS; +$modx->regClientScript($script); + // set placeholders $modx->setPlaceholder('theme',$manager_theme ? $manager_theme : ''); $modx->setPlaceholder('home', $_lang["home"]); @@ -192,7 +211,12 @@ } // load template file +$customWelcome = $base_path.'manager/media/style/'.$modx->config['manager_theme'] .'/welcome.html'; +if( is_readable($customWelcome) ) { + $tplFile = $customWelcome; +} else { $tplFile = $base_path.'assets/templates/manager/welcome.html'; +} $handle = fopen($tplFile, "r"); $tpl = fread($handle, filesize($tplFile)); fclose($handle); From 1f2663456240ee0f0d19fee9497abea1ae95dabf Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 12:22:17 +0900 Subject: [PATCH 48/92] =?UTF-8?q?901=20=E6=9C=AC=E5=AE=B6=E7=89=88?= =?UTF-8?q?=E6=9B=B4=E6=96=B0(manager/media=E3=83=87=E3=82=A3=E3=83=AC?= =?UTF-8?q?=E3=82=AF=E3=83=88=E3=83=AA)(yama)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- manager/media/browser/mcpuk/browser.html | 2 +- manager/media/browser/mcpuk/browser.html.inc | 2 +- manager/media/browser/mcpuk/browser.php | 1 - .../connectors/php/Commands/FileUpload.php | 24 +- .../php/Commands/GetFoldersAndFiles.php | 362 +++++++++--------- .../connectors/php/Commands/Thumbnail.php | 8 +- .../php/Commands/helpers/iconlookup.php | 118 +++--- .../browser/mcpuk/connectors/php/config.php | 3 +- .../mcpuk/connectors/php/images/ascii.jpg | Bin 0 -> 1240 bytes .../mcpuk/connectors/php/images/binary.jpg | Bin 0 -> 2110 bytes .../mcpuk/connectors/php/images/binary.png | Bin 2483 -> 0 bytes .../mcpuk/connectors/php/images/document2.jpg | Bin 0 -> 2456 bytes .../mcpuk/connectors/php/images/document2.png | Bin 1757 -> 0 bytes .../mcpuk/connectors/php/images/email.jpg | Bin 0 -> 2020 bytes .../mcpuk/connectors/php/images/email.png | Bin 4887 -> 0 bytes .../mcpuk/connectors/php/images/empty.jpg | Bin 0 -> 1095 bytes .../mcpuk/connectors/php/images/empty.png | Bin 1434 -> 0 bytes .../mcpuk/connectors/php/images/flash.png | Bin 1274 -> 0 bytes .../mcpuk/connectors/php/images/html.jpg | Bin 0 -> 2123 bytes .../mcpuk/connectors/php/images/html.png | Bin 1499 -> 0 bytes .../mcpuk/connectors/php/images/image.jpg | Bin 0 -> 2041 bytes .../mcpuk/connectors/php/images/image.png | Bin 5886 -> 0 bytes .../mcpuk/connectors/php/images/info.jpg | Bin 0 -> 2250 bytes .../mcpuk/connectors/php/images/info.png | Bin 4788 -> 0 bytes .../mcpuk/connectors/php/images/kmplot.jpg | Bin 0 -> 2240 bytes .../mcpuk/connectors/php/images/kmplot.png | Bin 2797 -> 0 bytes .../mcpuk/connectors/php/images/kmultiple.jpg | Bin 0 -> 1191 bytes .../mcpuk/connectors/php/images/kmultiple.png | Bin 1981 -> 0 bytes .../mcpuk/connectors/php/images/pdf.jpg | Bin 0 -> 1973 bytes .../mcpuk/connectors/php/images/pdf.png | Bin 1141 -> 0 bytes .../mcpuk/connectors/php/images/php.jpg | Bin 0 -> 2064 bytes .../connectors/php/images/postscript.jpg | Bin 0 -> 1856 bytes .../connectors/php/images/postscript.png | Bin 3362 -> 0 bytes .../mcpuk/connectors/php/images/real_doc.jpg | Bin 0 -> 2146 bytes .../mcpuk/connectors/php/images/real_doc.png | Bin 1120 -> 0 bytes .../mcpuk/connectors/php/images/sound.jpg | Bin 0 -> 2756 bytes .../mcpuk/connectors/php/images/sound.png | Bin 1358 -> 0 bytes .../connectors/php/images/spreadsheet.jpg | Bin 0 -> 2160 bytes .../connectors/php/images/spreadsheet.png | Bin 1102 -> 0 bytes .../mcpuk/connectors/php/images/tar.jpg | Bin 0 -> 1934 bytes .../mcpuk/connectors/php/images/tar.png | Bin 3882 -> 0 bytes .../mcpuk/connectors/php/images/video.jpg | Bin 0 -> 2303 bytes .../mcpuk/connectors/php/images/video.png | Bin 1386 -> 0 bytes .../media/browser/mcpuk/frmresourceslist.html | 10 +- .../media/browser/mcpuk/images/Folder96.jpg | Bin 0 -> 2901 bytes .../media/browser/mcpuk/images/folder64.png | Bin 1951 -> 0 bytes .../browser/mcpuk/images/icons/32/ai.gif | Bin 0 -> 1140 bytes .../browser/mcpuk/images/icons/32/avi.gif | Bin 0 -> 454 bytes .../browser/mcpuk/images/icons/32/bmp.gif | Bin 0 -> 709 bytes .../browser/mcpuk/images/icons/32/cs.gif | Bin 0 -> 224 bytes .../mcpuk/images/icons/32/default.icon.gif | Bin 0 -> 177 bytes .../browser/mcpuk/images/icons/32/dll.gif | Bin 0 -> 258 bytes .../browser/mcpuk/images/icons/32/doc.gif | Bin 0 -> 260 bytes .../browser/mcpuk/images/icons/32/exe.gif | Bin 0 -> 170 bytes .../browser/mcpuk/images/icons/32/fla.gif | Bin 0 -> 946 bytes .../browser/mcpuk/images/icons/32/gif.gif | Bin 0 -> 704 bytes .../browser/mcpuk/images/icons/32/htm.gif | Bin 0 -> 1527 bytes .../browser/mcpuk/images/icons/32/html.gif | Bin 0 -> 1527 bytes .../browser/mcpuk/images/icons/32/jpg.gif | Bin 0 -> 463 bytes .../browser/mcpuk/images/icons/32/js.gif | Bin 0 -> 274 bytes .../browser/mcpuk/images/icons/32/mdb.gif | Bin 0 -> 274 bytes .../browser/mcpuk/images/icons/32/mp3.gif | Bin 0 -> 454 bytes .../browser/mcpuk/images/icons/32/pdf.gif | Bin 0 -> 567 bytes .../browser/mcpuk/images/icons/32/ppt.gif | Bin 0 -> 254 bytes .../browser/mcpuk/images/icons/32/rdp.gif | Bin 0 -> 1493 bytes .../browser/mcpuk/images/icons/32/swf.gif | Bin 0 -> 725 bytes .../browser/mcpuk/images/icons/32/swt.gif | Bin 0 -> 724 bytes .../browser/mcpuk/images/icons/32/txt.gif | Bin 0 -> 213 bytes .../browser/mcpuk/images/icons/32/vsd.gif | Bin 0 -> 277 bytes .../browser/mcpuk/images/icons/32/xls.gif | Bin 0 -> 271 bytes .../browser/mcpuk/images/icons/32/xml.gif | Bin 0 -> 408 bytes .../browser/mcpuk/images/icons/32/zip.gif | Bin 0 -> 368 bytes .../media/browser/mcpuk/images/icons/ai.gif | Bin 0 -> 403 bytes .../media/browser/mcpuk/images/icons/avi.gif | Bin 0 -> 249 bytes .../media/browser/mcpuk/images/icons/bmp.gif | Bin 0 -> 126 bytes .../media/browser/mcpuk/images/icons/cs.gif | Bin 0 -> 128 bytes .../mcpuk/images/icons/default.icon.gif | Bin 0 -> 113 bytes .../media/browser/mcpuk/images/icons/dll.gif | Bin 0 -> 132 bytes .../media/browser/mcpuk/images/icons/doc.gif | Bin 0 -> 140 bytes .../media/browser/mcpuk/images/icons/exe.gif | Bin 0 -> 109 bytes .../media/browser/mcpuk/images/icons/fla.gif | Bin 0 -> 382 bytes .../media/browser/mcpuk/images/icons/gif.gif | Bin 0 -> 125 bytes .../media/browser/mcpuk/images/icons/htm.gif | Bin 0 -> 621 bytes .../media/browser/mcpuk/images/icons/html.gif | Bin 0 -> 621 bytes .../media/browser/mcpuk/images/icons/jpg.gif | Bin 0 -> 125 bytes .../media/browser/mcpuk/images/icons/js.gif | Bin 0 -> 139 bytes .../media/browser/mcpuk/images/icons/mdb.gif | Bin 0 -> 146 bytes .../media/browser/mcpuk/images/icons/mp3.gif | Bin 0 -> 249 bytes .../media/browser/mcpuk/images/icons/pdf.gif | Bin 0 -> 230 bytes .../media/browser/mcpuk/images/icons/ppt.gif | Bin 0 -> 139 bytes .../media/browser/mcpuk/images/icons/rdp.gif | Bin 0 -> 606 bytes .../media/browser/mcpuk/images/icons/swf.gif | Bin 0 -> 388 bytes .../media/browser/mcpuk/images/icons/swt.gif | Bin 0 -> 388 bytes .../media/browser/mcpuk/images/icons/txt.gif | Bin 0 -> 122 bytes .../media/browser/mcpuk/images/icons/vsd.gif | Bin 0 -> 136 bytes .../media/browser/mcpuk/images/icons/xls.gif | Bin 0 -> 138 bytes .../media/browser/mcpuk/images/icons/xml.gif | Bin 0 -> 231 bytes .../media/browser/mcpuk/images/icons/zip.gif | Bin 0 -> 235 bytes manager/media/style/MODxCarbon/style.css | 71 ++-- 99 files changed, 298 insertions(+), 303 deletions(-) mode change 100644 => 100755 manager/media/browser/mcpuk/connectors/php/Commands/FileUpload.php mode change 100644 => 100755 manager/media/browser/mcpuk/connectors/php/Commands/GetFoldersAndFiles.php create mode 100755 manager/media/browser/mcpuk/connectors/php/images/ascii.jpg create mode 100755 manager/media/browser/mcpuk/connectors/php/images/binary.jpg delete mode 100755 manager/media/browser/mcpuk/connectors/php/images/binary.png create mode 100755 manager/media/browser/mcpuk/connectors/php/images/document2.jpg delete mode 100755 manager/media/browser/mcpuk/connectors/php/images/document2.png create mode 100755 manager/media/browser/mcpuk/connectors/php/images/email.jpg delete mode 100755 manager/media/browser/mcpuk/connectors/php/images/email.png create mode 100755 manager/media/browser/mcpuk/connectors/php/images/empty.jpg delete mode 100755 manager/media/browser/mcpuk/connectors/php/images/empty.png delete mode 100755 manager/media/browser/mcpuk/connectors/php/images/flash.png create mode 100755 manager/media/browser/mcpuk/connectors/php/images/html.jpg delete mode 100755 manager/media/browser/mcpuk/connectors/php/images/html.png create mode 100755 manager/media/browser/mcpuk/connectors/php/images/image.jpg delete mode 100755 manager/media/browser/mcpuk/connectors/php/images/image.png create mode 100755 manager/media/browser/mcpuk/connectors/php/images/info.jpg delete mode 100755 manager/media/browser/mcpuk/connectors/php/images/info.png create mode 100755 manager/media/browser/mcpuk/connectors/php/images/kmplot.jpg delete mode 100755 manager/media/browser/mcpuk/connectors/php/images/kmplot.png create mode 100755 manager/media/browser/mcpuk/connectors/php/images/kmultiple.jpg delete mode 100755 manager/media/browser/mcpuk/connectors/php/images/kmultiple.png create mode 100755 manager/media/browser/mcpuk/connectors/php/images/pdf.jpg delete mode 100755 manager/media/browser/mcpuk/connectors/php/images/pdf.png create mode 100755 manager/media/browser/mcpuk/connectors/php/images/php.jpg create mode 100755 manager/media/browser/mcpuk/connectors/php/images/postscript.jpg delete mode 100755 manager/media/browser/mcpuk/connectors/php/images/postscript.png create mode 100755 manager/media/browser/mcpuk/connectors/php/images/real_doc.jpg delete mode 100755 manager/media/browser/mcpuk/connectors/php/images/real_doc.png create mode 100755 manager/media/browser/mcpuk/connectors/php/images/sound.jpg delete mode 100755 manager/media/browser/mcpuk/connectors/php/images/sound.png create mode 100755 manager/media/browser/mcpuk/connectors/php/images/spreadsheet.jpg delete mode 100755 manager/media/browser/mcpuk/connectors/php/images/spreadsheet.png create mode 100755 manager/media/browser/mcpuk/connectors/php/images/tar.jpg delete mode 100755 manager/media/browser/mcpuk/connectors/php/images/tar.png create mode 100755 manager/media/browser/mcpuk/connectors/php/images/video.jpg delete mode 100755 manager/media/browser/mcpuk/connectors/php/images/video.png create mode 100755 manager/media/browser/mcpuk/images/Folder96.jpg delete mode 100755 manager/media/browser/mcpuk/images/folder64.png create mode 100755 manager/media/browser/mcpuk/images/icons/32/ai.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/avi.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/bmp.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/cs.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/default.icon.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/dll.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/doc.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/exe.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/fla.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/gif.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/htm.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/html.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/jpg.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/js.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/mdb.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/mp3.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/pdf.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/ppt.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/rdp.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/swf.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/swt.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/txt.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/vsd.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/xls.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/xml.gif create mode 100755 manager/media/browser/mcpuk/images/icons/32/zip.gif create mode 100755 manager/media/browser/mcpuk/images/icons/ai.gif create mode 100755 manager/media/browser/mcpuk/images/icons/avi.gif create mode 100755 manager/media/browser/mcpuk/images/icons/bmp.gif create mode 100755 manager/media/browser/mcpuk/images/icons/cs.gif create mode 100755 manager/media/browser/mcpuk/images/icons/default.icon.gif create mode 100755 manager/media/browser/mcpuk/images/icons/dll.gif create mode 100755 manager/media/browser/mcpuk/images/icons/doc.gif create mode 100755 manager/media/browser/mcpuk/images/icons/exe.gif create mode 100755 manager/media/browser/mcpuk/images/icons/fla.gif create mode 100755 manager/media/browser/mcpuk/images/icons/gif.gif create mode 100755 manager/media/browser/mcpuk/images/icons/htm.gif create mode 100755 manager/media/browser/mcpuk/images/icons/html.gif create mode 100755 manager/media/browser/mcpuk/images/icons/jpg.gif create mode 100755 manager/media/browser/mcpuk/images/icons/js.gif create mode 100755 manager/media/browser/mcpuk/images/icons/mdb.gif create mode 100755 manager/media/browser/mcpuk/images/icons/mp3.gif create mode 100755 manager/media/browser/mcpuk/images/icons/pdf.gif create mode 100755 manager/media/browser/mcpuk/images/icons/ppt.gif create mode 100755 manager/media/browser/mcpuk/images/icons/rdp.gif create mode 100755 manager/media/browser/mcpuk/images/icons/swf.gif create mode 100755 manager/media/browser/mcpuk/images/icons/swt.gif create mode 100755 manager/media/browser/mcpuk/images/icons/txt.gif create mode 100755 manager/media/browser/mcpuk/images/icons/vsd.gif create mode 100755 manager/media/browser/mcpuk/images/icons/xls.gif create mode 100755 manager/media/browser/mcpuk/images/icons/xml.gif create mode 100755 manager/media/browser/mcpuk/images/icons/zip.gif diff --git a/manager/media/browser/mcpuk/browser.html b/manager/media/browser/mcpuk/browser.html index ea62711600..2706cf2bbc 100755 --- a/manager/media/browser/mcpuk/browser.html +++ b/manager/media/browser/mcpuk/browser.html @@ -17,7 +17,7 @@ - File Browser + FCKeditor - Resources Browser JS; $modx->regClientScript($script); } + } +} if ($modx->db->getValue('SELECT published FROM '.$modx->getFullTableName('site_content').' WHERE id='.$unauthorized_page) == 0) { $warningspresent = 1; @@ -149,7 +179,20 @@ function checkSiteCache() { $warnings[$i][1] = $_lang['configcheck_errorpage_unavailable_msg']; break; case $_lang['configcheck_validate_referer'] : - $warnings[$i][1] = "" . $_lang['configcheck_validate_referer_msg'] . "\n"; + $msg = $_lang['configcheck_validate_referer_msg']; + $msg .= '
    ' . sprintf($_lang["configcheck_hide_warning"], 'validate_referer'); + $warnings[$i][1] = "{$msg}\n"; + break; + case $_lang['configcheck_templateswitcher_present'] : + $msg = $_lang["configcheck_templateswitcher_present_msg"]; + if(isset($_SESSION['mgrPermissions']['save_plugin']) && $_SESSION['mgrPermissions']['save_plugin'] == '1') { + $msg .= '
    ' . $_lang["configcheck_templateswitcher_present_disable"]; + } + if(isset($_SESSION['mgrPermissions']['delete_plugin']) && $_SESSION['mgrPermissions']['delete_plugin'] == '1') { + $msg .= '
    ' . $_lang["configcheck_templateswitcher_present_delete"]; + } + $msg .= '
    ' . sprintf($_lang["configcheck_hide_warning"], 'templateswitcher_present'); + $warnings[$i][1] = "{$msg}\n"; break; default : $warnings[$i][1] = $_lang['configcheck_default_msg']; @@ -171,4 +214,3 @@ function checkSiteCache() { } else { $config_check_results = $_lang['configcheck_ok']; } -?> \ No newline at end of file diff --git a/manager/includes/document.parser.class.inc.php b/manager/includes/document.parser.class.inc.php index d2207f649f..55d13d26de 100755 --- a/manager/includes/document.parser.class.inc.php +++ b/manager/includes/document.parser.class.inc.php @@ -4,13 +4,6 @@ * Function: This class contains the main document parsing functions * */ - -$upgradephp_path = MODX_MANAGER_PATH . 'includes/extenders/upgradephp/'; -if (!version_compare('5.3.0', phpversion(),'<')) include_once $upgradephp_path . 'php0530.php'; -if (!version_compare('5.2.0', phpversion(),'<')) include_once $upgradephp_path . 'php0520.php'; -if (!version_compare('5.1.0', phpversion(),'<')) include_once $upgradephp_path . 'php0510.php'; -if (!version_compare('5.0.0', phpversion(),'<')) include_once $upgradephp_path . 'php0500.php'; - class DocumentParser { var $db; // db object var $event, $Event; // event object @@ -198,12 +191,23 @@ function getSettings() { if ($included= file_exists(MODX_BASE_PATH . 'assets/cache/siteCache.idx.php')) { $included= include_once (MODX_BASE_PATH . 'assets/cache/siteCache.idx.php'); } + if (!$included || !is_array($this->config) || empty ($this->config)) { + include_once MODX_BASE_PATH . "/manager/processors/cache_sync.class.processor.php"; + $cache = new synccache(); + $cache->setCachepath(MODX_BASE_PATH . "/assets/cache/"); + $cache->setReport(false); + $rebuilt = $cache->buildCache($this); + $included = false; + if($rebuilt && $included= file_exists(MODX_BASE_PATH . 'assets/cache/siteCache.idx.php')) { + $included= include MODX_BASE_PATH . 'assets/cache/siteCache.idx.php'; + } if (!$included) { $result= $this->db->query('SELECT setting_name, setting_value FROM ' . $this->getFullTableName('system_settings')); while ($row= $this->db->getRow($result, 'both')) { $this->config[$row[0]]= $row[1]; } } + } // added for backwards compatibility - garry FS#104 $this->config['etomite_charset'] = & $this->config['modx_charset']; @@ -373,7 +377,7 @@ function checkCache($id) { $cacheFile= "assets/cache/docid_" . $id . ".pageCache.php"; if (file_exists($cacheFile)) { $this->documentGenerated= 0; - $flContent = file_get_contents($cacheFile, false); + $flContent= implode("", file($cacheFile)); $flContent= substr($flContent, 37); // remove php header $a= explode("", $flContent, 2); if (count($a) == 1) @@ -588,9 +592,14 @@ function checkPublishStatus() { $nextevent= 0; } - $cache_path= $this->config["base_path"] . 'assets/cache/sitePublishing.idx.php'; - $content = ''; - file_put_contents($cache_path, $content); + $basepath= $this->config["base_path"] . "assets/cache"; + $fp= @ fopen($basepath . "/sitePublishing.idx.php", "wb"); + if ($fp) { + @ flock($fp, LOCK_EX); + @ fwrite($fp, ""); + @ flock($fp, LOCK_UN); + @ fclose($fp); + } } } @@ -600,19 +609,20 @@ function postProcess() { $basepath= $this->config["base_path"] . "assets/cache"; // invoke OnBeforeSaveWebPageCache event $this->invokeEvent("OnBeforeSaveWebPageCache"); + if ($fp= @ fopen($basepath . "/docid_" . $this->documentIdentifier . ".pageCache.php", "w")) { // get and store document groups inside document object. Document groups will be used to check security on cache pages $sql= "SELECT document_group FROM " . $this->getFullTableName("document_groups") . " WHERE document='" . $this->documentIdentifier . "'"; $docGroups= $this->db->getColumn("document_group", $sql); // Attach Document Groups and Scripts - if (is_array($docGroups)) $this->documentObject['__MODxDocGroups__'] = implode(',', $docGroups); + if (is_array($docGroups)) $this->documentObject['__MODxDocGroups__'] = implode(",", $docGroups); $docObjSerial= serialize($this->documentObject); $cacheContent= $docObjSerial . "" . $this->documentContent; - $cacheContent = "" . $cacheContent; - $page_cache_path = $basepath . '/docid_' . $this->documentIdentifier . '.pageCache.php'; - file_put_contents($page_cache_path, $cacheContent); + fputs($fp, "$cacheContent"); + fclose($fp); } + } // Useful for example to external page counters/stats packages $this->invokeEvent('OnWebPageComplete'); @@ -697,7 +707,7 @@ function mergeChunkContent($content) { if (isset ($this->chunkCache[$matches[1][$i]])) { $replace[$i]= $this->chunkCache[$matches[1][$i]]; } else { - $sql= "SELECT snippet FROM " . $this->getFullTableName("site_htmlsnippets") . " WHERE " . $this->getFullTableName("site_htmlsnippets") . ".name='" . $this->db->escape($matches[1][$i]) . "';"; + $sql= "SELECT `snippet` FROM " . $this->getFullTableName("site_htmlsnippets") . " WHERE " . $this->getFullTableName("site_htmlsnippets") . ".`name`='" . $this->db->escape($matches[1][$i]) . "';"; $result= $this->db->query($sql); $limit= $this->db->getRecordCount($result); if ($limit < 1) { @@ -770,13 +780,11 @@ function evalSnippet($snippet, $params) { ob_start(); $snip= eval ($snippet); $msg= ob_get_contents(); - $request_uri = getenv('REQUEST_URI'); - $request_uri = htmlspecialchars($request_uri, ENT_QUOTES); ob_end_clean(); if ($msg && isset ($php_errormsg)) { - if (!stripos($php_errormsg, 'deprecated')) { // ignore php5 strict errors + if (!strpos($php_errormsg, 'Deprecated')) { // ignore php5 strict errors // log error - $this->logEvent(1, 3, "$php_errormsg

    $msg
    REQUEST_URI = $request_uri
    ID = $this->documentIdentifier", $this->currentSnippet . " - Snippet"); + $this->logEvent(1, 3, "$php_errormsg

    $msg", $this->currentSnippet . " - Snippet"); if ($this->isBackend()) $this->Event->alert("An error occurred while loading. Please see the event log for more information

    $msg"); } @@ -810,14 +818,19 @@ function evalSnippets($documentSource) { $snippets[$i]['properties']= $this->snippetCache[$matches[1][$i] . "Props"]; } else { // get from db and store a copy inside cache - $sql= "SELECT name,snippet,properties FROM " . $this->getFullTableName("site_snippets") . " WHERE " . $this->getFullTableName("site_snippets") . ".name='" . $this->db->escape($matches[1][$i]) . "';"; + $sql= "SELECT `name`, `snippet`, `properties` FROM " . $this->getFullTableName("site_snippets") . " WHERE " . $this->getFullTableName("site_snippets") . ".`name`='" . $this->db->escape($matches[1][$i]) . "';"; $result= $this->db->query($sql); + $added = false; if ($this->db->getRecordCount($result) == 1) { $row= $this->db->getRow($result); + if($row['name'] == $matches[1][$i]) { $snippets[$i]['name']= $row['name']; $snippets[$i]['snippet']= $this->snippetCache[$row['name']]= $row['snippet']; $snippets[$i]['properties']= $this->snippetCache[$row['name'] . "Props"]= $row['properties']; - } else { + $added = true; + } + } + if(!$added) { $snippets[$i]['name']= $matches[1][$i]; $snippets[$i]['snippet']= $this->snippetCache[$matches[1][$i]]= "return false;"; $snippets[$i]['properties']= ''; @@ -1186,7 +1199,7 @@ function prepareResponse() { if (!$this->documentObject['template']) $this->documentContent= "[*content*]"; // use blank template else { - $sql= "SELECT content FROM " . $this->getFullTableName("site_templates") . " WHERE " . $this->getFullTableName("site_templates") . ".id = '" . $this->documentObject['template'] . "';"; + $sql= "SELECT `content` FROM " . $this->getFullTableName("site_templates") . " WHERE " . $this->getFullTableName("site_templates") . ".`id` = '" . $this->documentObject['template'] . "';"; $result= $this->db->query($sql); $rowCount= $this->db->getRecordCount($result); if ($rowCount > 1) { @@ -1221,48 +1234,42 @@ function prepareResponse() { /* API functions / /***************************************************************************************/ - function getParentIds($id, $height= 10, $parents= array ()) { - $parentId= 0; - foreach ($this->documentMap as $mapEntry) { - $parentId= array_search($id, $mapEntry); - if ($parentId) { - $parentKey= array_search($parentId, $this->documentListing); - if (!$parentKey) { - $parentKey= "$parentId"; - } - $parents[$parentKey]= $parentId; - break; - } - } - $height--; - if ($parentId && $height) { - $parents= $parents + $this->getParentIds($parentId, $height, $parents); + function getParentIds($id, $height= 10) { + $parents= array (); + while ( $id && $height-- ) { + $thisid = $id; + $id = $this->aliasListing[$id]['parent']; + if (!$id) break; + $pkey = strlen($this->aliasListing[$thisid]['path']) ? $this->aliasListing[$thisid]['path'] : $this->aliasListing[$id]['alias']; + if (!strlen($pkey)) $pkey = "{$id}"; + $parents[$pkey] = $id; } return $parents; } function getChildIds($id, $depth= 10, $children= array ()) { - $c= null; - foreach ($this->documentMap as $mapEntry) { - if (isset ($mapEntry[$id])) { - $childId= $mapEntry[$id]; - $childKey= array_search($childId, $this->documentListing); - if (!$childKey) { - $childKey= "$childId"; + + // Initialise a static array to index parents->children + static $documentMap_cache = array(); + if (!count($documentMap_cache)) { + foreach ($this->documentMap as $document) { + foreach ($document as $p => $c) { + $documentMap_cache[$p][] = $c; } - $c[$childKey]= $childId; } } + + // Get all the children for this parent node + if (isset($documentMap_cache[$id])) { $depth--; - if (is_array($c)) { - if (is_array($children)) { - $children= $children + $c; - } else { - $children= $c; - } + + foreach ($documentMap_cache[$id] as $childId) { + $pkey = (strlen($this->aliasListing[$childId]['path']) ? "{$this->aliasListing[$childId]['path']}/" : '') . $this->aliasListing[$childId]['alias']; + if (!strlen($pkey)) $pkey = "{$childId}"; + $children[$pkey] = $childId; + if ($depth) { - foreach ($c as $child) { - $children= $children + $this->getChildIds($child, $depth, $children); + $children += $this->getChildIds($childId, $depth); } } } @@ -1568,7 +1575,6 @@ function makeUrl($id, $alias= '', $args= '', $scheme= '') { elseif ($c != '&') $args= '&' . $args; } if ($this->config['friendly_urls'] == 1 && $alias != '') { - // if(strstr($alias, '.') !== false) $f_url_suffix = '';//yama $url= $f_url_prefix . $alias . $f_url_suffix . $args; } elseif ($this->config['friendly_urls'] == 1 && $alias == '') { @@ -1594,7 +1600,7 @@ function makeUrl($id, $alias= '', $args= '', $scheme= '') { } // to-do: check to make sure that $site_url incudes the url :port (e.g. :8080) - $host= $scheme == 'full' ? $this->config['site_url'] : $scheme . '://' . $_SERVER['HTTP_HOST'] . $this->config['base_url']; + $host= $scheme == 'full' ? $this->config['site_url'] : $scheme . '://' . $_SERVER['HTTP_HOST'] . $host; } if ($this->config['xhtml_urls']) { @@ -1718,7 +1724,7 @@ function runSnippet($snippetName, $params= array ()) { $snippet= $this->snippetCache[$snippetName]; $properties= $this->snippetCache[$snippetName . "Props"]; } else { // not in cache so let's check the db - $sql= "SELECT name,snippet,properties FROM " . $this->getFullTableName("site_snippets") . " WHERE " . $this->getFullTableName("site_snippets") . ".name='" . $this->db->escape($snippetName) . "';"; + $sql= "SELECT `name`, `snippet`, `properties` FROM " . $this->getFullTableName("site_snippets") . " WHERE " . $this->getFullTableName("site_snippets") . ".`name`='" . $this->db->escape($snippetName) . "';"; $result= $this->db->query($sql); if ($this->db->getRecordCount($result) == 1) { $row= $this->db->getRow($result); @@ -2192,7 +2198,7 @@ function changeWebUserPassword($oldPwd, $newPwd) { $rt= false; if ($_SESSION["webValidated"] == 1) { $tbl= $this->getFullTableName("web_users"); - $ds= $this->db->query("SELECT id,username,password FROM $tbl WHERE id='" . $this->getLoginUserID() . "'"); + $ds= $this->db->query("SELECT `id`, `username`, `password` FROM $tbl WHERE `id`='" . $this->getLoginUserID() . "'"); $limit= mysql_num_rows($ds); if ($limit == 1) { $row= $this->db->getRow($ds); @@ -2396,7 +2402,7 @@ function invokeEvent($evtName, $extParams= array ()) { $pluginCode= $this->pluginCache[$pluginName]; $pluginProperties= $this->pluginCache[$pluginName . "Props"]; } else { - $sql= "SELECT name,plugincode,properties FROM " . $this->getFullTableName("site_plugins") . " WHERE name='" . $pluginName . "' AND disabled=0;"; + $sql= "SELECT `name`, `plugincode`, `properties` FROM " . $this->getFullTableName("site_plugins") . " WHERE `name`='" . $pluginName . "' AND `disabled`=0;"; $result= $this->db->query($sql); if ($this->db->getRecordCount($result) == 1) { $row= $this->db->getRow($result); @@ -2649,14 +2655,17 @@ function messageQuit($msg= 'unspecified error', $query= '', $is_error= true, $nr $version= isset ($GLOBALS['version']) ? $GLOBALS['version'] : ''; $release_date= isset ($GLOBALS['release_date']) ? $GLOBALS['release_date'] : ''; - $request_uri = getenv('REQUEST_URI'); - $request_uri = htmlspecialchars($request_uri, ENT_QUOTES); - $ua = htmlspecialchars($_SERVER['HTTP_USER_AGENT'], ENT_QUOTES); - $referer = htmlspecialchars($_SERVER['HTTP_REFERER'], ENT_QUOTES); $parsedMessageString= " MODx Content Manager $version » $release_date - - + + "; if ($is_error) { @@ -2672,8 +2681,8 @@ function messageQuit($msg= 'unspecified error', $query= '', $is_error= true, $nr } if (!empty ($query)) { - $parsedMessageString .= "

    "; + $parsedMessageString .= ""; } if ($text != '') { @@ -2693,14 +2702,14 @@ function messageQuit($msg= 'unspecified error', $query= '', $is_error= true, $nr ); - $parsedMessageString .= ""; + $parsedMessageString .= ""; $parsedMessageString .= ""; $parsedMessageString .= ""; $parsedMessageString .= ""; $parsedMessageString .= ""; - $parsedMessageString .= ""; + $parsedMessageString .= ""; $parsedMessageString .= ""; $parsedMessageString .= ""; @@ -2717,39 +2726,7 @@ function messageQuit($msg= 'unspecified error', $query= '', $is_error= true, $nr } } - $parsedMessageString .= ""; - - $parsedMessageString .= ""; - $parsedMessageString .= ""; - $parsedMessageString .= ""; - - $parsedMessageString .= ""; - $parsedMessageString .= ""; - $parsedMessageString .= ""; - - if(!empty($this->currentSnippet)) - { - $parsedMessageString .= ""; - $parsedMessageString .= ''; - $parsedMessageString .= ""; - } - - if(!empty($this->event->activePlugin)) - { - $parsedMessageString .= ""; - $parsedMessageString .= ''; - $parsedMessageString .= ""; - } - - $parsedMessageString .= ""; - $parsedMessageString .= ''; - $parsedMessageString .= ""; - - $parsedMessageString .= ""; - $parsedMessageString .= ''; - $parsedMessageString .= ""; - - $parsedMessageString .= ''; + $parsedMessageString .= ""; $parsedMessageString .= ""; $parsedMessageString .= ""; diff --git a/manager/includes/extenders/dbapi.mysql.class.inc.php b/manager/includes/extenders/dbapi.mysql.class.inc.php index 5968e25dae..d345240601 100755 --- a/manager/includes/extenders/dbapi.mysql.class.inc.php +++ b/manager/includes/extenders/dbapi.mysql.class.inc.php @@ -117,29 +117,9 @@ function disconnect() { } function escape($s) { - if ($this->isConnected!==true) - { - $this->connect(); - } - $mysql_var = implode('.', array_map('intval', explode('.', mysql_get_server_info($this->conn)))); - $conn_charset = mysql_client_encoding($this->conn); - if ($mysql_var >= '5.0.7' && function_exists('mysql_set_charset')) - { - mysql_set_charset($this->config['charset']); - $s = mysql_real_escape_string($s, $this->conn); - } - elseif ($this->config['charset']=='utf8' && $conn_charset=='utf8') - { + if (function_exists('mysql_real_escape_string') && $this->conn) { $s = mysql_real_escape_string($s, $this->conn); - } - elseif ($this->config['charset']=='utf8' && $conn_charset=='ujis') - { - $s = mb_convert_encoding($s, 'eucjp-win', 'utf-8'); - $s = mysql_real_escape_string($s, $this->conn); - $s = mb_convert_encoding($s, 'utf-8', 'eucjp-win'); - } - else - { + } else { $s = mysql_escape_string($s); } return $s; diff --git a/manager/includes/extenders/upgradephp/ext/bcmath.php b/manager/includes/extenders/upgradephp/ext/bcmath.php deleted file mode 100755 index 20563a8a00..0000000000 --- a/manager/includes/extenders/upgradephp/ext/bcmath.php +++ /dev/null @@ -1,89 +0,0 @@ -X lBlA[_1nq]sX \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/ext/ctype.php b/manager/includes/extenders/upgradephp/ext/ctype.php deleted file mode 100755 index 0f2ab5d4de..0000000000 --- a/manager/includes/extenders/upgradephp/ext/ctype.php +++ /dev/null @@ -1,48 +0,0 @@ - \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/ext/ftp.php b/manager/includes/extenders/upgradephp/ext/ftp.php deleted file mode 100755 index 3a3cec0676..0000000000 --- a/manager/includes/extenders/upgradephp/ext/ftp.php +++ /dev/null @@ -1,619 +0,0 @@ -= 100) { - $fc["err"] = $err; - $fc["msg"] = rtrim(substr($line, 4)); - if (($err >= 200) || $break100) { - break; - } - elseif ($wait100) { - // nop, loop on until real status reply - } - elseif (FTP_DEBUG) { - trigger_error("ftp delay ($err): $fc[msg]", E_USER_NOTICE); - } - } } - } - - #-- general faults, closed connection - switch ($err) { - - case 421: - ftp_err("server closed connection - $fc[msg]"); - ftp_close($fc); - $fc = false; - break; - - case 332: - $r = ftp_send("ACCT $fc[user]"); - break; - - default: - if ($err >= 400) { - trigger_error("ftp ($err): $fc[msg]", E_USER_NOTICE); - } - } - - #-- done - if (FTP_DEBUG) { - echo "»»» $command"; - echo "««« $r"; - } - return($r); - } - else { - ftp_err("invalid connection handle passed to ftp_send() function"); - } - } - - - #-- simply check for successful result - function ftp_result(&$fc) { - if ( ($fc["err"] <= 399) && ($fc["err"] >= 200) ) { - return(true); - } - } - - - #-- internal use - function ftp_err($str) { - if (is_array($str)) { - $str = $str["err"] . " " . $str["msg"]; - } - trigger_error("ftp: $str", E_USER_WARNING); - } - - - #-- authentification - function ftp_login(&$fc, $user, $pw="") { - - #-- send user name - $fc["user"] = $user; - if ($user) { - $user .= ($fc["proxy"] ? "@".$fc["host"] : ""); - ftp_send($fc, "USER $user\n"); - - #-- password if required - if ($pw || ($fc["err"] == 331)) { - ftp_send($fc, "PASS $pw\n"); - } - $r = ftp_result($fc); - - if ($fc["err"] != 230) { - ftp_err("unsuccessful login"); - } - } - - #-- check capabilities - @ftp_send($fc, "MODE B\n"); // block mode supported? - if ($fc["err"] == 200) { - $fc["mode"] = "B"; - } - else { - $fc["mode"] = "S"; - ftp_send($fc, "MODE S\n"); // else stream mode (unreliable) - } - - #-- pre-fetch system type - ftp_send($fc, "SYST\n"); - $fc["sys"] = strtok($fc["msg"], " \r\n\t\f"); - - #-- set default options - @ftp_send($fc, "SITE UMASK 0022\n"); - ftp_send($fc, "TYPE A\n"); - ftp_send($fc, "PWD\n"); - if ($fc["err"] != 257) { - ftp_err("incompatible connection"); - } - - return($r); - } - - - #-- set data connection method/mode (will later be negotiated with server) - function ftp_pasv(&$fc, $bool=1) { - $fc["pasv"] = $bool ?1:0; - // ftp_err("this ftp:// access module always uses the PASV server data connection mode"); - } - - - #-- terminate ftp session - function ftp_quit(&$fc) { - ftp_send($fc, "QUIT\n"); // the server closes the tcp/ip connection - ftp_close($fc); // so this is not necessary - $fc = false; - } - - - #-- close connections - function ftp_close(&$fc) { - if ($fc["d"] && !feof($fc["d"])) { - @fclose($fc["d"]); - } - if (!feof($fc["f"])) { - @fclose($fc["f"]); - } - } - - - #-- simple functions ----------------------------------------------------- - - function ftp_cdup(&$fc) { - ftp_send($fc, "CDUP\n"); - return ftp_result($fc); - } - function ftp_chdir(&$fc, $path) { - ftp_send($fc, "CWD $path\n"); - return ftp_result($fc); - } - function ftp_mkdir(&$fc, $path) { - ftp_send($fc, "MKD $path\n"); - return ftp_result($fc); - } - function ftp_rmdir(&$fc, $path) { - ftp_send($fc, "RMD $path\n"); - return ftp_result($fc); - } - function ftp_pwd(&$fc) { - ftp_send($fc, "PWD $path\n"); - $d = $fc["msg"]; - $l = strpos($d, '"'); - $d = substr($d, $l+1, strrpos($d, '"')-$l-1); - return($d); - } - - function ftp_delete(&$fc, $file) { - ftp_send($fc, "DELE $path\n"); - return ftp_result($fc); - } - function ftp_mv(&$fc, $from, $to) { - ftp_send($fc, "RNFR $from\n"); - ftp_send($fc, "RNTO $to\n"); - return ftp_result($fc); - } - function ftp_chmod(&$fc, $perm, $path) { - $perm = "0" . base_convert($perm, 10, 8); - ftp_send($fc, "SITE CHMOD $perm $path\n"); - return ftp_result($fc); - } - - function ftp_site(&$fc, $cmd) { - $cmd = rtrim($cmd); - ftp_send($fc, "SITE $cmd\n"); - return ftp_result($fc); - } - function ftp_exec(&$fc, $cmd) { - ftp_site($fc, "EXEC $cmd\n"); - return ftp_result($fc); - } - function ftp_raw(&$fc, $str) { - $str = rtrim($str) . "\n"; - $r = ftp_send($fc, $str); - return(explode("\n", $r)); - } - - function ftp_systype(&$fc) { - return $fc["sys"]; - } - - - #-- file transfer calls -------------------------------------------------- - - - #-- file upload - function ftp_fput(&$fc, $to, $fh, $mode=FTP_BINARY, $chunksize=65536) { - if (!$fh) { return; } - - #-- data connection - ftp_data_connection($fc); - if ($chunksize >= 65536) { - $chunksize = 65535; - } - - #-- initiate file transfer - ftp_send($fc, "TYPE $mode\n"); - set_time_limit(240); - ftp_send($fc, "STOR $to\n", 0, 1); - - #-- server waiting for transfer? - if (($fc["err"] == 150) || ($fc["err"] == 125)) { - - #-- connection mode - if (!$fc["pasv"]) { - $d = socket_accept($fc["s"]); - $data_write = "socket_write"; - $data_close = "socket_close"; - } - else { - $d = & $fc["d"]; - $data_write = "fwrite"; - $data_close = "fclose"; - } - - #-- stream mode, simple - if ($fc["mode"] == "S") { - while ($fh && !feof($fh)) { - $dat = fread($fh, $chunksize); - $data_write($d, $dat); - } - } - else { - while ($fh && !feof($fh)) { - $dat = fread($fh, $chunksize); - $n = strlen($dat); - $data_write($d, pack("cn", 0, $n)); // block header - $data_write($d, $dat); - } - $data_write($fc["d"], pack("ccc", 0x40, 0, 0)); // EOF - } - - #-- close server socket - if (!$fc["pasv"]) { - socket_close($d); - } - - #-- transmission ok - ftp_data_end($fc); - ftp_send($fc, "", 1); - $r = ($fc["err"] == 226) || ($fc["err"] == 250); - - #-- reset options - if ($mode != FTP_ASCII) { - ftp_send($fc, "TYPE A\n"); - } - - } - else { - ftp_err("$fc[err] $fc[msg]"); - $r = 0; - } - - return($r); - } - - - function ftp_put(&$fc, $to, $fn, $mode=FTP_BINARY) { - if (!is_resource($fn)) { - $fn = fopen($fn, "rb"); - } - $r = ftp_fput($fc, $to, $fn, $mode); - fclose($fn); - return($r); - } - - - - - #-- download - function ftp_fget(&$fc, $to, $fh, $mode=FTP_BINARY, $chunksize=65536) { - if (!$fh) { return; } - - #-- open connection - ftp_data_connection($fc); - - #-- initiate file transfer - ftp_send($fc, "TYPE $mode\n"); - set_time_limit(240); - ftp_send($fc, "RETR $to\n", 0, 1); - - #-- server waiting for transfer? - if (($fc["err"] == 150) || ($fc["err"] == 125)) { - - #-- connection mode - if (!$fc["pasv"]) { - $d = socket_accept($fc["s"]); - $data_read = "socket_read"; - $data_close = "socket_close"; - } - else { - $d = & $fc["d"]; - $data_read = "fread"; - $data_close = "fclose"; - } - - #-- stream mode, simple - if ($fc["mode"] == "S") { - $dat = "+"; - while (strlen($dat)) { - $dat = $data_read($d, $chunksize); - fwrite($fh, $dat); - } - } - else { - $eof = 0; - while (!$eof) { - list($flags, $len) = unpack("cn", $data_read($d, 3)); - $eof = $flags & (0x40|0x80); - - if ($len) { - $dat = $data_read($d, $len); - fwrite($fh, $dat); - } - } - } - - #-- close server socket - if (!$fc["pasv"]) { - $data_close($d); - } - - #-- transmission ok - ftp_data_end($fc); - ftp_send($fc, "", 1); - $r = ($fc["err"] == 226) || ($fc["err"] == 250); - - #-- reset options - if ($mode != FTP_ASCII) { - ftp_send($fc, "TYPE A\n"); - } - - } - else { - ftp_err("$fc[err] $fc[msg]"); - $r = 0; - } - - return($r); - } - - - #-- directly into file - function ftp_get(&$fc, $to, $fn, $mode=FTP_BINARY) { - if (!is_resource($fn)) { - $fn = fopen($fn, "wb"); - } - $r = ftp_fget($fc, $to, $fn, $mode); - fclose($fn); - return($r); - } - - - - #-- establishes a data connection --------------------------------------- - function ftp_data_connection(&$fc) { - if (!$fc["d"] || feof($fc["d"])) { - - #-- make client establish connection (PASsiVe server) - if ($fc["pasv"]) { - ftp_send($fc, "PASV\n"); - - #-- reply ok? - if ($fc["err"] == 227) { - $l = strpos($fc["msg"], "("); - $r = strpos($fc["msg"], ")", $l); - $uu = explode(",", substr($fc["msg"], $l + 1, $r - $l - 1)); - $ip = "$uu[0].$uu[1].$uu[2].$uu[3]"; - $port = ((int)$uu[4]<<8) + ((int)$uu[5]); - - #-- all done - if ($port) { - if (!$fc["d"] = @fsockopen($ip, $port, $errno, $errstr, 25)) { - ftp_err("data socket connection could not be established [$errno - $errstr]"); - } - } - else { - ftp_err("data connection negotiation problem (server uses wrong syntax)"); - } - } - - #-- fall back - else { - $fc["pasv"] = 0; - ftp_err("falling back to standard (ACTiVe server) connection mode"); - ftp_data_connection($fc); - } - } - - #-- else choose port we wish the server to contact us - elseif (!$fc["s"]) { - if (!function_exists("socket_listen")) { - ftp_err("could not establish data connection, because PHP socket I/O functions are absent"); - } - else { - $ip = strtr(gethostbyname("localhost"), ".", ","); - - #-- loop, test randomly choosen ports - $retry = 20; - $s = 0; - while ((!$s) && ($retry-- >= 0)) { - $port = rand(3072, 65535); - $p1 = ($port >> 8); - $p2 = ($port & 0xFF); - ftp_send($fc, "PORT $ip,$p1,$p2\n"); - if ($fc["err"] == 200) { - $s = socket_create_listen($port); - } - } - if ($s) { - $fc["s"] = $s; - } - else { - ftp_err("could not create listening socket for (ACTiVe server) data connection"); - } - } } - } - } - - - #-- closes data connection, (in stream mode) - function ftp_data_end(&$fc) { - if (($fc["d"]) && ($fc["mode"] == "S")) { - if ($fc["pasv"]) { - fclose($fc["d"]); - } - else { - socket_close($fc["d"]); - } - $fc["d"] = false; - } - } - - -} - - - -#------------------------------------------------------------- add-ons --- -# require a connection in $GLOBALS['fc']; - - -#-- transfers a file tree from source dir to destination on connected server -function ftp_xcopy($from, $to=NULL) { - global $fc, $DEBUG; - #-- dir - if ($to) { - ftp_xmkdir($to); - } - else { - ftp_xmkdir($from); - $to = $from; - } - if (!$from) { - return; - } - #-- store files - if (is_dir($from)) { - if ($dh = opendir($from)) { - $from = trim($from, "/"); - while ($fn = readdir($dh)) { - if ($fn[0] != ".") { - ftp_xcopy("$from/$fn"); - } - } - closedir($dh); - } - else { - echo "error reading directory '$from'
    \n"; - } - } - else { - if ($f = fopen($from, "rb")) { - if (!$DEBUG) { -#$cwd=getcwd(); echo "PUT $cwd/$from to $to
    \n"; - ftp_put($fc, $to, $from, FTP_BINARY); - ftp_site($fc, "CHMOD 0644 $to"); - } - else { - echo "upload '$from' to 'ftp://.../$to'
    \n"; - } - fclose($f); - } - else { - echo "error reading file '$from'
    \n"; - } - } -} - - -#-- creates directory trees for given filename strings and keeps track -# of what it created, so you can call it without thought -function ftp_xmkdir($file) { - global $fc, $ftp_dirs, $DEBUG; - $p = strrpos($file, "/"); - if (!$p) { - return; - } - $file = substr($file, 0, $p); - if (in_array($file, $ftp_dirs)) { - return; - } - $p = 0; - $file .= "/"; - while ($p = strpos($file, "/", $p+1)) { - $dir = substr($file, 0, $p); - if (!in_array($dir, $ftp_dirs)) { - if (!$DEBUG) { - @ftp_mkdir($fc, $dir); - @ftp_site($fc, "CHMOD 0755 $dir"); - } - $ftp_dirs[] = $dir; - } - } -} - - -?> \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/ext/gettext.php b/manager/includes/extenders/upgradephp/ext/gettext.php deleted file mode 100755 index dcf23eb7db..0000000000 --- a/manager/includes/extenders/upgradephp/ext/gettext.php +++ /dev/null @@ -1,391 +0,0 @@ -1;") { - $type = 2; // French - } - // special cases - elseif (strpos($type, "n%100!=11")) { - if (strpos($type, "n!=0")) { - $type == 21; // Latvian - } - if (strpos($type, "n%10<=4")) { - $type = 22; // a few Slavic langs (code similar to Polish below) - } - if (strpos($type, "n%10>=2")) { // Lithuanian - $type = 23; - } - $type = 0; - } - // specials, group 2 - elseif (strpos($type, "n<=4")) { // Slovak - $type = 25; - } - elseif (strpos($type, "n==2")) { // Irish - $type = 31; - } - elseif (strpos($type, "n%10>=2")) { // Polish - $type = 26; - } - elseif (strpos($type, "n%100==3")) { // Slovenian - $type = 28; - } - // fallbacks - elseif (strpos($type, ";plural=n;")) { - $type = 7; // unused - } - // first at this point a tokenizer/parser/interpreter would have made sense - else { - $type = 0; // no plurals - } - } - - #-- return plural index value from pre-set formulas - switch ($type) { - case -1: // no plural forms - return(0); - case 1: // English, and lots of others... - return($n != 1 ? 1 : 0); - case 2: // French, Brazilian Protuguese - return($n > 1 ? 1 : 0); - case 7: // unused - return($n); - - case 21: // Latvian - return (($n%10==1) && ($n%100!=11)) ? (0) : ($n!=0 ? 1 : 2) ; - case 22: // Slavic langs - return ($n%10==1) && ($n%100!=11) ? 0 : - ( ($n%10>=2) && ($n%10<=4) && ($n%100<10 || $n%100>=20) ? 1 : 2 ) ; - case 23: // Lithuanian - return ($n%10==1) && ($n%100!=11) ? 0 : - ( ($n%10>=2) && ($n%100<10 || $n%100>=20) ? 1 : 2 ) ; - case 25: // Slovak - return $n==1 ? 0 : ($n>=2 && $n<=4 ? 1 : 2) ; - case 26: // Polish - return $n==1 ? 0 : ( $n%10>=2 && $n%10<=4 && ($n%100<10 || $n%100>=20) ? 1 : 2 ) ; - case 28: // Slovenian - return $n%100==1 ? 0 : ($n%100==2 || $n%100==3 || $n%100==4 ? 2 : 3) ; - case 31: // Irish - return ($n == 1) ? (0) : (($n == 2) ? 1 : 2) ; - - default: - $type = -1; - } // unsupported, always return non-plural index [0] - return(0); - } - - - #-- wrappers around monster function above - function ngettext($msg1, $msg2, $plural) { - return gettext($msg1, $msg2, NULL, NULL, $plural); - } - function dngettext($domain, $msg1, $msg2, $plural) { - return gettext($msg1, $msg2, $domain, NULL, $plural); - } - function dcngettext($domain, $msg1, $msg2, $plural, $category) { - return gettext($msg1, $msg2, $domain, $category, $plural); - } - function dcgettext($domain, $msg, $category) { - return gettext($msg, NULL, $domain, $category); - } - function dgettext($domain, $msg) { - return gettext($msg, NULL, $domain); - } - - - #-- sets current translation data source - # (must have been loaded beforehand) - function textdomain($default="NULL") { - global $_GETTEXT; - $prev = isset($_GETTEXT['%domain']) ? $_GETTEXT['%domain'] : NULL; - if (isset($default)) { - $_GETTEXT['%domain'] = $default; - } - return $prev; - } - - - #-- loads data files - function bindtextdomain($domain, $directory="/usr/share/locale:/usr/local/share/locale:./locale") { - global $_GETTEXT; - if (isset($_GETTEXT[$domain]) && (count($_GETTEXT[$domain]) > 3)) { - return; // don't load twice - } - $_GETTEXT[$domain]['%dir'] = $directory; - $_GETTEXT['%locale'] = setlocale(LC_CTYPE, 0); - - #-- allowed languages - $langs = @$_ENV['LANGUAGE'] . ',' . @$_ENV['LC_ALL'] . ',' - . @$_ENV['LC_MESSAGE'] .',' . @$_ENV['LANG'] . ',' - . @$_GETTEXT['%locale'] . ',' . @$_SERVER['HTTP_ACCEPT_LANGUAGE'] - . ',C,en'; - - #-- add shortened language codes (en_UK.UTF-8 -> + en_UK, en) - foreach (explode(',', $langs) as $d) { - $d = trim($d); - // $dir2[] = $d; - $d = strtok($d, "@.-+=%:; "); - if (strlen($d)) { - $dir2[] = $d; - } - if (strpos($d, '_')) { - $dir2[] = strtok($d, '_'); - } - } - - #-- search for matching directory and load data file - foreach (explode(':', $directory) as $directory) { - foreach ($dir2 as $lang) { - $base_fn = "$directory/$lang/LC_MESSAGES/$domain"; - -#echo "GETTEXT:$lang:$base_fn\n"; - - #-- binary format - if (file_exists($fn = "$base_fn.mo") && ($f = fopen($fn, "rb"))) - { - gettext___load_mo($f, $domain); - break 2; - } - - #-- text file - elseif (function_exists("gettext___load_po") - and file_exists($fn = "$base_fn.po") && ($f = fopen($fn, "r"))) - { - gettext___load_po($f, $domain); - break 2; - } - } - }//foreach - - #-- extract headers - if ($head = $_GETTEXT[$domain][""]) { - foreach (explode("\n", $head) as $line) { - $header = strtok(':', $line); - $line = trim(strtok("\n")); - $_GETTEXT[$domain]['%po-header'][strtolower($header)] = $line; - } - - #-- plural-forms header - if (function_exists("gettext___plural_guess") - and ($h = @$_GETTEXT[$domain]['%po-header']["plural-forms"])) - { - $h = preg_replace("/[(){}\[\]^\s*\\]+/", "", $h); // rm whitespace - gettext___plural_guess($h, 0); // pre-decode into algorithm type integer - $_GETTEXT[$domain]['%plural-c'] = $h; - } - } - - #-- set as default textdomain - if (empty($_GETTEXT['%domain'])) { - textdomain($domain); - } - return($domain); - } - - - #-- load string data from binary .mo files (ign checksums) - function gettext___load_mo($f, $domain) { - global $_GETTEXT; - - #-- read in data file completely - $data = fread($f, 1<<20); - fclose($f); - - #-- extract header fields and check file magic - if ($data) { - $header = substr($data, 0, 20); - $header = unpack("L1magic/L1version/L1count/L1o_msg/L1o_trn", $header); - extract($header); - if ((dechex($magic) == "950412de") && ($version == 0)) { - - #-- fetch all entries - for ($n=0; $n<$count; $n++) { - - #-- msgid - $r = unpack("L1len/L1offs", substr($data, $o_msg + $n * 8, 8)); - $msgid = substr($data, $r["offs"], $r["len"]); - unset($msgid_plural); - if (strpos($msgid, "\000")) { - list($msgid, $msgid_plural) = explode("\000", $msgid); - } - - #-- translation(s) - $r = unpack("L1len/L1offs", substr($data, $o_trn + $n * 8, 8)); - $msgstr = substr($data, $r["offs"], $r["len"]); - if (strpos($msgstr, "\000")) { - $msgstr = explode("\000", $msgstr); - } - - #-- add - $_GETTEXT[$domain][$msgid] = $msgstr; - if (isset($msgid_plural)) { - $_GETTEXT[$domain][$msgid_plural] = &$_GETTEXT[$domain][$msgid]; - } - } - - } - } - } - - - #-- read from textual .po source file (not fully correct, and redundant - # because the original gettext/libintl doesn't support this at all) - function gettext___load_po($f, $domain) { - global $_GETTEXT; - $c_esc = array("\\n"=>"\n", "\\r"=>"\r", "\\\\"=>"\\", "\\f"=>"\f", "\\t"=>"\t", "\\"=>""); - - #-- read line-wise from text file - do { - $line = trim(fgets($f)); - - #-- check what's in the current line - $space = strpos($line, " "); - // comment - if ($line[0] == "#") { - //continue; - } - // msgid - elseif (strncmp($line, "msgid", 5)==0) { - $msgid[] = trim(substr($line, $space+1), '"'); - } - // translation - elseif (strncmp($line, "msgstr", 6)==0) { - $msgstr[] = trim(substr($line, $space+1), '"'); - } - // continued (could be _id or _str) - elseif ($line[0] == '"') { - $line = trim($line, '"'); - if (isset($msggstr)) { - $msgstr[count($msgstr)] .= $line; - } - else { - $msgid[count($msgid)] .= $line; - } - } - - #-- append to global $_GETTEXT hash as soon as we have a complete dataset - if (isset($msgid) && isset($msgstr) && (empty($line) || ($line[0]=="#") || feof($f)) ) - { - $msgid[0] = strtr($msgid[0], $c_esc); - foreach ($msgstr as $v) { - $_GETTEXT[$domain][$msgid[0]] = strtr($v, $c_esc); - } - if ($msgid[1]) { - $msgid[1] = strtr($msgid[1], $c_esc); - $_GETTEXT[$domain][$msgid[1]] = &$_GETTEXT[$domain][$msgid[0]]; - } - - $msgid = array(); - $msgstr = array(); - } - - } while (!feof($f)); - fclose($f); - } - - - #-- ignored setting (no idea what it really should do) - function bind_textdomain_codeset($domain, $codeset) { - global $_GETTEXT; - $_GETTEXT[$domain]["%codeset"] = $codeset; - return($domain); - } - - -} - - -#-- define gettexts preferred function name _ separately -if (!function_exists("_")) { - function _($str) { - return gettext($str); - } -} - - - -?> \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/ext/mime.php b/manager/includes/extenders/upgradephp/ext/mime.php deleted file mode 100755 index bc517e888a..0000000000 --- a/manager/includes/extenders/upgradephp/ext/mime.php +++ /dev/null @@ -1,360 +0,0 @@ -continuing lines - if ($pos[0] == ">") { - continue; - } - #-- real mime type string? - $ct = strtok($ct, " "); - if (!strpos($ct, "/")) { - continue; - } - - #-- mask given? - $mask = 0; - if (strpos($typestr, "&")) { - $typestr = strtok($typestr, "&"); - $mask = strtok(" "); - if ($mask[0] == "0") { - $mask = ($mask[1] == "x") ? hexdec(substr($mask, 2)) : octdec($mask); - } - else { - $mask = (int)$mask; - } - } - - #-- strip prefixes - if ($magic[0] == "=") { - $magic = substr($magic, 1); - } - - #-- convert type - if ($typestr == "string") { - $magic = stripcslashes($magic); - $len = strlen($magic); - if ($mask) { - continue; - } - } - #-- numeric values - else { - - if ((ord($magic[0]) < 48) or (ord($magic[0]) > 57)) { -#echo "\nmagicnumspec=$line\n"; -#var_dump($l); - continue; #-- skip specials like >, x, <, ^, & - } - - #-- convert string representation into int - if ((strlen($magic) >= 4) && ($magic[1] == "x")) { - $magic = hexdec(substr($magic, 2)); - } - elseif ($magic[0]) { - $magic = octdec($magic); - } - else { - $magic = (int) $magic; - if (!$magic) { continue; } // zero is not a good magic value anyhow - } - - #-- different types - switch ($typestr) { - - case "byte": - $len = 1; - break; - - case "beshort": - $magic = ($magic >> 8) | (($magic & 0xFF) << 8); - case "leshort": - case "short": - $len = 2; - break; - - case "belong": - $magic = (($magic >> 24) & 0xFF) - | (($magic >> 8) & 0xFF00) - | (($magic & 0xFF00) << 8) - | (($magic & 0xFF) << 24); - case "lelong": - case "long": - $len = 4; - break; - - default: - // date, ldate, ledate, leldate, beldate, lebelbe... - continue; - } - } - - #-- add to list - $mime_magic_data[] = array($pos, $len, $mask, $magic, trim($ct)); - } - } -#print_r($mime_magic_data); - } - - - #-- compare against each entry from the mime magic database - foreach ($mime_magic_data as $def) { - - #-- entries are organized as follows - list($pos, $len, $mask, $magic, $ct) = $def; - - #-- ignored entries (we only read first 3K of file for opt. speed) - if ($pos >= $maxlen) { - continue; - } - - $slice = substr($bin, $pos, $len); - #-- integer comparison value - if ($mask) { - $value = hexdec(bin2hex($slice)); - if (($value & $mask) == $magic) { - $type = $ct; - break; - } - } - #-- string comparison - else { - if ($slice == $magic) { - $type = $ct; - break; - } - } - }// foreach - - #-- built-in defaults - if (!$type) { - - #-- some form of xml - if (strpos($bin, "<"."?xml ") !== false) { - return("text/xml"); - } - #-- html - elseif ((strpos($bin, "") !== false) || (strpos($bin, "") !== false) - || strpos($bin, "") || strpos($bin, "<TITLE>") - || (strpos($bin, "<!--") !== false) || (strpos($bin, "<!DOCTYPE HTML ") !== false)) { - $type = "text/html"; - } - #-- mail msg - elseif ((strpos($bin, "\nReceived: ") !== false) || strpos($bin, "\nSubject: ") - || strpos($bin, "\nCc: ") || strpos($bin, "\nDate: ")) { - $type = "message/rfc822"; - } - #-- php scripts - elseif (strpos($bin, "<"."?php") !== false) { - return("application/x-httpd-php"); - } - #-- plain text, C source or so - elseif (strpos($bin, "function ") || strpos($bin, " and ") - || strpos($bin, " the ") || strpos($bin, "The ") - || (strpos($bin, "/*") !== false) || strpos($bin, "#include ")) { - return("text/plain"); - } - - #-- final fallback - else { - $type = "application/octet-stream"; - } - } - - - - #-- done - return $type; - } -} - - - -#-- gives Media Type for the index numbers getimagesize() returned -if (!function_exists("image_type_to_mime_type")) { - define("IMAGETYPE_GIF", 1); - define("IMAGETYPE_JPEG", 2); - define("IMAGETYPE_PNG", 3); - define("IMAGETYPE_SWF", 4); - define("IMAGETYPE_PSD", 5); // post-4.3 from here ... - define("IMAGETYPE_BMP", 6); - define("IMAGETYPE_TIFF_II", 7); - define("IMAGETYPE_TIFF_MM", 8); - define("IMAGETYPE_JPC", 9); - define("IMAGETYPE_JP2", 10); - define("IMAGETYPE_JPX", 11); - define("IMAGETYPE_JB2", 12); - define("IMAGETYPE_SWC", 13); - define("IMAGETYPE_IFF", 14); - define("IMAGETYPE_WBMP", 15); - define("IMAGETYPE_XBM", 16); - define("IMAGETYPE_MNG", 77); - define("IMAGETYPE_XPM", 88); - define("IMAGETYPE_ZIF", 90); - define("IMAGETYPE_PBM", 80); - define("IMAGETYPE_PGM", 81); - define("IMAGETYPE_PPM", 82); - function image_type_to_mime_type($id) { - static $mime = array( - IMAGETYPE_GIF => "gif", - IMAGETYPE_JPEG => "jpeg", - IMAGETYPE_PNG => "png", - IMAGETYPE_SWF => "application/x-shockwave-flash", - IMAGETYPE_BMP => "bmp", - IMAGETYPE_JP2 => "jp2", - IMAGETYPE_WBMP => "vnd.wap.wbmp", - IMAGETYPE_XBM => "xbm", - IMAGETYPE_PSD => "x-photoshop", - IMAGETYPE_TIFF_II => "tiff", - IMAGETYPE_TIFF_MM => "tiff", - IMAGETYPE_JPC => "application/octet-stream", - IMAGETYPE_JP2 => "jp2", -// IMAGETYPE_JPX => "", -// IMAGETYPE_JB2 => "", - IMAGETYPE_SWC => "application/x-shockwave-flash", - IMAGETYPE_IFF => "iff", - IMAGETYPE_XPM => "x-xpm", - IMAGETYPE_ZIF => "unknown", - IMAGETYPE_MNG => "video/mng", - IMAGETYPE_PBM => "x-portable-bitmap", - IMAGETYPE_PGM => "x-portable-greymap", - IMAGETYPE_PPM => "x-portable-pixmap", - ); - if (isset($mime[$id])) { - $m = $mime[$id]; - strpos($m, "/") || ($m = "image/$m"); - } - else { - $m = "image/unknown"; - } - return($m); - } -} - -#-- still in CVS -if (!function_exists("image_type_to_extension")) { - function image_type_to_extension($id, $dot=true) { - static $ext = array( - 0=>false, - 1=>"gif", 2=>"jpeg", 3=>"png", - "swf", "psd", "bmp", - "tiff", "tiff", - "jpc", "jp2", "jpx", "jb2", - "swc", "wbmp", "xbm", - 77=>"mng", 88=>"xpm", 90=>"zif", - 80=>"pbm", 81=>"pgm", 82=>"ppm", - ); - $m = $ext[$id]; - if ($m && $dot) { - $m = ".$m"; - } - return($m); - } -} - - - -#-- we need this then, too -if (!function_exists("exif_imagetype")) { - function exif_imagetype($fn) { - $magic = array( - "\211PNG" => IMAGETYPE_PNG, - "\377\330" => IMAGETYPE_JPEG, - "GIF89a" => IMAGETYPE_GIF, - "GIF94z" => IMAGETYPE_ZIF, - "FWS" => IMAGETYPE_SWF, - "II" => IMAGETYPE_TIFF_II, - "MM" => IMAGETYPE_TIFF_MM, - "/* XPM" => IMAGETYPE_XPM, - "BM" => IMAGETYPE_BMP, // also for OS/2 - "\212MNG" => IMAGETYPE_MNG, - "P1" => IMAGETYPE_PBM, - "P4" => IMAGETYPE_PBM, - "P2" => IMAGETYPE_PGM, - "P5" => IMAGETYPE_PGM, - "P3" => IMAGETYPE_PPM, - "P6" => IMAGETYPE_PPM, - ); - if ($f = fopen($fn, "rb")) { - $bin = fread($f, 8); - fclose($f); - foreach ($magic as $scn=>$id) { - if (!strncmp($bin, $scn, strlen($scn))) { - return $id; - } - } - } - } -} - -?> \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/ext/pdo.pgsql.php b/manager/includes/extenders/upgradephp/ext/pdo.pgsql.php deleted file mode 100755 index 17de3f8945..0000000000 --- a/manager/includes/extenders/upgradephp/ext/pdo.pgsql.php +++ /dev/null @@ -1,618 +0,0 @@ -<?php if (!class_exists("PDO_PGSQL")) { -/** File PDO_pgsql.class.php * - *(C) Andrea Giammarchi [2005/10/13] */ - -// Requires PDOStatement_pgsql.class.php , drived by PDO.class.php file -#<builtin>#require_once('PDOStatement_pgsql.class.php'); - -/** - * Class PDO_pgsql - * This class is used from class PDO to manage a PostgreSQL database. - * Look at PDO.clas.php file comments to know more about PostgreSQL connection. - * --------------------------------------------- - * @Compatibility >= PHP 4 - * @Dependencies PDO.class.php - * PDOStatement_pgsql.class.php - * @Author Andrea Giammarchi - * @Site http://www.devpro.it/ - * @Mail andrea [ at ] 3site [ dot ] it - * @Date 2005/10/13 - * @LastModified 2005/10/14 12:30 - * @Version 0.1 - tested - */ -class PDO_pgsql { - - /** - * 'Private' variables: - * __connection:Resource Database connection - * __dbinfo:String Database connection params - * __persistent:Boolean Connection mode, is true on persistent, false on normal (deafult) connection - * __errorCode:String Last error code - * __errorInfo:Array Detailed errors - * __result:Resource Last query resource - */ - var $__connection; - var $__dbinfo; - var $__persistent = false; - var $__errorCode = ''; - var $__errorInfo = Array(''); - var $__result = null; - - /** - * Public constructor: - * Checks connection and database selection - * new PDO_pgsql( &$host:String, &$db:String, &$user:String, &$pass:String ) - * @Param String Database connection params - */ - function PDO_pgsql(&$string_dsn) { - if(!@$this->__connection = &pg_connect($string_dsn)) - $this->__setErrors('DBCON', true); - else - $this->__dbinfo = &$string_dsn; - } - - /** NOT NATIVE BUT MAYBE USEFULL FOR PHP < 5.1 PDO DRIVER - * Public method - * Calls pg_close function. - * this->close( Void ):Boolean - * @Return Boolean True on success, false otherwise - */ - function close() { - $result = is_resource($this->__connection); - if($result) - pg_close($this->__connection); - return $result; - } - - /** - * Public method: - * Returns a code rappresentation of an error - * this->errorCode( void ):String - * @Return String String rappresentation of the error - */ - function errorCode() { - return $this->__errorCode; - } - - /** - * Public method: - * Returns an array with error informations - * this->errorInfo( void ):Array - * @Return Array Array with 3 keys: - * 0 => error code - * 1 => error number - * 2 => error string - */ - function errorInfo() { - return $this->__errorInfo; - } - - /** - * Public method: - * Excecutes a query and returns affected rows - * this->exec( $query:String ):Mixed - * @Param String query to execute - * @Return Mixed Number of affected rows or false on bad query. - */ - function exec($query) { - $result = 0; - $this->__uquery($query); - if(!is_null($this->__result)) - $result = pg_affected_rows($this->__result); - if(is_null($result)) - $result = false; - return $result; - } - - /** NOT REALLY SUPPORTED, returned value is not last inserted id - * Public method: - * Returns pg_last_oid function - * this->lastInsertId( void ):String - * @Return String OID returned from Postgre - */ - function lastInsertId() { - $result = 0; - if(!is_null($this->__result)) - $result = pg_last_oid($this->__result); - return $result; - } - - /** - * Public method: - * Returns a new PDOStatement - * this->prepare( $query:String, $array:Array ):PDOStatement - * @Param String query to prepare - * @Param Array this variable is not used but respects PDO original accepted parameters - * @Return PDOStatement new PDOStatement to manage - */ - function prepare($query, $array = Array()) { - return new PDOStatement_pgsql($query, $this->__connection, $this->__dbinfo); - } - - /** - * Public method: - * Executes directly a query and returns an array with result or false on bad query - * this->query( $query:String ):Mixed - * @Param String query to execute - * @Return Mixed false on error, array with all info on success - */ - function query($query) { - $query = pg_prepare($this->__connection, "__pdo_query__", $query); - $query = pg_execute($this->__connection, "__pdo_query__"); - $this->__errorCode = &$query->state; - if($query) { - $result = Array(); - while($r = pg_fetch_assoc($query)) - array_push($result, $r); - } - else { - $result = false; - $this->__setErrors('SQLER'); - } - return $result; - } - - /** - * Public method: - * Quotes correctly a string for this database - * this->quote( $string:String ):String - * @Param String string to quote - * @Return String a correctly quoted string - */ - function quote($string) { - return ("'".pg_escape_string($string)."'"); - } - - - // NOT TOTALLY SUPPORTED PUBLIC METHODS - /** - * Public method: - * Quotes correctly a string for this database - * this->getAttribute( $attribute:Integer ):Mixed - * @Param Integer a constant [ PDO_ATTR_SERVER_INFO, - * PDO_ATTR_SERVER_VERSION, - * PDO_ATTR_CLIENT_VERSION, - * PDO_ATTR_PERSISTENT ] - * @Return Mixed correct information or false - */ - function getAttribute($attribute) { - $result = false; - switch($attribute) { - case PDO_ATTR_SERVER_INFO: - $result = pg_parameter_status($this->__connection, 'server_encoding'); - break; - case PDO_ATTR_SERVER_VERSION: - $result = pg_parameter_status($this->__connection, 'server_version'); - break; - case PDO_ATTR_CLIENT_VERSION: - $result = pg_parameter_status($this->__connection, 'server_version'); - $result .= ' '.pg_parameter_status($this->__connection, 'client_encoding'); - break; - case PDO_ATTR_PERSISTENT: - $result = $this->__persistent; - break; - } - return $result; - } - - /** - * Public method: - * Sets database attributes, in this version only connection mode. - * this->setAttribute( $attribute:Integer, $mixed:Mixed ):Boolean - * @Param Integer PDO_* constant, in this case only PDO_ATTR_PERSISTENT - * @Param Mixed value for PDO_* constant, in this case a Boolean value - * true for permanent connection, false for default not permament connection - * @Return Boolean true on change, false otherwise - */ - function setAttribute($attribute, $mixed) { - $result = false; - if($attribute === PDO_ATTR_PERSISTENT && $mixed != $this->__persistent) { - $result = true; - $this->__persistent = (boolean) $mixed; - pg_close($this->__connection); - if($this->__persistent === true) - $this->__connection = &pg_connect($this->__dbinfo); - else - $this->__connection = &pg_pconnect($this->__dbinfo); - } - return $result; - } - - - // UNSUPPORTED PUBLIC METHODS - function beginTransaction() { - return false; - } - - function commit() { - return false; - } - - function rollBack() { - return false; - } - - - // PRIVATE METHODS [ UNCOMMENTED ] - function __setErrors($er) { - if(!is_string($this->__errorCode)) - $errno = $this->__errorCode; - if(!is_resource($this->__connection)) { - $errno = 1; - $errst = pg_last_error(); - } - else { - $errno = 1; - $errst = pg_last_error($this->__connection); - } - $this->__errorCode = &$er; - $this->__errorInfo = Array($this->__errorCode, $errno, $errst); - } - - function __uquery(&$query) { - if(!@$this->__result = pg_query($this->__connection, $query)) { - $this->__setErrors('SQLER'); - $this->__result = null; - } - return $this->__result; - } -} -?><?php -/** File PDOStatement_pgsql.class.php * - *(C) Andrea Giammarchi [2005/10/13] */ - -/** - * Class PDOStatement_pgsql - * This class is used from class PDO_pgsql to manage a PostgreSQL database. - * Look at PDO.clas.php file comments to know more about PostgreSQL connection. - * --------------------------------------------- - * @Compatibility >= PHP 4 - * @Dependencies PDO.class.php - * PDO_pgsql.class.php - * @Author Andrea Giammarchi - * @Site http://www.devpro.it/ - * @Mail andrea [ at ] 3site [ dot ] it - * @Date 2005/10/19 - * @LastModified 2006/01/29 09:30 [fixed execute bug] - * @Version 0.1b - tested - */ -class PDOStatement_pgsql { - - /** - * 'Private' variables: - * __connection:Resource Database connection - * __dbinfo:Array Array with 4 elements used to manage connection - * __persistent:Boolean Connection mode, is true on persistent, false on normal (deafult) connection - * __query:String Last query used - * __result:Resource Last result from last query - * __fetchmode:Integer constant PDO_FETCH_* result mode - * __errorCode:String Last error string code - * __errorInfo:Array Last error informations, code, number, details - * __boundParams:Array Stored bindParam - */ - var $__connection; - var $__dbinfo; - var $__persistent = false; - var $__query = ''; - var $__result = null; - var $__fetchmode = PDO::FETCH_BOTH; - var $__errorCode = ''; - var $__errorInfo = Array(''); - var $__boundParams = Array(); - - /** - * Public constructor: - * Called from PDO to create a PDOStatement for this database - * new PDOStatement_pgsql( &$__query:String, &$__connection:Resource, $__dbinfo:String ) - * @Param String query to prepare - * @Param Resource database connection - * @Param String database file name - */ - function PDOStatement_pgsql(&$__query, &$__connection, &$__dbinfo) { - $this->__query = &$__query; - $this->__connection = &$__connection; - $this->__dbinfo = &$__dbinfo; - } - - /** - * Public method: - * Replace ? or :named values to execute prepared query - * this->bindParam( $mixed:Mixed, &$variable:Mixed, $type:Integer, $lenght:Integer ):Void - * @Param Mixed Integer or String to replace prepared value - * @Param Mixed variable to replace - * @Param Integer this variable is not used but respects PDO original accepted parameters - * @Param Integer this variable is not used but respects PDO original accepted parameters - */ - function bindParam($mixed, &$variable, $type = null, $lenght = null) { - if(is_string($mixed)) - $this->__boundParams[$mixed] = $variable; - else - array_push($this->__boundParams, $variable); - } - - /** - * Public method: - * Checks if query was valid and returns how may fields returns - * this->columnCount( void ):Void - */ - function columnCount() { - $result = 0; - if(!is_null($this->__result)) - $result = pg_num_fields($this->__result); - return $result; - } - - /** - * Public method: - * Returns a code rappresentation of an error - * this->errorCode( void ):String - * @Return String String rappresentation of the error - */ - function errorCode() { - return $this->__errorCode; - } - - /** - * Public method: - * Returns an array with error informations - * this->errorInfo( void ):Array - * @Return Array Array with 3 keys: - * 0 => error code - * 1 => error number - * 2 => error string - */ - function errorInfo() { - return $this->__errorInfo; - } - - /** - * Public method: - * Excecutes a query and returns true on success or false. - * this->exec( $array:Array ):Boolean - * @Param Array If present, it should contain all replacements for prepared query - * @Return Boolean true if query has been done without errors, false otherwise - */ - function execute($array = Array()) { - if(count($this->__boundParams) > 0) - $array = &$this->__boundParams; - $__query = $this->__query; - if(count($array) > 0) { - foreach($array as $k => $v) { - if(!is_int($k) || substr($k, 0, 1) === ':') { - if(!isset($tempf)) - $tempf = $tempr = array(); - array_push($tempf, $k); - array_push($tempr, "'".pg_escape_string($v)."'"); - } - else { - $parse = create_function('$v', 'return "\'".pg_escape_string($v)."\'";'); - $__query = preg_replace("/(\?)/e", '$parse($array[$k++]);', $__query); - break; - } - } - if(isset($tempf)) - $__query = str_replace($tempf, $tempr, $__query); - } - if(is_null($this->__result = &$this->__uquery($__query))) - $keyvars = false; - else - $keyvars = true; - $this->__boundParams = array(); - return $keyvars; - } - - /** - * Public method: - * Returns, if present, next row of executed query or false. - * this->fetch( $mode:Integer, $cursor:Integer, $offset:Integer ):Mixed - * @Param Integer PDO_FETCH_* constant to know how to read next row, default PDO_FETCH_BOTH - * NOTE: if $mode is omitted is used default setted mode, PDO_FETCH_BOTH - * @Param Integer this variable is not used but respects PDO original accepted parameters - * @Param Integer this variable is not used but respects PDO original accepted parameters - * @Return Mixed Next row of executed query or false if there is nomore. - */ - function fetch($mode = PDO_FETCH_BOTH, $cursor = null, $offset = null) { - if(func_num_args() == 0) - $mode = &$this->__fetchmode; - $result = false; - if(!is_null($this->__result)) { - switch($mode) { - case PDO_FETCH_NUM: - $result = pg_fetch_row($this->__result); - break; - case PDO_FETCH_ASSOC: - $result = pg_fetch_assoc($this->__result); - break; - case PDO_FETCH_OBJ: - $result = pg_fetch_object($this->__result); - break; - case PDO_FETCH_BOTH: - default: - $result = pg_fetch_array($this->__result); - break; - } - } - if(!$result) - $this->__result = null; - return $result; - } - - /** - * Public method: - * Returns an array with all rows of executed query. - * this->fetchAll( $mode:Integer ):Array - * @Param Integer PDO_FETCH_* constant to know how to read all rows, default PDO_FETCH_BOTH - * NOTE: this doesn't work as fetch method, then it will use always PDO_FETCH_BOTH - * if this param is omitted - * @Return Array An array with all fetched rows - */ - function fetchAll($mode = PDO_FETCH_BOTH) { - $result = array(); - if(!is_null($this->__result)) { - switch($mode) { - case PDO_FETCH_NUM: - while($r = pg_fetch_row($this->__result)) - array_push($result, $r); - break; - case PDO_FETCH_ASSOC: - while($r = pg_fetch_assoc($this->__result)) - array_push($result, $r); - break; - case PDO_FETCH_OBJ: - while($r = pg_fetch_object($this->__result)) - array_push($result, $r); - break; - case PDO_FETCH_BOTH: - default: - while($r = pg_fetch_array($this->__result)) - array_push($result, $r); - break; - } - } - $this->__result = null; - return $result; - } - - /** - * Public method: - * Returns, if present, first column of next row of executed query - * this->fetchSingle( void ):Mixed - * @Return Mixed Null or next row's first column - */ - function fetchSingle() { - $result = null; - if(!is_null($this->__result)) { - $result = @pg_fetch_row($this->__result); - if($result) - $result = $result[0]; - else - $this->__result = null; - } - return $result; - } - - /** - * Public method: - * Returns number of last affected database rows - * this->rowCount( void ):Integer - * @Return Integer number of last affected rows - * NOTE: works with INSERT, UPDATE and DELETE query type - */ - function rowCount() { - $result = 0; - if(!is_null($this->__result)) - $result = pg_affected_rows($this->__result); - return $result; - } - - - // NOT TOTALLY SUPPORTED PUBLIC METHODS - /** - * Public method: - * Quotes correctly a string for this database - * this->getAttribute( $attribute:Integer ):Mixed - * @Param Integer a constant [ PDO_ATTR_SERVER_INFO, - * PDO_ATTR_SERVER_VERSION, - * PDO_ATTR_CLIENT_VERSION, - * PDO_ATTR_PERSISTENT ] - * @Return Mixed correct information or false - */ - function getAttribute($attribute) { - $result = false; - switch($attribute) { - case PDO_ATTR_SERVER_INFO: - $result = pg_parameter_status($this->__connection, 'server_encoding'); - break; - case PDO_ATTR_SERVER_VERSION: - $result = pg_parameter_status($this->__connection, 'server_version'); - break; - case PDO_ATTR_CLIENT_VERSION: - $result = pg_parameter_status($this->__connection, 'server_version'); - $result .= ' '.pg_parameter_status($this->__connection, 'client_encoding'); - break; - case PDO_ATTR_PERSISTENT: - $result = $this->__persistent; - break; - } - return $result; - } - - /** - * Public method: - * Sets database attributes, in this version only connection mode. - * this->setAttribute( $attribute:Integer, $mixed:Mixed ):Boolean - * @Param Integer PDO_* constant, in this case only PDO_ATTR_PERSISTENT - * @Param Mixed value for PDO_* constant, in this case a Boolean value - * true for permanent connection, false for default not permament connection - * @Return Boolean true on change, false otherwise - */ - function setAttribute($attribute, $mixed) { - $result = false; - if($attribute === PDO_ATTR_PERSISTENT && $mixed != $this->__persistent) { - $result = true; - $this->__persistent = (boolean) $mixed; - pg_close($this->__connection); - if($this->__persistent === true) - $this->__connection = &pg_connect($this->__dbinfo); - else - $this->__connection = &pg_pconnect($this->__dbinfo); - } - return $result; - } - - /** - * Public method: - * Sets default fetch mode to use with this->fetch() method. - * this->setFetchMode( $mode:Integer ):Boolean - * @Param Integer PDO_FETCH_* constant to use while reading an execute query with fetch() method. - * NOTE: PDO_FETCH_LAZY and PDO_FETCH_BOUND are not supported - * @Return Boolean true on change, false otherwise - */ - function setFetchMode($mode) { - $result = false; - switch($mode) { - case PDO_FETCH_NUM: - case PDO_FETCH_ASSOC: - case PDO_FETCH_OBJ: - case PDO_FETCH_BOTH: - $result = true; - $this->__fetchmode = &$mode; - break; - } - return $result; - } - - - // UNSUPPORTED PUBLIC METHODS - function bindColumn($mixewd, &$param, $type = null, $max_length = null, $driver_option = null) { - return false; - } - - function __setErrors($er) { - if(!is_string($this->__errorCode)) - $errno = $this->__errorCode; - if(!is_resource($this->__connection)) { - $errno = 1; - $errst = pg_last_error(); - } - else { - $errno = 1; - $errst = pg_last_error($this->__connection); - } - $this->__errorCode = &$er; - $this->__errorInfo = Array($this->__errorCode, $errno, $errst); - } - - function __uquery(&$query) { - if(!@$query = pg_query($this->__connection, $query)) { - $this->__setErrors('SQLER'); - $query = null; - } - return $query; - } - -} - - -}//if!class_exists -?> \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/ext/pdo.php b/manager/includes/extenders/upgradephp/ext/pdo.php deleted file mode 100755 index 922a50aa5e..0000000000 --- a/manager/includes/extenders/upgradephp/ext/pdo.php +++ /dev/null @@ -1,918 +0,0 @@ -<?php if(!class_exists('PDO')) { -/** - * title: PDO - * description: PDO emulation for PHP 5.0 and 4.x, with PDO_MySQL built-in - * author: Andrea Giammarchi - * author_url: http://www.devpro.it/ - * license: PHPL 2.02 - * url: http://webscripts.softpedia.com/script/PHP-Clases/PDO-for-PHP-4-12854.html - * version: 0.1b - * api: php - * priority: auto - * category: database - * - * - * File PDO.class.php * - * Porting of native PHP 5.1 PDO * - * object usable with PHP 4.X.X * - * and PHP 5.0.X version. * - * ------------------------------------ * - * (C) Andrea Giammarchi [2005/10/19] * - * ____________________________________ - * - * - * This package includes the PDO MySQL driver. To also get support for - * Postgres and SQLite, include pdo.pgsql.php and .sqlite.php as well. - * Of course it's not a complete implementation, but believed to be - * compatible to even the early PHP4 versions. - * - * IMPORTANT: For compatibility with PHP 5.0 and this emulation, you must - * use the global PDO constants, and not the static PDO:: class versions. - * PDO_FETCH_ASSOC, PDO_ATTR_*, ... as seen below. - * - */ - - -// SUPPORTED STATIC ENVIROMENT VARIABLES -define('PDO_ATTR_SERVER_VERSION', 4); // server version -define('PDO_ATTR_CLIENT_VERSION', 5); // client version -define('PDO_ATTR_SERVER_INFO', 6); // server informations -define('PDO_ATTR_PERSISTENT', 12); // connection mode, persistent or normal - -// SUPPORTED STATIC PDO FETCH MODE VARIABLES -define('PDO_FETCH_ASSOC', 2); // such mysql_fetch_assoc -define('PDO_FETCH_NUM', 3); // such mysql_fetch_row -define('PDO_FETCH_BOTH', 4); // such mysql_fetch_array -define('PDO_FETCH_OBJ', 5); // such mysql_fetch_object - -// UNSUPPORTED STATIC PDO FETCH MODE VARIABLES -define('PDO_FETCH_LAZY', 1); // usable but not supported, default is PDO_FETCH_BOTH and will be used -define('PDO_FETCH_BOUND', 6); // usable but not supported, default is PDO_FETCH_BOTH and will be used - -/** - * Class PDO - * PostgreSQL, SQLITE and MYSQL PDO support for PHP 4.X.X or PHP 5.0.X users, compatible with PHP 5.1.0 (RC1). - * - * DESCRIPTION [directly from http://us2.php.net/manual/en/ref.pdo.php] - * The PHP Data Objects (PDO) extension defines a lightweight, consistent interface for accessing databases in PHP. - * Each database driver that implements the PDO interface can expose database-specific features as regular extension functions. - * Note that you cannot perform any database functions using the PDO extension by itself; - * you must use a database-specific PDO driver to access a database server. - * - * HOW TO USE - * To know how to use PDO driver and all its methods visit php.net wonderful documentation. - * http://us2.php.net/manual/en/ref.pdo.php - * In this class some methods are not available and actually this porting is only for MySQL, SQLITE and PostgreSQL. - * - * LIMITS - * For some reasons ( time and php used version with this class ) some PDO methods are not availables and - * someother are not totally supported. - * - * PDO :: UNSUPPORTED METHODS: - * - beginTransaction [ mysql 3 has not transaction and manage them is possible only with a direct BEGIN - * or COMMIT query ] - * - commit - * - rollback - * - * PDO :: NOT TOTALLY SUPPORTED METHODS: - * - getAttribute [ accepts only PDO_ATTR_SERVER_INFO, PDO_ATTR_SERVER_VERSION, - * PDO_ATTR_CLIENT_VERSION and PDO_ATTR_PERSISTENT attributes ] - * - setAttribute [ supports only PDO_ATTR_PERSISTENT modification ] - * - lastInsertId [ only fo PostgreSQL , returns only pg_last_oid ] - * - * - - - - - - - - - - - - - - - - - - - - - * - * PDOStatement :: UNSUPPORTED METHODS: - * - bindColumn [ is not possible to undeclare a variable and using global scope is not - * really a good idea ] - * - * PDOStatement :: NOT TOTALLY SUPPORTED METHODS: - * - getAttribute [ accepts only PDO_ATTR_SERVER_INFO, PDO_ATTR_SERVER_VERSION, - * PDO_ATTR_CLIENT_VERSION and PDO_ATTR_PERSISTENT attributes ] - * - setAttribute [ supports only PDO_ATTR_PERSISTENT modification ] - * - setFetchMode [ supports only PDO_FETCH_NUM, PDO_FETCH_ASSOC, PDO_FETCH_OBJ and - * PDO_FETCH_BOTH database reading mode ] - * --------------------------------------------- - * @Compatibility >= PHP 4 - * @Dependencies PDO_mysql.class.php - * PDO_sqlite.class.php - * PDOStatement_mysql.class.php - * PDOStatement_sqlite.class.php - * @Author Andrea Giammarchi - * @Site http://www.devpro.it/ - * @Mail andrea [ at ] 3site [ dot ] it - * @Date 2005/10/13 - * @LastModified 2005/12/01 21:40 - * @Version 0.1b - tested, supports only PostgreSQL, MySQL or SQLITE databases - */ -class PDO { - - /** Modified on 2005/12/01 to support new PDO constants on PHP 5.1.X */ - /* - --won't work with php4-- - const FETCH_ASSOC = PDO_FETCH_ASSOC; - const FETCH_NUM = PDO_FETCH_NUM; - const FETCH_BOTH = PDO_FETCH_BOTH; - const FETCH_OBJ = PDO_FETCH_OBJ; - const FETCH_LAZY = PDO_FETCH_LAZY; - const FETCH_BOUND = PDO_FETCH_BOUND; - const ATTR_SERVER_VERSION = PDO_ATTR_SERVER_VERSION; - const ATTR_CLIENT_VERSION = PDO_ATTR_CLIENT_VERSION; - const ATTR_SERVER_INFO = PDO_ATTR_SERVER_INFO; - const ATTR_PERSISTENT = PDO_ATTR_PERSISTENT; - */ - function FETCH_ASSOC(){return PDO_FETCH_ASSOC;} - function FETCH_NUM(){return PDO_FETCH_NUM;} - function FETCH_BOTH(){return PDO_FETCH_BOTH;} - function FETCH_OBJ(){return PDO_FETCH_OBJ;} - function FETCH_LAZY(){return PDO_FETCH_LAZY;} - function FETCH_BOUND(){return PDO_FETCH_BOUND;} - function ATTR_SERVER_VERSION(){return PDO_ATTR_SERVER_VERSION;} - function ATTR_CLIENT_VERSION(){return PDO_ATTR_CLIENT_VERSION;} - function ATTR_SERVER_INFO(){return PDO_ATTR_SERVER_INFO;} - function ATTR_PERSISTENT(){return PDO_ATTR_PERSISTENT;} - - /** - * 'Private' variables: - * __driver:PDO_* Dedicated PDO database class - */ - var $__driver; - - /** - * Public constructor - * http://us2.php.net/manual/en/function.pdo-construct.php - */ - function PDO($string_dsn, $string_username = '', $string_password = '', $array_driver_options = null) { - $con = &$this->__getDNS($string_dsn); - if($con['dbtype'] === 'mysql') { - #<builtin>#require_once('PDO_mysql.class.php'); - if(isset($con['port'])) - $con['host'] .= ':'.$con['port']; - $this->__driver = new PDO_mysql( - $con['host'], - $con['dbname'], - $string_username, - $string_password - ); - } - elseif($con['dbtype'] === 'sqlite2' || $con['dbtype'] === 'sqlite') { - #<builtin>#require_once('PDO_sqlite.class.php'); - $this->__driver = new PDO_sqlite($con['dbname']); - } - elseif($con['dbtype'] === 'pgsql') { - #<builtin>#require_once('PDO_pgsql.class.php'); - $string_dsn = "host={$con['host']} dbname={$con['dbname']} user={$string_username} password={$string_password}"; - if(isset($con['port'])) - $string_dsn .= " port={$con['port']}"; - $this->__driver = new PDO_pgsql($string_dsn); - } - } - - /** UNSUPPORTED - * Public method - * http://us2.php.net/manual/en/function.pdo-begintransaction.php - */ - function beginTransaction() { - $this->__driver->beginTransaction(); - } - - /** NOT NATIVE BUT MAYBE USEFULL FOR PHP < 5.1 PDO DRIVER - * Public method - * Calls database_close function. - * this->close( Void ):Boolean - * @Return Boolean True on success, false otherwise - */ - function close() { - return $this->__driver->close(); - } - - /** UNSUPPORTED - * Public method - * http://us2.php.net/manual/en/function.pdo-commit.php - */ - function commit() { - $this->__driver->commit(); - } - - /** - * Public method - * http://us2.php.net/manual/en/function.pdo-exec.php - */ - function exec($query) { - return $this->__driver->exec($query); - } - - /** - * Public method - * http://us2.php.net/manual/en/function.pdo-errorcode.php - */ - function errorCode() { - return $this->__driver->errorCode(); - } - - /** - * Public method - * http://us2.php.net/manual/en/function.pdo-errorinfo.php - */ - function errorInfo() { - return $this->__driver->errorInfo(); - } - - /** NOT TOTALLY UNSUPPORTED - * Public method - * http://us2.php.net/manual/en/function.pdo-getattribute.php - */ - function getAttribute($attribute) { - return $this->__driver->getAttribute($attribute); - } - - /** - * Public method - * http://us2.php.net/manual/en/function.pdo-lastinsertid.php - */ - function lastInsertId() { - return $this->__driver->lastInsertId(); - } - - /** - * Public method - * http://us2.php.net/manual/en/function.pdo-prepare.php - */ - function prepare($query, $array = Array()) { - return $this->__driver->prepare($query, $array = Array()); - } - - /** - * Public method - * http://us2.php.net/manual/en/function.pdo-query.php - */ - function query($query) { - return $this->__driver->query($query); - } - - /** - * Public method - * http://us2.php.net/manual/en/function.pdo-quote.php - */ - function quote($string) { - return $this->__driver->quote($string); - } - - /** UNSUPPORTED - * Public method - * http://us2.php.net/manual/en/function.pdo-rollback.php - */ - function rollBack() { - $this->__driver->rollBack(); - } - - /** NOT TOTALLY UNSUPPORTED - * Public method - * http://us2.php.net/manual/en/function.pdo-setattribute.php - */ - function setAttribute($attribute, $mixed) { - return $this->__driver->setAttribute($attribute, $mixed); - } - - // PRIVATE METHOD [uncommented] - function __getDNS(&$string) { - $result = array(); - $pos = strpos($string, ':'); - $parameters = explode(';', substr($string, ($pos + 1))); - $result['dbtype'] = strtolower(substr($string, 0, $pos)); - for($a = 0, $b = count($parameters); $a < $b; $a++) { - $tmp = explode('=', $parameters[$a]); - if(count($tmp) == 2) - $result[$tmp[0]] = $tmp[1]; - else - $result['dbname'] = $parameters[$a]; - } - return $result; - } -} - - - - - -?><?php -/** File PDO_mysql.class.php * - *(C) Andrea Giammarchi [2005/10/13] */ - -// Requires PDOStatement_mysql.class.php , drived by PDO.class.php file -#<builtin>#require_once('PDOStatement_mysql.class.php'); - -/** - * Class PDO_mysql - * This class is used from class PDO to manage a MySQL database. - * Look at PDO.clas.php file comments to know more about MySQL connection. - * --------------------------------------------- - * @Compatibility >= PHP 4 - * @Dependencies PDO.class.php - * PDOStatement_mysql.class.php - * @Author Andrea Giammarchi - * @Site http://www.devpro.it/ - * @Mail andrea [ at ] 3site [ dot ] it - * @Date 2005/10/13 - * @LastModified 2005/18/14 12:30 - * @Version 0.1 - tested - */ -class PDO_mysql { - - /** - * 'Private' variables: - * __connection:Resource Database connection - * __dbinfo:Array Array with 4 elements used to manage connection - * __persistent:Boolean Connection mode, is true on persistent, false on normal (deafult) connection - * __errorCode:String Last error code - * __errorInfo:Array Detailed errors - */ - var $__connection; - var $__dbinfo; - var $__persistent = false; - var $__errorCode = ''; - var $__errorInfo = Array(''); - - /** - * Public constructor: - * Checks connection and database selection - * new PDO_mysql( &$host:String, &$db:String, &$user:String, &$pass:String ) - * @Param String host with or without port info - * @Param String database name - * @Param String database user - * @Param String database password - */ - function PDO_mysql(&$host, &$db, &$user, &$pass) { - if(!@$this->__connection = &mysql_connect($host, $user, $pass)) - $this->__setErrors('DBCON'); - else { - if(!@mysql_select_db($db, $this->__connection)) - $this->__setErrors('DBER'); - else - $this->__dbinfo = Array($host, $user, $pass, $db); - } - } - - /** NOT NATIVE BUT MAYBE USEFULL FOR PHP < 5.1 PDO DRIVER - * Public method - * Calls mysql_close function. - * this->close( Void ):Boolean - * @Return Boolean True on success, false otherwise - */ - function close() { - $result = is_resource($this->__connection); - if($result) { - mysql_close($this->__connection); - } - return $result; - } - - /** - * Public method: - * Returns a code rappresentation of an error - * this->errorCode( void ):String - * @Return String String rappresentation of the error - */ - function errorCode() { - return $this->__errorCode; - } - - /** - * Public method: - * Returns an array with error informations - * this->errorInfo( void ):Array - * @Return Array Array with 3 keys: - * 0 => error code - * 1 => error number - * 2 => error string - */ - function errorInfo() { - return $this->__errorInfo; - } - - /** - * Public method: - * Excecutes a query and returns affected rows - * this->exec( $query:String ):Mixed - * @Param String query to execute - * @Return Mixed Number of affected rows or false on bad query. - */ - function exec($query) { - $result = 0; - if(!is_null($this->__uquery($query))) - $result = mysql_affected_rows($this->__connection); - if(is_null($result)) - $result = false; - return $result; - } - - /** - * Public method: - * Returns last inserted id - * this->lastInsertId( void ):Number - * @Return Number Last inserted id - */ - function lastInsertId() { - return mysql_insert_id($this->__connection); - } - - /** - * Public method: - * Returns a new PDOStatement - * this->prepare( $query:String, $array:Array ):PDOStatement - * @Param String query to prepare - * @Param Array this variable is not used but respects PDO original accepted parameters - * @Return PDOStatement new PDOStatement to manage - */ - function prepare($query, $array = Array()) { - return new PDOStatement_mysql($query, $this->__connection, $this->__dbinfo); - } - - /** - * Public method: - * Executes directly a query and returns an array with result or false on bad query - * this->query( $query:String ):Mixed - * @Param String query to execute - * @Return Mixed false on error, array with all info on success - */ - function query($query) { - $query = @mysql_unbuffered_query($query, $this->__connection); - if($query) { - $result = Array(); - while($r = mysql_fetch_assoc($query)) - array_push($result, $r); - } - else { - $result = false; - $this->__setErrors('SQLER'); - } - return $result; - } - - /** - * Public method: - * Quotes correctly a string for this database - * this->quote( $string:String ):String - * @Param String string to quote - * @Return String a correctly quoted string - */ - function quote($string) { - return ('"'.mysql_escape_string($string).'"'); - } - - - // NOT TOTALLY SUPPORTED PUBLIC METHODS - /** - * Public method: - * Quotes correctly a string for this database - * this->getAttribute( $attribute:Integer ):Mixed - * @Param Integer a constant [ PDO_ATTR_SERVER_INFO, - * PDO_ATTR_SERVER_VERSION, - * PDO_ATTR_CLIENT_VERSION, - * PDO_ATTR_PERSISTENT ] - * @Return Mixed correct information or false - */ - function getAttribute($attribute) { - $result = false; - switch($attribute) { - case PDO_ATTR_SERVER_INFO: - $result = mysql_get_host_info($this->__connection); - break; - case PDO_ATTR_SERVER_VERSION: - $result = mysql_get_server_info($this->__connection); - break; - case PDO_ATTR_CLIENT_VERSION: - $result = mysql_get_client_info(); - break; - case PDO_ATTR_PERSISTENT: - $result = $this->__persistent; - break; - } - return $result; - } - - /** - * Public method: - * Sets database attributes, in this version only connection mode. - * this->setAttribute( $attribute:Integer, $mixed:Mixed ):Boolean - * @Param Integer PDO_* constant, in this case only PDO_ATTR_PERSISTENT - * @Param Mixed value for PDO_* constant, in this case a Boolean value - * true for permanent connection, false for default not permament connection - * @Return Boolean true on change, false otherwise - */ - function setAttribute($attribute, $mixed) { - $result = false; - if($attribute === PDO_ATTR_PERSISTENT && $mixed != $this->__persistent) { - $result = true; - $this->__persistent = (boolean) $mixed; - mysql_close($this->__connection); - if($this->__persistent === true) - $this->__connection = &mysql_pconnect($this->__dbinfo[0], $this->__dbinfo[1], $this->__dbinfo[2]); - else - $this->__connection = &mysql_connect($this->__dbinfo[0], $this->__dbinfo[1], $this->__dbinfo[2]); - mysql_select_db($this->__dbinfo[3], $this->__connection); - } - return $result; - } - - - // UNSUPPORTED PUBLIC METHODS - function beginTransaction() { - return false; - } - - function commit() { - return false; - } - - function rollBack() { - return false; - } - - - // PRIVATE METHODS [ UNCOMMENTED ] - function __setErrors($er) { - if(!is_resource($this->__connection)) { - $errno = mysql_errno(); - $errst = mysql_error(); - } - else { - $errno = mysql_errno($this->__connection); - $errst = mysql_error($this->__connection); - } - $this->__errorCode = &$er; - $this->__errorInfo = Array($this->__errorCode, $errno, $errst); - } - - function __uquery(&$query) { - if(!@$query = mysql_query($query, $this->__connection)) { - $this->__setErrors('SQLER'); - $query = null; - } - return $query; - } -} - - - - - - - -?><?php -/** File PDOStatement_mysql.class.php * - *(C) Andrea Giammarchi [2005/10/13] */ - -/** - * Class PDOStatement_mysql - * This class is used from class PDO_mysql to manage a MySQL database. - * Look at PDO.clas.php file comments to know more about MySQL connection. - * --------------------------------------------- - * @Compatibility >= PHP 4 - * @Dependencies PDO.class.php - * PDO_mysql.class.php - * @Author Andrea Giammarchi - * @Site http://www.devpro.it/ - * @Mail andrea [ at ] 3site [ dot ] it - * @Date 2005/10/13 - * @LastModified 2006/01/29 09:30 [fixed execute bug] - * @Version 0.1b - tested - */ -class PDOStatement_mysql { - - /** - * 'Private' variables: - * __connection:Resource Database connection - * __dbinfo:Array Array with 4 elements used to manage connection - * __persistent:Boolean Connection mode, is true on persistent, false on normal (deafult) connection - * __query:String Last query used - * __result:Resource Last result from last query - * __fetchmode:Integer constant PDO_FETCH_* result mode - * __errorCode:String Last error string code - * __errorInfo:Array Last error informations, code, number, details - * __boundParams:Array Stored bindParam - */ - var $__connection; - var $__dbinfo; - var $__persistent = false; - var $__query = ''; - var $__result = null; - var $__fetchmode = PDO::FETCH_BOTH; - var $__errorCode = ''; - var $__errorInfo = Array(''); - var $__boundParams = Array(); - - /** - * Public constructor: - * Called from PDO to create a PDOStatement for this database - * new PDOStatement_sqlite( &$__query:String, &$__connection:Resource, $__dbinfo:Array ) - * @Param String query to prepare - * @Param Resource database connection - * @Param Array 4 elements array to manage connection - */ - function PDOStatement_mysql(&$__query, &$__connection, &$__dbinfo) { - $this->__query = &$__query; - $this->__connection = &$__connection; - $this->__dbinfo = &$__dbinfo; - } - - /** - * Public method: - * Replace ? or :named values to execute prepared query - * this->bindParam( $mixed:Mixed, &$variable:Mixed, $type:Integer, $lenght:Integer ):Void - * @Param Mixed Integer or String to replace prepared value - * @Param Mixed variable to replace - * @Param Integer this variable is not used but respects PDO original accepted parameters - * @Param Integer this variable is not used but respects PDO original accepted parameters - */ - function bindParam($mixed, &$variable, $type = null, $lenght = null) { - if(is_string($mixed)) - $this->__boundParams[$mixed] = $variable; - else - array_push($this->__boundParams, $variable); - } - - /** - * Public method: - * Checks if query was valid and returns how may fields returns - * this->columnCount( void ):Void - */ - function columnCount() { - $result = 0; - if(!is_null($this->__result)) - $result = mysql_num_fields($this->__result); - return $result; - } - - /** - * Public method: - * Returns a code rappresentation of an error - * this->errorCode( void ):String - * @Return String String rappresentation of the error - */ - function errorCode() { - return $this->__errorCode; - } - - /** - * Public method: - * Returns an array with error informations - * this->errorInfo( void ):Array - * @Return Array Array with 3 keys: - * 0 => error code - * 1 => error number - * 2 => error string - */ - function errorInfo() { - return $this->__errorInfo; - } - - /** - * Public method: - * Excecutes a query and returns true on success or false. - * this->exec( $array:Array ):Boolean - * @Param Array If present, it should contain all replacements for prepared query - * @Return Boolean true if query has been done without errors, false otherwise - */ - function execute($array = Array()) { - if(count($this->__boundParams) > 0) - $array = &$this->__boundParams; - $__query = $this->__query; - if(count($array) > 0) { - foreach($array as $k => $v) { - if(!is_int($k) || substr($k, 0, 1) === ':') { - if(!isset($tempf)) - $tempf = $tempr = array(); - array_push($tempf, $k); - array_push($tempr, '"'.mysql_escape_string($v).'"'); - } - else { - $parse = create_function('$v', 'return \'"\'.mysql_escape_string($v).\'"\';'); - $__query = preg_replace("/(\?)/e", '$parse($array[$k++]);', $__query); - break; - } - } - if(isset($tempf)) - $__query = str_replace($tempf, $tempr, $__query); - } - if(is_null($this->__result = &$this->__uquery($__query))) - $keyvars = false; - else - $keyvars = true; - $this->__boundParams = array(); - return $keyvars; - } - - /** - * Public method: - * Returns, if present, next row of executed query or false. - * this->fetch( $mode:Integer, $cursor:Integer, $offset:Integer ):Mixed - * @Param Integer PDO_FETCH_* constant to know how to read next row, default PDO_FETCH_BOTH - * NOTE: if $mode is omitted is used default setted mode, PDO_FETCH_BOTH - * @Param Integer this variable is not used but respects PDO original accepted parameters - * @Param Integer this variable is not used but respects PDO original accepted parameters - * @Return Mixed Next row of executed query or false if there is nomore. - */ - function fetch($mode = PDO_FETCH_BOTH, $cursor = null, $offset = null) { - if(func_num_args() == 0) - $mode = &$this->__fetchmode; - $result = false; - if(!is_null($this->__result)) { - switch($mode) { - case PDO_FETCH_NUM: - $result = mysql_fetch_row($this->__result); - break; - case PDO_FETCH_ASSOC: - $result = mysql_fetch_assoc($this->__result); - break; - case PDO_FETCH_OBJ: - $result = mysql_fetch_object($this->__result); - break; - case PDO_FETCH_BOTH: - default: - $result = mysql_fetch_array($this->__result); - break; - } - } - if(!$result) - $this->__result = null; - return $result; - } - - /** - * Public method: - * Returns an array with all rows of executed query. - * this->fetchAll( $mode:Integer ):Array - * @Param Integer PDO_FETCH_* constant to know how to read all rows, default PDO_FETCH_BOTH - * NOTE: this doesn't work as fetch method, then it will use always PDO_FETCH_BOTH - * if this param is omitted - * @Return Array An array with all fetched rows - */ - function fetchAll($mode = PDO_FETCH_BOTH) { - $result = array(); - if(!is_null($this->__result)) { - switch($mode) { - case PDO_FETCH_NUM: - while($r = mysql_fetch_row($this->__result)) - array_push($result, $r); - break; - case PDO_FETCH_ASSOC: - while($r = mysql_fetch_assoc($this->__result)) - array_push($result, $r); - break; - case PDO_FETCH_OBJ: - while($r = mysql_fetch_object($this->__result)) - array_push($result, $r); - break; - case PDO_FETCH_BOTH: - default: - while($r = mysql_fetch_array($this->__result)) - array_push($result, $r); - break; - } - } - $this->__result = null; - return $result; - } - - /** - * Public method: - * Returns, if present, first column of next row of executed query - * this->fetchSingle( void ):Mixed - * @Return Mixed Null or next row's first column - */ - function fetchSingle() { - $result = null; - if(!is_null($this->__result)) { - $result = @mysql_fetch_row($this->__result); - if($result) - $result = $result[0]; - else - $this->__result = null; - } - return $result; - } - - /** - * Public method: - * Returns number of last affected database rows - * this->rowCount( void ):Integer - * @Return Integer number of last affected rows - * NOTE: works with INSERT, UPDATE and DELETE query type - */ - function rowCount() { - return mysql_affected_rows($this->__connection); - } - - - // NOT TOTALLY SUPPORTED PUBLIC METHODS - /** - * Public method: - * Quotes correctly a string for this database - * this->getAttribute( $attribute:Integer ):Mixed - * @Param Integer a constant [ PDO_ATTR_SERVER_INFO, - * PDO_ATTR_SERVER_VERSION, - * PDO_ATTR_CLIENT_VERSION, - * PDO_ATTR_PERSISTENT ] - * @Return Mixed correct information or false - */ - function getAttribute($attribute) { - $result = false; - switch($attribute) { - case PDO_ATTR_SERVER_INFO: - $result = mysql_get_host_info($this->__connection); - break; - case PDO_ATTR_SERVER_VERSION: - $result = mysql_get_server_info($this->__connection); - break; - case PDO_ATTR_CLIENT_VERSION: - $result = mysql_get_client_info(); - break; - case PDO_ATTR_PERSISTENT: - $result = $this->__persistent; - break; - } - return $result; - } - - /** - * Public method: - * Sets database attributes, in this version only connection mode. - * this->setAttribute( $attribute:Integer, $mixed:Mixed ):Boolean - * @Param Integer PDO_* constant, in this case only PDO_ATTR_PERSISTENT - * @Param Mixed value for PDO_* constant, in this case a Boolean value - * true for permanent connection, false for default not permament connection - * @Return Boolean true on change, false otherwise - */ - function setAttribute($attribute, $mixed) { - $result = false; - if($attribute === PDO_ATTR_PERSISTENT && $mixed != $this->__persistent) { - $result = true; - $this->__persistent = (boolean) $mixed; - mysql_close($this->__connection); - if($this->__persistent === true) - $this->__connection = &mysql_pconnect($this->__dbinfo[0], $this->__dbinfo[1], $this->__dbinfo[2]); - else - $this->__connection = &mysql_connect($this->__dbinfo[0], $this->__dbinfo[1], $this->__dbinfo[2]); - mysql_select_db($this->__dbinfo[3], $this->__connection); - } - return $result; - } - - /** - * Public method: - * Sets default fetch mode to use with this->fetch() method. - * this->setFetchMode( $mode:Integer ):Boolean - * @Param Integer PDO_FETCH_* constant to use while reading an execute query with fetch() method. - * NOTE: PDO_FETCH_LAZY and PDO_FETCH_BOUND are not supported - * @Return Boolean true on change, false otherwise - */ - function setFetchMode($mode) { - $result = false; - switch($mode) { - case PDO_FETCH_NUM: - case PDO_FETCH_ASSOC: - case PDO_FETCH_OBJ: - case PDO_FETCH_BOTH: - $result = true; - $this->__fetchmode = &$mode; - break; - } - return $result; - } - - - // UNSUPPORTED PUBLIC METHODS - function bindColumn($mixewd, &$param, $type = null, $max_length = null, $driver_option = null) { - return false; - } - - function __setErrors($er) { - if(!is_resource($this->__connection)) { - $errno = mysql_errno(); - $errst = mysql_error(); - } - else { - $errno = mysql_errno($this->__connection); - $errst = mysql_error($this->__connection); - } - $this->__errorCode = &$er; - $this->__errorInfo = Array($this->__errorCode, $errno, $errst); - $this->__result = null; - } - - function __uquery(&$query) { - if(!@$query = mysql_query($query, $this->__connection)) { - $this->__setErrors('SQLER'); - $query = null; - } - return $query; - } - -} - - - - -}//if!class_exists -?> \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/ext/pdo.sqlite.php b/manager/includes/extenders/upgradephp/ext/pdo.sqlite.php deleted file mode 100755 index e8acd1b8c2..0000000000 --- a/manager/includes/extenders/upgradephp/ext/pdo.sqlite.php +++ /dev/null @@ -1,603 +0,0 @@ -<?php if (!class_exists("PDO_SQLITE")) { -/** File PDO_sqlite.class.php * - *(C) Andrea Giammarchi [2005/10/13] */ - -// Requires PDOStatement_sqlite.class.php , drived by PDO.class.php file -#<builtin>#require_once('PDOStatement_sqlite.class.php'); - -/** - * Class PDO_sqlite - * This class is used from class PDO to manage a SQLITE version 2 database. - * Look at PDO.clas.php file comments to know more about SQLITE connection. - * --------------------------------------------- - * @Compatibility >= PHP 4 - * @Dependencies PDO.class.php - * PDOStatement_sqlite.class.php - * @Author Andrea Giammarchi - * @Site http://www.devpro.it/ - * @Mail andrea [ at ] 3site [ dot ] it - * @Date 2005/10/13 - * @LastModified 2005/18/14 12:30 - * @Version 0.1 - tested - */ -class PDO_sqlite { - - /** - * 'Private' variables: - * __connection:Resource Database connection - * __dbinfo:String Database filename - * __persistent:Boolean Connection mode, is true on persistent, false on normal (deafult) connection - * __errorCode:String Last error code - * __errorInfo:Array Detailed errors - */ - var $__connection; - var $__dbinfo; - var $__persistent = false; - var $__errorCode = ''; - var $__errorInfo = Array(''); - - /** - * Public constructor: - * Checks connection and database selection - * new PDO_mysql( &$host:String, &$db:String, &$user:String, &$pass:String ) - * @Param String host with or without port info - * @Param String database name - * @Param String database user - * @Param String database password - */ - function PDO_sqlite(&$string_dsn) { - if(!@$this->__connection = &sqlite_open($string_dsn)) - $this->__setErrors('DBCON', true); - else - $this->__dbinfo = &$string_dsn; - } - - /** NOT NATIVE BUT MAYBE USEFULL FOR PHP < 5.1 PDO DRIVER - * Public method - * Calls sqlite_close function. - * this->close( Void ):Boolean - * @Return Boolean True on success, false otherwise - */ - function close() { - $result = is_resource($this->__connection); - if($result) { - sqlite_close($this->__connection); - } - return $result; - } - - /** - * Public method: - * Returns a code rappresentation of an error - * this->errorCode( void ):String - * @Return String String rappresentation of the error - */ - function errorCode() { - return $this->__errorCode; - } - - /** - * Public method: - * Returns an array with error informations - * this->errorInfo( void ):Array - * @Return Array Array with 3 keys: - * 0 => error code - * 1 => error number - * 2 => error string - */ - function errorInfo() { - return $this->__errorInfo; - } - - /** - * Public method: - * Excecutes a query and returns affected rows - * this->exec( $query:String ):Mixed - * @Param String query to execute - * @Return Mixed Number of affected rows or false on bad query. - */ - function exec($query) { - $result = 0; - if(!is_null($this->__uquery($query))) - $result = sqlite_changes($this->__connection); - if(is_null($result)) - $result = false; - return $result; - } - - /** - * Public method: - * Returns last inserted id - * this->lastInsertId( void ):Number - * @Return Number Last inserted id - */ - function lastInsertId() { - return sqlite_last_insert_rowid($this->__connection); - } - - /** - * Public method: - * Returns a new PDOStatement - * this->prepare( $query:String, $array:Array ):PDOStatement - * @Param String query to prepare - * @Param Array this variable is not used but respects PDO original accepted parameters - * @Return PDOStatement new PDOStatement to manage - */ - function prepare($query, $array = Array()) { - return new PDOStatement_sqlite($query, $this->__connection, $this->__dbinfo); - } - - /** - * Public method: - * Executes directly a query and returns an array with result or false on bad query - * this->query( $query:String ):Mixed - * @Param String query to execute - * @Return Mixed false on error, array with all info on success - */ - function query($query) { - $query = @sqlite_unbuffered_query($query, $this->__connection, $this->__dbinfo); - if($query) { - $result = Array(); - while($r = sqlite_fetch_array($query, SQLITE_ASSOC)) - array_push($result, $r); - } - else { - $result = false; - $this->__setErrors('SQLER'); - } - return $result; - } - - /** - * Public method: - * Quotes correctly a string for this database - * this->quote( $string:String ):String - * @Param String string to quote - * @Return String a correctly quoted string - */ - function quote($string) { - return ("'".sqlite_escape_string($string)."'"); - } - - - // NOT TOTALLY SUPPORTED PUBLIC METHODS - /** - * Public method: - * Quotes correctly a string for this database - * this->getAttribute( $attribute:Integer ):Mixed - * @Param Integer a constant [ PDO_ATTR_SERVER_INFO, - * PDO_ATTR_SERVER_VERSION, - * PDO_ATTR_CLIENT_VERSION, - * PDO_ATTR_PERSISTENT ] - * @Return Mixed correct information or null - */ - function getAttribute($attribute) { - $result = null; - switch($attribute) { - case PDO_ATTR_SERVER_INFO: - $result = sqlite_libencoding(); - break; - case PDO_ATTR_SERVER_VERSION: - case PDO_ATTR_CLIENT_VERSION: - $result = sqlite_libversion(); - break; - case PDO_ATTR_PERSISTENT: - $result = $this->__persistent; - break; - } - return $result; - } - - /** - * Public method: - * Sets database attributes, in this version only connection mode. - * this->setAttribute( $attribute:Integer, $mixed:Mixed ):Boolean - * @Param Integer PDO_* constant, in this case only PDO_ATTR_PERSISTENT - * @Param Mixed value for PDO_* constant, in this case a Boolean value - * true for permanent connection, false for default not permament connection - * @Return Boolean true on change, false otherwise - */ - function setAttribute($attribute, $mixed) { - $result = false; - if($attribute === PDO_ATTR_PERSISTENT && $mixed != $this->__persistent) { - $result = true; - $this->__persistent = (boolean) $mixed; - sqlite_close($this->__connection); - if($this->__persistent === true) - $this->__connection = &sqlite_popen($this->__dbinfo); - else - $this->__connection = &sqlite_open($this->__dbinfo); - } - return $result; - } - - - // UNSUPPORTED PUBLIC METHODS - function beginTransaction() { - return false; - } - - function commit() { - return false; - } - - function rollBack() { - return false; - } - - - // PRIVATE METHODS - function __setErrors($er, $connection = false) { - if(!is_resource($this->__connection)) { - $errno = 1; - $errst = 'Unable to open or find database.'; - } - else { - $errno = sqlite_last_error($this->__connection); - $errst = sqlite_error_string($errno); - } - $this->__errorCode = &$er; - $this->__errorInfo = Array($this->__errorCode, $errno, $errst); - } - - function __uquery(&$query) { - if(!@$query = sqlite_query($query, $this->__connection)) { - $this->__setErrors('SQLER'); - $query = null; - } - return $query; - } -} -?><?php -/** File PDOStatement_sqlite.class.php * - *(C) Andrea Giammarchi [2005/10/13] */ - -/** - * Class PDOStatement_sqlite - * This class is used from class PDO_sqlite to manage a MySQL database. - * Look at PDO.clas.php file comments to know more about MySQL connection. - * --------------------------------------------- - * @Compatibility >= PHP 4 - * @Dependencies PDO.class.php - * PDO_sqlite.class.php - * @Author Andrea Giammarchi - * @Site http://www.devpro.it/ - * @Mail andrea [ at ] 3site [ dot ] it - * @Date 2005/10/13 - * @LastModified 2006/01/29 09:30 [fixed execute bug] - * @Version 0.1b - tested - */ -class PDOStatement_sqlite { - - /** - * 'Private' variables: - * __connection:Resource Database connection - * __dbinfo:Array Array with 4 elements used to manage connection - * __persistent:Boolean Connection mode, is true on persistent, false on normal (deafult) connection - * __query:String Last query used - * __result:Resource Last result from last query - * __fetchmode:Integer constant PDO_FETCH_* result mode - * __errorCode:String Last error string code - * __errorInfo:Array Last error informations, code, number, details - * __boundParams:Array Stored bindParam - */ - var $__connection; - var $__dbinfo; - var $__persistent = false; - var $__query = ''; - var $__result = null; - var $__fetchmode = PDO::FETCH_BOTH; - var $__errorCode = ''; - var $__errorInfo = Array(''); - var $__boundParams = Array(); - - /** - * Public constructor: - * Called from PDO to create a PDOStatement for this database - * new PDOStatement_sqlite( &$__query:String, &$__connection:Resource, $__dbinfo:String ) - * @Param String query to prepare - * @Param Resource database connection - * @Param String database file name - */ - function PDOStatement_sqlite(&$__query, &$__connection, &$__dbinfo) { - $this->__query = &$__query; - $this->__connection = &$__connection; - $this->__dbinfo = &$__dbinfo; - } - - /** - * Public method: - * Replace ? or :named values to execute prepared query - * this->bindParam( $mixed:Mixed, &$variable:Mixed, $type:Integer, $lenght:Integer ):Void - * @Param Mixed Integer or String to replace prepared value - * @Param Mixed variable to replace - * @Param Integer this variable is not used but respects PDO original accepted parameters - * @Param Integer this variable is not used but respects PDO original accepted parameters - */ - function bindParam($mixed, &$variable, $type = null, $lenght = null) { - if(is_string($mixed)) - $this->__boundParams[$mixed] = $variable; - else - array_push($this->__boundParams, $variable); - } - - /** - * Public method: - * Checks if query was valid and returns how may fields returns - * this->columnCount( void ):Void - */ - function columnCount() { - $result = 0; - if(!is_null($this->__result)) - $result = sqlite_num_fields($this->__result); - return $result; - } - - /** - * Public method: - * Returns a code rappresentation of an error - * this->errorCode( void ):String - * @Return String String rappresentation of the error - */ - function errorCode() { - return $this->__errorCode; - } - - /** - * Public method: - * Returns an array with error informations - * this->errorInfo( void ):Array - * @Return Array Array with 3 keys: - * 0 => error code - * 1 => error number - * 2 => error string - */ - function errorInfo() { - return $this->__errorInfo; - } - - /** - * Public method: - * Excecutes a query and returns true on success or false. - * this->exec( $array:Array ):Boolean - * @Param Array If present, it should contain all replacements for prepared query - * @Return Boolean true if query has been done without errors, false otherwise - */ - function execute($array = Array()) { - if(count($this->__boundParams) > 0) - $array = &$this->__boundParams; - $__query = $this->__query; - if(count($array) > 0) { - foreach($array as $k => $v) { - if(!is_int($k) || substr($k, 0, 1) === ':') { - if(!isset($tempf)) - $tempf = $tempr = array(); - array_push($tempf, $k); - array_push($tempr, "'".sqlite_escape_string($v)."'"); - } - else { - $parse = create_function('$v', 'return "\'".sqlite_escape_string($v)."\'";'); - $__query = preg_replace("/(\?)/e", '$parse($array[$k++]);', $__query); - break; - } - } - if(isset($tempf)) - $__query = str_replace($tempf, $tempr, $__query); - } - if(is_null($this->__result = &$this->__uquery($__query))) - $keyvars = false; - else - $keyvars = true; - $this->__boundParams = array(); - return $keyvars; - } - - /** - * Public method: - * Returns, if present, next row of executed query or false. - * this->fetch( $mode:Integer, $cursor:Integer, $offset:Integer ):Mixed - * @Param Integer PDO_FETCH_* constant to know how to read next row, default PDO_FETCH_BOTH - * NOTE: if $mode is omitted is used default setted mode, PDO_FETCH_BOTH - * @Param Integer this variable is not used but respects PDO original accepted parameters - * @Param Integer this variable is not used but respects PDO original accepted parameters - * @Return Mixed Next row of executed query or false if there is nomore. - */ - function fetch($mode = PDO_FETCH_BOTH, $cursor = null, $offset = null) { - if(func_num_args() == 0) - $mode = &$this->__fetchmode; - $result = false; - if(!is_null($this->__result)) { - switch($mode) { - case PDO_FETCH_NUM: - $result = sqlite_fetch_array($this->__result, SQLITE_NUM); - break; - case PDO_FETCH_ASSOC: - $result = sqlite_fetch_array($this->__result, SQLITE_ASSOC); - break; - case PDO_FETCH_OBJ: - $result = sqlite_fetch_object($this->__result); - break; - case PDO_FETCH_BOTH: - default: - $result = sqlite_fetch_array($this->__result, SQLITE_BOTH); - break; - } - } - if(!$result) - $this->__result = null; - return $result; - } - - /** - * Public method: - * Returns an array with all rows of executed query. - * this->fetchAll( $mode:Integer ):Array - * @Param Integer PDO_FETCH_* constant to know how to read all rows, default PDO_FETCH_BOTH - * NOTE: this doesn't work as fetch method, then it will use always PDO_FETCH_BOTH - * if this param is omitted - * @Return Array An array with all fetched rows - */ - function fetchAll($mode = PDO_FETCH_BOTH) { - $result = array(); - if(!is_null($this->__result)) { - switch($mode) { - case PDO_FETCH_NUM: - while($r = sqlite_fetch_array($this->__result, SQLITE_NUM)) - array_push($result, $r); - break; - case PDO_FETCH_ASSOC: - while($r = sqlite_fetch_array($this->__result, SQLITE_ASSOC)) - array_push($result, $r); - break; - case PDO_FETCH_OBJ: - while($r = sqlite_fetch_object($this->__result)) - array_push($result, $r); - break; - case PDO_FETCH_BOTH: - default: - while($r = sqlite_fetch_array($this->__result, SQLITE_BOTH)) - array_push($result, $r); - break; - } - } - $this->__result = null; - return $result; - } - - /** - * Public method: - * Returns, if present, first column of next row of executed query - * this->fetchSingle( void ):Mixed - * @Return Mixed Null or next row's first column - */ - function fetchSingle() { - $result = null; - if(!is_null($this->__result)) { - $result = @sqlite_fetch_array($this->__result, SQLITE_NUM); - if($result) - $result = $result[0]; - else - $this->__result = null; - } - return $result; - } - - /** - * Public method: - * Returns number of last affected database rows - * this->rowCount( void ):Integer - * @Return Integer number of last affected rows - * NOTE: works with INSERT, UPDATE and DELETE query type - */ - function rowCount() { - return sqlite_changes($this->__connection); - } - - - // NOT TOTALLY SUPPORTED PUBLIC METHODS - /** - * Public method: - * Quotes correctly a string for this database - * this->getAttribute( $attribute:Integer ):Mixed - * @Param Integer a constant [ PDO_ATTR_SERVER_INFO, - * PDO_ATTR_SERVER_VERSION, - * PDO_ATTR_CLIENT_VERSION, - * PDO_ATTR_PERSISTENT ] - * @Return Mixed correct information or null - */ - function getAttribute($attribute) { - $result = null; - switch($attribute) { - case PDO_ATTR_SERVER_INFO: - $result = sqlite_libencoding(); - break; - case PDO_ATTR_SERVER_VERSION: - case PDO_ATTR_CLIENT_VERSION: - $result = sqlite_libversion(); - break; - case PDO_ATTR_PERSISTENT: - $result = $this->__persistent; - break; - } - return $result; - } - - /** - * Public method: - * Sets database attributes, in this version only connection mode. - * this->setAttribute( $attribute:Integer, $mixed:Mixed ):Boolean - * @Param Integer PDO_* constant, in this case only PDO_ATTR_PERSISTENT - * @Param Mixed value for PDO_* constant, in this case a Boolean value - * true for permanent connection, false for default not permament connection - * @Return Boolean true on change, false otherwise - */ - function setAttribute($attribute, $mixed) { - $result = false; - if($attribute === PDO_ATTR_PERSISTENT && $mixed != $this->__persistent) { - $result = true; - $this->__persistent = (boolean) $mixed; - sqlite_close($this->__connection); - if($this->__persistent === true) - $this->__connection = &sqlite_popen($this->__dbinfo); - else - $this->__connection = &sqlite_open($this->__dbinfo); - } - return $result; - } - - /** - * Public method: - * Sets default fetch mode to use with this->fetch() method. - * this->setFetchMode( $mode:Integer ):Boolean - * @Param Integer PDO_FETCH_* constant to use while reading an execute query with fetch() method. - * NOTE: PDO_FETCH_LAZY and PDO_FETCH_BOUND are not supported - * @Return Boolean true on change, false otherwise - */ - function setFetchMode($mode) { - $result = false; - switch($mode) { - case PDO_FETCH_NUM: - case PDO_FETCH_ASSOC: - case PDO_FETCH_OBJ: - case PDO_FETCH_BOTH: - $result = true; - $this->__fetchmode = &$mode; - break; - } - return $result; - } - - - // UNSUPPORTED PUBLIC METHODS - function bindColumn($mixewd, &$param, $type = null, $max_length = null, $driver_option = null) { - return false; - } - - function __setErrors($er, $connection = false) { - if(!is_resource($this->__connection)) { - $errno = 1; - $errst = 'Unable to open database.'; - } - else { - $errno = sqlite_last_error($this->__connection); - $errst = sqlite_error_string($errno); - } - $this->__errorCode = &$er; - $this->__errorInfo = Array($this->__errorCode, $errno, $errst); - $this->__result = null; - } - - function __uquery(&$query) { - if(!@$query = sqlite_query($query, $this->__connection)) { - $this->__setErrors('SQLER'); - $query = null; - } - return $query; - } - -} - - - -}//if!class_exists -?> \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/ext/pspell.php b/manager/includes/extenders/upgradephp/ext/pspell.php deleted file mode 100755 index 3e99ff00b4..0000000000 --- a/manager/includes/extenders/upgradephp/ext/pspell.php +++ /dev/null @@ -1,167 +0,0 @@ -<?php -/** - * api: php - * title: pspell emulation - * description: aspell wrapper functions for PHP pspell extension - * type: functions - * support: untested - * config: <var name="$__pspell[]" priority="never" description="helper variable"> - * version: 1.1 - * license: Public Domain - * - * Has no support for replacement and personal dictionaries, nor wordlist files. - * (Some of these features are possible with the aspell cmdline arguments eventually.) - * - * Only works with aspell binary, not ispell. - * - */ - - - -if (!function_exists("pspell_check")) { - - // helper variable, holds indexes to configured dictionaries - global $__pspell; - $__pspell[0] = array( - // array names do match aspell --cmdline options 1:1 - "lang" => "en", - "variety" => "", - "jargon" => "", - "encoding" => "utf-8", - "ignore" => 1, - "sug-mode" => "normal", - // pspell_*() emu internal options prefixed with _ - "_mode" => 0, - "_bin" => trim(`which aspell`), - "_insert" => "", - ); - - // ?? - define("PSPELL_FAST", 0x01); - define("PSPELL_NORMAL", 0x02); - define("PSPELL_BAD_SPELLERS", 0x04); - define("PSPELL_RUN_TOGETHER", 0x08); - define("PSPELL_ULTRA", 0x20); // non-standard - - - /** - * Check if a single word exists in the dictionary as-is. - * - */ - function pspell_check($i, $word) { - - // exec - $cmd = pspell_cmd($i, "check --dont-suggest"); - $word = escapeshellarg($word); - $r = `echo $word | $cmd`; - - // "*" means successful match - return preg_match("/^[\*]/m", $r); - } - - - /** - * non-standard, for emulation only - * - */ - function pspell_cmd($i, $insert="") { - global $__pspell; - - # /usr/bin/aspell pipe check - $cmd = $__pspell[$i]["_bin"] . " pipe $insert " . $__pspell[$i]["_insert"]; - - # --lang= --ignore= --variety= --jargon= --personal= --repl= --extra-dicts= --dict-dir= - foreach ($__pspell[$i] as $name=>$value) { - if (strlen($value) && !strstr(",_bin,_mode",$name) && ($name[0]!="_")) { - $cmd .= " --$name=$value"; - } - } - return $cmd; - } - - - /** - * If word does not exist in dictionary, returns list of alternatives. - * - */ - function pspell_suggest($i, $word) { - - // exec - $cmd = pspell_cmd($i, "--suggest"); - $word = escapeshellarg($word); - $r = `echo $word | $cmd`; - - // "&" multiple matches - if (preg_match("/^[\&] (.+?) (\d+) (\d+): (.+)$/m", $r, $uu)) { - return preg_split("/,\s*/", $uu[4]); - } - else { - //return($word); //@todo: native behaviour? - } - } - - - /** - * Set aspell options. - * - */ - function pspell_new($lang="en", $spelling="", $jargon="", $enc="utf-8", $mode=0) { - global $__pspell; - $i = count($__pspell); - $__pspell[$i] = array_merge($__pspell[0], array( - "lang" => $lang, - "variety" => $spelling, - "jargon" => $jargon, - "encoding" => $enc, - )); - if ($mode) { - pspell_config_mode($i, $mode); - } - return($i); - } - - - /** - * Various other dictionary options. - * Just set $__pspell[][] cmdline --options array. - * - */ - function pspell_config_create($lang, $spelling=NULL, $jargon=NULL, $enc=NULL) { - return pspell_new($lang, $spelling, $jargon, $enc); - } - function pspell_new_config($i) { - return $i; // dictionary and config are the same in this implementation - } - function pspell_config_mode($i, $mode) { - global $__pspell; - $__pspell[$i]["_mode"] = $mode; - $modes = array(0x00=>"normal", PSPELL_NORMAL=>"normal", PSPELL_FAST=>"fast", PSPELL_ULTRA=>"ultra", PSPELL_BAD_SPELLERS=>"bad-spellers"); - $__pspell[$i]["sug-mode"] = $modes[$mode & 0x27]; - pspell_config_runtogether($i, $mode & PSPELL_RUN_TOGETHER); - } - function pspell_config_ignore($i, $minlength) { - global $__pspell; - $__pspell[$i]["ignore"] = (int)$minlength; - } - function pspell_config_personal($i, $file) { - global $__pspell; - $__pspell[$i]["personal"] = escapeshellarg($file); - } - function pspell_config_data_dir($i, $dir) { - global $__pspell; - $__pspell[$i]["data-dir"] = escapeshellarg($dir); - } - function pspell_config_dict_dir($i, $dir) { - global $__pspell; - $__pspell[$i]["dict-dir"] = escapeshellarg($dir); - } - function pspell_config_runtogether($i, $is) { - global $__pspell; - $__pspell[$i]["_insert"] = $is ? "--runtogether" : ""; - } - - -} - - -?> \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/ext/uncommon_functions.php b/manager/includes/extenders/upgradephp/ext/uncommon_functions.php deleted file mode 100755 index 4329c85b6f..0000000000 --- a/manager/includes/extenders/upgradephp/ext/uncommon_functions.php +++ /dev/null @@ -1,82 +0,0 @@ -<?php -/* - Following funtions have been removed from the core emulation script, because - they are considered too special to be commonly used in WWW scripts. Anybody - using these, probably takes extra precautions prior calling them (you could - still load this script). Some of these functions could also be too difficult - to be reimplemented 100% exactly. -*/ - - - -#-- calls PHP interpreter itself (really only works with 4.3 onwards) -# (you should use the PHP_Compat implementation of this preferably) -if (!function_exists("php_strip_whitespace")) { - function php_strip_whitespace($fn) { - // alternatives would be using te tokenizer or - // some regexs to strip unwanted content parts - // (PEAR::PHP_Compat simply calls the tokenizer) - $fn = escapeshellcmd($fn); - $text = `php -wqCf '$fn'`; - if (!$text) { - $text = implode("", file($fn)); - } - return $text; - } -} - - -#-- invocates PHP interpreter to do the syntax check (nothing else can do) -# (you should use the PHP_Compat implementation of this preferably) -if (!function_exists("php_check_syntax")) { - function php_check_syntax($fn) { - $args = func_get_args(); - if (count($args)>1) { - $result = & $args[1]; - } - $fn = escapeshellcmd($fn); - $result = system("php -lqCf '$fn'", $err); - return($err==0); - } -} - - -#-- print enumerated list of last-called functions -if (!function_exists("debug_print_backtrace") && function_exists("debug_backtrace")) { - function debug_print_backtrace() { - $d = debug_backtrace(); - foreach ($d as $i=>$info) { - #-- index - echo "#" . ($i) . " "; - - #-- function name - if (isset($info["class"])) { - echo "$info[class]::"; - } - if (isset($info["object"])) { - echo "\$$info[object]->"; - } - echo "$info[function]"; - - #-- args - echo "("; - foreach ($info["args"] as $a) { - echo str_replace("\n", "", var_export($a, 1)) . ", "; - } - echo ")"; - - #-- caller - echo " called at ["; - if ($info["file"]) { - echo $info["file"] . ":" . $info["line"]; - } - else { - echo "unknown_location"; - } - echo "]\n"; - } - } -} - - -?> \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/ext/xmlentities.php b/manager/includes/extenders/upgradephp/ext/xmlentities.php deleted file mode 100755 index 8293f94df5..0000000000 --- a/manager/includes/extenders/upgradephp/ext/xmlentities.php +++ /dev/null @@ -1,32 +0,0 @@ -<?php -/** - * api: php - * title: future PHP functions - * descriptions: functions, that are not yet in php.net releases - * - * - * - */ - - - -/** - * @nonstandard - * - * Encodes required named XML entities. It's like htmlentities(). - * Doesn't re-encode or fix numeric entities. - * - * @param string - * @return string - */ -if (!function_exists("xmlentities")) { - function xmlentities($str) { - return strtr($str, array( - "&#"=>"&#", "&"=>"&", "'"=>"'", - "<"=>"<", ">"=>">", "\""=>""", - )); - } -} - - -?> \ No newline at end of file diff --git a/manager/includes/extenders/upgradephp/php0500.php b/manager/includes/extenders/upgradephp/php0500.php deleted file mode 100755 index e5c1e7db80..0000000000 --- a/manager/includes/extenders/upgradephp/php0500.php +++ /dev/null @@ -1,952 +0,0 @@ -<?php -/** - * api: php - * title: upgrade.php - * description: Emulates functions from new PHP versions on older interpreters. - * version: 17 - * license: Public Domain - * url: http://freshmeat.net/projects/upgradephp - * type: functions - * category: library - * priority: auto - * load_if: (PHP_VERSION<5.2) - * sort: -255 - * provides: upgrade-php, api:php5, json - * - * - * By loading this library you get PHP version independence. It provides - * downwards compatibility to older PHP interpreters by emulating missing - * functions or constants using IDENTICAL NAMES. So this doesn't slow down - * script execution on setups where the native functions already exist. It - * is meant as quick drop-in solution. It spares you from rewriting code or - * using cumbersome workarounds instead of the more powerful v5 functions. - * - * It cannot mirror PHP5s extended OO-semantics and functionality into PHP4 - * however. A few features are added here that weren't part of PHP yet. And - * some other function collections are separated out into the ext/ directory. - * It doesn't produce many custom error messages (YAGNI), and instead leaves - * reporting to invoked functions or for native PHP execution. - * - * And further this is PUBLIC DOMAIN (no copyright, no license, no warranty) - * so therefore compatible to ALL open source licenses. You could rip this - * paragraph out to republish this instead only under more restrictive terms - * or your favorite license (GNU LGPL/GPL, BSDL, MPL/CDDL, Artistic/PHPL, ..) - * - * Any contribution is appreciated. <milky*users#sf#net> - * - */ - - - - - -/** - * --------------------- CVS / FUTURE --- - * @group CVS - * @since future - * - * Following functions aren't implemented in current PHP versions, but - * might already be in CVS/SVN. - * - * @emulated - * gzdecode - * - * @moved out - * contrib/xmlentities - * - */ - - - - -/** - * ------------------------------ 5.0 --- - * @group 5_0 - * @since 5.0 - * - * PHP 5.0 introduces the Zend Engine 2 with new object-orientation features - * which cannot be reimplemented/defined for PHP4. The additional procedures - * and functions however can. - * - * @emulated - * stripos - * strripos - * str_ireplace - * get_headers - * headers_list - * fprintf - * vfprintf - * str_split - * http_build_query - * convert_uuencode - * convert_uudecode - * scandir - * idate - * time_nanosleep - * strpbrk - * get_declared_interfaces - * array_combine - * array_walk_recursive - * substr_compare - * spl_classes - * class_parents - * session_commit - * dns_check_record - * dns_get_mx - * setrawcookie - * file_put_contents - * COUNT_NORMAL - * COUNT_RECURSIVE - * count_recursive - * FILE_USE_INCLUDE_PATH - * FILE_IGNORE_NEW_LINES - * FILE_SKIP_EMPTY_LINES - * FILE_APPEND - * FILE_NO_DEFAULT_CONTEXT - * E_STRICT - * - * @missing - * proc_nice - * dns_get_record - * date_sunrise - undoc. - * date_sunset - undoc. - * PHP_CONFIG_FILE_SCAN_DIR - * clone - * - * @unimplementable - * set_exception_handler - * restore_exception_handler - * debug_print_backtrace - in ext, needs4.3 - * debug_backtrace - stub - * class_implements - * proc_terminate - * proc_get_status - * range - new param - * microtime - new param - * - */ - - - - -#-- constant: end of line -if (!defined("PHP_EOL")) { define("PHP_EOL", ( (DIRECTORY_SEPARATOR == "\\") ? "\015\012" : (strncmp(PHP_OS, "D", 1) ? "\012" : "\015") ) ); } # "D" for Darwin - - - -/** - * case-insensitive string search function, - * - finds position of first occourence of a string c-i - * - parameters identical to strpos() - */ -if (!function_exists("stripos")) { - function stripos($haystack, $needle, $offset=NULL) { - - #-- simply lowercase args - $haystack = strtolower($haystack); - $needle = strtolower($needle); - - #-- search - $pos = strpos($haystack, $needle, $offset); - return($pos); - } -} - - - - -/** - * case-insensitive string search function - * - but this one starts from the end of string (right to left) - * - offset can be negative or positive - * - */ -if (!function_exists("strripos")) { - function strripos($haystack, $needle, $offset=NULL) { - - #-- lowercase incoming strings - $haystack = strtolower($haystack); - $needle = strtolower($needle); - - #-- [-]$offset tells to ignore a few string bytes, - # we simply cut a bit from the right - if (isset($offset) && ($offset < 0)) { - $haystack = substr($haystack, 0, strlen($haystack) - 1); - } - - #-- let PHP do it - $pos = strrpos($haystack, $needle); - - #-- [+]$offset => ignore left haystack bytes - if (isset($offset) && ($offset > 0) && ($pos > $offset)) { - $pos = false; - } - - #-- result - return($pos); - } -} - - -/** - * case-insensitive version of str_replace - * - */ -if (!function_exists("str_ireplace")) { - function str_ireplace($search, $replace, $subject, $count=NULL) { - - #-- call ourselves recursively, if parameters are arrays/lists - if (is_array($search)) { - $replace = array_values($replace); - foreach (array_values($search) as $i=>$srch) { - $subject = str_ireplace($srch, $replace[$i], $subject); - } - } - - #-- sluice replacement strings through the Perl-regex module - # (faster than doing it by hand) - else { - $replace = addcslashes($replace, "$\\"); - $search = "{" . preg_quote($search) . "}i"; - $subject = preg_replace($search, $replace, $subject); - } - - #-- result - return($subject); - } -} - - -/** - * performs a http HEAD request - * - */ -if (!function_exists("get_headers")) { - function get_headers($url, $parse=0) { - - #-- extract URL parts ($host, $port, $path, ...) - $c = parse_url($url); - $c = array_merge(array("port"=>"80", "path"=>"/"), $c); - extract($c); - - #-- try to open TCP connection - $f = fsockopen($host, $port, $errno, $errstr, $timeout=15); - if (!$f) { - return; - } - - #-- send request header - socket_set_blocking($f, true); - fwrite($f, "HEAD $path HTTP/1.0\015\012" - . "Host: $host\015\012" - . "Connection: close\015\012" - . "Accept: */*, xml/*\015\012" - . "User-Agent: ".trim(ini_get("user_agent"))."\015\012" - . "\015\012"); - - #-- read incoming lines - $ls = array(); - while ( !feof($f) && ($line = trim(fgets($f, 1<<16))) ) { - - #-- read header names to make result an hash (names in array index) - if ($parse) { - if ($l = strpos($line, ":")) { - $name = substr($line, 0, $l); - $value = trim(substr($line, $l + 1)); - #-- merge headers - if (isset($ls[$name])) { - $ls[$name] .= ", $value"; - } - else { - $ls[$name] = $value; - } - } - #-- HTTP response status header as result[0] - else { - $ls[] = $line; - } - } - - #-- unparsed header list (numeric indices) - else { - $ls[] = $line; - } - } - - #-- close TCP connection and give result - fclose($f); - return($ls); - } -} - - -/** - * @stub - * list of already/potentially sent HTTP responsee headers(), - * CANNOT be implemented (except for Apache module maybe) - * - */ -if (!function_exists("headers_list")) { - function headers_list() { - trigger_error("headers_list(): not supported by this PHP version", E_USER_WARNING); - return (array)NULL; - } -} - - -/** - * write formatted string to stream/file, - * arbitrary numer of arguments - * - */ -if (!function_exists("fprintf")) { - function fprintf(/*...*/) { - $args = func_get_args(); - $stream = array_shift($args); - return fwrite($stream, call_user_func_array("sprintf", $args)); - } -} - - -/** - * write formatted string to stream, args array - * - */ -if (!function_exists("vfprintf")) { - function vfprintf($stream, $format, $args=NULL) { - return fwrite($stream, vsprintf($format, $args)); - } -} - - -/** - * splits a string in evenly sized chunks - * - * @return array - */ -if (!function_exists("str_split")) { - function str_split($str, $chunk=1) { - $r = array(); - - #-- return back as one chunk completely, if size chosen too low - if ($chunk < 1) { - $r[] = $str; - } - - #-- add substrings to result array until subject strings end reached - else { - $len = strlen($str); - for ($n=0; $n<$len; $n+=$chunk) { - $r[] = substr($str, $n, $chunk); - } - } - return($r); - } -} - - -/** - * constructs a QUERY_STRING (application/x-www-form-urlencoded format, non-raw) - * from a nested array/hash with name=>value pairs - * - only first two args are part of the original API - rest used for recursion - * - * @param mixed $vars variable data for query string - * @param string $int_prefix (optional) - * @param string $subarray_pfix (optional) - * @param integer $level - * @return mixed - */ -if (!function_exists("http_build_query")) { - function http_build_query($vars, $int_prefix="", $subarray_pfix="", $level=0) { - - #-- empty starting string - $s = ""; - ($SEP = ini_get("arg_separator.output")) or ($SEP = "&"); - - #-- traverse hash/array/list entries - foreach ($vars as $index=>$value) { - - #-- add sub_prefix for subarrays (happens for recursed innovocation) - if ($subarray_pfix) { - if ($level) { - $index = "[" . $index . "]"; - } - $index = $subarray_pfix . $index; - } - #-- add user-specified prefix for integer-indices - elseif (is_int($index) && strlen($int_prefix)) { - $index = $int_prefix . $index; - } - - #-- recurse for sub-arrays - if (is_array($value)) { - $s .= http_build_query($value, "", $index, $level + 1); - } - else { // or just literal URL parameter - $s .= $SEP . $index . "=" . urlencode($value); - } - } - - #-- remove redundant "&" from first round (-not checked above to simplifiy loop) - if (!$subarray_pfix) { - $s = substr($s, strlen($SEP)); - } - - #-- return result / to previous array level and iteration - return($s); - } -} - - -/** - * transform into 3to4 uuencode - * - this is the bare encoding, not the uu file format - * - * @param string - * @return string - */ -if (!function_exists("convert_uuencode")) { - function convert_uuencode($bin) { - - #-- init vars - $out = ""; - $line = ""; - $len = strlen($bin); - $bin .= "\01\01\01"; // PHP and uuencode(1) use some special garbage??, looks like "\000"* and "`\n`" simply appended - - #-- canvass source string - for ($n=0; $n<$len; ) { - - #-- make 24-bit integer from first three bytes - $x = (ord($bin[$n++]) << 16) - + (ord($bin[$n++]) << 8) - + (ord($bin[$n++]) << 0); - - #-- disperse that into 4 ascii characters - $line .= chr( 32 + (($x >> 18) & 0x3f) ) - . chr( 32 + (($x >> 12) & 0x3f) ) - . chr( 32 + (($x >> 6) & 0x3f) ) - . chr( 32 + (($x >> 0) & 0x3f) ); - - #-- cut lines, inject count prefix before each - if (($n % 45) == 0) { - $out .= chr(32 + 45) . "$line\n"; - $line = ""; - } - } - - #-- throw last line, +length prefix - if ($trail = ($len % 45)) { - $out .= chr(32 + $trail) . "$line\n"; - } - - // uuencode(5) doesn't tell so, but spaces are replaced with the ` char in most implementations - $out = strtr("$out \n", " ", "`"); - return($out); - } -} - - -/** - * decodes uuencoded() data again - * - * @param string $from - * @return string - */ -if (!function_exists("convert_uudecode")) { - function convert_uudecode($from) { - - #-- prepare - $out = ""; - $from = strtr($from, "`", " "); - - #-- go through lines - foreach(explode("\n", ltrim($from)) as $line) { - if (!strlen($line)) { - break; // end reached - } - - #-- current line length prefix - unset($num); - $num = ord($line{0}) - 32; - if (($num <= 0) || ($num > 62)) { // 62 is the maximum line length - break; // according to uuencode(5), so we stop here too - } - $line = substr($line, 1); - - #-- prepare to decode 4-char chunks - $add = ""; - for ($n=0; strlen($add)<$num; ) { - - #-- merge 24 bit integer from the 4 ascii characters (6 bit each) - $x = ((ord($line[$n++]) - 32) << 18) - + ((ord($line[$n++]) - 32) << 12) // were saner with "& 0x3f" - + ((ord($line[$n++]) - 32) << 6) - + ((ord($line[$n++]) - 32) << 0); - - #-- reconstruct the 3 original data chars - $add .= chr( ($x >> 16) & 0xff ) - . chr( ($x >> 8) & 0xff ) - . chr( ($x >> 0) & 0xff ); - } - - #-- cut any trailing garbage (last two decoded chars may be wrong) - $out .= substr($add, 0, $num); - $line = ""; - } - - return($out); - } -} - - -/** - * return array of filenames in a given directory - * (only works for local files) - * - * @param string $dirname - * @param bool $desc - * @return array - */ -if (!function_exists("scandir")) { - function scandir($dirname, $desc=0) { - - #-- check for file:// protocol, others aren't handled - if (strpos($dirname, "file://") === 0) { - $dirname = substr($dirname, 7); - if (strpos($dirname, "localh") === 0) { - $dirname = substr($dirname, strpos($dirname, "/")); - } - } - - #-- directory reading handle - if ($dh = opendir($dirname)) { - $ls = array(); - while ($fn = readdir($dh)) { - $ls[] = $fn; // add to array - } - closedir($dh); - - #-- sort filenames - if ($desc) { - rsort($ls); - } - else { - sort($ls); - } - return $ls; - } - - #-- failure - return false; - } -} - - -/** - * like date(), but returns an integer for given one-letter format parameter - * - * @param string $formatchar - * @param integer $timestamp - * @return integer - */ -if (!function_exists("idate")) { - function idate($formatchar, $timestamp=NULL) { - - #-- reject non-simple type parameters - if (strlen($formatchar) != 1) { - return false; - } - - #-- get current time, if not given - if (!isset($timestamp)) { - $timestamp = time(); - } - - #-- get and turn into integer - $str = date($formatchar, $timestamp); - return (int)$str; - } -} - - - -/** - * combined sleep() and usleep() - * - */ -if (!function_exists("time_nanosleep")) { - function time_nanosleep($sec, $nano) { - sleep($sec); - usleep($nano); - } -} - - - - -/** - * search first occourence of any of the given chars, returns rest of haystack - * (char_list must be a string for compatibility with the real PHP func) - * - * @param string $haystack - * @param string $char_list - * @return integer - */ -if (!function_exists("strpbrk")) { - function strpbrk($haystack, $char_list) { - - #-- prepare - $len = strlen($char_list); - $min = strlen($haystack); - - #-- check with every symbol from $char_list - for ($n = 0; $n < $len; $n++) { - $l = strpos($haystack, $char_list{$n}); - - #-- get left-most occourence - if (($l !== false) && ($l < $min)) { - $min = $l; - } - } - - #-- result - if ($min) { - return(substr($haystack, $min)); - } - else { - return(false); - } - } -} - - - -/** - * logo image activation URL query strings (gaga feature) - * - */ -if (!function_exists("php_real_logo_guid")) { - function php_real_logo_guid() { return php_logo_guid(); } - function php_egg_logo_guid() { return zend_logo_guid(); } -} - - -/** - * no need to implement this - * (there aren't interfaces in PHP4 anyhow) - * - */ -if (!function_exists("get_declared_interfaces")) { - function get_declared_interfaces() { - trigger_error("get_declared_interfaces(): Current script won't run reliably with PHP4.", E_USER_WARNING); - return( (array)NULL ); - } -} - - - -/** - * creates an array from lists of $keys and $values - * (both should have same number of entries) - * - * @param array $keys - * @param array $values - * @return array - */ -if (!function_exists("array_combine")) { - function array_combine($keys, $values) { - - #-- convert input arrays into lists - $keys = array_values($keys); - $values = array_values($values); - $r = array(); - - #-- one from each - foreach ($values as $i=>$val) { - if ($key = $keys[$i]) { - $r[$key] = $val; - } - else { - $r[] = $val; // useless, PHP would have long aborted here - } - } - return($r); - } -} - - -/** - * apply userfunction to each array element (descending recursively) - * use it like: array_walk_recursive($_POST, "stripslashes"); - * - $callback can be static function name or object/method, class/method - * - * @param array $input - * @param string $callback - * @param array $userdata (optional) - * @return array - */ -if (!function_exists("array_walk_recursive")) { - function array_walk_recursive(&$input, $callback, $userdata=NULL) { - #-- each entry - foreach ($input as $key=>$value) { - - #-- recurse for sub-arrays - if (is_array($value)) { - array_walk_recursive($input[$key], $callback, $userdata); - } - - #-- $callback handles scalars - else { - call_user_func_array($callback, array(&$input[$key], $key, $userdata) ); - } - } - - // no return value - } -} - - -/** - * complicated wrapper around substr() and and strncmp() - * - * @param string $haystack - * @param string $needle - * @param integer $offset - * @param integer $len - * @param integer $ci - * @return mixed - */ -if (!function_exists("substr_compare")) { - function substr_compare($haystack, $needle, $offset=0, $len=0, $ci=0) { - - #-- check params - if ($len <= 0) { // not well documented - $len = strlen($needle); - if (!$len) { return(0); } - } - #-- length exception - if ($len + $offset >= strlen($haystack)) { - trigger_error("substr_compare: given length exceeds main_str", E_USER_WARNING); - return(false); - } - - #-- cut - if ($offset) { - $haystack = substr($haystack, $offset, $len); - } - #-- case-insensitivity - if ($ci) { - $haystack = strtolower($haystack); - $needle = strtolower($needle); - } - - #-- do - return(strncmp($haystack, $needle, $len)); - } -} - - -/** - * stub, returns empty list as usual; - * you must load "ext/spl.php" beforehand to get this - * - */ -if (!function_exists("spl_classes")) { - function spl_classes() { - trigger_error("spl_classes(): not built into this PHP version"); - return (array)NULL; - } -} - - - -/** - * gets you list of class names the given objects class was derived from, slow - * - * @param object $obj - * @return object - */ -if (!function_exists("class_parents")) { - function class_parents($obj) { - - #-- first get full list - $all = get_declared_classes(); - $r = array(); - - #-- filter out - foreach ($all as $potential_parent) { - if (is_subclass_of($obj, $potential_parent)) { - $r[$potential_parent] = $potential_parent; - } - } - return($r); - } -} - - -/** - * an alias - * - */ -if (!function_exists("session_commit") && function_exists("session_write_close")) { - function session_commit() { - // simple - session_write_close(); - } -} - - -/** - * aliases - * - * @param mixed $host - * @param mixed $type (optional) - * @return mixed - */ -if (!function_exists("dns_check_record")) { - function dns_check_record($host, $type=NULL) { - // synonym to - return checkdnsrr($host, $type); - } -} -if (!function_exists("dns_get_mx")) { - function dns_get_mx($host, $mx) { - $args = func_get_args(); - // simple alias - except the optional, but referenced third parameter - if ($args[2]) { - $w = & $args[2]; - } - else { - $w = false; - } - return getmxrr($host, $mx, $w); - } -} - - -/** - * setrawcookie(), - * can this be emulated 100% exactly? - * - * @param string $name - * @param mixed $value - * @param mixed $expire - * @param mixed $path - * @param mixed $domain - * @param integer $secure - * @return string - */ -if (!function_exists("setrawcookie")) { - // we output everything directly as HTTP header(), PHP doesn't seem - // to manage an internal cookie list anyhow - function setrawcookie($name, $value=NULL, $expire=NULL, $path=NULL, $domain=NULL, $secure=0) { - if (isset($value) && strpbrk($value, ",; \r\t\n\f\014\013")) { - trigger_error("setrawcookie: value may not contain any of ',; \r\n' and some other control chars; thrown away", E_USER_WARNING); - } - else { - $h = "Set-Cookie: $name=$value" - . ($expire ? "; expires=" . gmstrftime("%a, %d-%b-%y %H:%M:%S %Z", $expire) : "") - . ($path ? "; path=$path": "") - . ($domain ? "; domain=$domain" : "") - . ($secure ? "; secure" : ""); - header($h); - } - } -} - - -/** - * write-at-once file access (counterpart to file_get_contents) - * - * @param integer $filename - * @param mixed $content - * @param integer $flags - * @param mixed $resource - * @return integer - */ -if (!function_exists("file_put_contents")) { - function file_put_contents($filename, $content, $flags=0, $resource=NULL) { - - #-- prepare - $mode = ($flags & FILE_APPEND ? "a" : "w" ) ."b"; - $incl = $flags & FILE_USE_INCLUDE_PATH; - $length = strlen($content); -// $resource && trigger_error("EMULATED file_put_contents does not support \$resource parameter.", E_USER_ERROR); - - #-- write non-scalar? - if (is_array($content) || is_object($content)) { - $content = implode("", (array)$content); - } - - #-- open for writing - $f = fopen($filename, $mode, $incl); - if ($f) { - - // locking - if (($flags & LOCK_EX) && !flock($f, LOCK_EX)) { - return fclose($f) && false; - } - - // write - $written = fwrite($f, $content); - fclose($f); - - #-- only report success, if completely saved - return($length == $written); - } - } -} - - -/** - * file-related constants - * - */ -if (!defined("FILE_USE_INCLUDE_PATH")) { define("FILE_USE_INCLUDE_PATH", 1); } -if (!defined("FILE_IGNORE_NEW_LINES")) { define("FILE_IGNORE_NEW_LINES", 2); } -if (!defined("FILE_SKIP_EMPTY_LINES")) { define("FILE_SKIP_EMPTY_LINES", 4); } -if (!defined("FILE_APPEND")) { define("FILE_APPEND", 8); } -if (!defined("FILE_NO_DEFAULT_CONTEXT")) { define("FILE_NO_DEFAULT_CONTEXT", 16); } - - - -#-- more new constants for 5.0 -if (!defined("E_STRICT")) { define("E_STRICT", 2048); } // _STRICT is a special case of _NOTICE (_DEBUG) -# PHP_CONFIG_FILE_SCAN_DIR - - - -#-- array count_recursive() -if (!defined("COUNT_NORMAL")) { define("COUNT_NORMAL", 0); } // count($array, 0); -if (!defined("COUNT_RECURSIVE")) { define("COUNT_RECURSIVE", 1); } // use count_recursive() - - - -/** - * @since never - * @nonstandard - * - * we introduce a new function, because we cannot emulate the - * newly introduced second parameter to count() - * - * @param array $array - * @param integer $mode - * @return integer - */ -if (!function_exists("count_recursive")) { - function count_recursive($array, $mode=1) { - if (!$mode) { - return(count($array)); - } - else { - $c = count($array); - foreach ($array as $sub) { - if (is_array($sub)) { - $c += count_recursive($sub); - } - } - return($c); - } - } -} diff --git a/manager/includes/extenders/upgradephp/php0510.php b/manager/includes/extenders/upgradephp/php0510.php deleted file mode 100755 index 86544cbceb..0000000000 --- a/manager/includes/extenders/upgradephp/php0510.php +++ /dev/null @@ -1,281 +0,0 @@ -<?php -/** - * api: php - * title: upgrade.php - * description: Emulates functions from new PHP versions on older interpreters. - * version: 17 - * license: Public Domain - * url: http://freshmeat.net/projects/upgradephp - * type: functions - * category: library - * priority: auto - * load_if: (PHP_VERSION<5.2) - * sort: -255 - * provides: upgrade-php, api:php5, json - * - * - * By loading this library you get PHP version independence. It provides - * downwards compatibility to older PHP interpreters by emulating missing - * functions or constants using IDENTICAL NAMES. So this doesn't slow down - * script execution on setups where the native functions already exist. It - * is meant as quick drop-in solution. It spares you from rewriting code or - * using cumbersome workarounds instead of the more powerful v5 functions. - * - * It cannot mirror PHP5s extended OO-semantics and functionality into PHP4 - * however. A few features are added here that weren't part of PHP yet. And - * some other function collections are separated out into the ext/ directory. - * It doesn't produce many custom error messages (YAGNI), and instead leaves - * reporting to invoked functions or for native PHP execution. - * - * And further this is PUBLIC DOMAIN (no copyright, no license, no warranty) - * so therefore compatible to ALL open source licenses. You could rip this - * paragraph out to republish this instead only under more restrictive terms - * or your favorite license (GNU LGPL/GPL, BSDL, MPL/CDDL, Artistic/PHPL, ..) - * - * Any contribution is appreciated. <milky*users#sf#net> - * - */ - - - - - -/** - * --------------------- CVS / FUTURE --- - * @group CVS - * @since future - * - * Following functions aren't implemented in current PHP versions, but - * might already be in CVS/SVN. - * - * @emulated - * gzdecode - * - * @moved out - * contrib/xmlentities - * - */ - - - - -/** - * ------------------------------ 5.1 --- - * @group 5_1 - * @since 5.1 - * - * Additions in PHP 5.1 - * - most functions here appeared in -rc1 already - * - and were backported to 4.4 series? - * - * @emulated - * property_exists - * time_sleep_until - * fputcsv - * strptime - * ENT_COMPAT - * ENT_QUOTES - * ENT_NOQUOTES - * htmlspecialchars_decode - * PHP_INT_SIZE - * PHP_INT_MAX - * M_SQRTPI - * M_LNPI - * M_EULER - * M_SQRT3 - * - * @missing - * strptime - * - * @unimplementable - * ... - * - */ - - - -/** - * Constants for future 64-bit integer support. - * - */ -if (!defined("PHP_INT_SIZE")) { define("PHP_INT_SIZE", 4); } -if (!defined("PHP_INT_MAX")) { define("PHP_INT_MAX", 2147483647); } - - - -/** - * @flag bugfix - * @see #33895 - * - * Missing constants in 5.1, originally appeared in 4.0. - */ -if (!defined("M_SQRTPI")) { define("M_SQRTPI", 1.7724538509055); } -if (!defined("M_LNPI")) { define("M_LNPI", 1.1447298858494); } -if (!defined("M_EULER")) { define("M_EULER", 0.57721566490153); } -if (!defined("M_SQRT3")) { define("M_SQRT3", 1.7320508075689); } - - - - -/** - * removes entities < > & and eventually " from HTML string - * - */ -if (!function_exists("htmlspecialchars_decode")) { - if (!defined("ENT_COMPAT")) { define("ENT_COMPAT", 2); } - if (!defined("ENT_QUOTES")) { define("ENT_QUOTES", 3); } - if (!defined("ENT_NOQUOTES")) { define("ENT_NOQUOTES", 0); } - function htmlspecialchars_decode($string, $quotes=2) { - $d = $quotes & ENT_COMPAT; - $s = $quotes & ENT_QUOTES; - return str_replace( - array("<", ">", ($s ? """ : "&.-;"), ($d ? "'" : "&.-;"), "&"), - array("<", ">", "'", "\"", "&"), - $string - ); - } -} - - - -/** - * @flag needs5 - * - * Checks for existence of object property, should return TRUE even for NULL values. - * - * @compat - * no test for edge cases - */ -if (!function_exists("property_exists")) { - function property_exists($obj, $propname) { - if (is_object($obj)) { - $props = array_keys(get_object_vars($obj)); - } - elseif (class_exists($obj)) { - $props = array_keys(get_class_vars($obj)); - } - return !empty($props) and in_array($propname, $props); - } -} - - - -/** - * halt execution, until given timestamp - * - */ -if (!function_exists("time_sleep_until")) { - function time_sleep_until($t) { - $delay = $t - time(); - if ($delay < 0) { - trigger_error("time_sleep_until: timestamp in the past", E_USER_WARNING); - return false; - } - else { - sleep((int)$delay); - #usleep(($delay - floor($delay)) * 1000000); - return true; - } - } -} - - - -/** - * @untested - * - * Writes an array as CSV text line into opened filehandle. - * - */ -if (!function_exists("fputcsv")) { - function fputcsv($fp, $fields, $delim=",", $encl='"') { - $line = ""; - foreach ((array)$fields as $str) { - $line .= ($line ? $delim : "") - . $encl - . str_replace(array('\\', $encl), array('\\\\'. '\\'.$encl), $str) - . $encl; - } - fwrite($fp, $line."\n"); - } -} - - - -/** - * @flag basic - * @untested - * - * @compat - * only implements a few basic regular expression lookups - * no idea how to handle all of it - */ -if (!function_exists("strptime")) { - function strptime($str, $format) { - static $expand = array( - "%D" => "%m/%d/%y", - "%T" => "%H:%M:%S", - ); - static $map_r = array( - "%S"=>"tm_sec", - "%M"=>"tm_min", - "%H"=>"tm_hour", - "%d"=>"tm_mday", - "%m"=>"tm_mon", - "%Y"=>"tm_year", - "%y"=>"tm_year", - "%W"=>"tm_wday", - "%D"=>"tm_yday", - "%u"=>"unparsed", - ); - static $names = array( - "Jan" => 1, "Feb" => 2, "Mar" => 3, "Apr" => 4, "May" => 5, "Jun" => 6, - "Jul" => 7, "Aug" => 8, "Sep" => 9, "Oct" => 10, "Nov" => 11, "Dec" => 12, - "Sun" => 0, "Mon" => 1, "Tue" => 2, "Wed" => 3, "Thu" => 4, "Fri" => 5, "Sat" => 6, - ); - - #-- transform $format into extraction regex - $format = str_replace(array_keys($expand), array_values($expand), $format); - $preg = preg_replace("/(%\w)/", "(\w+)", preg_quote($format)); - - #-- record the positions of all STRFCMD-placeholders - preg_match_all("/(%\w)/", $format, $positions); - $positions = $positions[1]; - - #-- get individual values - if (preg_match("#$preg#", "$str", $extracted)) { - - #-- get values - foreach ($positions as $pos=>$strfc) { - $v = $extracted[$pos + 1]; - - #-- add - if ($n = $map_r[$strfc]) { - $vals[$n] = ($v > 0) ? (int)$v : $v; - } - else { - $vals["unparsed"] .= $v . " "; - } - } - - #-- fixup some entries - $vals["tm_wday"] = $names[ substr($vals["tm_wday"], 0, 3) ]; - if ($vals["tm_year"] >= 1900) { - $tm_year -= 1900; - } - elseif ($vals["tm_year"] > 0) { - $vals["tm_year"] += 100; - } - if ($vals["tm_mon"]) { - $vals["tm_mon"] -= 1; - } - else { - $vals["tm_mon"] = $names[ substr($vals["tm_mon"], 0, 3) ] - 1; - } - - #-- calculate wday - // ... (mktime) - } - return isset($vals) ? $vals : false; - } -} diff --git a/manager/includes/extenders/upgradephp/php0520.php b/manager/includes/extenders/upgradephp/php0520.php deleted file mode 100755 index 10eae03674..0000000000 --- a/manager/includes/extenders/upgradephp/php0520.php +++ /dev/null @@ -1,636 +0,0 @@ -<?php -/** - * api: php - * title: upgrade.php - * description: Emulates functions from new PHP versions on older interpreters. - * version: 17 - * license: Public Domain - * url: http://freshmeat.net/projects/upgradephp - * type: functions - * category: library - * priority: auto - * load_if: (PHP_VERSION<5.2) - * sort: -255 - * provides: upgrade-php, api:php5, json - * - * - * By loading this library you get PHP version independence. It provides - * downwards compatibility to older PHP interpreters by emulating missing - * functions or constants using IDENTICAL NAMES. So this doesn't slow down - * script execution on setups where the native functions already exist. It - * is meant as quick drop-in solution. It spares you from rewriting code or - * using cumbersome workarounds instead of the more powerful v5 functions. - * - * It cannot mirror PHP5s extended OO-semantics and functionality into PHP4 - * however. A few features are added here that weren't part of PHP yet. And - * some other function collections are separated out into the ext/ directory. - * It doesn't produce many custom error messages (YAGNI), and instead leaves - * reporting to invoked functions or for native PHP execution. - * - * And further this is PUBLIC DOMAIN (no copyright, no license, no warranty) - * so therefore compatible to ALL open source licenses. You could rip this - * paragraph out to republish this instead only under more restrictive terms - * or your favorite license (GNU LGPL/GPL, BSDL, MPL/CDDL, Artistic/PHPL, ..) - * - * Any contribution is appreciated. <milky*users#sf#net> - * - */ - - - - - -/** - * --------------------- CVS / FUTURE --- - * @group CVS - * @since future - * - * Following functions aren't implemented in current PHP versions, but - * might already be in CVS/SVN. - * - * @emulated - * gzdecode - * - * @moved out - * contrib/xmlentities - * - */ - - - -/** - * ------------------------------ 5.2 --- - * @group 5_2 - * @since 5.2 - * - * Additions of PHP 5.2.0 - * - some listed here might have appeared earlier or in release candidates - * - * @emulated - * json_encode - * json_decode - * error_get_last - * preg_last_error - * lchown - * lchgrp - * E_RECOVERABLE_ERROR - * M_SQRTPI - * M_LNPI - * M_EULER - * M_SQRT3 - * array_fill_keys (@doc: 4.2 or 5.2 ?) - * array_diff_key (@doc: 5.1 or 5.2 ?) - * array_diff_ukey - * array_product - * inet_ntop - * inet_pton - * array_intersect_key - * array_intersect_ukey - * - * @missing - * sys_getloadavg - * ftp_ssl_connect - * XmlReader - * XmlWriter - * PDO* - * pdo_drivers (should be in ext/pdo) - * - * @unimplementable - * stream_* - * - */ - - - - - -/** - * @since unknown - */ -if (!defined("E_RECOVERABLE_ERROR")) { define("E_RECOVERABLE_ERROR", 4096); } - - - -/** - * Converts PHP variable or array into a "JSON" (JavaScript value expression - * or "object notation") string. - * - * @compat - * Output seems identical to PECL versions. "Only" 20x slower than PECL version. - * @bugs - * Doesn't take care with unicode too much - leaves UTF-8 sequences alone. - * - * @param $var mixed PHP variable/array/object - * @return string transformed into JSON equivalent - */ -if (!function_exists("json_encode")) { - function json_encode($var, /*emu_args*/$obj=FALSE) { - - #-- prepare JSON string - $json = ""; - - #-- add array entries - if (is_array($var) || ($obj=is_object($var))) { - - #-- check if array is associative - if (!$obj) foreach ((array)$var as $i=>$v) { - if (!is_int($i)) { - $obj = 1; - break; - } - } - - #-- concat invidual entries - foreach ((array)$var as $i=>$v) { - $json .= ($json ? "," : "") // comma separators - . ($obj ? ("\"$i\":") : "") // assoc prefix - . (json_encode($v)); // value - } - - #-- enclose into braces or brackets - $json = $obj ? "{".$json."}" : "[".$json."]"; - } - - #-- strings need some care - elseif (is_string($var)) { - if (!utf8_decode($var)) { - $var = utf8_encode($var); - } - $var = str_replace(array("\\", "\"", "/", "\b", "\f", "\n", "\r", "\t"), array("\\\\", '\"', "\\/", "\\b", "\\f", "\\n", "\\r", "\\t"), $var); - $json = '"' . $var . '"'; - //@COMPAT: for fully-fully-compliance $var = preg_replace("/[\000-\037]/", "", $var); - } - - #-- basic types - elseif (is_bool($var)) { - $json = $var ? "true" : "false"; - } - elseif ($var === NULL) { - $json = "null"; - } - elseif (is_int($var) || is_float($var)) { - $json = "$var"; - } - - #-- something went wrong - else { - trigger_error("json_encode: don't know what a '" .gettype($var). "' is.", E_USER_ERROR); - } - - #-- done - return($json); - } -} - - - -/** - * Parses a JSON (JavaScript value expression) string into a PHP variable - * (array or object). - * - * @compat - * Behaves similar to PECL version, but is less quiet on errors. - * Now even decodes unicode \uXXXX string escapes into UTF-8. - * "Only" 27 times slower than native function. - * @bugs - * Might parse some misformed representations, when other implementations - * would scream error or explode. - * @code - * This is state machine spaghetti code. Needs the extranous parameters to - * process subarrays, etc. When it recursively calls itself, $n is the - * current position, and $waitfor a string with possible end-tokens. - * - * @param $json string JSON encoded values - * @param $assoc bool pack data into php array/hashes instead of objects - * @return mixed parsed into PHP variable/array/object - */ -if (!function_exists("json_decode")) { - function json_decode($json, $assoc=FALSE, $limit=512, /*emu_args*/$n=0,$state=0,$waitfor=0) { - - #-- result var - $val = NULL; - static $lang_eq = array("true" => TRUE, "false" => FALSE, "null" => NULL); - static $str_eq = array("n"=>"\012", "r"=>"\015", "\\"=>"\\", '"'=>'"', "f"=>"\f", "b"=>"\b", "t"=>"\t", "/"=>"/"); - if ($limit<0) return /* __cannot_compensate */; - - #-- flat char-wise parsing - for (/*n*/; $n<strlen($json); /*n*/) { - $c = $json[$n]; - - #-= in-string - if ($state==='"') { - - if ($c == '\\') { - $c = $json[++$n]; - // simple C escapes - if (isset($str_eq[$c])) { - $val .= $str_eq[$c]; - } - - // here we transform \uXXXX Unicode (always 4 nibbles) references to UTF-8 - elseif ($c == "u") { - // read just 16bit (therefore value can't be negative) - $hex = hexdec( substr($json, $n+1, 4) ); - $n += 4; - // Unicode ranges - if ($hex < 0x80) { // plain ASCII character - $val .= chr($hex); - } - elseif ($hex < 0x800) { // 110xxxxx 10xxxxxx - $val .= chr(0xC0 + $hex>>6) . chr(0x80 + $hex&63); - } - elseif ($hex <= 0xFFFF) { // 1110xxxx 10xxxxxx 10xxxxxx - $val .= chr(0xE0 + $hex>>12) . chr(0x80 + ($hex>>6)&63) . chr(0x80 + $hex&63); - } - // other ranges, like 0x1FFFFF=0xF0, 0x3FFFFFF=0xF8 and 0x7FFFFFFF=0xFC do not apply - } - - // no escape, just a redundant backslash - //@COMPAT: we could throw an exception here - else { - $val .= "\\" . $c; - } - } - - // end of string - elseif ($c == '"') { - $state = 0; - } - - // yeeha! a single character found!!!!1! - else/*if (ord($c) >= 32)*/ { //@COMPAT: specialchars check - but native json doesn't do it? - $val .= $c; - } - } - - #-> end of sub-call (array/object) - elseif ($waitfor && (strpos($waitfor, $c) !== false)) { - return array($val, $n); // return current value and state - } - - #-= in-array - elseif ($state===']') { - list($v, $n) = json_decode($json, $assoc, $limit, $n, 0, ",]"); - $val[] = $v; - if ($json[$n] == "]") { return array($val, $n); } - } - - #-= in-object - elseif ($state==='}') { - list($i, $n) = json_decode($json, $assoc, $limit, $n, 0, ":"); // this allowed non-string indicies - list($v, $n) = json_decode($json, $assoc, $limit, $n+1, 0, ",}"); - $val[$i] = $v; - if ($json[$n] == "}") { return array($val, $n); } - } - - #-- looking for next item (0) - else { - - #-> whitespace - if (preg_match("/\s/", $c)) { - // skip - } - - #-> string begin - elseif ($c == '"') { - $state = '"'; - } - - #-> object - elseif ($c == "{") { - list($val, $n) = json_decode($json, $assoc, $limit-1, $n+1, '}', "}"); - - if ($val && $n) { - $val = $assoc ? (array)$val : (object)$val; - } - } - - #-> array - elseif ($c == "[") { - list($val, $n) = json_decode($json, $assoc, $limit-1, $n+1, ']', "]"); - } - - #-> comment - elseif (($c == "/") && ($json[$n+1]=="*")) { - // just find end, skip over - ($n = strpos($json, "*/", $n+1)) or ($n = strlen($json)); - } - - #-> numbers - elseif (preg_match("#^(-?\d+(?:\.\d+)?)(?:[eE]([-+]?\d+))?#", substr($json, $n), $uu)) { - $val = $uu[1]; - $n += strlen($uu[0]) - 1; - if (strpos($val, ".")) { // float - $val = (float)$val; - } - elseif ($val[0] == "0") { // oct - $val = octdec($val); - } - else { - $val = (int)$val; - } - // exponent? - if (isset($uu[2])) { - $val *= pow(10, (int)$uu[2]); - } - } - - #-> boolean or null - elseif (preg_match("#^(true|false|null)\b#", substr($json, $n), $uu)) { - $val = $lang_eq[$uu[1]]; - $n += strlen($uu[1]) - 1; - } - - #-- parsing error - else { - // PHPs native json_decode() breaks here usually and QUIETLY - trigger_error("json_decode: error parsing '$c' at position $n", E_USER_WARNING); - return $waitfor ? array(NULL, 1<<30) : NULL; - } - - }//state - - #-- next char - if ($n === NULL) { return NULL; } - $n++; - }//for - - #-- final result - return ($val); - } -} - - - - -/** - * @stub - * - * Should return last PCRE error. - * - */ -if (!function_exists("preg_last_error")) { - if (!defined("PREG_NO_ERROR")) { define("PREG_NO_ERROR", 0); } - if (!defined("PREG_INTERNAL_ERROR")) { define("PREG_INTERNAL_ERROR", 1); } - if (!defined("PREG_BACKTRACK_LIMIT_ERROR")) { define("PREG_BACKTRACK_LIMIT_ERROR", 2); } - if (!defined("PREG_RECURSION_LIMIT_ERROR")) { define("PREG_RECURSION_LIMIT_ERROR", 3); } - if (!defined("PREG_BAD_UTF8_ERROR")) { define("PREG_BAD_UTF8_ERROR", 4); } - function preg_last_error() { - return PREG_NO_ERROR; - } -} - - - - -/** - * returns path of the system directory for temporary files - * - * @since 5.2.1 - */ -if (!function_exists("sys_get_temp_dir")) { - function sys_get_temp_dir() { - # check possible alternatives - ($temp = ini_get("temp_dir")) - or - ($temp = @$_ENV["TEMP"]) - or - ($temp = @$_ENV["TMP"]) - or - ($temp = "/tmp"); - # fin - return($temp); - } -} - - - -/** - * @stub - * - * Should return associative array with last error message. - * - */ -if (!function_exists("error_get_last")) { - function error_get_last() { - return array( - "type" => 0, - "message" => $GLOBALS["php_errormsg"], - "file" => "unknonw", - "line" => 0, - ); - } -} - - - - -/** - * @flag quirky, exec, realmode - * - * Change owner of a symlink filename. - * - */ -if (!function_exists("lchown")) { - function lchown($fn, $user) { - if (PHP_OS != "Linux") { - return false; - } - $user = escapeshellcmd($user); - $fn = escapeshellcmd($fn); - exec("chown -h '$user' '$fn'", $uu, $state); - return($state); - } -} - - - -/** - * @flag quirky, exec, realmode - * - * Change group of a symlink filename. - * - */ -if (!function_exists("lchgrp")) { - function lchgrp($fn, $group) { - return lchown($fn, ":$group"); - } -} - - - -/** - * @doc: Got this function new in PHP 5.2, but documentation says 4.2 ??? - * - * array_fill() with given $keys - * - */ -if (!function_exists("array_fill_keys")) { - function array_fill_keys($keys, $value) { - return array_combine($keys, array_fill(0, count($keys), $value)); - } -} - - - -/** - * @doc: php manual says 5.1, but function appeared with 5.2 - * - * Returns array entries, whose keys are not in any of the comparison arrays. - * - */ -if (!function_exists("array_diff_key")) { - function array_diff_key($base /*...*/) { - $other = func_get_args(); - array_shift($other); - - $cmp = call_user_func_array("array_merge", array_map("array_keys", $other)); - - foreach ($cmp as $key) { - $key = (string) $key; - if (array_key_exists($key, $base)) { - // cannot compare if $key is actually a string in $base - unset($base[$key]); - } - } - return ($base); - } -} - - - - -/** - * @doc: php manual says 5.1, but function appeared with 5.2 - * - * Uses callback function to compare array keys. - * Callback returns -1, 0, +1, and then some keys are filtered??? - * Let's assume ==0 is meant for no difference --> and no difference => filter out - * - */ -if (!function_exists("array_diff_ukey")) { - function array_diff_ukey($base, $other_arrays/*...*/, $callback) { - $other = func_get_args(); - array_shift($other); - $callback = array_pop($other); - - $cmp = call_user_func_array("array_merge", array_map("array_keys", $other)); - - foreach ($base as $key=>$value) { - // compare against each key from $other arrays - foreach ($cmp as $k) { - if ($callback($key, $k) === 0) { - unset($base[$key]); - } - } - } - return $base; - } -} - - - -/** - * @doc: 5.1 vs 5.2 - * - * Keeps only array-entries, if key exists also in comparison arrays - * - */ -if (!function_exists("array_intersect_key")) { - function array_intersect_key($base /*...*/) { - $all_arrays = array_map("array_keys", func_get_args()); - $keep = call_user_func_array("array_intersect", $all_arrays); - - $r = array(); - foreach ($keep as $k) { - $r[$k] = $base[$k]; - } - return ($r); - } -} - - - -/** - * @doc: 5.1 vs 5.2 - * - * array_uintersect on keys - * - */ -if (!function_exists("array_intersect_ukey")) { - function array_intersect_ukey(/*...*/) { - $args = func_get_args(); - $base = $args[0]; - $callback = array_pop($other); - - $keys = array_map("array_values", $args); - $intersect = call_user_func_array("array_uintersect", array_merge($keys, array($callback))); - - $r = array(); - foreach ($intersect as $key) { - $r[$key] = $base[$key]; - } - return $r; - } -} - - - - - - - -/** - * Hmmm. - * - */ -if (!function_exists("array_product")) { - function array_product($multiply_us) { - $r = count($multiply_us) ? 1 : NULL; - foreach ($multiply_us as $m) { - $r = $r * $m; - } - return $r; - } -} - - - -/** - * Converts chr/bin/string-representation to human-readable IP text. - * - */ -if (!function_exists("inet_ntop")) { - function inet_ntop($bin) { - if (strlen($bin) == 4) { // IPv4 - return implode(".", array_map("ord", str_split($bin, 1))); - } - elseif (strlen($bin) == 16) { // IPv6 - return preg_replace("/:?(0000:)+/", "::", implode(":", str_split(bin2hex($bin), 4))); - } - elseif (strlen($bin) == 6) { // MAC - return implode(":", str_split(bin2hex($bin), 2)); - } - } -} - - -/** - * Compact IPv4 1.2.3.4 or IPv6 ::FFFF:0001 addresses into binary string. - * - */ -if (!function_exists("inet_pton")) { - function inet_pton($str) { - if (strpos($str, ".")) { // IPv4 - return array_map("chr", explode(".", $str)); - } - elseif (strstr($str, ":")) { // IPv6 - $str = str_replace("::", str_repeat(":", 2 + 7 - substr_count($str, ":")), $str); // padding "::" can appear anywhere inside, replaces 7-x other :0000 colons and zeros - $str = implode(array_map("inet_pton___ipv6_pad", explode(":", $str))); - return pack("H32", $str); - } - } - function inet_pton___ipv6_pad($s) { - return str_pad($s, 4, "0", STR_PAD_LEFT); - } -} diff --git a/manager/includes/extenders/upgradephp/php0530.php b/manager/includes/extenders/upgradephp/php0530.php deleted file mode 100755 index a918dc6289..0000000000 --- a/manager/includes/extenders/upgradephp/php0530.php +++ /dev/null @@ -1,355 +0,0 @@ -<?php -/** - * api: php - * title: upgrade.php - * description: Emulates functions from new PHP versions on older interpreters. - * version: 17 - * license: Public Domain - * url: http://freshmeat.net/projects/upgradephp - * type: functions - * category: library - * priority: auto - * load_if: (PHP_VERSION<5.2) - * sort: -255 - * provides: upgrade-php, api:php5, json - * - * - * By loading this library you get PHP version independence. It provides - * downwards compatibility to older PHP interpreters by emulating missing - * functions or constants using IDENTICAL NAMES. So this doesn't slow down - * script execution on setups where the native functions already exist. It - * is meant as quick drop-in solution. It spares you from rewriting code or - * using cumbersome workarounds instead of the more powerful v5 functions. - * - * It cannot mirror PHP5s extended OO-semantics and functionality into PHP4 - * however. A few features are added here that weren't part of PHP yet. And - * some other function collections are separated out into the ext/ directory. - * It doesn't produce many custom error messages (YAGNI), and instead leaves - * reporting to invoked functions or for native PHP execution. - * - * And further this is PUBLIC DOMAIN (no copyright, no license, no warranty) - * so therefore compatible to ALL open source licenses. You could rip this - * paragraph out to republish this instead only under more restrictive terms - * or your favorite license (GNU LGPL/GPL, BSDL, MPL/CDDL, Artistic/PHPL, ..) - * - * Any contribution is appreciated. <milky*users#sf#net> - * - */ - - - - - -/** - * --------------------- CVS / FUTURE --- - * @group CVS - * @since future - * - * Following functions aren't implemented in current PHP versions, but - * might already be in CVS/SVN. - * - * @emulated - * gzdecode - * - * @moved out - * contrib/xmlentities - * - */ - - - - - -/** - * ----------------------------- 5.3 --- - * @group 5_3 - * @since 5.3 - * - * Known additions of PHP 5.3 - * - * @emulated - * ob_get_headers (stub) - * preg_filter - * lcfirst - * class_alias - * header_remove - * parse_ini_string - * array_replace - * array_replace_recursive - * str_getcsv - * forward_static_call - * forward_static_call_array - * quoted_printable_encode - * - * @missing - * get_called_class - * stream_context_get_params - * stream_context_set_default - * stream_supports_lock - * hash_copy - * date_create_from_format - * date_parse_from_format - * date_get_last_errors - * date_add - * date_sub - * date_diff - * date_timestamp_set - * date_timestamp_get - * timezone_location_get - * date_interval_create_from_date_string - * date_interval_format - * - * RANT: The PHP 5.3 \idiot\namespace\syntax (magic quotes 2.0) is not - * reimplemented here. - * - */ - - - -/** - * preg_replace() variant, which filters out any unmatched $subject. - * - */ -if (!function_exists("preg_filter")) { - function preg_filter($pattern, $replacement, $subject, $limit=-1, $count=NULL) { - - // just do the replacing first, and eventually filter later - $r = preg_replace($pattern, $replacement, $subject, $limit, $count); - - // look at subject lines one-by-one, remove from result per index - foreach ((array)$subject as $si=>$s) { - $any = 0; - foreach ((array)$pattern as $p) { - $any = $any ||preg_match($p, $s); - } - // remove if NONE of the patterns matched - if (!$any) { - if (is_array($r)) { - unset($r[$si]); // del from result array - } - else { - return NULL; // subject was a str - } - } - } - - return $r; // is already string if $subject was too - } -} - - - -/** - * Lowercase first character. - * - * @param string - * @return string - */ -if (!function_exists("lcfirst")) { - function lcfirst($str) { - return strlen($str) ? strtolower($str[0]) . substr($str, 1) : ""; - } -} - - - -/** - * @stub cannot be emulated, because output buffering functions - * already swallow up any sent http header - * @since 5.3.? - * - * get all ob_ soaked headers(), - * - */ -if (!function_exists("ob_get_headers")) { - function ob_get_headers() { - return (array)NULL; - } -} - - - -/** - * @stub Cannot be emulated correctly, but let's try. - * - */ -if (!function_exists("header_remove")) { - function header_remove($name="") { - if (strlen($name) and ($name = preg_replace("/[^-_.\w\d]+/", "", $name))) header("$name: \t"); - // Apache1.3? removed duplettes, empty header overrides previous. - // ONLY if case was identical to previous header() call. (Very uncertain for applications which need to resort to such code smell.) - } -} - - - -/** - * WTF? - * At least an explaning reference was available on the php.net manual. - * Why the parameters are supposed to be optional is a mystery. - * - */ -if (!function_exists("class_alias")) { - function class_alias($original, $alias) { - $abstract = ""; - if (class_exists("ReflectionClass")) { - $oc = new ReflectionClass($original); - $abstract = $oc->isAbstract() ? "abstract" : ""; - } - eval("$abstract class $alias extends $original { /* identical subclass */ }"); - return get_parent_class($alias) == $original; - } -} - - - - -/** - * Hey, reimplementin is fun. - * (Could have used a data: wrapper for parse_ini_file, but that wouldn't work for php<5.2, and the data:// (!) wrapper is flaky anyway.) - * - */ -if (!function_exists("parse_ini_string")) { - function parse_ini_string($ini, $sectioned=false, $raw=0) { - $r = array(); - $map = array("true"=>1, "yes"=>1, "1"=>1, "null"=>"", "false"=>"", "no"=>"", "0"=>0); - $section = ""; - foreach (explode("\n", $ini) as $line) { - if (!strlen($line)) { - } - // handle [sections] - elseif (($line[0] == "[") and preg_match("/\[([-_\w ]+)\]/", $line, $uu)) { - $section = $uu[1]; - } - elseif (/*deprecated*/($line[0] != "#") && ($line[0] != ";") && ($i = strpos($line, "="))) { - // key=value split - $n = trim(substr($line, 0, $i)); - $v = trim(substr($line, $i+1)); - // replace special values - if (!$raw) { - $v=trim($v, '"'); // should actually use regex, to handle key="..\n.." multiline values - $v=trim($v, "'"); - if (isset($map[$v])) { - $v=$map[$v]; - } - } - // special array[]= keys allowed - if ($i = strpos($n, "[")) { - $r[$section][substr($n, 0, $i)][] = $v; - } - else { - $r[$section][$n] = $v; - } - } - } - return $sectioned ? $r : call_user_func_array("array_merge", $r); - } -} - - - - -/** - * Inject values from supplemental arrays into $target, according to its keys. - * - * @param array $targt - * @param+ array $supplements - * @return array - */ -if (!function_exists("array_replace")) { - function array_replace(/* & (?) */$target/*, $from, $from2, ...*/) { - $merge = func_get_args(); - array_shift($merge); - foreach ($merge as $add) { - foreach ($add as $i=>$v) { - $target[$i] = $v; - } - } - return $target; - } -} - - -/** - * Descends into sub-arrays when replacing values by key in $target array. - * - */ -if (!function_exists("array_replace_recursive")) { - function array_replace_recursive($target/*, $from1, $from2, ...*/) { - $merge = func_get_args(); - array_shift($merge); - - // loop through all merge arrays - foreach ($merge as $from) { - foreach ($from as $i=>$v) { - // just add (wether array or scalar) if key does not exist yet - if (!isset($target[$i])) { - $target[$i] = $v; - } - // dive in - elseif (is_array($v) && is_array($target[$i])) { - $target[$i] = array_replace_recursive($target[$i], $v); - } - // replace - else { - $target[$i] = $v; - } - } - } - return $target; - } -} - - - - -/** - * Breaks up a SINGLE LINE in CSV format. - * abc,123,"text with spaces and \n ewlines",xy,"\"" - * - */ -if (!function_exists("str_getcsv")) { - function str_getcsv($line, $del=",", $q='"', $esc="\\") { - $line = rtrim($line); - preg_match_all("/\G ([^$q$del]*) $del | $q(( [$esc$esc][$q]|[^$q]* )+)$q $del /xms", "$line,", $r); - foreach ($r[1] as $i=>$v) { // merge both captures - if (empty($v) && strlen($r[2][$i])) { - $r[1][$i] = str_replace("$esc$q", "$q", $r[2][$i]); // remove escape character - } - } - return($r[1]); - } -} - - - -/** - * @stub: Basically aliases for function calls; just throw an error if called from main() and not from within a class. - * The real implementations would behave on late static binding, though. - * - */ -if (!function_exists("forward_static_call")) { - function forward_static_call_array($callback, $args=NULL) { - return call_user_func_array($callback, $args); - } - function forward_static_call($callback /*, ... */) { - $args = func_get_args(); - array_shift($args); - return call_user_func_array($callback, $args); - } -} - - - - -/** - * Encodes special chars as =0D=0A patterns. Soft-break at 76 characters. - * - */ -if (!function_exists("quoted_printable_encode")) { - function quoted_printable_encode($str) { - $str = preg_replace("/([\\000-\\041=\\176-\\377])/e", "'='.strtoupper(dechex(ord('\$1')))", $str); - $str = preg_replace("/(.{1,76})(?<=[^=][^=])/ims", "\$1=\r\n", $str); // QP-soft-break - return $str; - } -} diff --git a/manager/includes/mutate_settings.ajax.php b/manager/includes/mutate_settings.ajax.php old mode 100644 new mode 100755 index c3e9dc264f..c9c8dc27aa --- a/manager/includes/mutate_settings.ajax.php +++ b/manager/includes/mutate_settings.ajax.php @@ -6,11 +6,18 @@ require_once(dirname(__FILE__) . '/protect.inc.php'); $action = preg_replace('/[^A-Za-z0-9_\-\.\/]/', '', $_POST['action']); -$lang = preg_replace('/[^A-Za-z0-9_\-\.\/]/', '', $_POST['lang']); +$lang = preg_replace('/[^A-Za-z0-9_\s\+\-\.\/]/', '', $_POST['lang']); $key = preg_replace('/[^A-Za-z0-9_\-\.\/]/', '', $_POST['key']); $value = preg_replace('/[^A-Za-z0-9_\-\.\/]/', '', $_POST['value']); +$action = $modx->db->escape($action); +$lang = $modx->db->escape($lang); +$key = $modx->db->escape($key); +$value = $modx->db->escape($value); + $str = ''; +$emptyCache = false; + if($action == 'get') { $langfile = dirname(__FILE__) . '/lang/'.$lang.'.inc.php'; if(file_exists($langfile)) { @@ -18,12 +25,41 @@ } } elseif($action == 'setsetting') { if(!empty($key) && !empty($value)) { - $sql = "UPDATE ".$modx->getFullTableName("system_settings")." SET setting_value='{$value}' WHERE setting_name = '{$key}';"; + $sql = "REPLACE INTO ".$modx->getFullTableName("system_settings")." (setting_name, setting_value) VALUES('{$key}', '{$value}');"; $str = "true"; if(!@$rs = $modx->db->query($sql)) { $str = "false"; + } else { + $emptyCache = true; } } +} elseif($action == 'updateplugin') { + + if($key == '_delete_' && !empty($lang)) { + $sql = "DELETE FROM " . $modx->getFullTableName("site_plugins") . " WHERE name='{$lang}'"; + $str = "true"; + if(!@$rs = $modx->db->query($sql)) { + $str = "false"; + } else { + $emptyCache = true; + } + } elseif(!empty($key) && !empty($lang) && !empty($value)) { + $sql = "UPDATE ".$modx->getFullTableName("site_plugins")." SET {$key}='{$value}' WHERE name = '{$lang}';"; + $str = "true"; + if(!@$rs = $modx->db->query($sql)) { + $str = "false"; + } else { + $emptyCache = true; + } + } +} + +if($emptyCache) { + include_once dirname(dirname(__FILE__)) . "/processors/cache_sync.class.processor.php"; + $sync = new synccache(); + $sync->setCachepath("../assets/cache/"); + $sync->setReport(false); + $sync->emptyCache(); } echo $str; diff --git a/manager/includes/tmplvars.commands.inc.php b/manager/includes/tmplvars.commands.inc.php index a4055820f3..3526b2e040 100755 --- a/manager/includes/tmplvars.commands.inc.php +++ b/manager/includes/tmplvars.commands.inc.php @@ -26,7 +26,8 @@ function ProcessTVCommand($value, $name = '', $docid = '') { $cmd = trim($cmd); switch ($cmd) { case "FILE" : - $output = ProcessFile($param); + $output = ProcessFile(trim($param)); + $output = str_replace('@FILE ' . $param, $output, $nvalue); break; case "CHUNK" : // retrieve a chunk and process it's content @@ -73,9 +74,12 @@ function ProcessTVCommand($value, $name = '', $docid = '') { continue; // hide unpublished docs if we're not at the top $tv = $modx->getTemplateVar($name, '*', $doc['id'], $doc['published']); - if ((string) $tv['value'] !== '' && $tv['value'] { 0 } - != '@') { + + // Modified @INHERIT binding to allow for @FILE bindings (and others) to be inherited, + // as well as allowing content after the @INHERITed values + if ((string) $tv['value'] !== '' && !preg_match('%^@INHERIT[\s\n\r]*$%im', $tv['value'])) { $output = (string) $tv['value']; + $output = str_replace('@INHERIT', $output, $nvalue); break 2; } } diff --git a/manager/includes/tmplvars.format.inc.php b/manager/includes/tmplvars.format.inc.php index 1bb208c112..d11da19891 100755 --- a/manager/includes/tmplvars.format.inc.php +++ b/manager/includes/tmplvars.format.inc.php @@ -42,9 +42,11 @@ function getTVDisplayFormat($name,$value,$format,$paramstring="",$tvtype="",$doc 'src' => $src, 'id' => ($params['id'] ? $params['id'] : ''), 'alt' => htmlspecialchars($params['alttext']), - 'style' => $params['style'], - 'align' => $params['align'] + 'style' => $params['style'] ); + if(isset($params['align']) && $params['align'] != 'none') { + $attr['align'] = $params['align']; + } foreach ($attr as $k => $v) $attributes.= ($v ? ' '.$k.'="'.$v.'"' : ''); $attributes .= ' '.$params['attrib']; From 5e1059e82d6f3aaecb14aa01e83b29952e390207 Mon Sep 17 00:00:00 2001 From: soushi <soushi@modx.jp> Date: Thu, 23 Dec 2010 12:25:44 +0900 Subject: [PATCH 51/92] =?UTF-8?q?904=20=E6=9C=AC=E5=AE=B6=E7=89=88?= =?UTF-8?q?=E6=9B=B4=E6=96=B0(manager)(yama)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- manager/index.php | 2 +- .../processors/cache_sync.class.processor.php | 154 +++++++++--------- .../processors/save_tmplvars.processor.php | 11 +- 3 files changed, 91 insertions(+), 76 deletions(-) diff --git a/manager/index.php b/manager/index.php index 890ae1b28c..d3b4ab4e42 100755 --- a/manager/index.php +++ b/manager/index.php @@ -226,7 +226,7 @@ function html_entity_decode ($string, $opt = ENT_COMPAT) { $modx->manager->action = $action; // attempt to foil some simple types of CSRF attacks -if (isset($modx->config['validate_referer']) && $modx->config['validate_referer']) { +if (isset($modx->config['validate_referer']) && intval($modx->config['validate_referer'])) { if (isset($_SERVER['HTTP_REFERER'])) { $referer = $_SERVER['HTTP_REFERER']; diff --git a/manager/processors/cache_sync.class.processor.php b/manager/processors/cache_sync.class.processor.php index e08899e595..eab0bd9b79 100755 --- a/manager/processors/cache_sync.class.processor.php +++ b/manager/processors/cache_sync.class.processor.php @@ -47,7 +47,10 @@ function getParents($id, $path = '') { // modx:returns child's parent return $path; } - function emptyCache() { + function emptyCache($modx = null) { + if((function_exists('is_a') && is_a($modx, 'DocumentParser') === false) || !($modx instanceof DocumentParser)) { + $modx = $GLOBALS['modx']; + } if(!isset($this->cachePath)) { echo "Cache path not set."; exit; @@ -92,13 +95,84 @@ function emptyCache() { } } + $this->buildCache($modx); + /****************************************************************************/ -/* BUILD CACHE FILES */ +/* PUBLISH TIME FILE */ /****************************************************************************/ + // update publish time file + $timesArr = array(); + $sql = 'SELECT MIN(pub_date) AS minpub FROM '.$modx->getFullTableName('site_content').' WHERE pub_date>'.time(); + if(@!$result = $modx->db->query($sql)) { + echo 'Couldn\'t determine next publish event!'; + } - global $modx; + $tmpRow = $modx->db->getRow($result); + $minpub = $tmpRow['minpub']; + if($minpub!=NULL) { + $timesArr[] = $minpub; + } + + $sql = 'SELECT MIN(unpub_date) AS minunpub FROM '.$modx->getFullTableName('site_content').' WHERE unpub_date>'.time(); + if(@!$result = $modx->db->query($sql)) { + echo 'Couldn\'t determine next unpublish event!'; + } + $tmpRow = $modx->db->getRow($result); + $minunpub = $tmpRow['minunpub']; + if($minunpub!=NULL) { + $timesArr[] = $minunpub; + } + + if(count($timesArr)>0) { + $nextevent = min($timesArr); + } else { + $nextevent = 0; + } + + // write the file + $filename = $this->cachePath.'/sitePublishing.idx.php'; + $somecontent = '<?php $cacheRefreshTime='.$nextevent.'; ?>'; + + if (!$handle = fopen($filename, 'w')) { + echo 'Cannot open file ('.$filename.')'; + exit; + } + + // Write $somecontent to our opened file. + if (fwrite($handle, $somecontent) === FALSE) { + echo 'Cannot write publishing info file! Make sure the assets/cache directory is writable!'; + exit; + } + + fclose($handle); + + +/****************************************************************************/ +/* END OF PUBLISH TIME FILE */ +/****************************************************************************/ + + // finished cache stuff. + if($this->showReport==true) { + global $_lang; + printf($_lang['refresh_cache'], $filesincache, $deletedfilesincache); + $limit = count($deletedfiles); + if($limit > 0) { + echo '<p>'.$_lang['cache_files_deleted'].'</p><ul>'; + for($i=0;$i<$limit; $i++) { + echo '<li>',$deletedfiles[$i],'</li>'; + } + echo '</ul>'; + } + } + } + /** + * build siteCache file + * @param DocumentParser $modx + * @return boolean success + */ + function buildCache($modx) { $tmpPHP = "<?php\n"; // SETTINGS & DOCUMENT LISTINGS CACHE @@ -134,7 +208,7 @@ function emptyCache() { else { $tmpPHP .= '$d[\''.$modx->db->escape($tmp1['alias']).'\']'." = ".$tmp1['id'].";\n"; } - $tmpPHP .= '$a[' . $tmp1['id'] . ']'." = array('id' => ".$tmp1['id'].", 'alias' => '".$modx->db->escape($tmp1['alias'])."', 'path' => '" . $modx->db->escape($tmpPath). "');\n"; + $tmpPHP .= '$a[' . $tmp1['id'] . ']'." = array('id' => ".$tmp1['id'].", 'alias' => '".$modx->db->escape($tmp1['alias'])."', 'path' => '" . $modx->db->escape($tmpPath)."', 'parent' => " . $tmp1['parent']. ");\n"; $tmpPHP .= '$m[]'." = array('".$tmp1['parent']."' => '".$tmp1['id']."');\n"; } @@ -210,7 +284,7 @@ function emptyCache() { } // close and write the file - $tmpPHP .= '?>'; + $tmpPHP .= "\n"; $filename = $this->cachePath.'siteCache.idx.php'; $somecontent = $tmpPHP; @@ -232,75 +306,7 @@ function emptyCache() { // invoke OnCacheUpdate event if ($modx) $modx->invokeEvent('OnCacheUpdate'); -/****************************************************************************/ -/* END OF BUILD CACHE FILES */ -/* PUBLISH TIME FILE */ -/****************************************************************************/ - - // update publish time file - $timesArr = array(); - $sql = 'SELECT MIN(pub_date) AS minpub FROM '.$modx->getFullTableName('site_content').' WHERE pub_date>'.time(); - if(@!$result = $modx->db->query($sql)) { - echo 'Couldn\'t determine next publish event!'; - } - - $tmpRow = $modx->db->getRow($result); - $minpub = $tmpRow['minpub']; - if($minpub!=NULL) { - $timesArr[] = $minpub; - } - - $sql = 'SELECT MIN(unpub_date) AS minunpub FROM '.$modx->getFullTableName('site_content').' WHERE unpub_date>'.time(); - if(@!$result = $modx->db->query($sql)) { - echo 'Couldn\'t determine next unpublish event!'; - } - $tmpRow = $modx->db->getRow($result); - $minunpub = $tmpRow['minunpub']; - if($minunpub!=NULL) { - $timesArr[] = $minunpub; - } - - if(count($timesArr)>0) { - $nextevent = min($timesArr); - } else { - $nextevent = 0; - } - - // write the file - $filename = $this->cachePath.'/sitePublishing.idx.php'; - $somecontent = '<?php $cacheRefreshTime='.$nextevent.'; ?>'; - - if (!$handle = fopen($filename, 'w')) { - echo 'Cannot open file ('.$filename.')'; - exit; - } - - // Write $somecontent to our opened file. - if (fwrite($handle, $somecontent) === FALSE) { - echo 'Cannot write publishing info file! Make sure the assets/cache directory is writable!'; - exit; - } - - fclose($handle); - - -/****************************************************************************/ -/* END OF PUBLISH TIME FILE */ -/****************************************************************************/ - - // finished cache stuff. - if($this->showReport==true) { - global $_lang; - printf($_lang['refresh_cache'], $filesincache, $deletedfilesincache); - $limit = count($deletedfiles); - if($limit > 0) { - echo '<p>'.$_lang['cache_files_deleted'].'</p><ul>'; - for($i=0;$i<$limit; $i++) { - echo '<li>',$deletedfiles[$i],'</li>'; - } - echo '</ul>'; - } - } + return true; } } ?> \ No newline at end of file diff --git a/manager/processors/save_tmplvars.processor.php b/manager/processors/save_tmplvars.processor.php index 7c9c9e99c9..6ae938f5c2 100755 --- a/manager/processors/save_tmplvars.processor.php +++ b/manager/processors/save_tmplvars.processor.php @@ -52,9 +52,18 @@ $sql = "SELECT COUNT(id) FROM {$dbase}.`{$table_prefix}site_tmplvars` WHERE name = '{$name}'"; $rs = $modx->db->query($sql); $count = $modx->db->getValue($rs); + $nameerror = false; if($count > 0) { + $nameerror = true; $modx->event->alert(sprintf($_lang['duplicate_name_found_general'], $_lang['tv'], $name)); - + } + // disallow reserved names + if(in_array($name, array('id', 'type', 'contentType', 'pagetitle', 'longtitle', 'description', 'alias', 'link_attributes', 'published', 'pub_date', 'unpub_date', 'parent', 'isfolder', 'introtext', 'content', 'richtext', 'template', 'menuindex', 'searchable', 'cacheable', 'createdby', 'createdon', 'editedby', 'editedon', 'deleted', 'deletedon', 'deletedby', 'publishedon', 'publishedby', 'menutitle', 'donthit', 'haskeywords', 'hasmetatags', 'privateweb', 'privatemgr', 'content_dispo', 'hidemenu'))) { + $nameerror = true; + $_POST['name'] = ''; + $modx->event->alert(sprintf($_lang['reserved_name_warning'], $_lang['tv'], $name)); + } + if($nameerror) { // prepare a few variables prior to redisplaying form... $content = array(); $_REQUEST['id'] = 0; From 46c316252425ed62e35310b9df8df0187a51656b Mon Sep 17 00:00:00 2001 From: soushi <soushi@modx.jp> Date: Thu, 23 Dec 2010 12:41:50 +0900 Subject: [PATCH 52/92] =?UTF-8?q?905=20=E6=9C=AC=E5=AE=B6=E7=89=88?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E3=83=BB=E6=94=B9=E8=A1=8C=E3=82=B3=E3=83=BC?= =?UTF-8?q?=E3=83=89=E3=81=AE=E6=8F=83=E3=81=88(yama)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/docs/index.html | 2 +- assets/docs/license.txt | 560 ++--- assets/export/index.html | 2 +- assets/flash/index.html | 2 +- assets/images/index.html | 2 +- assets/js/csshover3.htc | 26 +- assets/js/index.html | 2 +- assets/media/index.html | 2 +- .../modules/docmanager/lang/chinese.inc.php | 324 +-- assets/modules/docmanager/lang/danish.inc.php | 324 +-- .../modules/docmanager/lang/english.inc.php | 324 +-- .../modules/docmanager/lang/finnish.inc.php | 320 +-- .../modules/docmanager/lang/italian.inc.php | 322 +-- .../docmanager/lang/japanese-utf8.inc.php | 322 +-- .../docmanager/lang/nederlands.inc.php | 288 +-- .../docmanager/lang/russian-UTF8.inc.php | 324 +-- assets/modules/index.html | 2 +- assets/plugins/index.html | 2 +- assets/plugins/qm/css/colorbox.css | 114 +- assets/plugins/qm/css/ie.css | 30 +- assets/plugins/qm/css/ie7.css | 34 +- assets/plugins/qm/qm.inc.php | 2120 ++++++++--------- assets/plugins/qm/readme.html | 1704 ++++++------- assets/plugins/tinymce/index.html | 2 +- assets/plugins/tinymce/js/fbconfig.js | 64 +- assets/plugins/tinymce/js/xconfig.js | 54 +- .../tinymce/jscripts/tiny_mce/langs/bg.js | 338 +-- .../tinymce/jscripts/tiny_mce/langs/cs.js | 350 +-- .../tinymce/jscripts/tiny_mce/langs/da.js | 340 +-- .../tinymce/jscripts/tiny_mce/langs/de.js | 340 +-- .../tinymce/jscripts/tiny_mce/langs/en.js | 338 +-- .../tinymce/jscripts/tiny_mce/langs/es.js | 342 +-- .../tinymce/jscripts/tiny_mce/langs/fa.js | 338 +-- .../tinymce/jscripts/tiny_mce/langs/fi.js | 340 +-- .../tinymce/jscripts/tiny_mce/langs/fr.js | 342 +-- .../tinymce/jscripts/tiny_mce/langs/he.js | 338 +-- .../tinymce/jscripts/tiny_mce/langs/it.js | 338 +-- .../tinymce/jscripts/tiny_mce/langs/ja.js | 338 +-- .../tinymce/jscripts/tiny_mce/langs/nl.js | 338 +-- .../tinymce/jscripts/tiny_mce/langs/nn.js | 338 +-- .../tinymce/jscripts/tiny_mce/langs/pl.js | 338 +-- .../tinymce/jscripts/tiny_mce/langs/pt.js | 338 +-- .../tinymce/jscripts/tiny_mce/langs/ru.js | 344 +-- .../tinymce/jscripts/tiny_mce/langs/sv.js | 338 +-- .../tinymce/jscripts/tiny_mce/langs/zh.js | 354 +-- .../tinymce/jscripts/tiny_mce/license.txt | 1008 ++++---- .../tiny_mce/plugins/advhr/css/advhr.css | 10 +- .../tiny_mce/plugins/advhr/js/rule.js | 86 +- .../tiny_mce/plugins/advhr/langs/bg_dlg.js | 8 +- .../tiny_mce/plugins/advhr/langs/cs_dlg.js | 8 +- .../tiny_mce/plugins/advhr/langs/da_dlg.js | 8 +- .../tiny_mce/plugins/advhr/langs/de_dlg.js | 8 +- .../tiny_mce/plugins/advhr/langs/en_dlg.js | 8 +- .../tiny_mce/plugins/advhr/langs/es_dlg.js | 8 +- .../tiny_mce/plugins/advhr/langs/fa_dlg.js | 8 +- .../tiny_mce/plugins/advhr/langs/fi_dlg.js | 8 +- .../tiny_mce/plugins/advhr/langs/fr_dlg.js | 8 +- .../tiny_mce/plugins/advhr/langs/he_dlg.js | 8 +- .../tiny_mce/plugins/advhr/langs/it_dlg.js | 8 +- .../tiny_mce/plugins/advhr/langs/ja_dlg.js | 8 +- .../tiny_mce/plugins/advhr/langs/nl_dlg.js | 8 +- .../tiny_mce/plugins/advhr/langs/nn_dlg.js | 8 +- .../tiny_mce/plugins/advhr/langs/pl_dlg.js | 8 +- .../tiny_mce/plugins/advhr/langs/pt_dlg.js | 8 +- .../tiny_mce/plugins/advhr/langs/ru_dlg.js | 8 +- .../tiny_mce/plugins/advhr/langs/sv_dlg.js | 8 +- .../tiny_mce/plugins/advhr/langs/zh_dlg.js | 8 +- .../jscripts/tiny_mce/plugins/advhr/rule.htm | 114 +- .../plugins/advimage/css/advimage.css | 26 +- .../tiny_mce/plugins/advimage/image.htm | 464 ++-- .../tiny_mce/plugins/advimage/js/image.js | 886 +++---- .../tiny_mce/plugins/advimage/langs/bg_dlg.js | 84 +- .../tiny_mce/plugins/advimage/langs/cs_dlg.js | 84 +- .../tiny_mce/plugins/advimage/langs/da_dlg.js | 84 +- .../tiny_mce/plugins/advimage/langs/de_dlg.js | 84 +- .../tiny_mce/plugins/advimage/langs/en_dlg.js | 84 +- .../tiny_mce/plugins/advimage/langs/es_dlg.js | 84 +- .../tiny_mce/plugins/advimage/langs/fa_dlg.js | 84 +- .../tiny_mce/plugins/advimage/langs/fi_dlg.js | 84 +- .../tiny_mce/plugins/advimage/langs/fr_dlg.js | 84 +- .../tiny_mce/plugins/advimage/langs/he_dlg.js | 84 +- .../tiny_mce/plugins/advimage/langs/it_dlg.js | 84 +- .../tiny_mce/plugins/advimage/langs/ja_dlg.js | 84 +- .../tiny_mce/plugins/advimage/langs/nl_dlg.js | 84 +- .../tiny_mce/plugins/advimage/langs/nn_dlg.js | 84 +- .../tiny_mce/plugins/advimage/langs/pl_dlg.js | 84 +- .../tiny_mce/plugins/advimage/langs/pt_dlg.js | 84 +- .../tiny_mce/plugins/advimage/langs/ru_dlg.js | 84 +- .../tiny_mce/plugins/advimage/langs/sv_dlg.js | 84 +- .../tiny_mce/plugins/advimage/langs/zh_dlg.js | 84 +- .../tiny_mce/plugins/advlink/css/advlink.css | 16 +- .../tiny_mce/plugins/advlink/js/advlink.js | 1056 ++++---- .../tiny_mce/plugins/advlink/langs/bg_dlg.js | 102 +- .../tiny_mce/plugins/advlink/langs/cs_dlg.js | 102 +- .../tiny_mce/plugins/advlink/langs/da_dlg.js | 102 +- .../tiny_mce/plugins/advlink/langs/de_dlg.js | 102 +- .../tiny_mce/plugins/advlink/langs/en_dlg.js | 102 +- .../tiny_mce/plugins/advlink/langs/es_dlg.js | 102 +- .../tiny_mce/plugins/advlink/langs/fa_dlg.js | 102 +- .../tiny_mce/plugins/advlink/langs/fi_dlg.js | 102 +- .../tiny_mce/plugins/advlink/langs/fr_dlg.js | 102 +- .../tiny_mce/plugins/advlink/langs/he_dlg.js | 102 +- .../tiny_mce/plugins/advlink/langs/it_dlg.js | 102 +- .../tiny_mce/plugins/advlink/langs/ja_dlg.js | 102 +- .../tiny_mce/plugins/advlink/langs/nl_dlg.js | 102 +- .../tiny_mce/plugins/advlink/langs/nn_dlg.js | 102 +- .../tiny_mce/plugins/advlink/langs/pl_dlg.js | 102 +- .../tiny_mce/plugins/advlink/langs/pt_dlg.js | 102 +- .../tiny_mce/plugins/advlink/langs/ru_dlg.js | 102 +- .../tiny_mce/plugins/advlink/langs/sv_dlg.js | 102 +- .../tiny_mce/plugins/advlink/langs/zh_dlg.js | 102 +- .../tiny_mce/plugins/advlink/link.htm | 666 +++--- .../tiny_mce/plugins/autosave/langs/bg.js | 6 +- .../tiny_mce/plugins/autosave/langs/cs.js | 6 +- .../tiny_mce/plugins/autosave/langs/da.js | 6 +- .../tiny_mce/plugins/autosave/langs/de.js | 6 +- .../tiny_mce/plugins/autosave/langs/en.js | 6 +- .../tiny_mce/plugins/autosave/langs/es.js | 6 +- .../tiny_mce/plugins/autosave/langs/fa.js | 6 +- .../tiny_mce/plugins/autosave/langs/fi.js | 6 +- .../tiny_mce/plugins/autosave/langs/fr.js | 6 +- .../tiny_mce/plugins/autosave/langs/he.js | 6 +- .../tiny_mce/plugins/autosave/langs/it.js | 6 +- .../tiny_mce/plugins/autosave/langs/ja.js | 6 +- .../tiny_mce/plugins/autosave/langs/nl.js | 6 +- .../tiny_mce/plugins/autosave/langs/nn.js | 6 +- .../tiny_mce/plugins/autosave/langs/pl.js | 6 +- .../tiny_mce/plugins/autosave/langs/pt.js | 6 +- .../tiny_mce/plugins/autosave/langs/ru.js | 6 +- .../tiny_mce/plugins/autosave/langs/sv.js | 6 +- .../tiny_mce/plugins/autosave/langs/zh.js | 6 +- .../tiny_mce/plugins/clearfloat/langs/bg.js | 10 +- .../tiny_mce/plugins/clearfloat/langs/cs.js | 10 +- .../tiny_mce/plugins/clearfloat/langs/da.js | 10 +- .../tiny_mce/plugins/clearfloat/langs/de.js | 10 +- .../tiny_mce/plugins/clearfloat/langs/en.js | 10 +- .../tiny_mce/plugins/clearfloat/langs/es.js | 10 +- .../tiny_mce/plugins/clearfloat/langs/fa.js | 10 +- .../tiny_mce/plugins/clearfloat/langs/fi.js | 10 +- .../tiny_mce/plugins/clearfloat/langs/fr.js | 10 +- .../tiny_mce/plugins/clearfloat/langs/he.js | 10 +- .../tiny_mce/plugins/clearfloat/langs/it.js | 10 +- .../tiny_mce/plugins/clearfloat/langs/ja.js | 10 +- .../tiny_mce/plugins/clearfloat/langs/nl.js | 10 +- .../tiny_mce/plugins/clearfloat/langs/nn.js | 10 +- .../tiny_mce/plugins/clearfloat/langs/pl.js | 10 +- .../tiny_mce/plugins/clearfloat/langs/pt.js | 10 +- .../tiny_mce/plugins/clearfloat/langs/ru.js | 10 +- .../tiny_mce/plugins/clearfloat/langs/sv.js | 10 +- .../tiny_mce/plugins/clearfloat/langs/zh.js | 10 +- .../tiny_mce/plugins/emotions/emotions.htm | 80 +- .../tiny_mce/plugins/emotions/js/emotions.js | 44 +- .../tiny_mce/plugins/emotions/langs/bg_dlg.js | 38 +- .../tiny_mce/plugins/emotions/langs/cs_dlg.js | 38 +- .../tiny_mce/plugins/emotions/langs/da_dlg.js | 38 +- .../tiny_mce/plugins/emotions/langs/de_dlg.js | 38 +- .../tiny_mce/plugins/emotions/langs/en_dlg.js | 38 +- .../tiny_mce/plugins/emotions/langs/es_dlg.js | 38 +- .../tiny_mce/plugins/emotions/langs/fa_dlg.js | 38 +- .../tiny_mce/plugins/emotions/langs/fi_dlg.js | 38 +- .../tiny_mce/plugins/emotions/langs/fr_dlg.js | 38 +- .../tiny_mce/plugins/emotions/langs/he_dlg.js | 38 +- .../tiny_mce/plugins/emotions/langs/it_dlg.js | 38 +- .../tiny_mce/plugins/emotions/langs/ja_dlg.js | 38 +- .../tiny_mce/plugins/emotions/langs/nl_dlg.js | 38 +- .../tiny_mce/plugins/emotions/langs/nn_dlg.js | 38 +- .../tiny_mce/plugins/emotions/langs/pl_dlg.js | 38 +- .../tiny_mce/plugins/emotions/langs/pt_dlg.js | 38 +- .../tiny_mce/plugins/emotions/langs/ru_dlg.js | 38 +- .../tiny_mce/plugins/emotions/langs/sv_dlg.js | 38 +- .../tiny_mce/plugins/emotions/langs/zh_dlg.js | 38 +- .../plugins/fullpage/css/fullpage.css | 362 +-- .../tiny_mce/plugins/fullpage/fullpage.htm | 1142 ++++----- .../tiny_mce/plugins/fullpage/js/fullpage.js | 942 ++++---- .../tiny_mce/plugins/fullpage/langs/bg_dlg.js | 168 +- .../tiny_mce/plugins/fullpage/langs/cs_dlg.js | 168 +- .../tiny_mce/plugins/fullpage/langs/da_dlg.js | 168 +- .../tiny_mce/plugins/fullpage/langs/de_dlg.js | 168 +- .../tiny_mce/plugins/fullpage/langs/en_dlg.js | 168 +- .../tiny_mce/plugins/fullpage/langs/es_dlg.js | 168 +- .../tiny_mce/plugins/fullpage/langs/fa_dlg.js | 168 +- .../tiny_mce/plugins/fullpage/langs/fi_dlg.js | 168 +- .../tiny_mce/plugins/fullpage/langs/fr_dlg.js | 168 +- .../tiny_mce/plugins/fullpage/langs/he_dlg.js | 168 +- .../tiny_mce/plugins/fullpage/langs/it_dlg.js | 168 +- .../tiny_mce/plugins/fullpage/langs/ja_dlg.js | 168 +- .../tiny_mce/plugins/fullpage/langs/nl_dlg.js | 168 +- .../tiny_mce/plugins/fullpage/langs/nn_dlg.js | 168 +- .../tiny_mce/plugins/fullpage/langs/pl_dlg.js | 168 +- .../tiny_mce/plugins/fullpage/langs/pt_dlg.js | 168 +- .../tiny_mce/plugins/fullpage/langs/ru_dlg.js | 168 +- .../tiny_mce/plugins/fullpage/langs/sv_dlg.js | 168 +- .../tiny_mce/plugins/fullpage/langs/zh_dlg.js | 168 +- .../plugins/fullscreen/fullscreen.htm | 218 +- .../plugins/inlinepopups/template.htm | 774 +++--- .../tiny_mce/plugins/media/css/content.css | 12 +- .../tiny_mce/plugins/media/css/media.css | 32 +- .../tiny_mce/plugins/media/js/embed.js | 146 +- .../tiny_mce/plugins/media/js/media.js | 1260 +++++----- .../tiny_mce/plugins/media/langs/bg_dlg.js | 204 +- .../tiny_mce/plugins/media/langs/cs_dlg.js | 204 +- .../tiny_mce/plugins/media/langs/da_dlg.js | 204 +- .../tiny_mce/plugins/media/langs/de_dlg.js | 204 +- .../tiny_mce/plugins/media/langs/en_dlg.js | 204 +- .../tiny_mce/plugins/media/langs/es_dlg.js | 204 +- .../tiny_mce/plugins/media/langs/fa_dlg.js | 204 +- .../tiny_mce/plugins/media/langs/fi_dlg.js | 204 +- .../tiny_mce/plugins/media/langs/fr_dlg.js | 204 +- .../tiny_mce/plugins/media/langs/he_dlg.js | 204 +- .../tiny_mce/plugins/media/langs/it_dlg.js | 204 +- .../tiny_mce/plugins/media/langs/ja_dlg.js | 204 +- .../tiny_mce/plugins/media/langs/nl_dlg.js | 204 +- .../tiny_mce/plugins/media/langs/nn_dlg.js | 204 +- .../tiny_mce/plugins/media/langs/pl_dlg.js | 204 +- .../tiny_mce/plugins/media/langs/pt_dlg.js | 204 +- .../tiny_mce/plugins/media/langs/ru_dlg.js | 204 +- .../tiny_mce/plugins/media/langs/sv_dlg.js | 204 +- .../tiny_mce/plugins/media/langs/zh_dlg.js | 204 +- .../jscripts/tiny_mce/plugins/media/media.htm | 1634 ++++++------- .../tiny_mce/plugins/paste/js/pastetext.js | 72 +- .../tiny_mce/plugins/paste/js/pasteword.js | 102 +- .../tiny_mce/plugins/paste/langs/bg_dlg.js | 8 +- .../tiny_mce/plugins/paste/langs/cs_dlg.js | 8 +- .../tiny_mce/plugins/paste/langs/da_dlg.js | 8 +- .../tiny_mce/plugins/paste/langs/de_dlg.js | 8 +- .../tiny_mce/plugins/paste/langs/en_dlg.js | 8 +- .../tiny_mce/plugins/paste/langs/es_dlg.js | 8 +- .../tiny_mce/plugins/paste/langs/fa_dlg.js | 8 +- .../tiny_mce/plugins/paste/langs/fi_dlg.js | 8 +- .../tiny_mce/plugins/paste/langs/fr_dlg.js | 8 +- .../tiny_mce/plugins/paste/langs/he_dlg.js | 8 +- .../tiny_mce/plugins/paste/langs/it_dlg.js | 8 +- .../tiny_mce/plugins/paste/langs/ja_dlg.js | 8 +- .../tiny_mce/plugins/paste/langs/nl_dlg.js | 8 +- .../tiny_mce/plugins/paste/langs/nn_dlg.js | 8 +- .../tiny_mce/plugins/paste/langs/pl_dlg.js | 8 +- .../tiny_mce/plugins/paste/langs/pt_dlg.js | 8 +- .../tiny_mce/plugins/paste/langs/ru_dlg.js | 8 +- .../tiny_mce/plugins/paste/langs/sv_dlg.js | 8 +- .../tiny_mce/plugins/paste/langs/zh_dlg.js | 8 +- .../tiny_mce/plugins/paste/pastetext.htm | 52 +- .../tiny_mce/plugins/paste/pasteword.htm | 42 +- .../tiny_mce/plugins/preview/example.html | 56 +- .../plugins/preview/jscripts/embed.js | 146 +- .../tiny_mce/plugins/preview/preview.html | 34 +- .../searchreplace/css/searchreplace.css | 12 +- .../plugins/searchreplace/js/searchreplace.js | 276 +-- .../plugins/searchreplace/langs/bg_dlg.js | 30 +- .../plugins/searchreplace/langs/cs_dlg.js | 30 +- .../plugins/searchreplace/langs/da_dlg.js | 30 +- .../plugins/searchreplace/langs/de_dlg.js | 30 +- .../plugins/searchreplace/langs/en_dlg.js | 30 +- .../plugins/searchreplace/langs/es_dlg.js | 30 +- .../plugins/searchreplace/langs/fa_dlg.js | 30 +- .../plugins/searchreplace/langs/fi_dlg.js | 30 +- .../plugins/searchreplace/langs/fr_dlg.js | 30 +- .../plugins/searchreplace/langs/he_dlg.js | 30 +- .../plugins/searchreplace/langs/it_dlg.js | 30 +- .../plugins/searchreplace/langs/ja_dlg.js | 30 +- .../plugins/searchreplace/langs/nl_dlg.js | 30 +- .../plugins/searchreplace/langs/nn_dlg.js | 30 +- .../plugins/searchreplace/langs/pl_dlg.js | 30 +- .../plugins/searchreplace/langs/pt_dlg.js | 30 +- .../plugins/searchreplace/langs/ru_dlg.js | 30 +- .../plugins/searchreplace/langs/sv_dlg.js | 30 +- .../plugins/searchreplace/langs/zh_dlg.js | 30 +- .../plugins/searchreplace/searchreplace.htm | 198 +- .../plugins/spellchecker/css/content.css | 2 +- .../plugins/spellchecker/editor_plugin.js | 2 +- .../plugins/spellchecker/editor_plugin_src.js | 2 +- .../tiny_mce/plugins/style/css/props.css | 26 +- .../tiny_mce/plugins/style/js/props.js | 1282 +++++----- .../tiny_mce/plugins/style/langs/bg_dlg.js | 124 +- .../tiny_mce/plugins/style/langs/cs_dlg.js | 124 +- .../tiny_mce/plugins/style/langs/da_dlg.js | 124 +- .../tiny_mce/plugins/style/langs/de_dlg.js | 124 +- .../tiny_mce/plugins/style/langs/en_dlg.js | 124 +- .../tiny_mce/plugins/style/langs/es_dlg.js | 124 +- .../tiny_mce/plugins/style/langs/fa_dlg.js | 124 +- .../tiny_mce/plugins/style/langs/fi_dlg.js | 124 +- .../tiny_mce/plugins/style/langs/fr_dlg.js | 124 +- .../tiny_mce/plugins/style/langs/he_dlg.js | 124 +- .../tiny_mce/plugins/style/langs/it_dlg.js | 124 +- .../tiny_mce/plugins/style/langs/ja_dlg.js | 124 +- .../tiny_mce/plugins/style/langs/nl_dlg.js | 124 +- .../tiny_mce/plugins/style/langs/nn_dlg.js | 124 +- .../tiny_mce/plugins/style/langs/pl_dlg.js | 124 +- .../tiny_mce/plugins/style/langs/pt_dlg.js | 124 +- .../tiny_mce/plugins/style/langs/ru_dlg.js | 124 +- .../tiny_mce/plugins/style/langs/sv_dlg.js | 124 +- .../tiny_mce/plugins/style/langs/zh_dlg.js | 124 +- .../jscripts/tiny_mce/plugins/table/cell.htm | 356 +-- .../tiny_mce/plugins/table/css/cell.css | 32 +- .../tiny_mce/plugins/table/css/row.css | 50 +- .../tiny_mce/plugins/table/css/table.css | 26 +- .../tiny_mce/plugins/table/js/cell.js | 572 ++--- .../tiny_mce/plugins/table/js/merge_cells.js | 54 +- .../jscripts/tiny_mce/plugins/table/js/row.js | 474 ++-- .../tiny_mce/plugins/table/js/table.js | 908 +++---- .../tiny_mce/plugins/table/langs/bg_dlg.js | 146 +- .../tiny_mce/plugins/table/langs/cs_dlg.js | 146 +- .../tiny_mce/plugins/table/langs/da_dlg.js | 146 +- .../tiny_mce/plugins/table/langs/de_dlg.js | 146 +- .../tiny_mce/plugins/table/langs/en_dlg.js | 146 +- .../tiny_mce/plugins/table/langs/es_dlg.js | 146 +- .../tiny_mce/plugins/table/langs/fa_dlg.js | 146 +- .../tiny_mce/plugins/table/langs/fi_dlg.js | 146 +- .../tiny_mce/plugins/table/langs/fr_dlg.js | 146 +- .../tiny_mce/plugins/table/langs/he_dlg.js | 146 +- .../tiny_mce/plugins/table/langs/it_dlg.js | 146 +- .../tiny_mce/plugins/table/langs/ja_dlg.js | 146 +- .../tiny_mce/plugins/table/langs/nl_dlg.js | 146 +- .../tiny_mce/plugins/table/langs/nn_dlg.js | 146 +- .../tiny_mce/plugins/table/langs/pl_dlg.js | 146 +- .../tiny_mce/plugins/table/langs/pt_dlg.js | 146 +- .../tiny_mce/plugins/table/langs/ru_dlg.js | 146 +- .../tiny_mce/plugins/table/langs/sv_dlg.js | 144 +- .../tiny_mce/plugins/table/langs/zh_dlg.js | 146 +- .../tiny_mce/plugins/table/merge_cells.htm | 64 +- .../jscripts/tiny_mce/plugins/table/row.htm | 310 +-- .../jscripts/tiny_mce/plugins/table/table.htm | 374 +-- .../tiny_mce/plugins/template/blank.htm | 24 +- .../plugins/template/css/template.css | 46 +- .../tiny_mce/plugins/template/js/template.js | 212 +- .../tiny_mce/plugins/template/langs/bg_dlg.js | 28 +- .../tiny_mce/plugins/template/langs/cs_dlg.js | 28 +- .../tiny_mce/plugins/template/langs/da_dlg.js | 28 +- .../tiny_mce/plugins/template/langs/de_dlg.js | 28 +- .../tiny_mce/plugins/template/langs/en_dlg.js | 28 +- .../tiny_mce/plugins/template/langs/es_dlg.js | 28 +- .../tiny_mce/plugins/template/langs/fa_dlg.js | 28 +- .../tiny_mce/plugins/template/langs/fi_dlg.js | 28 +- .../tiny_mce/plugins/template/langs/fr_dlg.js | 28 +- .../tiny_mce/plugins/template/langs/he_dlg.js | 28 +- .../tiny_mce/plugins/template/langs/it_dlg.js | 28 +- .../tiny_mce/plugins/template/langs/ja_dlg.js | 28 +- .../tiny_mce/plugins/template/langs/nl_dlg.js | 28 +- .../tiny_mce/plugins/template/langs/nn_dlg.js | 28 +- .../tiny_mce/plugins/template/langs/pl_dlg.js | 28 +- .../tiny_mce/plugins/template/langs/pt_dlg.js | 28 +- .../tiny_mce/plugins/template/langs/ru_dlg.js | 28 +- .../tiny_mce/plugins/template/langs/sv_dlg.js | 28 +- .../tiny_mce/plugins/template/langs/zh_dlg.js | 28 +- .../tiny_mce/plugins/template/template.htm | 62 +- .../tiny_mce/plugins/xhtmlxtras/abbr.htm | 282 +-- .../tiny_mce/plugins/xhtmlxtras/acronym.htm | 282 +-- .../plugins/xhtmlxtras/attributes.htm | 296 +-- .../tiny_mce/plugins/xhtmlxtras/cite.htm | 282 +-- .../plugins/xhtmlxtras/css/attributes.css | 22 +- .../tiny_mce/plugins/xhtmlxtras/css/popup.css | 18 +- .../tiny_mce/plugins/xhtmlxtras/del.htm | 322 +-- .../tiny_mce/plugins/xhtmlxtras/ins.htm | 322 +-- .../tiny_mce/plugins/xhtmlxtras/js/abbr.js | 56 +- .../tiny_mce/plugins/xhtmlxtras/js/acronym.js | 56 +- .../plugins/xhtmlxtras/js/attributes.js | 252 +- .../tiny_mce/plugins/xhtmlxtras/js/cite.js | 56 +- .../tiny_mce/plugins/xhtmlxtras/js/del.js | 126 +- .../plugins/xhtmlxtras/js/element_common.js | 462 ++-- .../tiny_mce/plugins/xhtmlxtras/js/ins.js | 124 +- .../plugins/xhtmlxtras/langs/bg_dlg.js | 62 +- .../plugins/xhtmlxtras/langs/cs_dlg.js | 62 +- .../plugins/xhtmlxtras/langs/da_dlg.js | 62 +- .../plugins/xhtmlxtras/langs/de_dlg.js | 62 +- .../plugins/xhtmlxtras/langs/en_dlg.js | 62 +- .../plugins/xhtmlxtras/langs/es_dlg.js | 62 +- .../plugins/xhtmlxtras/langs/fa_dlg.js | 62 +- .../plugins/xhtmlxtras/langs/fi_dlg.js | 62 +- .../plugins/xhtmlxtras/langs/fr_dlg.js | 62 +- .../plugins/xhtmlxtras/langs/he_dlg.js | 62 +- .../plugins/xhtmlxtras/langs/it_dlg.js | 62 +- .../plugins/xhtmlxtras/langs/ja_dlg.js | 62 +- .../plugins/xhtmlxtras/langs/nl_dlg.js | 62 +- .../plugins/xhtmlxtras/langs/nn_dlg.js | 62 +- .../plugins/xhtmlxtras/langs/pl_dlg.js | 62 +- .../plugins/xhtmlxtras/langs/pt_dlg.js | 62 +- .../plugins/xhtmlxtras/langs/ru_dlg.js | 62 +- .../plugins/xhtmlxtras/langs/sv_dlg.js | 62 +- .../plugins/xhtmlxtras/langs/zh_dlg.js | 62 +- assets/plugins/tinymce/lang/finnish.inc.php | 2 +- .../tinymce/lang/francais-utf8.inc.php | 24 +- assets/plugins/tinymce/lang/german.inc.php | 6 +- assets/plugins/tinymce/lang/norsk.inc.php | 48 +- .../tinymce/lang/portuguese-br.inc.php | 18 +- .../plugins/tinymce/lang/portuguese.inc.php | 18 +- .../plugins/tinymce/lang/svenska-utf8.inc.php | 16 +- .../lang/chinese_simplified.inc.php | 42 +- 386 files changed, 26535 insertions(+), 26525 deletions(-) mode change 100644 => 100755 assets/export/index.html mode change 100644 => 100755 assets/images/index.html mode change 100644 => 100755 assets/js/csshover3.htc mode change 100644 => 100755 assets/js/index.html mode change 100644 => 100755 assets/modules/docmanager/lang/danish.inc.php mode change 100644 => 100755 assets/modules/docmanager/lang/english.inc.php mode change 100644 => 100755 assets/modules/docmanager/lang/italian.inc.php mode change 100644 => 100755 assets/plugins/qm/css/ie7.css mode change 100644 => 100755 assets/plugins/tinymce/index.html mode change 100644 => 100755 assets/plugins/tinymce/js/fbconfig.js mode change 100644 => 100755 assets/plugins/tinymce/js/xconfig.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/langs/bg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/langs/cs.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/langs/da.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/langs/de.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/langs/en.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/langs/es.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/langs/fa.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/langs/fi.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/langs/fr.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/langs/he.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/langs/it.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/langs/ja.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/langs/nl.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/langs/nn.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/langs/pl.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/langs/pt.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/langs/ru.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/langs/sv.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/langs/zh.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/license.txt mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/langs/bg_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/langs/cs_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/langs/da_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/langs/de_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/langs/es_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/langs/fa_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/langs/fi_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/langs/fr_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/langs/he_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/langs/it_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/langs/ja_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/langs/nl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/langs/nn_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/langs/pl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/langs/pt_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/langs/ru_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/langs/sv_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/langs/zh_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/bg_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/cs_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/da_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/de_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/es_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fa_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fi_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fr_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/he_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/it_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/ja_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/nl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/nn_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/pl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/pt_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/ru_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/sv_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/zh_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/bg_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/cs_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/da_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/de_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/es_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fa_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fi_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fr_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/he_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/it_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/ja_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/nl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/nn_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/pl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/pt_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/ru_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/sv_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/zh_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/bg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/cs.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/da.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/de.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/es.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/fa.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/fi.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/fr.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/he.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/it.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/ja.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/nl.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/nn.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/pl.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/pt.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/ru.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/sv.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/zh.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/bg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/cs.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/da.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/de.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/en.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/es.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/fa.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/fi.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/fr.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/he.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/it.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/ja.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/nl.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/nn.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/pl.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/pt.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/ru.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/sv.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/zh.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/js/emotions.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/bg_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/cs_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/da_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/de_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/es_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fa_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fi_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fr_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/he_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/it_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/ja_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/nl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/nn_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/pl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/pt_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/ru_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/sv_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/zh_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/bg_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/cs_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/da_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/de_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/es_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/fa_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/fi_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/fr_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/he_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/it_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/ja_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/nl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/nn_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/pl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/pt_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/ru_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/sv_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/zh_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/css/content.css mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/css/media.css mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/js/embed.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/js/media.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/langs/bg_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/langs/cs_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/langs/da_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/langs/de_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/langs/en_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/langs/es_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/langs/fa_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/langs/fi_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/langs/fr_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/langs/he_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/langs/it_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/langs/ja_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/langs/nl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/langs/nn_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/langs/pl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/langs/pt_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/langs/ru_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/langs/sv_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/langs/zh_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/media.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/js/pastetext.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/js/pasteword.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/bg_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/cs_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/da_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/de_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/es_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/fa_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/fi_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/fr_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/he_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/it_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/ja_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/nl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/nn_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/pl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/pt_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/ru_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/sv_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/zh_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/preview/example.html mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/preview/preview.html mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/bg_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/cs_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/da_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/de_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/es_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fa_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fi_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fr_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/he_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/it_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/ja_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/nl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/nn_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/pl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/pt_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/ru_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/sv_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/zh_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/css/props.css mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/js/props.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/bg_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/cs_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/da_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/de_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/es_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/fa_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/fi_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/fr_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/he_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/it_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/ja_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/nl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/nn_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/pl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/pt_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/ru_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/sv_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/zh_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/cell.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/css/row.css mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/css/table.css mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/js/row.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/js/table.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/bg_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/cs_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/da_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/de_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/es_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/fa_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/fi_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/fr_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/he_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/it_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/ja_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/nl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/nn_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/pl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/pt_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/ru_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/sv_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/zh_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/row.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/table.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/blank.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/css/template.css mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/js/template.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/langs/bg_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/langs/cs_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/langs/da_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/langs/de_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/langs/es_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/langs/fa_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/langs/fi_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/langs/fr_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/langs/he_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/langs/it_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/langs/ja_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/langs/nl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/langs/nn_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/langs/pl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/langs/pt_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/langs/ru_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/langs/sv_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/langs/zh_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/template.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/bg_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/cs_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/da_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/de_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/es_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/fa_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/fi_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/fr_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/he_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/it_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/ja_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/nl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/nn_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/pl_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/pt_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/ru_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/sv_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/zh_dlg.js mode change 100644 => 100755 assets/plugins/tinymce/lang/finnish.inc.php mode change 100644 => 100755 assets/plugins/tinymce/lang/francais-utf8.inc.php mode change 100644 => 100755 assets/plugins/tinymce/lang/german.inc.php mode change 100644 => 100755 assets/plugins/tinymce/lang/norsk.inc.php mode change 100644 => 100755 assets/plugins/tinymce/lang/portuguese-br.inc.php mode change 100644 => 100755 assets/plugins/tinymce/lang/portuguese.inc.php mode change 100644 => 100755 assets/plugins/tinymce/lang/svenska-utf8.inc.php mode change 100644 => 100755 assets/snippets/ajaxSearch/lang/chinese_simplified.inc.php diff --git a/assets/docs/index.html b/assets/docs/index.html index fdd3791786..cfb7d0fe18 100755 --- a/assets/docs/index.html +++ b/assets/docs/index.html @@ -1,2 +1,2 @@ -<h2>Unauthorized access</h2> +<h2>Unauthorized access</h2> You're not allowed to access file folder \ No newline at end of file diff --git a/assets/docs/license.txt b/assets/docs/license.txt index 2128a66ea7..960fe7469f 100755 --- a/assets/docs/license.txt +++ b/assets/docs/license.txt @@ -1,280 +1,280 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS diff --git a/assets/export/index.html b/assets/export/index.html old mode 100644 new mode 100755 index fdd3791786..cfb7d0fe18 --- a/assets/export/index.html +++ b/assets/export/index.html @@ -1,2 +1,2 @@ -<h2>Unauthorized access</h2> +<h2>Unauthorized access</h2> You're not allowed to access file folder \ No newline at end of file diff --git a/assets/flash/index.html b/assets/flash/index.html index fdd3791786..cfb7d0fe18 100755 --- a/assets/flash/index.html +++ b/assets/flash/index.html @@ -1,2 +1,2 @@ -<h2>Unauthorized access</h2> +<h2>Unauthorized access</h2> You're not allowed to access file folder \ No newline at end of file diff --git a/assets/images/index.html b/assets/images/index.html old mode 100644 new mode 100755 index fdd3791786..cfb7d0fe18 --- a/assets/images/index.html +++ b/assets/images/index.html @@ -1,2 +1,2 @@ -<h2>Unauthorized access</h2> +<h2>Unauthorized access</h2> You're not allowed to access file folder \ No newline at end of file diff --git a/assets/js/csshover3.htc b/assets/js/csshover3.htc old mode 100644 new mode 100755 index 7ce43fa71c..6b160b01aa --- a/assets/js/csshover3.htc +++ b/assets/js/csshover3.htc @@ -1,14 +1,14 @@ -<public:attach event="ondocumentready" onevent="CSSHover()" /> -<script> -/** - * Whatever:hover - V3.00.081222 - * -------------------------------------------------------- - * Author - Peter Nederlof, http://www.xs4all.nl/~peterned - * License - http://creativecommons.org/licenses/LGPL/2.1 - * Packed - http://dean.edwards.name/packer - * - * howto: body { behavior:url("csshover3.htc"); } - */ -eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('r.R=(8(){4 f=/(^|\\s)((([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(C|D|E))/i,S=/(.*?)\\:(C|D|E)/i,T=/[^:]+:([a-z-]+).*/i,U=/(\\.([a-V-W-]+):[a-z]+)|(:[a-z]+)/1c,X=/\\.([a-V-W-]*Y(C|D|E))/i,Z=/1d (5|6|7)/i,10=/1e/i;4 g=\'1f-\';4 h={p:[],t:{},11:8(){n(!Z.F(1g.1h)&&!10.F(r.12.1i))u;4 a=r.12.1j,l=a.v;w(4 i=0;i<l;i++){3.G(a[i])}},G:8(a){n(a.H){I{4 b=a.H,l=b.v;w(4 i=0;i<l;i++){3.G(a.H[i])}}J(13){}}I{4 c=a.1k,l=c.v;w(4 j=0;j<l;j++){3.14(c[j],a)}}J(13){}},14:8(a,b){4 c=a.1l;n(f.F(c)){4 d=a.K.1m,L=S.15(c)[1],M=c.N(T,\'Y$1\'),O=c.N(U,\'.$2\'+M),o=X.15(O)[1];4 e=L+o;n(!3.t[e]){b.16(L,g+o+\':1n(R(3, "\'+M+\'", "\'+o+\'"))\');3.t[e]=17}b.16(O,d)}},18:8(a,b,c){4 d=g+c;n(a.K[d]){a.K[d]=q}n(!a.x)a.x=[];n(!a.x[c]){a.x[c]=17;4 e=19 P(a,b,c);3.p.1o(e)}u b},y:8(){I{4 l=3.p.v;w(4 i=0;i<l;i++){3.p[i].y()}3.p=[];3.t={}}J(e){}}};r.Q(\'1p\',8(){h.y()});4 k={1q:{9:\'1r\',m:\'1s\'},1t:{9:\'1u\',m:\'1v\'},1a:{9:\'1a\',m:\'1w\'}};8 P(a,b,c){3.A=a;3.B=b;4 d=19 1x(\'(^|\\\\s)\'+c+\'(\\\\s|$)\',\'g\');3.9=8(){a.o+=\' \'+c};3.m=8(){a.o=a.o.N(d,\' \')};a.Q(k[b].9,3.9);a.Q(k[b].m,3.m)}P.1y={y:8(){3.A.1b(k[3.B].9,3.9);3.A.1b(k[3.B].m,3.m);3.9=q;3.m=q;3.A=q;3.B=q}};u 8(a,b,c){n(a){u h.18(a,b,c)}1z{h.11()}}})();',62,98,'|||this|var||||function|activator|||||||||||||deactivator|if|className|elements|null|window||callbacks|return|length|for|csshover|unload||node|type|hover|active|focus|test|parseStylesheet|imports|try|catch|style|affected|pseudo|replace|newSelect|CSSHoverElement|attachEvent|CSSHover|REG_AFFECTED|REG_PSEUDO|REG_SELECT|z0|9_|REG_CLASS|on|REG_MSIE|REG_COMPAT|init|document|securityException|parseCSSRule|exec|addRule|true|patch|new|onfocus|detachEvent|gi|msie|backcompat|csh|navigator|userAgent|compatMode|styleSheets|rules|selectorText|cssText|expression|push|onbeforeunload|onhover|onmouseenter|onmouseleave|onactive|onmousedown|onmouseup|onblur|RegExp|prototype|else'.split('|'),0,{})); - +<public:attach event="ondocumentready" onevent="CSSHover()" /> +<script> +/** + * Whatever:hover - V3.00.081222 + * -------------------------------------------------------- + * Author - Peter Nederlof, http://www.xs4all.nl/~peterned + * License - http://creativecommons.org/licenses/LGPL/2.1 + * Packed - http://dean.edwards.name/packer + * + * howto: body { behavior:url("csshover3.htc"); } + */ +eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('r.R=(8(){4 f=/(^|\\s)((([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(C|D|E))/i,S=/(.*?)\\:(C|D|E)/i,T=/[^:]+:([a-z-]+).*/i,U=/(\\.([a-V-W-]+):[a-z]+)|(:[a-z]+)/1c,X=/\\.([a-V-W-]*Y(C|D|E))/i,Z=/1d (5|6|7)/i,10=/1e/i;4 g=\'1f-\';4 h={p:[],t:{},11:8(){n(!Z.F(1g.1h)&&!10.F(r.12.1i))u;4 a=r.12.1j,l=a.v;w(4 i=0;i<l;i++){3.G(a[i])}},G:8(a){n(a.H){I{4 b=a.H,l=b.v;w(4 i=0;i<l;i++){3.G(a.H[i])}}J(13){}}I{4 c=a.1k,l=c.v;w(4 j=0;j<l;j++){3.14(c[j],a)}}J(13){}},14:8(a,b){4 c=a.1l;n(f.F(c)){4 d=a.K.1m,L=S.15(c)[1],M=c.N(T,\'Y$1\'),O=c.N(U,\'.$2\'+M),o=X.15(O)[1];4 e=L+o;n(!3.t[e]){b.16(L,g+o+\':1n(R(3, "\'+M+\'", "\'+o+\'"))\');3.t[e]=17}b.16(O,d)}},18:8(a,b,c){4 d=g+c;n(a.K[d]){a.K[d]=q}n(!a.x)a.x=[];n(!a.x[c]){a.x[c]=17;4 e=19 P(a,b,c);3.p.1o(e)}u b},y:8(){I{4 l=3.p.v;w(4 i=0;i<l;i++){3.p[i].y()}3.p=[];3.t={}}J(e){}}};r.Q(\'1p\',8(){h.y()});4 k={1q:{9:\'1r\',m:\'1s\'},1t:{9:\'1u\',m:\'1v\'},1a:{9:\'1a\',m:\'1w\'}};8 P(a,b,c){3.A=a;3.B=b;4 d=19 1x(\'(^|\\\\s)\'+c+\'(\\\\s|$)\',\'g\');3.9=8(){a.o+=\' \'+c};3.m=8(){a.o=a.o.N(d,\' \')};a.Q(k[b].9,3.9);a.Q(k[b].m,3.m)}P.1y={y:8(){3.A.1b(k[3.B].9,3.9);3.A.1b(k[3.B].m,3.m);3.9=q;3.m=q;3.A=q;3.B=q}};u 8(a,b,c){n(a){u h.18(a,b,c)}1z{h.11()}}})();',62,98,'|||this|var||||function|activator|||||||||||||deactivator|if|className|elements|null|window||callbacks|return|length|for|csshover|unload||node|type|hover|active|focus|test|parseStylesheet|imports|try|catch|style|affected|pseudo|replace|newSelect|CSSHoverElement|attachEvent|CSSHover|REG_AFFECTED|REG_PSEUDO|REG_SELECT|z0|9_|REG_CLASS|on|REG_MSIE|REG_COMPAT|init|document|securityException|parseCSSRule|exec|addRule|true|patch|new|onfocus|detachEvent|gi|msie|backcompat|csh|navigator|userAgent|compatMode|styleSheets|rules|selectorText|cssText|expression|push|onbeforeunload|onhover|onmouseenter|onmouseleave|onactive|onmousedown|onmouseup|onblur|RegExp|prototype|else'.split('|'),0,{})); + </script> \ No newline at end of file diff --git a/assets/js/index.html b/assets/js/index.html old mode 100644 new mode 100755 index fdd3791786..cfb7d0fe18 --- a/assets/js/index.html +++ b/assets/js/index.html @@ -1,2 +1,2 @@ -<h2>Unauthorized access</h2> +<h2>Unauthorized access</h2> You're not allowed to access file folder \ No newline at end of file diff --git a/assets/media/index.html b/assets/media/index.html index fdd3791786..cfb7d0fe18 100755 --- a/assets/media/index.html +++ b/assets/media/index.html @@ -1,2 +1,2 @@ -<h2>Unauthorized access</h2> +<h2>Unauthorized access</h2> You're not allowed to access file folder \ No newline at end of file diff --git a/assets/modules/docmanager/lang/chinese.inc.php b/assets/modules/docmanager/lang/chinese.inc.php index af5a887cdc..20040256dd 100755 --- a/assets/modules/docmanager/lang/chinese.inc.php +++ b/assets/modules/docmanager/lang/chinese.inc.php @@ -1,162 +1,162 @@ -<?php -/** - * Document Manager Module - english.inc.php - * - * Purpose: Contains the language strings for use in the module. - * Author: Garry Nutting - * For: MODx CMS (www.modxcms.com) - * Date:29/09/2006 Version: 1.6 - * - */ - -//-- ENGLISH LANGUAGE FILE - -//-- titles -$_lang['DM_module_title'] = '文档管ç†'; -$_lang['DM_action_title'] = 'Select an action'; -$_lang['DM_range_title'] = 'Specify a Range of Document IDs'; -$_lang['DM_tree_title'] = 'Select Documents from the tree'; -$_lang['DM_update_title'] = 'Update Completed'; -$_lang['DM_sort_title'] = 'Menu Index Editor'; - -//-- tabs -$_lang['DM_doc_permissions'] = 'Document Permissions'; -$_lang['DM_template_variables'] = 'Template Variables'; -$_lang['DM_sort_menu'] = 'Sort Menu Items'; -$_lang['DM_change_template'] = 'Change Template'; -$_lang['DM_publish'] = 'Publish/Unpublish'; -$_lang['DM_other'] = 'Other Properties'; - -//-- buttons -$_lang['DM_close'] = 'Close Doc Manager'; -$_lang['DM_cancel'] = 'Go Back'; -$_lang['DM_go'] = 'Go'; -$_lang['DM_save'] = 'Save'; -$_lang['DM_sort_another'] = 'Sort Another'; - -//-- templates tab -$_lang['DM_tpl_desc'] = 'Choose the required template from the table below and then specify the Document IDs which need to be changed. Either by specifying a range of IDs or by using the Tree option below.'; -$_lang['DM_tpl_no_templates'] = 'No Templates Found'; -$_lang['DM_tpl_column_id'] = 'ID'; -$_lang['DM_tpl_column_name'] = 'Name'; -$_lang['DM_tpl_column_description'] ='Description'; -$_lang['DM_tpl_blank_template'] = 'Blank Template'; - -$_lang['DM_tpl_results_message']= 'Use the Back button if you need make more changes. The Site Cache has automatically been cleared.'; - -//-- template variables tab -$_lang['DM_tv_desc'] = 'Specify the Document IDs which need to be changed, either by specifying a range of IDs or by using the Tree option below, then choose the required template from the table and the associated template variables will be loaded. Enter your desired Template Variable values and submit for processing.'; -$_lang['DM_tv_template_mismatch'] = 'This document does not use the chosen template.'; -$_lang['DM_tv_doc_not_found'] = 'This document was not found in the database.'; -$_lang['DM_tv_no_tv'] = 'No Template Variables found for the template.'; -$_lang['DM_tv_no_docs'] = 'No documents selected for updating.'; -$_lang['DM_tv_no_template_selected'] = 'No template has been selected.'; -$_lang['DM_tv_loading'] = 'Template Variables are loading ...'; -$_lang['DM_tv_ignore_tv'] = 'Ignore these Template Variables (comma-separated values):'; -$_lang['DM_tv_ajax_insertbutton'] = 'Insert'; - -//-- document permissions tab -$_lang['DM_doc_desc'] = 'Choose the required document group from the table below and whether you wish to add or remove the group. Then specify the Document IDs which need to be changed. Either by specifying a range of IDs or by using the Tree option below.'; -$_lang['DM_doc_no_docs'] = 'No Document Groups Found'; -$_lang['DM_doc_column_id'] = 'ID'; -$_lang['DM_doc_column_name'] = 'Name'; -$_lang['DM_doc_radio_add'] = 'Add a Document Group'; -$_lang['DM_doc_radio_remove'] = 'Remove a Document Group'; - -$_lang['DM_doc_skip_message1'] = 'Document with ID'; -$_lang['DM_doc_skip_message2'] = 'is already part of the selected document group (skipping)'; - -//-- sort menu tab -$_lang['DM_sort_pick_item'] = 'Please click the site root or parent document from the MAIN DOCUMENT TREE that you\'d like to sort.'; -$_lang['DM_sort_updating'] = 'Updating ...'; -$_lang['DM_sort_updated'] = 'Updated'; -$_lang['DM_sort_nochildren'] = 'Parent does not have any children'; -$_lang['DM_sort_noid']='No Document has been selected. Please go back and select a document.'; - -//-- other tab -$_lang['DM_other_header'] = 'Miscellaneous Document Settings'; -$_lang['DM_misc_label'] = 'Available Settings:'; -$_lang['DM_misc_desc'] = 'Please pick a setting from the dropdown menu and then the required option. Please note that only one setting can be changed at a time.'; - -$_lang['DM_other_dropdown_publish'] = 'Publish/Unpublish'; -$_lang['DM_other_dropdown_show'] = 'Show/Hide in Menu'; -$_lang['DM_other_dropdown_search'] = 'Searchable/Unsearchable'; -$_lang['DM_other_dropdown_cache'] = 'Cacheable/Uncacheable'; -$_lang['DM_other_dropdown_richtext'] = 'Richtext/No Richtext Editor'; -$_lang['DM_other_dropdown_delete'] = 'Delete/Undelete'; - -//-- radio button text -$_lang['DM_other_publish_radio1'] = 'Publish'; -$_lang['DM_other_publish_radio2'] = 'Unpublish'; -$_lang['DM_other_show_radio1'] = 'Hide in Menu'; -$_lang['DM_other_show_radio2'] = 'Show in Menu'; -$_lang['DM_other_search_radio1'] = 'Searchable'; -$_lang['DM_other_search_radio2'] = 'Unsearchable'; -$_lang['DM_other_cache_radio1'] = 'Cacheable'; -$_lang['DM_other_cache_radio2'] = 'Uncacheable'; -$_lang['DM_other_richtext_radio1'] = 'Richtext'; -$_lang['DM_other_richtext_radio2'] = 'No Richtext'; -$_lang['DM_other_delete_radio1'] = 'Delete'; -$_lang['DM_other_delete_radio2'] = 'Undelete'; - -//-- adjust dates -$_lang['DM_adjust_dates_header'] = 'Set Document Dates'; -$_lang['DM_adjust_dates_desc'] = 'Any of the following Document date settings can be changed. Use "View Calendar" option to set the dates.'; -$_lang['DM_view_calendar'] = 'View Calendar'; -$_lang['DM_clear_date'] = 'Clear Date'; - -//-- adjust authors -$_lang['DM_adjust_authors_header'] = 'Set Authors'; -$_lang['DM_adjust_authors_desc'] = 'Use the dropdown lists to set new authors for the Document.'; -$_lang['DM_adjust_authors_createdby'] = 'Created By:'; -$_lang['DM_adjust_authors_editedby'] = 'Edited By:'; -$_lang['DM_adjust_authors_noselection'] = 'No change'; - - //-- labels -$_lang['DM_date_pubdate'] = 'Publish Date:'; -$_lang['DM_date_unpubdate'] = 'Unpublish Date:'; -$_lang['DM_date_createdon'] = 'Created On Date:'; -$_lang['DM_date_editedon'] = 'Edited On Date:'; -//$_lang['DM_date_deletedon'] = 'Deleted On Date'; - -$_lang['DM_date_notset'] = ' (not set)'; -//deprecated -$_lang['DM_date_dateselect_label'] = 'Select a Date: '; - -//-- document select section -$_lang['DM_select_submit'] = 'Submit'; -$_lang['DM_select_range'] = 'Switch back to setting a Document ID Range'; -$_lang['DM_select_range_text'] = '<p><strong>Key (where n is a document ID number):</strong><br /><br /> - n* - Change setting for this document and immediate children<br /> - n** - Change setting for this document and ALL children<br /> - n-n2 - Change setting for this range of documents<br /> - n - Change setting for a single document</p> - <p>Example: 1*,4**,2-20,25 - This will change the selected setting - for documents 1 and its children, document 4 and all children, documents 2 - through 20 and document 25.</p>'; -$_lang['DM_select_tree'] ='View and select documents using the Document Tree'; - -//-- process tree/range messages -$_lang['DM_process_noselection'] = 'No selection was made. '; -$_lang['DM_process_novalues'] = 'No values have been specified.'; -$_lang['DM_process_limits_error'] = 'Upper limit less than lower limit:'; -$_lang['DM_process_invalid_error'] = 'Invalid Value:'; -$_lang['DM_process_update_success'] = 'Update was completed successfully, with no errors.'; -$_lang['DM_process_update_error'] = 'Update has completed but encountered errors:'; -$_lang['DM_process_back'] = 'Back'; - -//-- manager access logging -$_lang['DM_log_template'] = 'Document Manager: Templates changed.'; -$_lang['DM_log_templatevariables'] = 'Document Manager: Template variables changed.'; -$_lang['DM_log_docpermissions'] ='Document Manager: Document Permissions changed.'; -$_lang['DM_log_sortmenu']='Document Manager: Menu Index operation completed.'; -$_lang['DM_log_publish']='Document Manager: Document Manager: Documents Published/Unpublished settings changed.'; -$_lang['DM_log_hidemenu']='Document Manager: Documents Hide/Show in Menu settings changed.'; -$_lang['DM_log_search']='Document Manager: Documents Searchable/Unsearchable settings changed.'; -$_lang['DM_log_cache']='Document Manager: Documents Cacheable/Uncacheable settings changed.'; -$_lang['DM_log_richtext']='Document Manager: Documents Use Richtext Editor settings changed.'; -$_lang['DM_log_delete']='Document Manager: Documents Delete/Undelete settings changed.'; -$_lang['DM_log_dates']='Document Manager: Documents Date settings changed.'; -$_lang['DM_log_authors']='Document Manager: Documents Author settings changed.'; - -?> +<?php +/** + * Document Manager Module - english.inc.php + * + * Purpose: Contains the language strings for use in the module. + * Author: Garry Nutting + * For: MODx CMS (www.modxcms.com) + * Date:29/09/2006 Version: 1.6 + * + */ + +//-- ENGLISH LANGUAGE FILE + +//-- titles +$_lang['DM_module_title'] = '文档管ç†'; +$_lang['DM_action_title'] = 'Select an action'; +$_lang['DM_range_title'] = 'Specify a Range of Document IDs'; +$_lang['DM_tree_title'] = 'Select Documents from the tree'; +$_lang['DM_update_title'] = 'Update Completed'; +$_lang['DM_sort_title'] = 'Menu Index Editor'; + +//-- tabs +$_lang['DM_doc_permissions'] = 'Document Permissions'; +$_lang['DM_template_variables'] = 'Template Variables'; +$_lang['DM_sort_menu'] = 'Sort Menu Items'; +$_lang['DM_change_template'] = 'Change Template'; +$_lang['DM_publish'] = 'Publish/Unpublish'; +$_lang['DM_other'] = 'Other Properties'; + +//-- buttons +$_lang['DM_close'] = 'Close Doc Manager'; +$_lang['DM_cancel'] = 'Go Back'; +$_lang['DM_go'] = 'Go'; +$_lang['DM_save'] = 'Save'; +$_lang['DM_sort_another'] = 'Sort Another'; + +//-- templates tab +$_lang['DM_tpl_desc'] = 'Choose the required template from the table below and then specify the Document IDs which need to be changed. Either by specifying a range of IDs or by using the Tree option below.'; +$_lang['DM_tpl_no_templates'] = 'No Templates Found'; +$_lang['DM_tpl_column_id'] = 'ID'; +$_lang['DM_tpl_column_name'] = 'Name'; +$_lang['DM_tpl_column_description'] ='Description'; +$_lang['DM_tpl_blank_template'] = 'Blank Template'; + +$_lang['DM_tpl_results_message']= 'Use the Back button if you need make more changes. The Site Cache has automatically been cleared.'; + +//-- template variables tab +$_lang['DM_tv_desc'] = 'Specify the Document IDs which need to be changed, either by specifying a range of IDs or by using the Tree option below, then choose the required template from the table and the associated template variables will be loaded. Enter your desired Template Variable values and submit for processing.'; +$_lang['DM_tv_template_mismatch'] = 'This document does not use the chosen template.'; +$_lang['DM_tv_doc_not_found'] = 'This document was not found in the database.'; +$_lang['DM_tv_no_tv'] = 'No Template Variables found for the template.'; +$_lang['DM_tv_no_docs'] = 'No documents selected for updating.'; +$_lang['DM_tv_no_template_selected'] = 'No template has been selected.'; +$_lang['DM_tv_loading'] = 'Template Variables are loading ...'; +$_lang['DM_tv_ignore_tv'] = 'Ignore these Template Variables (comma-separated values):'; +$_lang['DM_tv_ajax_insertbutton'] = 'Insert'; + +//-- document permissions tab +$_lang['DM_doc_desc'] = 'Choose the required document group from the table below and whether you wish to add or remove the group. Then specify the Document IDs which need to be changed. Either by specifying a range of IDs or by using the Tree option below.'; +$_lang['DM_doc_no_docs'] = 'No Document Groups Found'; +$_lang['DM_doc_column_id'] = 'ID'; +$_lang['DM_doc_column_name'] = 'Name'; +$_lang['DM_doc_radio_add'] = 'Add a Document Group'; +$_lang['DM_doc_radio_remove'] = 'Remove a Document Group'; + +$_lang['DM_doc_skip_message1'] = 'Document with ID'; +$_lang['DM_doc_skip_message2'] = 'is already part of the selected document group (skipping)'; + +//-- sort menu tab +$_lang['DM_sort_pick_item'] = 'Please click the site root or parent document from the MAIN DOCUMENT TREE that you\'d like to sort.'; +$_lang['DM_sort_updating'] = 'Updating ...'; +$_lang['DM_sort_updated'] = 'Updated'; +$_lang['DM_sort_nochildren'] = 'Parent does not have any children'; +$_lang['DM_sort_noid']='No Document has been selected. Please go back and select a document.'; + +//-- other tab +$_lang['DM_other_header'] = 'Miscellaneous Document Settings'; +$_lang['DM_misc_label'] = 'Available Settings:'; +$_lang['DM_misc_desc'] = 'Please pick a setting from the dropdown menu and then the required option. Please note that only one setting can be changed at a time.'; + +$_lang['DM_other_dropdown_publish'] = 'Publish/Unpublish'; +$_lang['DM_other_dropdown_show'] = 'Show/Hide in Menu'; +$_lang['DM_other_dropdown_search'] = 'Searchable/Unsearchable'; +$_lang['DM_other_dropdown_cache'] = 'Cacheable/Uncacheable'; +$_lang['DM_other_dropdown_richtext'] = 'Richtext/No Richtext Editor'; +$_lang['DM_other_dropdown_delete'] = 'Delete/Undelete'; + +//-- radio button text +$_lang['DM_other_publish_radio1'] = 'Publish'; +$_lang['DM_other_publish_radio2'] = 'Unpublish'; +$_lang['DM_other_show_radio1'] = 'Hide in Menu'; +$_lang['DM_other_show_radio2'] = 'Show in Menu'; +$_lang['DM_other_search_radio1'] = 'Searchable'; +$_lang['DM_other_search_radio2'] = 'Unsearchable'; +$_lang['DM_other_cache_radio1'] = 'Cacheable'; +$_lang['DM_other_cache_radio2'] = 'Uncacheable'; +$_lang['DM_other_richtext_radio1'] = 'Richtext'; +$_lang['DM_other_richtext_radio2'] = 'No Richtext'; +$_lang['DM_other_delete_radio1'] = 'Delete'; +$_lang['DM_other_delete_radio2'] = 'Undelete'; + +//-- adjust dates +$_lang['DM_adjust_dates_header'] = 'Set Document Dates'; +$_lang['DM_adjust_dates_desc'] = 'Any of the following Document date settings can be changed. Use "View Calendar" option to set the dates.'; +$_lang['DM_view_calendar'] = 'View Calendar'; +$_lang['DM_clear_date'] = 'Clear Date'; + +//-- adjust authors +$_lang['DM_adjust_authors_header'] = 'Set Authors'; +$_lang['DM_adjust_authors_desc'] = 'Use the dropdown lists to set new authors for the Document.'; +$_lang['DM_adjust_authors_createdby'] = 'Created By:'; +$_lang['DM_adjust_authors_editedby'] = 'Edited By:'; +$_lang['DM_adjust_authors_noselection'] = 'No change'; + + //-- labels +$_lang['DM_date_pubdate'] = 'Publish Date:'; +$_lang['DM_date_unpubdate'] = 'Unpublish Date:'; +$_lang['DM_date_createdon'] = 'Created On Date:'; +$_lang['DM_date_editedon'] = 'Edited On Date:'; +//$_lang['DM_date_deletedon'] = 'Deleted On Date'; + +$_lang['DM_date_notset'] = ' (not set)'; +//deprecated +$_lang['DM_date_dateselect_label'] = 'Select a Date: '; + +//-- document select section +$_lang['DM_select_submit'] = 'Submit'; +$_lang['DM_select_range'] = 'Switch back to setting a Document ID Range'; +$_lang['DM_select_range_text'] = '<p><strong>Key (where n is a document ID number):</strong><br /><br /> + n* - Change setting for this document and immediate children<br /> + n** - Change setting for this document and ALL children<br /> + n-n2 - Change setting for this range of documents<br /> + n - Change setting for a single document</p> + <p>Example: 1*,4**,2-20,25 - This will change the selected setting + for documents 1 and its children, document 4 and all children, documents 2 + through 20 and document 25.</p>'; +$_lang['DM_select_tree'] ='View and select documents using the Document Tree'; + +//-- process tree/range messages +$_lang['DM_process_noselection'] = 'No selection was made. '; +$_lang['DM_process_novalues'] = 'No values have been specified.'; +$_lang['DM_process_limits_error'] = 'Upper limit less than lower limit:'; +$_lang['DM_process_invalid_error'] = 'Invalid Value:'; +$_lang['DM_process_update_success'] = 'Update was completed successfully, with no errors.'; +$_lang['DM_process_update_error'] = 'Update has completed but encountered errors:'; +$_lang['DM_process_back'] = 'Back'; + +//-- manager access logging +$_lang['DM_log_template'] = 'Document Manager: Templates changed.'; +$_lang['DM_log_templatevariables'] = 'Document Manager: Template variables changed.'; +$_lang['DM_log_docpermissions'] ='Document Manager: Document Permissions changed.'; +$_lang['DM_log_sortmenu']='Document Manager: Menu Index operation completed.'; +$_lang['DM_log_publish']='Document Manager: Document Manager: Documents Published/Unpublished settings changed.'; +$_lang['DM_log_hidemenu']='Document Manager: Documents Hide/Show in Menu settings changed.'; +$_lang['DM_log_search']='Document Manager: Documents Searchable/Unsearchable settings changed.'; +$_lang['DM_log_cache']='Document Manager: Documents Cacheable/Uncacheable settings changed.'; +$_lang['DM_log_richtext']='Document Manager: Documents Use Richtext Editor settings changed.'; +$_lang['DM_log_delete']='Document Manager: Documents Delete/Undelete settings changed.'; +$_lang['DM_log_dates']='Document Manager: Documents Date settings changed.'; +$_lang['DM_log_authors']='Document Manager: Documents Author settings changed.'; + +?> diff --git a/assets/modules/docmanager/lang/danish.inc.php b/assets/modules/docmanager/lang/danish.inc.php old mode 100644 new mode 100755 index 59d5c1bc34..c8d032cacc --- a/assets/modules/docmanager/lang/danish.inc.php +++ b/assets/modules/docmanager/lang/danish.inc.php @@ -1,162 +1,162 @@ -<?php -/** - * Document Manager Module - english.inc.php - * - * Purpose: Contains the language strings for use in the module. - * Author: Garry Nutting - * For: MODx CMS (www.modxcms.com) - * Date:29/09/2006 Version: 1.6 - * - */ - -//-- ENGLISH LANGUAGE FILE - -//-- titles -$_lang['DM_module_title'] = 'Dokument administration'; -$_lang['DM_action_title'] = 'Vælg en handling'; -$_lang['DM_range_title'] = 'Angiv en række af dokument IDer'; -$_lang['DM_tree_title'] = 'Vælg Dokumenter fra filtræet'; -$_lang['DM_update_title'] = 'Opdatering færdiggjort'; -$_lang['DM_sort_title'] = 'Menu Indeks redigering'; - -//-- tabs -$_lang['DM_doc_permissions'] = 'Dokument tilladelser'; -$_lang['DM_template_variables'] = 'Skabelon Variabler'; -$_lang['DM_sort_menu'] = 'Sorter Menuelementer'; -$_lang['DM_change_template'] = 'Ændre skabelon'; -$_lang['DM_publish'] = 'Publisér/afpublisér'; -$_lang['DM_other'] = 'Andre egenskaber'; - -//-- buttons -$_lang['DM_close'] = 'Luk Dok administration'; -$_lang['DM_cancel'] = 'Gå tilbage'; -$_lang['DM_go'] = 'Fortsæt'; -$_lang['DM_save'] = 'Gem'; -$_lang['DM_sort_another'] = 'Sortér en anden'; - -//-- templates tab -$_lang['DM_tpl_desc'] = 'Vælg den skabelon du har brug for i tabellen nedenunder og angiv dokument IDerne som skal ændres. Enten ved at angive en række af IDer eller ved at bruge Træ muligheden nedenunder.'; -$_lang['DM_tpl_no_templates'] = 'Ingen skabeloner fundet'; -$_lang['DM_tpl_column_id'] = 'ID'; -$_lang['DM_tpl_column_name'] = 'Navn'; -$_lang['DM_tpl_column_description'] ='Beskrivelse'; -$_lang['DM_tpl_blank_template'] = 'Tom skabelon'; - -$_lang['DM_tpl_results_message']= 'Brug tilbage knappen hvis du har behov for at ændre flere ting. Website Cachen er automatisk blevet tømt.'; - -//-- template variables tab -$_lang['DM_tv_desc'] = 'Angiv dokument IDerne som skal ændres, enten ved at angive en række af IDer eller ved at bruge Træstruktur muligheden nedenfor, udvælg derefter den skabelon du har behov for fra tabellen og den associerede skabelon variabel vil blive indlæst. Indtast din ønskede skabelon variabel værdier og tryk send for at udføre.'; -$_lang['DM_tv_template_mismatch'] = 'Dette dokument bruger ikke den valgte skabelon.'; -$_lang['DM_tv_doc_not_found'] = 'Dette dokument blev ikke fundet i databasen.'; -$_lang['DM_tv_no_tv'] = 'Ingen skabelon variabler fundet for denne skabelon.'; -$_lang['DM_tv_no_docs'] = 'Ingen dokumenter valgt til ar blive opdateret.'; -$_lang['DM_tv_no_template_selected'] = 'Ingen skabeloner er blevet valgt.'; -$_lang['DM_tv_loading'] = 'Skabelon variabler indlæses ...'; -$_lang['DM_tv_ignore_tv'] = 'Ignorerer disse skabelon variabler (komma-separeret værdier):'; -$_lang['DM_tv_ajax_insertbutton'] = 'Indsæt'; - -//-- document permissions tab -$_lang['DM_doc_desc'] = 'Vælg den ønskede dokument gruppe fra tabellen nedenfor og enten om du ønsker at tilføje eller fjerne en gruppe. Så angiv dokument IDet som skal ændres. Enten ved at angive en række af IDer eller ved at bruge filtræ muligheden nedenfor.'; -$_lang['DM_doc_no_docs'] = 'Ingen Dokument Grupper Fundet'; -$_lang['DM_doc_column_id'] = 'ID'; -$_lang['DM_doc_column_name'] = 'Navn'; -$_lang['DM_doc_radio_add'] = 'Tilføj en Dokument Gruppe'; -$_lang['DM_doc_radio_remove'] = 'Fjern en Dokument Gruppe'; - -$_lang['DM_doc_skip_message1'] = 'Dokument med ID'; -$_lang['DM_doc_skip_message2'] = 'er allerede en del af den valgte dokument gruppe (Springer over)'; - -//-- sort menu tab -$_lang['DM_sort_pick_item'] = 'Klik venligst websitets rod eller ejer dokumentet fra hoved dokument Træet som du ønsker at sorterer.'; -$_lang['DM_sort_updating'] = 'Opdaterer ...'; -$_lang['DM_sort_updated'] = 'Opdateret'; -$_lang['DM_sort_nochildren'] = 'Ejer har ingen underdokumenter'; -$_lang['DM_sort_noid']='Inget dokument er blevet valgt. Gå tilbage og vælg et dokument.'; - -//-- other tab -$_lang['DM_other_header'] = 'Diverse Dokument indstillinger'; -$_lang['DM_misc_label'] = 'Tilgængelige indstillinger:'; -$_lang['DM_misc_desc'] = 'Udvælg en indstilling fra dropdown menuen og derefter det ønskede valg. Vær opmærksom på at kun en indstilling kan blive ændret per gang.'; - -$_lang['DM_other_dropdown_publish'] = 'Publiser/afpubliser'; -$_lang['DM_other_dropdown_show'] = 'Vis/Skjul i Menuen'; -$_lang['DM_other_dropdown_search'] = 'Søgbar/ikke-søgbar'; -$_lang['DM_other_dropdown_cache'] = 'Cacherbar/ikke-cacherbar'; -$_lang['DM_other_dropdown_richtext'] = 'Richtext/Ingen Richtext Editor'; -$_lang['DM_other_dropdown_delete'] = 'Slet/fortryd slet'; - -//-- radio button text -$_lang['DM_other_publish_radio1'] = 'Publisér'; -$_lang['DM_other_publish_radio2'] = 'Afpublisér'; -$_lang['DM_other_show_radio1'] = 'Skjul i Menu'; -$_lang['DM_other_show_radio2'] = 'Vis i Menu'; -$_lang['DM_other_search_radio1'] = 'Søgbar'; -$_lang['DM_other_search_radio2'] = 'Ikke søgbar'; -$_lang['DM_other_cache_radio1'] = 'Cacherbar'; -$_lang['DM_other_cache_radio2'] = 'ikke-cacherbar'; -$_lang['DM_other_richtext_radio1'] = 'Richtext'; -$_lang['DM_other_richtext_radio2'] = 'Ingen Richtext'; -$_lang['DM_other_delete_radio1'] = 'Slet'; -$_lang['DM_other_delete_radio2'] = 'Fortryd slet'; - -//-- adjust dates -$_lang['DM_adjust_dates_header'] = 'Sæt Dokument Datoer'; -$_lang['DM_adjust_dates_desc'] = 'Enhver af de følgende dokument datoindstillinger kan ændres. Brug "Vis kalender" valgmuligheden til at sætte datoer.'; -$_lang['DM_view_calendar'] = 'Vis kalender'; -$_lang['DM_clear_date'] = 'Slet dato'; - -//-- adjust authors -$_lang['DM_adjust_authors_header'] = 'Sæt forfattere'; -$_lang['DM_adjust_authors_desc'] = 'Brug dropdown listen for at tilføje nye forfattere for dokumentet.'; -$_lang['DM_adjust_authors_createdby'] = 'Oprettet af:'; -$_lang['DM_adjust_authors_editedby'] = 'Redigeret af:'; -$_lang['DM_adjust_authors_noselection'] = 'Ingen ændring'; - - //-- labels -$_lang['DM_date_pubdate'] = 'Publiseringsdato:'; -$_lang['DM_date_unpubdate'] = 'Afpubliseringsdato:'; -$_lang['DM_date_createdon'] = 'Oprettet på datoen:'; -$_lang['DM_date_editedon'] = 'Redigeret på datoen:'; -//$_lang['DM_date_deletedon'] = 'Deleted On dato'; - -$_lang['DM_date_notset'] = ' (Ikke sat)'; -//deprecated -$_lang['DM_date_dateselect_label'] = 'Vælg en dato: '; - -//-- document select section -$_lang['DM_select_submit'] = 'Send'; -$_lang['DM_select_range'] = 'Skift tilbage til indstilling af document ID rækker'; -$_lang['DM_select_range_text'] = '<p><strong>Nøgle (hvor n er et dokument ID nummer):</strong><br /><br /> - n* - Ændre indstilling for dette dokument og det umiddelbare underdokumenter<br /> - n** - Ændre indstilling for dette dokument og ALLE underdokumenter<br /> - n-n2 - Ændre indstilling for denne række af dokumenter<br /> - n - Ændre indstilling for et enkelt dokument</p> - <p>Eksempel: 1*,4**,2-20,25 - Dette vil ændre den valgte indstilling - for dokumenter 1 og dets underdokumenter, dokument 4 og alle underdokumenter, dokumenterne 2 - til 20 og dokument 25.</p>'; -$_lang['DM_select_tree'] ='Vis og vælg dokumenter ved hjælp af Dokument Træet'; - -//-- process tree/range messages -$_lang['DM_process_noselection'] = 'Ingen valg er blevet foretaget. '; -$_lang['DM_process_novalues'] = 'Ingen værdier er blevet angivet.'; -$_lang['DM_process_limits_error'] = 'Øverste grænse mindre end mindste grænse:'; -$_lang['DM_process_invalid_error'] = 'Ulovlig Værdi:'; -$_lang['DM_process_update_success'] = 'Opdatering blev færdiggjort succesfuldt, uden fejl.'; -$_lang['DM_process_update_error'] = 'Opdatering has completed but encountered errors:'; -$_lang['DM_process_back'] = 'tilbage'; - -//-- manager access logging -$_lang['DM_log_template'] = 'Dokument administration: Skabloner ændret.'; -$_lang['DM_log_templatevariables'] = 'Dokument administration: Skabelon variabler ændret.'; -$_lang['DM_log_docpermissions'] ='Dokument administration: Dokumentets tilladelser ændret.'; -$_lang['DM_log_sortmenu']='Dokument administration: Menu Index operation færdiggjort.'; -$_lang['DM_log_publish']='Dokument administration: Dokument administration: Dokumentets Publiseret/afpubliseret indstillinger ændret.'; -$_lang['DM_log_hidemenu']='Dokument administration: Dokumentets Skjul/vis i Menu indstillinger ændret.'; -$_lang['DM_log_search']='Dokument administration: Dokumentets Søgbar/ikke-søgbar indstillinger ændret.'; -$_lang['DM_log_cache']='Dokument administration: Dokumentets Cacherbar/ikke cacherbar indstillinger ændret.'; -$_lang['DM_log_richtext']='Dokument administration: Dokumentets brug Richtext Editor indstillinger ændret.'; -$_lang['DM_log_delete']='Dokument administration: Dokumentets Slet/Slet-ikke indstillinger ændret.'; -$_lang['DM_log_dates']='Dokument administration: Dokumentets dato indstillinger ændret.'; -$_lang['DM_log_authors']='Dokument administration: Dokumentets forfatter indstillinger ændret.'; - -?> +<?php +/** + * Document Manager Module - english.inc.php + * + * Purpose: Contains the language strings for use in the module. + * Author: Garry Nutting + * For: MODx CMS (www.modxcms.com) + * Date:29/09/2006 Version: 1.6 + * + */ + +//-- ENGLISH LANGUAGE FILE + +//-- titles +$_lang['DM_module_title'] = 'Dokument administration'; +$_lang['DM_action_title'] = 'Vælg en handling'; +$_lang['DM_range_title'] = 'Angiv en række af dokument IDer'; +$_lang['DM_tree_title'] = 'Vælg Dokumenter fra filtræet'; +$_lang['DM_update_title'] = 'Opdatering færdiggjort'; +$_lang['DM_sort_title'] = 'Menu Indeks redigering'; + +//-- tabs +$_lang['DM_doc_permissions'] = 'Dokument tilladelser'; +$_lang['DM_template_variables'] = 'Skabelon Variabler'; +$_lang['DM_sort_menu'] = 'Sorter Menuelementer'; +$_lang['DM_change_template'] = 'Ændre skabelon'; +$_lang['DM_publish'] = 'Publisér/afpublisér'; +$_lang['DM_other'] = 'Andre egenskaber'; + +//-- buttons +$_lang['DM_close'] = 'Luk Dok administration'; +$_lang['DM_cancel'] = 'Gå tilbage'; +$_lang['DM_go'] = 'Fortsæt'; +$_lang['DM_save'] = 'Gem'; +$_lang['DM_sort_another'] = 'Sortér en anden'; + +//-- templates tab +$_lang['DM_tpl_desc'] = 'Vælg den skabelon du har brug for i tabellen nedenunder og angiv dokument IDerne som skal ændres. Enten ved at angive en række af IDer eller ved at bruge Træ muligheden nedenunder.'; +$_lang['DM_tpl_no_templates'] = 'Ingen skabeloner fundet'; +$_lang['DM_tpl_column_id'] = 'ID'; +$_lang['DM_tpl_column_name'] = 'Navn'; +$_lang['DM_tpl_column_description'] ='Beskrivelse'; +$_lang['DM_tpl_blank_template'] = 'Tom skabelon'; + +$_lang['DM_tpl_results_message']= 'Brug tilbage knappen hvis du har behov for at ændre flere ting. Website Cachen er automatisk blevet tømt.'; + +//-- template variables tab +$_lang['DM_tv_desc'] = 'Angiv dokument IDerne som skal ændres, enten ved at angive en række af IDer eller ved at bruge Træstruktur muligheden nedenfor, udvælg derefter den skabelon du har behov for fra tabellen og den associerede skabelon variabel vil blive indlæst. Indtast din ønskede skabelon variabel værdier og tryk send for at udføre.'; +$_lang['DM_tv_template_mismatch'] = 'Dette dokument bruger ikke den valgte skabelon.'; +$_lang['DM_tv_doc_not_found'] = 'Dette dokument blev ikke fundet i databasen.'; +$_lang['DM_tv_no_tv'] = 'Ingen skabelon variabler fundet for denne skabelon.'; +$_lang['DM_tv_no_docs'] = 'Ingen dokumenter valgt til ar blive opdateret.'; +$_lang['DM_tv_no_template_selected'] = 'Ingen skabeloner er blevet valgt.'; +$_lang['DM_tv_loading'] = 'Skabelon variabler indlæses ...'; +$_lang['DM_tv_ignore_tv'] = 'Ignorerer disse skabelon variabler (komma-separeret værdier):'; +$_lang['DM_tv_ajax_insertbutton'] = 'Indsæt'; + +//-- document permissions tab +$_lang['DM_doc_desc'] = 'Vælg den ønskede dokument gruppe fra tabellen nedenfor og enten om du ønsker at tilføje eller fjerne en gruppe. Så angiv dokument IDet som skal ændres. Enten ved at angive en række af IDer eller ved at bruge filtræ muligheden nedenfor.'; +$_lang['DM_doc_no_docs'] = 'Ingen Dokument Grupper Fundet'; +$_lang['DM_doc_column_id'] = 'ID'; +$_lang['DM_doc_column_name'] = 'Navn'; +$_lang['DM_doc_radio_add'] = 'Tilføj en Dokument Gruppe'; +$_lang['DM_doc_radio_remove'] = 'Fjern en Dokument Gruppe'; + +$_lang['DM_doc_skip_message1'] = 'Dokument med ID'; +$_lang['DM_doc_skip_message2'] = 'er allerede en del af den valgte dokument gruppe (Springer over)'; + +//-- sort menu tab +$_lang['DM_sort_pick_item'] = 'Klik venligst websitets rod eller ejer dokumentet fra hoved dokument Træet som du ønsker at sorterer.'; +$_lang['DM_sort_updating'] = 'Opdaterer ...'; +$_lang['DM_sort_updated'] = 'Opdateret'; +$_lang['DM_sort_nochildren'] = 'Ejer har ingen underdokumenter'; +$_lang['DM_sort_noid']='Inget dokument er blevet valgt. Gå tilbage og vælg et dokument.'; + +//-- other tab +$_lang['DM_other_header'] = 'Diverse Dokument indstillinger'; +$_lang['DM_misc_label'] = 'Tilgængelige indstillinger:'; +$_lang['DM_misc_desc'] = 'Udvælg en indstilling fra dropdown menuen og derefter det ønskede valg. Vær opmærksom på at kun en indstilling kan blive ændret per gang.'; + +$_lang['DM_other_dropdown_publish'] = 'Publiser/afpubliser'; +$_lang['DM_other_dropdown_show'] = 'Vis/Skjul i Menuen'; +$_lang['DM_other_dropdown_search'] = 'Søgbar/ikke-søgbar'; +$_lang['DM_other_dropdown_cache'] = 'Cacherbar/ikke-cacherbar'; +$_lang['DM_other_dropdown_richtext'] = 'Richtext/Ingen Richtext Editor'; +$_lang['DM_other_dropdown_delete'] = 'Slet/fortryd slet'; + +//-- radio button text +$_lang['DM_other_publish_radio1'] = 'Publisér'; +$_lang['DM_other_publish_radio2'] = 'Afpublisér'; +$_lang['DM_other_show_radio1'] = 'Skjul i Menu'; +$_lang['DM_other_show_radio2'] = 'Vis i Menu'; +$_lang['DM_other_search_radio1'] = 'Søgbar'; +$_lang['DM_other_search_radio2'] = 'Ikke søgbar'; +$_lang['DM_other_cache_radio1'] = 'Cacherbar'; +$_lang['DM_other_cache_radio2'] = 'ikke-cacherbar'; +$_lang['DM_other_richtext_radio1'] = 'Richtext'; +$_lang['DM_other_richtext_radio2'] = 'Ingen Richtext'; +$_lang['DM_other_delete_radio1'] = 'Slet'; +$_lang['DM_other_delete_radio2'] = 'Fortryd slet'; + +//-- adjust dates +$_lang['DM_adjust_dates_header'] = 'Sæt Dokument Datoer'; +$_lang['DM_adjust_dates_desc'] = 'Enhver af de følgende dokument datoindstillinger kan ændres. Brug "Vis kalender" valgmuligheden til at sætte datoer.'; +$_lang['DM_view_calendar'] = 'Vis kalender'; +$_lang['DM_clear_date'] = 'Slet dato'; + +//-- adjust authors +$_lang['DM_adjust_authors_header'] = 'Sæt forfattere'; +$_lang['DM_adjust_authors_desc'] = 'Brug dropdown listen for at tilføje nye forfattere for dokumentet.'; +$_lang['DM_adjust_authors_createdby'] = 'Oprettet af:'; +$_lang['DM_adjust_authors_editedby'] = 'Redigeret af:'; +$_lang['DM_adjust_authors_noselection'] = 'Ingen ændring'; + + //-- labels +$_lang['DM_date_pubdate'] = 'Publiseringsdato:'; +$_lang['DM_date_unpubdate'] = 'Afpubliseringsdato:'; +$_lang['DM_date_createdon'] = 'Oprettet på datoen:'; +$_lang['DM_date_editedon'] = 'Redigeret på datoen:'; +//$_lang['DM_date_deletedon'] = 'Deleted On dato'; + +$_lang['DM_date_notset'] = ' (Ikke sat)'; +//deprecated +$_lang['DM_date_dateselect_label'] = 'Vælg en dato: '; + +//-- document select section +$_lang['DM_select_submit'] = 'Send'; +$_lang['DM_select_range'] = 'Skift tilbage til indstilling af document ID rækker'; +$_lang['DM_select_range_text'] = '<p><strong>Nøgle (hvor n er et dokument ID nummer):</strong><br /><br /> + n* - Ændre indstilling for dette dokument og det umiddelbare underdokumenter<br /> + n** - Ændre indstilling for dette dokument og ALLE underdokumenter<br /> + n-n2 - Ændre indstilling for denne række af dokumenter<br /> + n - Ændre indstilling for et enkelt dokument</p> + <p>Eksempel: 1*,4**,2-20,25 - Dette vil ændre den valgte indstilling + for dokumenter 1 og dets underdokumenter, dokument 4 og alle underdokumenter, dokumenterne 2 + til 20 og dokument 25.</p>'; +$_lang['DM_select_tree'] ='Vis og vælg dokumenter ved hjælp af Dokument Træet'; + +//-- process tree/range messages +$_lang['DM_process_noselection'] = 'Ingen valg er blevet foretaget. '; +$_lang['DM_process_novalues'] = 'Ingen værdier er blevet angivet.'; +$_lang['DM_process_limits_error'] = 'Øverste grænse mindre end mindste grænse:'; +$_lang['DM_process_invalid_error'] = 'Ulovlig Værdi:'; +$_lang['DM_process_update_success'] = 'Opdatering blev færdiggjort succesfuldt, uden fejl.'; +$_lang['DM_process_update_error'] = 'Opdatering has completed but encountered errors:'; +$_lang['DM_process_back'] = 'tilbage'; + +//-- manager access logging +$_lang['DM_log_template'] = 'Dokument administration: Skabloner ændret.'; +$_lang['DM_log_templatevariables'] = 'Dokument administration: Skabelon variabler ændret.'; +$_lang['DM_log_docpermissions'] ='Dokument administration: Dokumentets tilladelser ændret.'; +$_lang['DM_log_sortmenu']='Dokument administration: Menu Index operation færdiggjort.'; +$_lang['DM_log_publish']='Dokument administration: Dokument administration: Dokumentets Publiseret/afpubliseret indstillinger ændret.'; +$_lang['DM_log_hidemenu']='Dokument administration: Dokumentets Skjul/vis i Menu indstillinger ændret.'; +$_lang['DM_log_search']='Dokument administration: Dokumentets Søgbar/ikke-søgbar indstillinger ændret.'; +$_lang['DM_log_cache']='Dokument administration: Dokumentets Cacherbar/ikke cacherbar indstillinger ændret.'; +$_lang['DM_log_richtext']='Dokument administration: Dokumentets brug Richtext Editor indstillinger ændret.'; +$_lang['DM_log_delete']='Dokument administration: Dokumentets Slet/Slet-ikke indstillinger ændret.'; +$_lang['DM_log_dates']='Dokument administration: Dokumentets dato indstillinger ændret.'; +$_lang['DM_log_authors']='Dokument administration: Dokumentets forfatter indstillinger ændret.'; + +?> diff --git a/assets/modules/docmanager/lang/english.inc.php b/assets/modules/docmanager/lang/english.inc.php old mode 100644 new mode 100755 index f5e44bc31b..199306a556 --- a/assets/modules/docmanager/lang/english.inc.php +++ b/assets/modules/docmanager/lang/english.inc.php @@ -1,162 +1,162 @@ -<?php -/** - * Document Manager Module - english.inc.php - * - * Purpose: Contains the language strings for use in the module. - * Author: Garry Nutting - * For: MODx CMS (www.modxcms.com) - * Date:29/09/2006 Version: 1.6 - * - */ - -//-- ENGLISH LANGUAGE FILE - -//-- titles -$_lang['DM_module_title'] = 'Document Manager'; -$_lang['DM_action_title'] = 'Select an action'; -$_lang['DM_range_title'] = 'Specify a Range of Document IDs'; -$_lang['DM_tree_title'] = 'Select Documents from the tree'; -$_lang['DM_update_title'] = 'Update Completed'; -$_lang['DM_sort_title'] = 'Menu Index Editor'; - -//-- tabs -$_lang['DM_doc_permissions'] = 'Document Permissions'; -$_lang['DM_template_variables'] = 'Template Variables'; -$_lang['DM_sort_menu'] = 'Sort Menu Items'; -$_lang['DM_change_template'] = 'Change Template'; -$_lang['DM_publish'] = 'Publish/Unpublish'; -$_lang['DM_other'] = 'Other Properties'; - -//-- buttons -$_lang['DM_close'] = 'Close Doc Manager'; -$_lang['DM_cancel'] = 'Go Back'; -$_lang['DM_go'] = 'Go'; -$_lang['DM_save'] = 'Save'; -$_lang['DM_sort_another'] = 'Sort Another'; - -//-- templates tab -$_lang['DM_tpl_desc'] = 'Choose the required template from the table below and then specify the Document IDs which need to be changed. Either by specifying a range of IDs or by using the Tree option below.'; -$_lang['DM_tpl_no_templates'] = 'No Templates Found'; -$_lang['DM_tpl_column_id'] = 'ID'; -$_lang['DM_tpl_column_name'] = 'Name'; -$_lang['DM_tpl_column_description'] ='Description'; -$_lang['DM_tpl_blank_template'] = 'Blank Template'; - -$_lang['DM_tpl_results_message']= 'Use the Back button if you need make more changes. The Site Cache has automatically been cleared.'; - -//-- template variables tab -$_lang['DM_tv_desc'] = 'Specify the Document IDs which need to be changed, either by specifying a range of IDs or by using the Tree option below, then choose the required template from the table and the associated template variables will be loaded. Enter your desired Template Variable values and submit for processing.'; -$_lang['DM_tv_template_mismatch'] = 'This document does not use the chosen template.'; -$_lang['DM_tv_doc_not_found'] = 'This document was not found in the database.'; -$_lang['DM_tv_no_tv'] = 'No Template Variables found for the template.'; -$_lang['DM_tv_no_docs'] = 'No documents selected for updating.'; -$_lang['DM_tv_no_template_selected'] = 'No template has been selected.'; -$_lang['DM_tv_loading'] = 'Template Variables are loading ...'; -$_lang['DM_tv_ignore_tv'] = 'Ignore these Template Variables (comma-separated values):'; -$_lang['DM_tv_ajax_insertbutton'] = 'Insert'; - -//-- document permissions tab -$_lang['DM_doc_desc'] = 'Choose the required document group from the table below and whether you wish to add or remove the group. Then specify the Document IDs which need to be changed. Either by specifying a range of IDs or by using the Tree option below.'; -$_lang['DM_doc_no_docs'] = 'No Document Groups Found'; -$_lang['DM_doc_column_id'] = 'ID'; -$_lang['DM_doc_column_name'] = 'Name'; -$_lang['DM_doc_radio_add'] = 'Add a Document Group'; -$_lang['DM_doc_radio_remove'] = 'Remove a Document Group'; - -$_lang['DM_doc_skip_message1'] = 'Document with ID'; -$_lang['DM_doc_skip_message2'] = 'is already part of the selected document group (skipping)'; - -//-- sort menu tab -$_lang['DM_sort_pick_item'] = 'Please click the site root or parent document from the MAIN DOCUMENT TREE that you\'d like to sort.'; -$_lang['DM_sort_updating'] = 'Updating ...'; -$_lang['DM_sort_updated'] = 'Updated'; -$_lang['DM_sort_nochildren'] = 'Parent does not have any children'; -$_lang['DM_sort_noid']='No Document has been selected. Please go back and select a document.'; - -//-- other tab -$_lang['DM_other_header'] = 'Miscellaneous Document Settings'; -$_lang['DM_misc_label'] = 'Available Settings:'; -$_lang['DM_misc_desc'] = 'Please pick a setting from the dropdown menu and then the required option. Please note that only one setting can be changed at a time.'; - -$_lang['DM_other_dropdown_publish'] = 'Publish/Unpublish'; -$_lang['DM_other_dropdown_show'] = 'Show/Hide in Menu'; -$_lang['DM_other_dropdown_search'] = 'Searchable/Unsearchable'; -$_lang['DM_other_dropdown_cache'] = 'Cacheable/Uncacheable'; -$_lang['DM_other_dropdown_richtext'] = 'Richtext/No Richtext Editor'; -$_lang['DM_other_dropdown_delete'] = 'Delete/Undelete'; - -//-- radio button text -$_lang['DM_other_publish_radio1'] = 'Publish'; -$_lang['DM_other_publish_radio2'] = 'Unpublish'; -$_lang['DM_other_show_radio1'] = 'Hide in Menu'; -$_lang['DM_other_show_radio2'] = 'Show in Menu'; -$_lang['DM_other_search_radio1'] = 'Searchable'; -$_lang['DM_other_search_radio2'] = 'Unsearchable'; -$_lang['DM_other_cache_radio1'] = 'Cacheable'; -$_lang['DM_other_cache_radio2'] = 'Uncacheable'; -$_lang['DM_other_richtext_radio1'] = 'Richtext'; -$_lang['DM_other_richtext_radio2'] = 'No Richtext'; -$_lang['DM_other_delete_radio1'] = 'Delete'; -$_lang['DM_other_delete_radio2'] = 'Undelete'; - -//-- adjust dates -$_lang['DM_adjust_dates_header'] = 'Set Document Dates'; -$_lang['DM_adjust_dates_desc'] = 'Any of the following Document date settings can be changed. Use "View Calendar" option to set the dates.'; -$_lang['DM_view_calendar'] = 'View Calendar'; -$_lang['DM_clear_date'] = 'Clear Date'; - -//-- adjust authors -$_lang['DM_adjust_authors_header'] = 'Set Authors'; -$_lang['DM_adjust_authors_desc'] = 'Use the dropdown lists to set new authors for the Document.'; -$_lang['DM_adjust_authors_createdby'] = 'Created By:'; -$_lang['DM_adjust_authors_editedby'] = 'Edited By:'; -$_lang['DM_adjust_authors_noselection'] = 'No change'; - - //-- labels -$_lang['DM_date_pubdate'] = 'Publish Date:'; -$_lang['DM_date_unpubdate'] = 'Unpublish Date:'; -$_lang['DM_date_createdon'] = 'Created On Date:'; -$_lang['DM_date_editedon'] = 'Edited On Date:'; -//$_lang['DM_date_deletedon'] = 'Deleted On Date'; - -$_lang['DM_date_notset'] = ' (not set)'; -//deprecated -$_lang['DM_date_dateselect_label'] = 'Select a Date: '; - -//-- document select section -$_lang['DM_select_submit'] = 'Submit'; -$_lang['DM_select_range'] = 'Switch back to setting a Document ID Range'; -$_lang['DM_select_range_text'] = '<p><strong>Key (where n is a document ID number):</strong><br /><br /> - n* - Change setting for this document and immediate children<br /> - n** - Change setting for this document and ALL children<br /> - n-n2 - Change setting for this range of documents<br /> - n - Change setting for a single document</p> - <p>Example: 1*,4**,2-20,25 - This will change the selected setting - for documents 1 and its children, document 4 and all children, documents 2 - through 20 and document 25.</p>'; -$_lang['DM_select_tree'] ='View and select documents using the Document Tree'; - -//-- process tree/range messages -$_lang['DM_process_noselection'] = 'No selection was made. '; -$_lang['DM_process_novalues'] = 'No values have been specified.'; -$_lang['DM_process_limits_error'] = 'Upper limit less than lower limit:'; -$_lang['DM_process_invalid_error'] = 'Invalid Value:'; -$_lang['DM_process_update_success'] = 'Update was completed successfully, with no errors.'; -$_lang['DM_process_update_error'] = 'Update has completed but encountered errors:'; -$_lang['DM_process_back'] = 'Back'; - -//-- manager access logging -$_lang['DM_log_template'] = 'Document Manager: Templates changed.'; -$_lang['DM_log_templatevariables'] = 'Document Manager: Template variables changed.'; -$_lang['DM_log_docpermissions'] ='Document Manager: Document Permissions changed.'; -$_lang['DM_log_sortmenu']='Document Manager: Menu Index operation completed.'; -$_lang['DM_log_publish']='Document Manager: Document Manager: Documents Published/Unpublished settings changed.'; -$_lang['DM_log_hidemenu']='Document Manager: Documents Hide/Show in Menu settings changed.'; -$_lang['DM_log_search']='Document Manager: Documents Searchable/Unsearchable settings changed.'; -$_lang['DM_log_cache']='Document Manager: Documents Cacheable/Uncacheable settings changed.'; -$_lang['DM_log_richtext']='Document Manager: Documents Use Richtext Editor settings changed.'; -$_lang['DM_log_delete']='Document Manager: Documents Delete/Undelete settings changed.'; -$_lang['DM_log_dates']='Document Manager: Documents Date settings changed.'; -$_lang['DM_log_authors']='Document Manager: Documents Author settings changed.'; - -?> +<?php +/** + * Document Manager Module - english.inc.php + * + * Purpose: Contains the language strings for use in the module. + * Author: Garry Nutting + * For: MODx CMS (www.modxcms.com) + * Date:29/09/2006 Version: 1.6 + * + */ + +//-- ENGLISH LANGUAGE FILE + +//-- titles +$_lang['DM_module_title'] = 'Document Manager'; +$_lang['DM_action_title'] = 'Select an action'; +$_lang['DM_range_title'] = 'Specify a Range of Document IDs'; +$_lang['DM_tree_title'] = 'Select Documents from the tree'; +$_lang['DM_update_title'] = 'Update Completed'; +$_lang['DM_sort_title'] = 'Menu Index Editor'; + +//-- tabs +$_lang['DM_doc_permissions'] = 'Document Permissions'; +$_lang['DM_template_variables'] = 'Template Variables'; +$_lang['DM_sort_menu'] = 'Sort Menu Items'; +$_lang['DM_change_template'] = 'Change Template'; +$_lang['DM_publish'] = 'Publish/Unpublish'; +$_lang['DM_other'] = 'Other Properties'; + +//-- buttons +$_lang['DM_close'] = 'Close Doc Manager'; +$_lang['DM_cancel'] = 'Go Back'; +$_lang['DM_go'] = 'Go'; +$_lang['DM_save'] = 'Save'; +$_lang['DM_sort_another'] = 'Sort Another'; + +//-- templates tab +$_lang['DM_tpl_desc'] = 'Choose the required template from the table below and then specify the Document IDs which need to be changed. Either by specifying a range of IDs or by using the Tree option below.'; +$_lang['DM_tpl_no_templates'] = 'No Templates Found'; +$_lang['DM_tpl_column_id'] = 'ID'; +$_lang['DM_tpl_column_name'] = 'Name'; +$_lang['DM_tpl_column_description'] ='Description'; +$_lang['DM_tpl_blank_template'] = 'Blank Template'; + +$_lang['DM_tpl_results_message']= 'Use the Back button if you need make more changes. The Site Cache has automatically been cleared.'; + +//-- template variables tab +$_lang['DM_tv_desc'] = 'Specify the Document IDs which need to be changed, either by specifying a range of IDs or by using the Tree option below, then choose the required template from the table and the associated template variables will be loaded. Enter your desired Template Variable values and submit for processing.'; +$_lang['DM_tv_template_mismatch'] = 'This document does not use the chosen template.'; +$_lang['DM_tv_doc_not_found'] = 'This document was not found in the database.'; +$_lang['DM_tv_no_tv'] = 'No Template Variables found for the template.'; +$_lang['DM_tv_no_docs'] = 'No documents selected for updating.'; +$_lang['DM_tv_no_template_selected'] = 'No template has been selected.'; +$_lang['DM_tv_loading'] = 'Template Variables are loading ...'; +$_lang['DM_tv_ignore_tv'] = 'Ignore these Template Variables (comma-separated values):'; +$_lang['DM_tv_ajax_insertbutton'] = 'Insert'; + +//-- document permissions tab +$_lang['DM_doc_desc'] = 'Choose the required document group from the table below and whether you wish to add or remove the group. Then specify the Document IDs which need to be changed. Either by specifying a range of IDs or by using the Tree option below.'; +$_lang['DM_doc_no_docs'] = 'No Document Groups Found'; +$_lang['DM_doc_column_id'] = 'ID'; +$_lang['DM_doc_column_name'] = 'Name'; +$_lang['DM_doc_radio_add'] = 'Add a Document Group'; +$_lang['DM_doc_radio_remove'] = 'Remove a Document Group'; + +$_lang['DM_doc_skip_message1'] = 'Document with ID'; +$_lang['DM_doc_skip_message2'] = 'is already part of the selected document group (skipping)'; + +//-- sort menu tab +$_lang['DM_sort_pick_item'] = 'Please click the site root or parent document from the MAIN DOCUMENT TREE that you\'d like to sort.'; +$_lang['DM_sort_updating'] = 'Updating ...'; +$_lang['DM_sort_updated'] = 'Updated'; +$_lang['DM_sort_nochildren'] = 'Parent does not have any children'; +$_lang['DM_sort_noid']='No Document has been selected. Please go back and select a document.'; + +//-- other tab +$_lang['DM_other_header'] = 'Miscellaneous Document Settings'; +$_lang['DM_misc_label'] = 'Available Settings:'; +$_lang['DM_misc_desc'] = 'Please pick a setting from the dropdown menu and then the required option. Please note that only one setting can be changed at a time.'; + +$_lang['DM_other_dropdown_publish'] = 'Publish/Unpublish'; +$_lang['DM_other_dropdown_show'] = 'Show/Hide in Menu'; +$_lang['DM_other_dropdown_search'] = 'Searchable/Unsearchable'; +$_lang['DM_other_dropdown_cache'] = 'Cacheable/Uncacheable'; +$_lang['DM_other_dropdown_richtext'] = 'Richtext/No Richtext Editor'; +$_lang['DM_other_dropdown_delete'] = 'Delete/Undelete'; + +//-- radio button text +$_lang['DM_other_publish_radio1'] = 'Publish'; +$_lang['DM_other_publish_radio2'] = 'Unpublish'; +$_lang['DM_other_show_radio1'] = 'Hide in Menu'; +$_lang['DM_other_show_radio2'] = 'Show in Menu'; +$_lang['DM_other_search_radio1'] = 'Searchable'; +$_lang['DM_other_search_radio2'] = 'Unsearchable'; +$_lang['DM_other_cache_radio1'] = 'Cacheable'; +$_lang['DM_other_cache_radio2'] = 'Uncacheable'; +$_lang['DM_other_richtext_radio1'] = 'Richtext'; +$_lang['DM_other_richtext_radio2'] = 'No Richtext'; +$_lang['DM_other_delete_radio1'] = 'Delete'; +$_lang['DM_other_delete_radio2'] = 'Undelete'; + +//-- adjust dates +$_lang['DM_adjust_dates_header'] = 'Set Document Dates'; +$_lang['DM_adjust_dates_desc'] = 'Any of the following Document date settings can be changed. Use "View Calendar" option to set the dates.'; +$_lang['DM_view_calendar'] = 'View Calendar'; +$_lang['DM_clear_date'] = 'Clear Date'; + +//-- adjust authors +$_lang['DM_adjust_authors_header'] = 'Set Authors'; +$_lang['DM_adjust_authors_desc'] = 'Use the dropdown lists to set new authors for the Document.'; +$_lang['DM_adjust_authors_createdby'] = 'Created By:'; +$_lang['DM_adjust_authors_editedby'] = 'Edited By:'; +$_lang['DM_adjust_authors_noselection'] = 'No change'; + + //-- labels +$_lang['DM_date_pubdate'] = 'Publish Date:'; +$_lang['DM_date_unpubdate'] = 'Unpublish Date:'; +$_lang['DM_date_createdon'] = 'Created On Date:'; +$_lang['DM_date_editedon'] = 'Edited On Date:'; +//$_lang['DM_date_deletedon'] = 'Deleted On Date'; + +$_lang['DM_date_notset'] = ' (not set)'; +//deprecated +$_lang['DM_date_dateselect_label'] = 'Select a Date: '; + +//-- document select section +$_lang['DM_select_submit'] = 'Submit'; +$_lang['DM_select_range'] = 'Switch back to setting a Document ID Range'; +$_lang['DM_select_range_text'] = '<p><strong>Key (where n is a document ID number):</strong><br /><br /> + n* - Change setting for this document and immediate children<br /> + n** - Change setting for this document and ALL children<br /> + n-n2 - Change setting for this range of documents<br /> + n - Change setting for a single document</p> + <p>Example: 1*,4**,2-20,25 - This will change the selected setting + for documents 1 and its children, document 4 and all children, documents 2 + through 20 and document 25.</p>'; +$_lang['DM_select_tree'] ='View and select documents using the Document Tree'; + +//-- process tree/range messages +$_lang['DM_process_noselection'] = 'No selection was made. '; +$_lang['DM_process_novalues'] = 'No values have been specified.'; +$_lang['DM_process_limits_error'] = 'Upper limit less than lower limit:'; +$_lang['DM_process_invalid_error'] = 'Invalid Value:'; +$_lang['DM_process_update_success'] = 'Update was completed successfully, with no errors.'; +$_lang['DM_process_update_error'] = 'Update has completed but encountered errors:'; +$_lang['DM_process_back'] = 'Back'; + +//-- manager access logging +$_lang['DM_log_template'] = 'Document Manager: Templates changed.'; +$_lang['DM_log_templatevariables'] = 'Document Manager: Template variables changed.'; +$_lang['DM_log_docpermissions'] ='Document Manager: Document Permissions changed.'; +$_lang['DM_log_sortmenu']='Document Manager: Menu Index operation completed.'; +$_lang['DM_log_publish']='Document Manager: Document Manager: Documents Published/Unpublished settings changed.'; +$_lang['DM_log_hidemenu']='Document Manager: Documents Hide/Show in Menu settings changed.'; +$_lang['DM_log_search']='Document Manager: Documents Searchable/Unsearchable settings changed.'; +$_lang['DM_log_cache']='Document Manager: Documents Cacheable/Uncacheable settings changed.'; +$_lang['DM_log_richtext']='Document Manager: Documents Use Richtext Editor settings changed.'; +$_lang['DM_log_delete']='Document Manager: Documents Delete/Undelete settings changed.'; +$_lang['DM_log_dates']='Document Manager: Documents Date settings changed.'; +$_lang['DM_log_authors']='Document Manager: Documents Author settings changed.'; + +?> diff --git a/assets/modules/docmanager/lang/finnish.inc.php b/assets/modules/docmanager/lang/finnish.inc.php index 173905cb15..94e250a9ce 100755 --- a/assets/modules/docmanager/lang/finnish.inc.php +++ b/assets/modules/docmanager/lang/finnish.inc.php @@ -1,160 +1,160 @@ -<?php -/** - * Document Manager Module - finnish.inc.php - * - * Purpose: Contains the language strings for use in the module. - * Author: doze - * For: MODx CMS (www.modxcms.com) - * Date:19/04/2007 Version: 1.0 - * - */ - -//-- FINNISH LANGUAGE FILE - -//-- titles -$_lang['DM_module_title'] = 'Dokumenttien hallinta'; -$_lang['DM_action_title'] = 'Valitse toiminto'; -$_lang['DM_range_title'] = 'Määritä haettavat dokumentit'; -$_lang['DM_tree_title'] = 'Valitse dokumenttipuusta'; -$_lang['DM_update_title'] = 'Päivitys suoritettu'; -$_lang['DM_sort_title'] = 'Valikko järjestyksen muokkaus'; - -//-- tabs -$_lang['DM_doc_permissions'] = 'Dokumenttien oikeudet'; -$_lang['DM_template_variables'] = 'Sivustopohjamuuttujat'; -$_lang['DM_sort_menu'] = 'Järjestä valikon dokumentit'; -$_lang['DM_change_template'] = 'Vaihda sivustopohja'; -$_lang['DM_publish'] = 'Julkaise/Poista julkaisusta'; -$_lang['DM_other'] = 'Muut ominaisuudet'; - -//-- buttons -$_lang['DM_close'] = 'Sulje dokumenttien hallinta'; -$_lang['DM_cancel'] = 'Takaisin'; -$_lang['DM_go'] = 'Suorita'; -$_lang['DM_save'] = 'Tallenna'; -$_lang['DM_sort_another'] = 'Järjestä toinen'; - -//-- templates tab -$_lang['DM_tpl_desc'] = 'Valitse haluttu sivustopohja alla olevasta taulukosta ja määritä dokumenttien ID numerot, joita haluat päivittää. Määritä joko haara dokumenttien ID numeroista tai käytä dokumenttipuu valintaa alla.'; -$_lang['DM_tpl_no_templates'] = 'Ei löytynyt yhtään sivustopohjaa'; -$_lang['DM_tpl_column_id'] = 'ID'; -$_lang['DM_tpl_column_name'] = 'Nimi'; -$_lang['DM_tpl_column_description'] ='Selite'; -$_lang['DM_tpl_blank_template'] = 'Tyhjä sivustopohja'; - -$_lang['DM_tpl_results_message']= 'Käytä Takaisin painiketta, jos haluat tehdä muita muutoksia. Sivuston välimuisti on tyhjätty automaattisesti.'; - -//-- template variables tab -$_lang['DM_tv_desc'] = 'Määritä dokumenttien ID numerot, joita haluat päivittää. Määritä joko haara dokumenttien ID numeroista tai käytä dokumenttipuu valintaa alla. Valitse sitten taulukosta haluttu sivustopohja niin siihen liitetyt sivustopohjamuuttujat ladataan. Syötä haluamasi arvot sivustopohjamuuttujille ja suorita lomake.'; -$_lang['DM_tv_template_mismatch'] = 'Tämä dokumentti ei käytä valuttua sivustopohjaa.'; -$_lang['DM_tv_doc_not_found'] = 'Tätä dokumenttia ei löytynyt tietokannasta.'; -$_lang['DM_tv_no_tv'] = 'Sivustopohjalle ei löytynyt yhtään sivustopohjamuuttujaa.'; -$_lang['DM_tv_no_docs'] = 'Ei löytynyt yhtään dokumenttia päivitettäväksi.'; -$_lang['DM_tv_no_template_selected'] = 'Sivustopohjaa ei ole valittu.'; -$_lang['DM_tv_loading'] = 'Sivustopohjamuuttujia ladataan ..'; -$_lang['DM_tv_ignore_tv'] = 'Älä huomioi näitä sivustopohjamuuttujia (pilkulla eroteltu lista):'; -$_lang['DM_tv_ajax_insertbutton'] = 'Syötä'; - -//-- document permissions tab -$_lang['DM_doc_desc'] = 'Valitse haluamasi dokumenttiryhmät alla olevasta taulukosta sekä haluatko poistaa vai lisätä dokumenttiryhmiä. Määritä sitten dokumenttien ID numerot, joita haluat päivittää. Määritä joko haara dokumenttien ID numeroista tai käytä dokumenttipuu valintaa alla.'; -$_lang['DM_doc_no_docs'] = 'Ei löytynyt yhtään dokumenttiryhmää'; -$_lang['DM_doc_column_id'] = 'ID'; -$_lang['DM_doc_column_name'] = 'Nimi'; -$_lang['DM_doc_radio_add'] = 'Lisää dokumenttiryhmä'; -$_lang['DM_doc_radio_remove'] = 'Poista dokumenttiryhmä'; - -$_lang['DM_doc_skip_message1'] = 'Dokumentti ID:llä'; -$_lang['DM_doc_skip_message2'] = 'kuuluu jo valittuun dokumenttiryhmään (ohitetaan)'; - -//-- sort menu tab -$_lang['DM_sort_pick_item'] = 'Ole hyvä ja klikkaa sivuston runkoon tai kansioon PÄÄDOKUMENTTIPUUSSA, jota haluat järjestää.'; -$_lang['DM_sort_updating'] = 'Päivitetään ...'; -$_lang['DM_sort_updated'] = 'Päivitetty'; -$_lang['DM_sort_nochildren'] = 'Kansiossa ei ole yhtään dokumenttia'; -$_lang['DM_sort_noid']='Ei ole valittu yhtään dokumenttia. Ole hyvä ja siirry takaisin sekä valitse dokumentti.'; - -//-- other tab -$_lang['DM_other_header'] = 'Selkalaiset dokumenttien asetukset'; -$_lang['DM_misc_label'] = 'Käytettävissä olevat asetukset:'; -$_lang['DM_misc_desc'] = 'Ole hyvä ja valitse asetus pudotuslistasta sekä sen jälkeen haluttu arvo. Huomioi etä vain yhden asetuksen voi vaihtaa kerrallaan.'; - -$_lang['DM_other_dropdown_publish'] = 'Julkaise/Poista julkaisusta'; -$_lang['DM_other_dropdown_show'] = 'Näytä valikossa/Älä näytä valikossa'; -$_lang['DM_other_dropdown_search'] = 'Haettavissa/Ei haettavissa'; -$_lang['DM_other_dropdown_cache'] = 'Tallentaminen välimuistiin sallittu/Tallentaminen välimuistiin ei sallittu'; -$_lang['DM_other_dropdown_richtext'] = 'Tekstieditori/Ei tekstieditoria'; -$_lang['DM_other_dropdown_delete'] = 'Poista/Peruuta poistaminen'; - -//-- radio button text -$_lang['DM_other_publish_radio1'] = 'Julkaise'; -$_lang['DM_other_publish_radio2'] = 'Poista julkaisusta'; -$_lang['DM_other_show_radio1'] = 'Älä näytä valikossa'; -$_lang['DM_other_show_radio2'] = 'Näytä valikossa'; -$_lang['DM_other_search_radio1'] = 'Haettavissa'; -$_lang['DM_other_search_radio2'] = 'Ei haettavissa'; -$_lang['DM_other_cache_radio1'] = 'Tallentaminen välimuistiin sallittu'; -$_lang['DM_other_cache_radio2'] = 'Tallentaminen välimuistiin ei sallittu'; -$_lang['DM_other_richtext_radio1'] = 'Tekstieditori'; -$_lang['DM_other_richtext_radio2'] = 'Ei tekstieditoria'; -$_lang['DM_other_delete_radio1'] = 'Poista'; -$_lang['DM_other_delete_radio2'] = 'Peruuta poistaminen'; - -//-- adjust dates -$_lang['DM_adjust_dates_header'] = 'Aseta dokumenttien päivämäärät'; -$_lang['DM_adjust_dates_desc'] = 'Seuraavat dokumenttien päivämäärät voidaan vaihtaa. Käytä "Näytä kalenteri" toimintoa asettaaksesi päivämäärät.'; -$_lang['DM_view_calendar'] = 'Näytä kalenteri'; -$_lang['DM_clear_date'] = 'Poista päivämäärä'; - -//-- adjust authors -$_lang['DM_adjust_authors_header'] = 'Aseta henkilötiedot'; -$_lang['DM_adjust_authors_desc'] = 'Käytä pudotuslistaa asettaaksesi uudet henkilötiedot dokumentille.'; -$_lang['DM_adjust_authors_createdby'] = 'Luonut:'; -$_lang['DM_adjust_authors_editedby'] = 'Muokannut:'; -$_lang['DM_adjust_authors_noselection'] = 'Ei valintaa'; - - //-- labels -$_lang['DM_date_pubdate'] = 'Julkaisu päivämäärä:'; -$_lang['DM_date_unpubdate'] = 'Julkasun päättymispäivämäärä:'; -$_lang['DM_date_createdon'] = 'Luotu päivämäärä:'; -$_lang['DM_date_editedon'] = 'Muokattu päivämäärä:'; -//$_lang['DM_date_deletedon'] = 'Deleted On Date'; - -$_lang['DM_date_notset'] = ' (ei asetettu)'; -//deprecated -$_lang['DM_date_dateselect_label'] = 'Valitse päivämäärä: '; - -//-- document select section -$_lang['DM_select_submit'] = 'Lähetä'; -$_lang['DM_select_range'] = 'Vaihda takaisin dokumenttien ID haaran määritykseen'; -$_lang['DM_select_range_text'] = '<p><strong>Avain (jossa n on dokumentin ID numero):</strong><br /><br /> - n* - Päivitä muutos tähän dokumenttiin sekä sen välittömiin aladokumentteihin<br /> - n** - Päivitä muutos tähän dokumenttiin ja kaikkiin sen aladokumentteihin<br /> - n-n2 - Päivitä muutos näiden dokumenttien välillä<br /> - n - Päivitä muutos yksittäiseen dokumenttiin</p> - <p>Esimerkki: 1*,4**,2-20,25 - Tämä päivittää muutoksen dokumenttiin 1 ja sen aladokumentteihin, dokumenttiin 4 ja sen kaikkiin aladokumentteihin, dokumentteihin joiden ID numero on 2-20, sekä dokumenttiin jonka ID numero on 25.</p>'; -$_lang['DM_select_tree'] ='Valitse dokumentit käyttäen dokumenttipuuta'; - -//-- process tree/range messages -$_lang['DM_process_noselection'] = 'Valintaa ei tehty. '; -$_lang['DM_process_novalues'] = 'Arvoja ei ole määritetty.'; -$_lang['DM_process_limits_error'] = 'Yläarvo vähemmän kuin ala-arvo:'; -$_lang['DM_process_invalid_error'] = 'Virheellinen arvo:'; -$_lang['DM_process_update_success'] = 'Päivitys suoritettu onnistuneesti.'; -$_lang['DM_process_update_error'] = 'Päivitys suoritettu, mutta havaittiin seuraavat virheet:'; -$_lang['DM_process_back'] = 'Takaisin'; - -//-- manager access logging -$_lang['DM_log_template'] = 'Dokumenttien hallinta moduuli: Sivustopohja vaihdettu.'; -$_lang['DM_log_templatevariables'] = 'Dokumenttien hallinta moduuli: Sivustopohjamuuttujat muutettu.'; -$_lang['DM_log_docpermissions'] ='Dokumenttien hallinta moduuli: Dokumenttien oikeudet muutettu.'; -$_lang['DM_log_sortmenu']='Dokumenttien hallinta moduuli: Valikon järjestysoperaatio suoritettu.'; -$_lang['DM_log_publish']='Dokumenttien hallinta moduuli: Dokumenttien julkaisuasetuksia muutettu.'; -$_lang['DM_log_hidemenu']='Dokumenttien hallinta moduuli: Dokumenttien valikon näkyvyysasetuksia muutettu.'; -$_lang['DM_log_search']='Dokumenttien hallinta moduuli: Dokumenttien hakuasetuksia muutettu.'; -$_lang['DM_log_cache']='Dokumenttien hallinta moduuli: Dokumenttien välimuistiasetuksia muutettu.'; -$_lang['DM_log_richtext']='Dokumenttien hallinta moduuli: Dokumenttien tekstieditoriasetuksia muutettu.'; -$_lang['DM_log_delete']='Dokumenttien hallinta moduuli: Dokumenttien poistoasetuksia muutettu.'; -$_lang['DM_log_dates']='Dokumenttien hallinta moduuli: Dokumenttien päivämääriä muutettu.'; -$_lang['DM_log_authors']='Dokumenttien hallinta moduuli: Dokumenttien henkilötietoja muutettu.'; - -?> +<?php +/** + * Document Manager Module - finnish.inc.php + * + * Purpose: Contains the language strings for use in the module. + * Author: doze + * For: MODx CMS (www.modxcms.com) + * Date:19/04/2007 Version: 1.0 + * + */ + +//-- FINNISH LANGUAGE FILE + +//-- titles +$_lang['DM_module_title'] = 'Dokumenttien hallinta'; +$_lang['DM_action_title'] = 'Valitse toiminto'; +$_lang['DM_range_title'] = 'Määritä haettavat dokumentit'; +$_lang['DM_tree_title'] = 'Valitse dokumenttipuusta'; +$_lang['DM_update_title'] = 'Päivitys suoritettu'; +$_lang['DM_sort_title'] = 'Valikko järjestyksen muokkaus'; + +//-- tabs +$_lang['DM_doc_permissions'] = 'Dokumenttien oikeudet'; +$_lang['DM_template_variables'] = 'Sivustopohjamuuttujat'; +$_lang['DM_sort_menu'] = 'Järjestä valikon dokumentit'; +$_lang['DM_change_template'] = 'Vaihda sivustopohja'; +$_lang['DM_publish'] = 'Julkaise/Poista julkaisusta'; +$_lang['DM_other'] = 'Muut ominaisuudet'; + +//-- buttons +$_lang['DM_close'] = 'Sulje dokumenttien hallinta'; +$_lang['DM_cancel'] = 'Takaisin'; +$_lang['DM_go'] = 'Suorita'; +$_lang['DM_save'] = 'Tallenna'; +$_lang['DM_sort_another'] = 'Järjestä toinen'; + +//-- templates tab +$_lang['DM_tpl_desc'] = 'Valitse haluttu sivustopohja alla olevasta taulukosta ja määritä dokumenttien ID numerot, joita haluat päivittää. Määritä joko haara dokumenttien ID numeroista tai käytä dokumenttipuu valintaa alla.'; +$_lang['DM_tpl_no_templates'] = 'Ei löytynyt yhtään sivustopohjaa'; +$_lang['DM_tpl_column_id'] = 'ID'; +$_lang['DM_tpl_column_name'] = 'Nimi'; +$_lang['DM_tpl_column_description'] ='Selite'; +$_lang['DM_tpl_blank_template'] = 'Tyhjä sivustopohja'; + +$_lang['DM_tpl_results_message']= 'Käytä Takaisin painiketta, jos haluat tehdä muita muutoksia. Sivuston välimuisti on tyhjätty automaattisesti.'; + +//-- template variables tab +$_lang['DM_tv_desc'] = 'Määritä dokumenttien ID numerot, joita haluat päivittää. Määritä joko haara dokumenttien ID numeroista tai käytä dokumenttipuu valintaa alla. Valitse sitten taulukosta haluttu sivustopohja niin siihen liitetyt sivustopohjamuuttujat ladataan. Syötä haluamasi arvot sivustopohjamuuttujille ja suorita lomake.'; +$_lang['DM_tv_template_mismatch'] = 'Tämä dokumentti ei käytä valuttua sivustopohjaa.'; +$_lang['DM_tv_doc_not_found'] = 'Tätä dokumenttia ei löytynyt tietokannasta.'; +$_lang['DM_tv_no_tv'] = 'Sivustopohjalle ei löytynyt yhtään sivustopohjamuuttujaa.'; +$_lang['DM_tv_no_docs'] = 'Ei löytynyt yhtään dokumenttia päivitettäväksi.'; +$_lang['DM_tv_no_template_selected'] = 'Sivustopohjaa ei ole valittu.'; +$_lang['DM_tv_loading'] = 'Sivustopohjamuuttujia ladataan ..'; +$_lang['DM_tv_ignore_tv'] = 'Älä huomioi näitä sivustopohjamuuttujia (pilkulla eroteltu lista):'; +$_lang['DM_tv_ajax_insertbutton'] = 'Syötä'; + +//-- document permissions tab +$_lang['DM_doc_desc'] = 'Valitse haluamasi dokumenttiryhmät alla olevasta taulukosta sekä haluatko poistaa vai lisätä dokumenttiryhmiä. Määritä sitten dokumenttien ID numerot, joita haluat päivittää. Määritä joko haara dokumenttien ID numeroista tai käytä dokumenttipuu valintaa alla.'; +$_lang['DM_doc_no_docs'] = 'Ei löytynyt yhtään dokumenttiryhmää'; +$_lang['DM_doc_column_id'] = 'ID'; +$_lang['DM_doc_column_name'] = 'Nimi'; +$_lang['DM_doc_radio_add'] = 'Lisää dokumenttiryhmä'; +$_lang['DM_doc_radio_remove'] = 'Poista dokumenttiryhmä'; + +$_lang['DM_doc_skip_message1'] = 'Dokumentti ID:llä'; +$_lang['DM_doc_skip_message2'] = 'kuuluu jo valittuun dokumenttiryhmään (ohitetaan)'; + +//-- sort menu tab +$_lang['DM_sort_pick_item'] = 'Ole hyvä ja klikkaa sivuston runkoon tai kansioon PÄÄDOKUMENTTIPUUSSA, jota haluat järjestää.'; +$_lang['DM_sort_updating'] = 'Päivitetään ...'; +$_lang['DM_sort_updated'] = 'Päivitetty'; +$_lang['DM_sort_nochildren'] = 'Kansiossa ei ole yhtään dokumenttia'; +$_lang['DM_sort_noid']='Ei ole valittu yhtään dokumenttia. Ole hyvä ja siirry takaisin sekä valitse dokumentti.'; + +//-- other tab +$_lang['DM_other_header'] = 'Selkalaiset dokumenttien asetukset'; +$_lang['DM_misc_label'] = 'Käytettävissä olevat asetukset:'; +$_lang['DM_misc_desc'] = 'Ole hyvä ja valitse asetus pudotuslistasta sekä sen jälkeen haluttu arvo. Huomioi etä vain yhden asetuksen voi vaihtaa kerrallaan.'; + +$_lang['DM_other_dropdown_publish'] = 'Julkaise/Poista julkaisusta'; +$_lang['DM_other_dropdown_show'] = 'Näytä valikossa/Älä näytä valikossa'; +$_lang['DM_other_dropdown_search'] = 'Haettavissa/Ei haettavissa'; +$_lang['DM_other_dropdown_cache'] = 'Tallentaminen välimuistiin sallittu/Tallentaminen välimuistiin ei sallittu'; +$_lang['DM_other_dropdown_richtext'] = 'Tekstieditori/Ei tekstieditoria'; +$_lang['DM_other_dropdown_delete'] = 'Poista/Peruuta poistaminen'; + +//-- radio button text +$_lang['DM_other_publish_radio1'] = 'Julkaise'; +$_lang['DM_other_publish_radio2'] = 'Poista julkaisusta'; +$_lang['DM_other_show_radio1'] = 'Älä näytä valikossa'; +$_lang['DM_other_show_radio2'] = 'Näytä valikossa'; +$_lang['DM_other_search_radio1'] = 'Haettavissa'; +$_lang['DM_other_search_radio2'] = 'Ei haettavissa'; +$_lang['DM_other_cache_radio1'] = 'Tallentaminen välimuistiin sallittu'; +$_lang['DM_other_cache_radio2'] = 'Tallentaminen välimuistiin ei sallittu'; +$_lang['DM_other_richtext_radio1'] = 'Tekstieditori'; +$_lang['DM_other_richtext_radio2'] = 'Ei tekstieditoria'; +$_lang['DM_other_delete_radio1'] = 'Poista'; +$_lang['DM_other_delete_radio2'] = 'Peruuta poistaminen'; + +//-- adjust dates +$_lang['DM_adjust_dates_header'] = 'Aseta dokumenttien päivämäärät'; +$_lang['DM_adjust_dates_desc'] = 'Seuraavat dokumenttien päivämäärät voidaan vaihtaa. Käytä "Näytä kalenteri" toimintoa asettaaksesi päivämäärät.'; +$_lang['DM_view_calendar'] = 'Näytä kalenteri'; +$_lang['DM_clear_date'] = 'Poista päivämäärä'; + +//-- adjust authors +$_lang['DM_adjust_authors_header'] = 'Aseta henkilötiedot'; +$_lang['DM_adjust_authors_desc'] = 'Käytä pudotuslistaa asettaaksesi uudet henkilötiedot dokumentille.'; +$_lang['DM_adjust_authors_createdby'] = 'Luonut:'; +$_lang['DM_adjust_authors_editedby'] = 'Muokannut:'; +$_lang['DM_adjust_authors_noselection'] = 'Ei valintaa'; + + //-- labels +$_lang['DM_date_pubdate'] = 'Julkaisu päivämäärä:'; +$_lang['DM_date_unpubdate'] = 'Julkasun päättymispäivämäärä:'; +$_lang['DM_date_createdon'] = 'Luotu päivämäärä:'; +$_lang['DM_date_editedon'] = 'Muokattu päivämäärä:'; +//$_lang['DM_date_deletedon'] = 'Deleted On Date'; + +$_lang['DM_date_notset'] = ' (ei asetettu)'; +//deprecated +$_lang['DM_date_dateselect_label'] = 'Valitse päivämäärä: '; + +//-- document select section +$_lang['DM_select_submit'] = 'Lähetä'; +$_lang['DM_select_range'] = 'Vaihda takaisin dokumenttien ID haaran määritykseen'; +$_lang['DM_select_range_text'] = '<p><strong>Avain (jossa n on dokumentin ID numero):</strong><br /><br /> + n* - Päivitä muutos tähän dokumenttiin sekä sen välittömiin aladokumentteihin<br /> + n** - Päivitä muutos tähän dokumenttiin ja kaikkiin sen aladokumentteihin<br /> + n-n2 - Päivitä muutos näiden dokumenttien välillä<br /> + n - Päivitä muutos yksittäiseen dokumenttiin</p> + <p>Esimerkki: 1*,4**,2-20,25 - Tämä päivittää muutoksen dokumenttiin 1 ja sen aladokumentteihin, dokumenttiin 4 ja sen kaikkiin aladokumentteihin, dokumentteihin joiden ID numero on 2-20, sekä dokumenttiin jonka ID numero on 25.</p>'; +$_lang['DM_select_tree'] ='Valitse dokumentit käyttäen dokumenttipuuta'; + +//-- process tree/range messages +$_lang['DM_process_noselection'] = 'Valintaa ei tehty. '; +$_lang['DM_process_novalues'] = 'Arvoja ei ole määritetty.'; +$_lang['DM_process_limits_error'] = 'Yläarvo vähemmän kuin ala-arvo:'; +$_lang['DM_process_invalid_error'] = 'Virheellinen arvo:'; +$_lang['DM_process_update_success'] = 'Päivitys suoritettu onnistuneesti.'; +$_lang['DM_process_update_error'] = 'Päivitys suoritettu, mutta havaittiin seuraavat virheet:'; +$_lang['DM_process_back'] = 'Takaisin'; + +//-- manager access logging +$_lang['DM_log_template'] = 'Dokumenttien hallinta moduuli: Sivustopohja vaihdettu.'; +$_lang['DM_log_templatevariables'] = 'Dokumenttien hallinta moduuli: Sivustopohjamuuttujat muutettu.'; +$_lang['DM_log_docpermissions'] ='Dokumenttien hallinta moduuli: Dokumenttien oikeudet muutettu.'; +$_lang['DM_log_sortmenu']='Dokumenttien hallinta moduuli: Valikon järjestysoperaatio suoritettu.'; +$_lang['DM_log_publish']='Dokumenttien hallinta moduuli: Dokumenttien julkaisuasetuksia muutettu.'; +$_lang['DM_log_hidemenu']='Dokumenttien hallinta moduuli: Dokumenttien valikon näkyvyysasetuksia muutettu.'; +$_lang['DM_log_search']='Dokumenttien hallinta moduuli: Dokumenttien hakuasetuksia muutettu.'; +$_lang['DM_log_cache']='Dokumenttien hallinta moduuli: Dokumenttien välimuistiasetuksia muutettu.'; +$_lang['DM_log_richtext']='Dokumenttien hallinta moduuli: Dokumenttien tekstieditoriasetuksia muutettu.'; +$_lang['DM_log_delete']='Dokumenttien hallinta moduuli: Dokumenttien poistoasetuksia muutettu.'; +$_lang['DM_log_dates']='Dokumenttien hallinta moduuli: Dokumenttien päivämääriä muutettu.'; +$_lang['DM_log_authors']='Dokumenttien hallinta moduuli: Dokumenttien henkilötietoja muutettu.'; + +?> diff --git a/assets/modules/docmanager/lang/italian.inc.php b/assets/modules/docmanager/lang/italian.inc.php old mode 100644 new mode 100755 index 4f287c6f69..103a5154dc --- a/assets/modules/docmanager/lang/italian.inc.php +++ b/assets/modules/docmanager/lang/italian.inc.php @@ -1,161 +1,161 @@ -<?php -/** - * Document Manager Module - italian.inc.php - * - * Purpose: Contains the language strings for use in the module. - * Author: Garry Nutting - * For: MODx CMS (www.modxcms.com) - * Date:2/01/2009 Version: 1.6.1 - * Translation: Nicola Lambathakis (banzai), luigif - */ - -//-- ITALIAN LANGUAGE FILE - -//-- titles -$_lang['DM_module_title'] = 'Gestione Documenti'; -$_lang['DM_action_title'] = ' Selezionare un\'azione'; -$_lang['DM_range_title'] = 'Specificare gli id dei documenti'; -$_lang['DM_tree_title'] = 'Seleziona i Documenti dall\'albero'; -$_lang['DM_update_title'] = 'Aggiornamento Completato'; -$_lang['DM_sort_title'] = 'Modifica indice del menu'; - -//-- tabs -$_lang['DM_doc_permissions'] = 'Permessi del documento'; -$_lang['DM_template_variables'] = 'Variabili di Template'; -$_lang['DM_sort_menu'] = 'Ordina voci di Menu'; -$_lang['DM_change_template'] = 'Cambia Template'; -$_lang['DM_publish'] = 'Pubblica/Ritira'; -$_lang['DM_other'] = 'Altre proprietà'; - -//-- buttons -$_lang['DM_close'] = 'Chiudi Gestione Documenti'; -$_lang['DM_cancel'] = 'indietro'; -$_lang['DM_go'] = 'Vai'; -$_lang['DM_save'] = 'Salva'; -$_lang['DM_sort_another'] = 'Ordina un altro'; - -//-- templates tab -$_lang['DM_tpl_desc'] = 'Scegliere il template dall\' elenco e quindi specificare gli id dei documenti a cui applicarlo.'; -$_lang['DM_tpl_no_templates'] = 'Nessun template trovato'; -$_lang['DM_tpl_column_id'] = 'ID'; -$_lang['DM_tpl_column_name'] = 'Nome'; -$_lang['DM_tpl_column_description'] ='Descrizione'; -$_lang['DM_tpl_blank_template'] = 'Template vuoto'; - -$_lang['DM_tpl_results_message']= 'Utilizzare il tasto indietro se avete bisogno di fare più cambiamenti. La cache del sito è stata pulita automaticamente.'; - -//-- template variables tab -$_lang['DM_tv_desc'] = 'Scegliere un template dall\'elenco qui sotto e inserire il valore desiderato per le relative variabili di template. Specificare l\' id di un documento (o un intervallo di id) da modificare e fare click su invia per apportare le modifiche.'; -$_lang['DM_tv_template_mismatch'] = 'Questo documento non usa il template selezionato.'; -$_lang['DM_tv_doc_not_found'] = 'Questo documento non è stato trovato nel database.'; -$_lang['DM_tv_no_tv'] = 'Nessuna variabile di template trovata per questo template.'; -$_lang['DM_tv_no_docs'] = 'Nessun documento selezionato per l\'aggiornamento.'; -$_lang['DM_tv_no_template_selected'] = 'Nessun template è stato selezionato.'; -$_lang['DM_tv_loading'] = 'Caricamento variabili di template ...'; -$_lang['DM_tv_ignore_tv'] = 'Ignora queste variabili di template (valori separati da virgola):'; -$_lang['DM_tv_ajax_insertbutton'] = 'Inserisci'; - -//-- document permissions tab -$_lang['DM_doc_desc'] = ' Scegliere un gruppo di documenti dall\' elenco e si desidera aggiungere o rimuovere il gruppo. Quindi specificare gli id dei documenti che devono essere cambiati.'; -$_lang['DM_doc_no_docs'] = 'Nessun gruppo di documenti trovato'; -$_lang['DM_doc_column_id'] = 'ID'; -$_lang['DM_doc_column_name'] = 'Nome'; -$_lang['DM_doc_radio_add'] = 'Aggiungi un gruppo di documenti'; -$_lang['DM_doc_radio_remove'] = 'Rimuovi un gruppo di documenti'; - -$_lang['DM_doc_skip_message1'] = 'Documento con ID'; -$_lang['DM_doc_skip_message2'] = 'E\' gia parte del gruppo di documenti selezionato (saltare)'; - -//-- sort menu tab -$_lang['DM_sort_pick_item'] = 'Seleziona nell\'albero dei documenti la root del sito o il documento genitore del documento che vorresti ordinare.'; -$_lang['DM_sort_updating'] = 'Aggiornamento ...'; -$_lang['DM_sort_updated'] = 'Aggiornato'; -$_lang['DM_sort_nochildren'] = 'Il documento genitore non ha sotto documenti'; -$_lang['DM_sort_noid']=' Nessun documento è stato selezionato. Tornare indietro e selezionare un documento'; - -//-- other tab -$_lang['DM_other_header'] = ' Impostazioni varie del documento'; -$_lang['DM_misc_label'] = 'Impostazioni disponibili:'; -$_lang['DM_misc_desc'] = ' Selezionare un\' impostazione dal menu a tendina e la relativa opzione. Attenzione può essere cambiata solo una impostazione alla volta.'; - -$_lang['DM_other_dropdown_publish'] = 'Pubblica/Ritira'; -$_lang['DM_other_dropdown_show'] = 'Mostra/Nascondi nel Menu'; -$_lang['DM_other_dropdown_search'] = 'Ricercabile/Non ricercabile'; -$_lang['DM_other_dropdown_cache'] = 'Situabile in cache/Non in cache'; -$_lang['DM_other_dropdown_richtext'] = 'Richtext/No Richtext Editor'; -$_lang['DM_other_dropdown_delete'] = 'Elimina/Ripristina'; - -//-- radio button text -$_lang['DM_other_publish_radio1'] = 'Pubblica'; -$_lang['DM_other_publish_radio2'] = 'Ritira'; -$_lang['DM_other_show_radio1'] = 'Nascondi in Menu'; -$_lang['DM_other_show_radio2'] = 'Mostra in Menu'; -$_lang['DM_other_search_radio1'] = 'Ricercabile'; -$_lang['DM_other_search_radio2'] = 'Non ricercabile'; -$_lang['DM_other_cache_radio1'] = 'Situabile in cache'; -$_lang['DM_other_cache_radio2'] = 'Non in cache'; -$_lang['DM_other_richtext_radio1'] = 'Richtext'; -$_lang['DM_other_richtext_radio2'] = 'No Richtext'; -$_lang['DM_other_delete_radio1'] = 'Elimina'; -$_lang['DM_other_delete_radio2'] = 'Ripristina'; - -//-- adjust dates -$_lang['DM_adjust_dates_header'] = 'Imposta la data del documento'; -$_lang['DM_adjust_dates_desc'] = ' Ognuna delle seguenti impostazioni della data del documento puo\' essere cambiata. Usa l\'opzione Vedi Calendario per impostare la data.'; -$_lang['DM_view_calendar'] = 'Vedi Calendario'; -$_lang['DM_clear_date'] = 'Pulisci data'; - -//-- adjust authors -$_lang['DM_adjust_authors_header'] = 'Imposta autori'; -$_lang['DM_adjust_authors_desc'] = 'Usare i menu a tendina per selezionare i nuovi autori per il documento.'; -$_lang['DM_adjust_authors_createdby'] = 'Creato da:'; -$_lang['DM_adjust_authors_editedby'] = 'Modificato da:'; -$_lang['DM_adjust_authors_noselection'] = 'Nessun cambiamento'; - - //-- labels -$_lang['DM_date_pubdate'] = 'Data di pubblicazione:'; -$_lang['DM_date_unpubdate'] = 'Data di ritiro:'; -$_lang['DM_date_createdon'] = 'Data di creazione:'; -$_lang['DM_date_editedon'] = 'Data di modifica:'; -//$_lang['DM_date_deletedon'] = 'Data di eliminazione'; - -$_lang['DM_date_notset'] = ' (non impostato)'; -//deprecated -$_lang['DM_date_dateselect_label'] = 'Seleziona una data: '; - -//-- document select section -$_lang['DM_select_submit'] = 'Invia'; -$_lang['DM_select_range'] = 'Torna indietro a impostare con una gamma di id del documento'; -$_lang['DM_select_range_text'] = '<p><strong>Sintassi (dove n è un numero di id del documento):</strong><br /><br /> - n* - Cambia le impostazioni per questo documento e il primo livello di sotto documenti<br /> - n** - Cambia le impostazioni per questo documento e TUTTI i sotto documenti<br /> - n-n2 - Cambia le impostazioni per questo intervallo di documenti<br /> - n - Cambia le impostazioni per un solo documento</p> - <p>Esempio: 1*,4**,2-20,25 - Cambia le impostazioni per il documento 1 e i sotto documenti, il documento 4 e tutti i sotto documenti, i documenti da 2 - a 20 e il documento 25.</p>'; -$_lang['DM_select_tree'] =' Visualizza e seleziona i documenti usando l\'albero dei documenti'; - -//-- process tree/range messages -$_lang['DM_process_noselection'] = 'Non è stata effettuata nessuna selezione. '; -$_lang['DM_process_novalues'] = 'Non è stato specificato alcun valore.'; -$_lang['DM_process_limits_error'] = 'Limite superiore più basso del limite inferiore:'; -$_lang['DM_process_invalid_error'] = 'Valore non valido:'; -$_lang['DM_process_update_success'] = 'L\'aggiornamento è stato completato con successo, senza errori.'; -$_lang['DM_process_update_error'] = 'L\'aggiornamento è stato completato, ma con errori :'; -$_lang['DM_process_back'] = 'Indietro'; - -//-- manager access logging -$_lang['DM_log_template'] = 'Gestione Documenti: Template sostituiti.'; -$_lang['DM_log_templatevariables'] = 'Gestione Documenti: modificate le Variabili di Template.'; -$_lang['DM_log_docpermissions'] ='Gestione Documenti: Permessi dei documenti cambiati.'; -$_lang['DM_log_sortmenu']='Gestione Documenti: Modifica indice del menu completata.'; -$_lang['DM_log_publish']='Gestione Documenti: Impostazioni documenti Pubblicato/Ritirato modificate.'; -$_lang['DM_log_hidemenu']='Gestione Documenti: Impostazioni documenti Mostra/Nascondi nel Menu modificate.'; -$_lang['DM_log_search']='Gestione Documenti: Impostazioni documenti Ricercabile/Non ricercabile modificate.'; -$_lang['DM_log_cache']='Gestione Documenti: Impostazioni documenti Documents Situabile in cache/Non in cache modificate.'; -$_lang['DM_log_richtext']='Gestione Documenti: Impostazioni documenti Usa Richtext Editor modificate.'; -$_lang['DM_log_delete']='Gestione Documenti: Impostazioni documenti Cancella/Ripristina modificate.'; -$_lang['DM_log_dates']='Gestione Documenti: Impostazioni Data dei documenti modificate.'; -$_lang['DM_log_authors']='Gestione Documenti: Impostazioni Autore dei documenti modificate.'; - -?> +<?php +/** + * Document Manager Module - italian.inc.php + * + * Purpose: Contains the language strings for use in the module. + * Author: Garry Nutting + * For: MODx CMS (www.modxcms.com) + * Date:2/01/2009 Version: 1.6.1 + * Translation: Nicola Lambathakis (banzai), luigif + */ + +//-- ITALIAN LANGUAGE FILE + +//-- titles +$_lang['DM_module_title'] = 'Gestione Documenti'; +$_lang['DM_action_title'] = ' Selezionare un\'azione'; +$_lang['DM_range_title'] = 'Specificare gli id dei documenti'; +$_lang['DM_tree_title'] = 'Seleziona i Documenti dall\'albero'; +$_lang['DM_update_title'] = 'Aggiornamento Completato'; +$_lang['DM_sort_title'] = 'Modifica indice del menu'; + +//-- tabs +$_lang['DM_doc_permissions'] = 'Permessi del documento'; +$_lang['DM_template_variables'] = 'Variabili di Template'; +$_lang['DM_sort_menu'] = 'Ordina voci di Menu'; +$_lang['DM_change_template'] = 'Cambia Template'; +$_lang['DM_publish'] = 'Pubblica/Ritira'; +$_lang['DM_other'] = 'Altre proprietà'; + +//-- buttons +$_lang['DM_close'] = 'Chiudi Gestione Documenti'; +$_lang['DM_cancel'] = 'indietro'; +$_lang['DM_go'] = 'Vai'; +$_lang['DM_save'] = 'Salva'; +$_lang['DM_sort_another'] = 'Ordina un altro'; + +//-- templates tab +$_lang['DM_tpl_desc'] = 'Scegliere il template dall\' elenco e quindi specificare gli id dei documenti a cui applicarlo.'; +$_lang['DM_tpl_no_templates'] = 'Nessun template trovato'; +$_lang['DM_tpl_column_id'] = 'ID'; +$_lang['DM_tpl_column_name'] = 'Nome'; +$_lang['DM_tpl_column_description'] ='Descrizione'; +$_lang['DM_tpl_blank_template'] = 'Template vuoto'; + +$_lang['DM_tpl_results_message']= 'Utilizzare il tasto indietro se avete bisogno di fare più cambiamenti. La cache del sito è stata pulita automaticamente.'; + +//-- template variables tab +$_lang['DM_tv_desc'] = 'Scegliere un template dall\'elenco qui sotto e inserire il valore desiderato per le relative variabili di template. Specificare l\' id di un documento (o un intervallo di id) da modificare e fare click su invia per apportare le modifiche.'; +$_lang['DM_tv_template_mismatch'] = 'Questo documento non usa il template selezionato.'; +$_lang['DM_tv_doc_not_found'] = 'Questo documento non è stato trovato nel database.'; +$_lang['DM_tv_no_tv'] = 'Nessuna variabile di template trovata per questo template.'; +$_lang['DM_tv_no_docs'] = 'Nessun documento selezionato per l\'aggiornamento.'; +$_lang['DM_tv_no_template_selected'] = 'Nessun template è stato selezionato.'; +$_lang['DM_tv_loading'] = 'Caricamento variabili di template ...'; +$_lang['DM_tv_ignore_tv'] = 'Ignora queste variabili di template (valori separati da virgola):'; +$_lang['DM_tv_ajax_insertbutton'] = 'Inserisci'; + +//-- document permissions tab +$_lang['DM_doc_desc'] = ' Scegliere un gruppo di documenti dall\' elenco e si desidera aggiungere o rimuovere il gruppo. Quindi specificare gli id dei documenti che devono essere cambiati.'; +$_lang['DM_doc_no_docs'] = 'Nessun gruppo di documenti trovato'; +$_lang['DM_doc_column_id'] = 'ID'; +$_lang['DM_doc_column_name'] = 'Nome'; +$_lang['DM_doc_radio_add'] = 'Aggiungi un gruppo di documenti'; +$_lang['DM_doc_radio_remove'] = 'Rimuovi un gruppo di documenti'; + +$_lang['DM_doc_skip_message1'] = 'Documento con ID'; +$_lang['DM_doc_skip_message2'] = 'E\' gia parte del gruppo di documenti selezionato (saltare)'; + +//-- sort menu tab +$_lang['DM_sort_pick_item'] = 'Seleziona nell\'albero dei documenti la root del sito o il documento genitore del documento che vorresti ordinare.'; +$_lang['DM_sort_updating'] = 'Aggiornamento ...'; +$_lang['DM_sort_updated'] = 'Aggiornato'; +$_lang['DM_sort_nochildren'] = 'Il documento genitore non ha sotto documenti'; +$_lang['DM_sort_noid']=' Nessun documento è stato selezionato. Tornare indietro e selezionare un documento'; + +//-- other tab +$_lang['DM_other_header'] = ' Impostazioni varie del documento'; +$_lang['DM_misc_label'] = 'Impostazioni disponibili:'; +$_lang['DM_misc_desc'] = ' Selezionare un\' impostazione dal menu a tendina e la relativa opzione. Attenzione può essere cambiata solo una impostazione alla volta.'; + +$_lang['DM_other_dropdown_publish'] = 'Pubblica/Ritira'; +$_lang['DM_other_dropdown_show'] = 'Mostra/Nascondi nel Menu'; +$_lang['DM_other_dropdown_search'] = 'Ricercabile/Non ricercabile'; +$_lang['DM_other_dropdown_cache'] = 'Situabile in cache/Non in cache'; +$_lang['DM_other_dropdown_richtext'] = 'Richtext/No Richtext Editor'; +$_lang['DM_other_dropdown_delete'] = 'Elimina/Ripristina'; + +//-- radio button text +$_lang['DM_other_publish_radio1'] = 'Pubblica'; +$_lang['DM_other_publish_radio2'] = 'Ritira'; +$_lang['DM_other_show_radio1'] = 'Nascondi in Menu'; +$_lang['DM_other_show_radio2'] = 'Mostra in Menu'; +$_lang['DM_other_search_radio1'] = 'Ricercabile'; +$_lang['DM_other_search_radio2'] = 'Non ricercabile'; +$_lang['DM_other_cache_radio1'] = 'Situabile in cache'; +$_lang['DM_other_cache_radio2'] = 'Non in cache'; +$_lang['DM_other_richtext_radio1'] = 'Richtext'; +$_lang['DM_other_richtext_radio2'] = 'No Richtext'; +$_lang['DM_other_delete_radio1'] = 'Elimina'; +$_lang['DM_other_delete_radio2'] = 'Ripristina'; + +//-- adjust dates +$_lang['DM_adjust_dates_header'] = 'Imposta la data del documento'; +$_lang['DM_adjust_dates_desc'] = ' Ognuna delle seguenti impostazioni della data del documento puo\' essere cambiata. Usa l\'opzione Vedi Calendario per impostare la data.'; +$_lang['DM_view_calendar'] = 'Vedi Calendario'; +$_lang['DM_clear_date'] = 'Pulisci data'; + +//-- adjust authors +$_lang['DM_adjust_authors_header'] = 'Imposta autori'; +$_lang['DM_adjust_authors_desc'] = 'Usare i menu a tendina per selezionare i nuovi autori per il documento.'; +$_lang['DM_adjust_authors_createdby'] = 'Creato da:'; +$_lang['DM_adjust_authors_editedby'] = 'Modificato da:'; +$_lang['DM_adjust_authors_noselection'] = 'Nessun cambiamento'; + + //-- labels +$_lang['DM_date_pubdate'] = 'Data di pubblicazione:'; +$_lang['DM_date_unpubdate'] = 'Data di ritiro:'; +$_lang['DM_date_createdon'] = 'Data di creazione:'; +$_lang['DM_date_editedon'] = 'Data di modifica:'; +//$_lang['DM_date_deletedon'] = 'Data di eliminazione'; + +$_lang['DM_date_notset'] = ' (non impostato)'; +//deprecated +$_lang['DM_date_dateselect_label'] = 'Seleziona una data: '; + +//-- document select section +$_lang['DM_select_submit'] = 'Invia'; +$_lang['DM_select_range'] = 'Torna indietro a impostare con una gamma di id del documento'; +$_lang['DM_select_range_text'] = '<p><strong>Sintassi (dove n è un numero di id del documento):</strong><br /><br /> + n* - Cambia le impostazioni per questo documento e il primo livello di sotto documenti<br /> + n** - Cambia le impostazioni per questo documento e TUTTI i sotto documenti<br /> + n-n2 - Cambia le impostazioni per questo intervallo di documenti<br /> + n - Cambia le impostazioni per un solo documento</p> + <p>Esempio: 1*,4**,2-20,25 - Cambia le impostazioni per il documento 1 e i sotto documenti, il documento 4 e tutti i sotto documenti, i documenti da 2 + a 20 e il documento 25.</p>'; +$_lang['DM_select_tree'] =' Visualizza e seleziona i documenti usando l\'albero dei documenti'; + +//-- process tree/range messages +$_lang['DM_process_noselection'] = 'Non è stata effettuata nessuna selezione. '; +$_lang['DM_process_novalues'] = 'Non è stato specificato alcun valore.'; +$_lang['DM_process_limits_error'] = 'Limite superiore più basso del limite inferiore:'; +$_lang['DM_process_invalid_error'] = 'Valore non valido:'; +$_lang['DM_process_update_success'] = 'L\'aggiornamento è stato completato con successo, senza errori.'; +$_lang['DM_process_update_error'] = 'L\'aggiornamento è stato completato, ma con errori :'; +$_lang['DM_process_back'] = 'Indietro'; + +//-- manager access logging +$_lang['DM_log_template'] = 'Gestione Documenti: Template sostituiti.'; +$_lang['DM_log_templatevariables'] = 'Gestione Documenti: modificate le Variabili di Template.'; +$_lang['DM_log_docpermissions'] ='Gestione Documenti: Permessi dei documenti cambiati.'; +$_lang['DM_log_sortmenu']='Gestione Documenti: Modifica indice del menu completata.'; +$_lang['DM_log_publish']='Gestione Documenti: Impostazioni documenti Pubblicato/Ritirato modificate.'; +$_lang['DM_log_hidemenu']='Gestione Documenti: Impostazioni documenti Mostra/Nascondi nel Menu modificate.'; +$_lang['DM_log_search']='Gestione Documenti: Impostazioni documenti Ricercabile/Non ricercabile modificate.'; +$_lang['DM_log_cache']='Gestione Documenti: Impostazioni documenti Documents Situabile in cache/Non in cache modificate.'; +$_lang['DM_log_richtext']='Gestione Documenti: Impostazioni documenti Usa Richtext Editor modificate.'; +$_lang['DM_log_delete']='Gestione Documenti: Impostazioni documenti Cancella/Ripristina modificate.'; +$_lang['DM_log_dates']='Gestione Documenti: Impostazioni Data dei documenti modificate.'; +$_lang['DM_log_authors']='Gestione Documenti: Impostazioni Autore dei documenti modificate.'; + +?> diff --git a/assets/modules/docmanager/lang/japanese-utf8.inc.php b/assets/modules/docmanager/lang/japanese-utf8.inc.php index c50afc8233..1d8b58d182 100755 --- a/assets/modules/docmanager/lang/japanese-utf8.inc.php +++ b/assets/modules/docmanager/lang/japanese-utf8.inc.php @@ -1,162 +1,162 @@ -<?php -/** - * Document Manager Module - japanese-utf8.inc.php - * - * Purpose: Contains the language strings for use in the module. - * Author: Garry Nutting - * For: MODx CMS (www.modxcms.com) - * Date:2009/07/25 Version: 1.6.2 - * Initial translated: 04/10/2006 by eastbind (eastbind@bodenplatte.jp) - * - */ - -//-- JAPANESE LANGUAGE FILE ENCODED IN UTF-8 - -//-- titles -$_lang['DM_module_title'] = 'Doc Manager'; -$_lang['DM_action_title'] = 'æ“ä½œã‚’é¸æŠžã—ã¾ã™'; -$_lang['DM_range_title'] = 'リソースIDを指定'; -$_lang['DM_tree_title'] = 'サイトツリーã‹ã‚‰ãƒªã‚½ãƒ¼ã‚¹ã‚’é¸æŠž'; -$_lang['DM_update_title'] = '更新完了'; -$_lang['DM_sort_title'] = 'メニューインデックスエディタ'; - -//-- tabs -$_lang['DM_doc_permissions'] = 'アクセス許å¯'; -$_lang['DM_template_variables'] = 'テンプレート変数'; -$_lang['DM_sort_menu'] = 'メニュー整列'; -$_lang['DM_change_template'] = 'ãƒ†ãƒ³ãƒ—ãƒ¬ãƒ¼ãƒˆé¸æŠž'; -$_lang['DM_publish'] = '公開/éžå…¬é–‹'; -$_lang['DM_other'] = 'ãã®ä»–ã®ãƒ—ロパティ'; - -//-- buttons -$_lang['DM_close'] = 'Doc Managerã‚’é–‰ã˜ã‚‹'; -$_lang['DM_cancel'] = '戻る'; -$_lang['DM_go'] = 'Go'; -$_lang['DM_save'] = 'ä¿å­˜'; -$_lang['DM_sort_another'] = 'åˆ¥ã®æ•´åˆ—'; - -//-- templates tab -$_lang['DM_tpl_desc'] = '下ã®è¡¨ã‹ã‚‰ãƒ†ãƒ³ãƒ—レートをé¸ã‚“ã§ãƒªã‚½ãƒ¼ã‚¹IDを指定ã—ã¾ã™ã€‚IDã®æŒ‡å®šã¯ä¸‹è¨˜ã®ç¯„囲指定をã™ã‚‹ã‹ã€ã‚µã‚¤ãƒˆãƒ„リーã‹ã‚‰é¸æŠžã™ã‚‹ã‹ã€ã„ãšã‚Œã§ã‚‚指定ã§ãã¾ã™ã€‚'; -$_lang['DM_tpl_no_templates'] = 'テンプレートãŒã‚りã¾ã›ã‚“'; -$_lang['DM_tpl_column_id'] = 'ID'; -$_lang['DM_tpl_column_name'] = 'テンプレートå'; -$_lang['DM_tpl_column_description'] ='説明'; -$_lang['DM_tpl_blank_template'] = 'テンプレート無ã—'; - -$_lang['DM_tpl_results_message']= 'ä»–ã®æ“作を行ã„ãŸã„ã¨ãã¯ã€Œæˆ»ã‚‹ã€ãƒœã‚¿ãƒ³ã‚’使ã£ã¦ãã ã•ã„。サイトã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã¯è‡ªå‹•çš„ã«ã‚¯ãƒªã‚¢ã•れã¦ã„ã¾ã™ã€‚'; - -//-- template variables tab -$_lang['DM_tv_desc'] = '変更ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã‚’IDã§æŒ‡å®šã—ã¾ã™ã€‚IDã®æŒ‡å®šã¯ä¸‹è¨˜ã®ç¯„囲指定をã™ã‚‹ã‹ã€ã‚µã‚¤ãƒˆãƒ„リーã‹ã‚‰é¸æŠžã™ã‚‹ã‹ã€ã„ãšã‚Œã§ã‚‚指定ã§ãã¾ã™ã€‚é©ç”¨ã™ã‚‹ãƒ†ãƒ³ãƒ—レートを表ã‹ã‚‰é¸ã¶ã¨é–¢é€£ã™ã‚‹ãƒ†ãƒ³ãƒ—レート変数ãŒãƒ­ãƒ¼ãƒ‰ã•れã¾ã™ã€‚後ã¯ãƒ†ãƒ³ãƒ—レート変数ã®å€¤ã‚’入力ã—ã¦ã€Œé©ç”¨ã€ãƒœã‚¿ãƒ³ã‚’ クリックã™ã‚Œã°å‡¦ç†ãŒé–‹å§‹ã•れã¾ã™ã€‚'; -$_lang['DM_tv_template_mismatch'] = 'ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã¯ãã®ãƒ†ãƒ³ãƒ—レートを使用ã—ã¦ã„ã¾ã›ã‚“。'; -$_lang['DM_tv_doc_not_found'] = 'ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã‚りã¾ã›ã‚“。'; -$_lang['DM_tv_no_tv'] = 'ã“ã®ãƒ†ãƒ³ãƒ—レートã«ã¯ãƒ†ãƒ³ãƒ—レート変数ãŒå®šç¾©ã•れã¦ã„ã¾ã›ã‚“。'; -$_lang['DM_tv_no_docs'] = '変更ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ãŒé¸æŠžã•れã¦ã„ã¾ã›ã‚“。'; -$_lang['DM_tv_no_template_selected'] = 'テンプレートãŒé¸æŠžã•れã¦ã„ã¾ã›ã‚“。'; -$_lang['DM_tv_loading'] = 'テンプレート変数をロード中 ...'; -$_lang['DM_tv_ignore_tv'] = 'ã“れらã®ãƒ†ãƒ³ãƒ—レート変数を無視 (変数åをカンマ区切り):'; -$_lang['DM_tv_ajax_insertbutton'] = '挿入'; - -//-- document permissions tab -$_lang['DM_doc_desc'] = '下ã®è¡¨ã‹ã‚‰ãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—ã‚’é¸ã‚“ã§åŠ ãˆãŸã„ã®ã‹å¤–ã—ãŸã„ã®ã‹ã‚’é¸æŠžã—ã¾ã™ã€‚ãã—ã¦æ“作対象ã®ãƒªã‚½ãƒ¼ã‚¹IDを指定ã—ã¦ãã ã•ã„。IDã®æŒ‡å®šã¯ä¸‹è¨˜ã®ç¯„囲指定をã™ã‚‹ã‹ã€ã‚µã‚¤ãƒˆãƒ„リーã‹ã‚‰é¸æŠžã™ã‚‹ã‹ã€ã„ãšã‚Œã§ã‚‚指定ã§ãã¾ã™ã€‚'; -$_lang['DM_doc_no_docs'] = 'リソースグループãŒã‚りã¾ã›ã‚“'; -$_lang['DM_doc_column_id'] = 'ID'; -$_lang['DM_doc_column_name'] = 'グループå'; -$_lang['DM_doc_radio_add'] = 'リソースグループã«è¿½åŠ '; -$_lang['DM_doc_radio_remove'] = 'リソースグループã‹ã‚‰å‰Šé™¤'; - -$_lang['DM_doc_skip_message1'] = 'リソースID'; -$_lang['DM_doc_skip_message2'] = 'ã¯é¸æŠžã—ãŸãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—ã«æ—¢ã«å«ã¾ã‚Œã¦ã„ã¾ã™ã€‚(スキップ)'; - -//-- sort menu tab -$_lang['DM_sort_pick_item'] = 'サイトルートã‹ã€æ•´åˆ—ã—ãŸã„範囲ã®è¦ªãƒªã‚½ãƒ¼ã‚¹(コンテナ)をクリックã—ã¦ãã ã•ã„。'; -$_lang['DM_sort_updating'] = '更新中 ...'; -$_lang['DM_sort_updated'] = 'æ›´æ–°'; -$_lang['DM_sort_nochildren'] = 'ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã«ã¯ã‚µãƒ–リソースãŒã‚りã¾ã›ã‚“。'; -$_lang['DM_sort_noid']='リソースãŒé¸æŠžã•れã¦ã„ã¾ã›ã‚“。戻ã£ã¦ãƒªã‚½ãƒ¼ã‚¹ã‚’é¸æŠžã—ã¦ãã ã•ã„。'; - -//-- other tab -$_lang['DM_other_header'] = 'リソースã®å„種設定'; -$_lang['DM_misc_label'] = '変更対象ã®è¨­å®š:'; -$_lang['DM_misc_desc'] = '変更ã™ã‚‹è¨­å®šã‚’ドロップダウンメニューã‹ã‚‰é¸æŠžã—ã¦ãã ã•ã„。ãã—ã¦å¿…è¦ãªã‚ªãƒ—ションを指定ã—ã¾ã™ã€‚1度ã«1ã¤ã®è¨­å®šã—ã‹å¤‰æ›´ã§ãã¾ã›ã‚“。'; - -$_lang['DM_other_dropdown_publish'] = '公開/éžå…¬é–‹'; -$_lang['DM_other_dropdown_show'] = 'メニューã«è¡¨ç¤º/éžè¡¨ç¤º'; -$_lang['DM_other_dropdown_search'] = '検索対象/éžå¯¾è±¡'; -$_lang['DM_other_dropdown_cache'] = 'キャッシュ/ä¸å¯'; -$_lang['DM_other_dropdown_richtext'] = 'エディタ/ãªã—'; -$_lang['DM_other_dropdown_delete'] = '削除/復活'; - -//-- radio button text -$_lang['DM_other_publish_radio1'] = '公開'; -$_lang['DM_other_publish_radio2'] = 'éžå…¬é–‹'; -$_lang['DM_other_show_radio1'] = 'メニューã‹ã‚‰éš ã™'; -$_lang['DM_other_show_radio2'] = 'メニューã«è¡¨ç¤º'; -$_lang['DM_other_search_radio1'] = '検索対象'; -$_lang['DM_other_search_radio2'] = '検索ã—ãªã„'; -$_lang['DM_other_cache_radio1'] = 'キャッシュã™ã‚‹'; -$_lang['DM_other_cache_radio2'] = 'キャッシュã—ãªã„'; -$_lang['DM_other_richtext_radio1'] = 'エディタ使用'; -$_lang['DM_other_richtext_radio2'] = 'エディタä¸è¦'; -$_lang['DM_other_delete_radio1'] = '削除'; -$_lang['DM_other_delete_radio2'] = '削除ã‹ã‚‰å¾©æ´»'; - -//-- adjust dates -$_lang['DM_adjust_dates_header'] = 'リソースã®å„種日時設定'; -$_lang['DM_adjust_dates_desc'] = 'æ¬¡ã®æ—¥æ™‚設定を変更ã§ãã¾ã™ã€‚「カレンダーを表示ã€ã‚’ãŠä½¿ã„ãã ã•ã„。'; -$_lang['DM_view_calendar'] = 'カレンダーを表示'; -$_lang['DM_clear_date'] = 'リセット'; - -//-- adjust authors -$_lang['DM_adjust_authors_header'] = '作æˆè€…ãªã©ã®è¨­å®š'; -$_lang['DM_adjust_authors_desc'] = 'リソースã®ä½œæˆè€…/編集者をリストã‹ã‚‰é¸ã‚“ã§ãã ã•ã„'; -$_lang['DM_adjust_authors_createdby'] = '作æˆè€…:'; -$_lang['DM_adjust_authors_editedby'] = '編集者:'; -$_lang['DM_adjust_authors_noselection'] = '変更ãªã—'; - - //-- labels -$_lang['DM_date_pubdate'] = '公開日時:'; -$_lang['DM_date_unpubdate'] = 'éžå…¬é–‹æ—¥æ™‚:'; -$_lang['DM_date_createdon'] = 'ä½œæˆæ—¥æ™‚:'; -$_lang['DM_date_editedon'] = '編集日時:'; -//$_lang['DM_date_deletedon'] = 'Deleted On Date'; - -$_lang['DM_date_notset'] = ' (変更ã—ã¾ã›ã‚“)'; -//deprecated -$_lang['DM_date_dateselect_label'] = 'æ—¥ä»˜ã‚’é¸æŠž: '; - -//-- document select section -$_lang['DM_select_submit'] = 'é©ç”¨'; -$_lang['DM_select_range'] = 'ID指定画é¢ã«æˆ»ã‚Šã¾ã™'; -$_lang['DM_select_range_text'] = '<p><strong>指定方法(nã€m ã¯ãƒªã‚½ãƒ¼ã‚¹IDã‚’ç¤ºã™æ•°å­—ã§ã™):</strong></p> - <ul><li>n*  - ãã®è¦ªãƒªã‚½ãƒ¼ã‚¹(コンテナ)ã¨ç›´ä¸‹ã®ã‚µãƒ–リソースをæ„味ã™ã‚‹æŒ‡å®š</li> - <li>n** - ãã®è¦ªãƒªã‚½ãƒ¼ã‚¹(コンテナ)ã¨é…下ã®å­ã€å­«ãªã©å…¨ã¦ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’æ„味ã™ã‚‹æŒ‡å®š</li> - <li>n-m - n ã‹ã‚‰ m ã¾ã§ã®IDã®ç¯„囲をæ„味る指定。nã€m ã‚’å«ã¿ã¾ã™</li> - <li>n   - IDãŒnã®1ã¤ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’æ„味ã™ã‚‹æŒ‡å®š</li> - <li>例:1*,4**,2-20,25 - ã“ã®æŒ‡å®šã§ã¯ã€1ã€1ã®ã‚µãƒ–リソースã€4ã€4ã®å…¨é…下リソース〠- 2ã‹ã‚‰20ã¾ã§ã®19個ã®ãƒªã‚½ãƒ¼ã‚¹åŠã³25 ã®å„IDã®ãƒªã‚½ãƒ¼ã‚¹ãŒæŒ‡å®šã•れã¦ã„ã¾ã™ã€‚</li></ul>'; -$_lang['DM_select_tree'] ='ツリー表示ã‹ã‚‰ãƒªã‚½ãƒ¼ã‚¹ã‚’é¸æŠžã—ã¾ã™'; - -//-- process tree/range messages -$_lang['DM_process_noselection'] = 'å¿…è¦ãªæŒ‡å®šãŒã•れã¦ã„ã¾ã›ã‚“。'; -$_lang['DM_process_novalues'] = 'å€¤ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“ã§ã—ãŸã€‚'; -$_lang['DM_process_limits_error'] = '上é™ãŒä¸‹é™ã‚ˆã‚Šã‚‚å°ã•ã„ã§ã™:'; -$_lang['DM_process_invalid_error'] = '値ãŒå¤‰ã§ã—ãŸ:'; -$_lang['DM_process_update_success'] = '変更ã¯ç„¡äº‹å®Œäº†ã—ã¾ã—ãŸã€‚'; -$_lang['DM_process_update_error'] = '変更ã¯å®Œäº†ã—ã¾ã—ãŸãŒã‚¨ãƒ©ãƒ¼ãŒã‚りã¾ã—ãŸ:'; -$_lang['DM_process_back'] = '戻る'; - -//-- manager access logging -$_lang['DM_log_template'] = 'Doc Manager: テンプレートを変更ã—ã¾ã—ãŸã€‚'; -$_lang['DM_log_templatevariables'] = 'Doc Manager: テンプレート変数を変更ã—ã¾ã—ãŸã€‚'; -$_lang['DM_log_docpermissions'] ='Doc Manager: リソースã®ã‚¢ã‚¯ã‚»ã‚¹åˆ¶é™ã‚’変更ã—ã¾ã—ãŸã€‚'; -$_lang['DM_log_sortmenu']='Document Manager: メニューインデックスæ“作を完了ã—ã¾ã—ãŸã€‚'; -$_lang['DM_log_publish']='Document Manager: リソースã®å…¬é–‹/éžå…¬é–‹ã‚’変更ã—ã¾ã—ãŸã€‚'; -$_lang['DM_log_hidemenu']='Document Manager: リソースã®ãƒ¡ãƒ‹ãƒ¥ãƒ¼è¡¨ç¤º/éžè¡¨ç¤ºã‚’変更ã—ã¾ã—ãŸã€‚'; -$_lang['DM_log_search']='Document Manager: ãƒªã‚½ãƒ¼ã‚¹ã®æ¤œç´¢å¯¾è±¡/éžå¯¾è±¡ã‚’変更ã—ã¾ã—ãŸã€‚'; -$_lang['DM_log_cache']='Document Manager: リソースã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥å¯/ä¸å¯ã‚’変更ã—ã¾ã—ãŸã€‚'; -$_lang['DM_log_richtext']='Document Manager: リソースã®ãƒªãƒƒãƒãƒ†ã‚­ã‚¹ãƒˆã‚¨ãƒ‡ã‚£ã‚¿ã®è¨­å®šã‚’変更ã—ã¾ã—ãŸã€‚'; -$_lang['DM_log_delete']='Document Manager: リソースã®å‰Šé™¤/復活を変更ã—ã¾ã—ãŸã€‚'; -$_lang['DM_log_dates']='Document Manager: リソースã®å„種日付を変更ã—ã¾ã—ãŸã€‚'; -$_lang['DM_log_authors']='Document Manager: リソースã®ä½œæˆè€…ãªã©ã®æƒ…報を変更ã—ã¾ã—ãŸã€‚'; - +<?php +/** + * Document Manager Module - japanese-utf8.inc.php + * + * Purpose: Contains the language strings for use in the module. + * Author: Garry Nutting + * For: MODx CMS (www.modxcms.com) + * Date:2009/07/25 Version: 1.6.2 + * Initial translated: 04/10/2006 by eastbind (eastbind@bodenplatte.jp) + * + */ + +//-- JAPANESE LANGUAGE FILE ENCODED IN UTF-8 + +//-- titles +$_lang['DM_module_title'] = 'Doc Manager'; +$_lang['DM_action_title'] = 'æ“ä½œã‚’é¸æŠžã—ã¾ã™'; +$_lang['DM_range_title'] = 'リソースIDを指定'; +$_lang['DM_tree_title'] = 'サイトツリーã‹ã‚‰ãƒªã‚½ãƒ¼ã‚¹ã‚’é¸æŠž'; +$_lang['DM_update_title'] = '更新完了'; +$_lang['DM_sort_title'] = 'メニューインデックスエディタ'; + +//-- tabs +$_lang['DM_doc_permissions'] = 'アクセス許å¯'; +$_lang['DM_template_variables'] = 'テンプレート変数'; +$_lang['DM_sort_menu'] = 'メニュー整列'; +$_lang['DM_change_template'] = 'ãƒ†ãƒ³ãƒ—ãƒ¬ãƒ¼ãƒˆé¸æŠž'; +$_lang['DM_publish'] = '公開/éžå…¬é–‹'; +$_lang['DM_other'] = 'ãã®ä»–ã®ãƒ—ロパティ'; + +//-- buttons +$_lang['DM_close'] = 'Doc Managerã‚’é–‰ã˜ã‚‹'; +$_lang['DM_cancel'] = '戻る'; +$_lang['DM_go'] = 'Go'; +$_lang['DM_save'] = 'ä¿å­˜'; +$_lang['DM_sort_another'] = 'åˆ¥ã®æ•´åˆ—'; + +//-- templates tab +$_lang['DM_tpl_desc'] = '下ã®è¡¨ã‹ã‚‰ãƒ†ãƒ³ãƒ—レートをé¸ã‚“ã§ãƒªã‚½ãƒ¼ã‚¹IDを指定ã—ã¾ã™ã€‚IDã®æŒ‡å®šã¯ä¸‹è¨˜ã®ç¯„囲指定をã™ã‚‹ã‹ã€ã‚µã‚¤ãƒˆãƒ„リーã‹ã‚‰é¸æŠžã™ã‚‹ã‹ã€ã„ãšã‚Œã§ã‚‚指定ã§ãã¾ã™ã€‚'; +$_lang['DM_tpl_no_templates'] = 'テンプレートãŒã‚りã¾ã›ã‚“'; +$_lang['DM_tpl_column_id'] = 'ID'; +$_lang['DM_tpl_column_name'] = 'テンプレートå'; +$_lang['DM_tpl_column_description'] ='説明'; +$_lang['DM_tpl_blank_template'] = 'テンプレート無ã—'; + +$_lang['DM_tpl_results_message']= 'ä»–ã®æ“作を行ã„ãŸã„ã¨ãã¯ã€Œæˆ»ã‚‹ã€ãƒœã‚¿ãƒ³ã‚’使ã£ã¦ãã ã•ã„。サイトã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã¯è‡ªå‹•çš„ã«ã‚¯ãƒªã‚¢ã•れã¦ã„ã¾ã™ã€‚'; + +//-- template variables tab +$_lang['DM_tv_desc'] = '変更ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã‚’IDã§æŒ‡å®šã—ã¾ã™ã€‚IDã®æŒ‡å®šã¯ä¸‹è¨˜ã®ç¯„囲指定をã™ã‚‹ã‹ã€ã‚µã‚¤ãƒˆãƒ„リーã‹ã‚‰é¸æŠžã™ã‚‹ã‹ã€ã„ãšã‚Œã§ã‚‚指定ã§ãã¾ã™ã€‚é©ç”¨ã™ã‚‹ãƒ†ãƒ³ãƒ—レートを表ã‹ã‚‰é¸ã¶ã¨é–¢é€£ã™ã‚‹ãƒ†ãƒ³ãƒ—レート変数ãŒãƒ­ãƒ¼ãƒ‰ã•れã¾ã™ã€‚後ã¯ãƒ†ãƒ³ãƒ—レート変数ã®å€¤ã‚’入力ã—ã¦ã€Œé©ç”¨ã€ãƒœã‚¿ãƒ³ã‚’ クリックã™ã‚Œã°å‡¦ç†ãŒé–‹å§‹ã•れã¾ã™ã€‚'; +$_lang['DM_tv_template_mismatch'] = 'ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã¯ãã®ãƒ†ãƒ³ãƒ—レートを使用ã—ã¦ã„ã¾ã›ã‚“。'; +$_lang['DM_tv_doc_not_found'] = 'ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã‚りã¾ã›ã‚“。'; +$_lang['DM_tv_no_tv'] = 'ã“ã®ãƒ†ãƒ³ãƒ—レートã«ã¯ãƒ†ãƒ³ãƒ—レート変数ãŒå®šç¾©ã•れã¦ã„ã¾ã›ã‚“。'; +$_lang['DM_tv_no_docs'] = '変更ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ãŒé¸æŠžã•れã¦ã„ã¾ã›ã‚“。'; +$_lang['DM_tv_no_template_selected'] = 'テンプレートãŒé¸æŠžã•れã¦ã„ã¾ã›ã‚“。'; +$_lang['DM_tv_loading'] = 'テンプレート変数をロード中 ...'; +$_lang['DM_tv_ignore_tv'] = 'ã“れらã®ãƒ†ãƒ³ãƒ—レート変数を無視 (変数åをカンマ区切り):'; +$_lang['DM_tv_ajax_insertbutton'] = '挿入'; + +//-- document permissions tab +$_lang['DM_doc_desc'] = '下ã®è¡¨ã‹ã‚‰ãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—ã‚’é¸ã‚“ã§åŠ ãˆãŸã„ã®ã‹å¤–ã—ãŸã„ã®ã‹ã‚’é¸æŠžã—ã¾ã™ã€‚ãã—ã¦æ“作対象ã®ãƒªã‚½ãƒ¼ã‚¹IDを指定ã—ã¦ãã ã•ã„。IDã®æŒ‡å®šã¯ä¸‹è¨˜ã®ç¯„囲指定をã™ã‚‹ã‹ã€ã‚µã‚¤ãƒˆãƒ„リーã‹ã‚‰é¸æŠžã™ã‚‹ã‹ã€ã„ãšã‚Œã§ã‚‚指定ã§ãã¾ã™ã€‚'; +$_lang['DM_doc_no_docs'] = 'リソースグループãŒã‚りã¾ã›ã‚“'; +$_lang['DM_doc_column_id'] = 'ID'; +$_lang['DM_doc_column_name'] = 'グループå'; +$_lang['DM_doc_radio_add'] = 'リソースグループã«è¿½åŠ '; +$_lang['DM_doc_radio_remove'] = 'リソースグループã‹ã‚‰å‰Šé™¤'; + +$_lang['DM_doc_skip_message1'] = 'リソースID'; +$_lang['DM_doc_skip_message2'] = 'ã¯é¸æŠžã—ãŸãƒªã‚½ãƒ¼ã‚¹ã‚°ãƒ«ãƒ¼ãƒ—ã«æ—¢ã«å«ã¾ã‚Œã¦ã„ã¾ã™ã€‚(スキップ)'; + +//-- sort menu tab +$_lang['DM_sort_pick_item'] = 'サイトルートã‹ã€æ•´åˆ—ã—ãŸã„範囲ã®è¦ªãƒªã‚½ãƒ¼ã‚¹(コンテナ)をクリックã—ã¦ãã ã•ã„。'; +$_lang['DM_sort_updating'] = '更新中 ...'; +$_lang['DM_sort_updated'] = 'æ›´æ–°'; +$_lang['DM_sort_nochildren'] = 'ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã«ã¯ã‚µãƒ–リソースãŒã‚りã¾ã›ã‚“。'; +$_lang['DM_sort_noid']='リソースãŒé¸æŠžã•れã¦ã„ã¾ã›ã‚“。戻ã£ã¦ãƒªã‚½ãƒ¼ã‚¹ã‚’é¸æŠžã—ã¦ãã ã•ã„。'; + +//-- other tab +$_lang['DM_other_header'] = 'リソースã®å„種設定'; +$_lang['DM_misc_label'] = '変更対象ã®è¨­å®š:'; +$_lang['DM_misc_desc'] = '変更ã™ã‚‹è¨­å®šã‚’ドロップダウンメニューã‹ã‚‰é¸æŠžã—ã¦ãã ã•ã„。ãã—ã¦å¿…è¦ãªã‚ªãƒ—ションを指定ã—ã¾ã™ã€‚1度ã«1ã¤ã®è¨­å®šã—ã‹å¤‰æ›´ã§ãã¾ã›ã‚“。'; + +$_lang['DM_other_dropdown_publish'] = '公開/éžå…¬é–‹'; +$_lang['DM_other_dropdown_show'] = 'メニューã«è¡¨ç¤º/éžè¡¨ç¤º'; +$_lang['DM_other_dropdown_search'] = '検索対象/éžå¯¾è±¡'; +$_lang['DM_other_dropdown_cache'] = 'キャッシュ/ä¸å¯'; +$_lang['DM_other_dropdown_richtext'] = 'エディタ/ãªã—'; +$_lang['DM_other_dropdown_delete'] = '削除/復活'; + +//-- radio button text +$_lang['DM_other_publish_radio1'] = '公開'; +$_lang['DM_other_publish_radio2'] = 'éžå…¬é–‹'; +$_lang['DM_other_show_radio1'] = 'メニューã‹ã‚‰éš ã™'; +$_lang['DM_other_show_radio2'] = 'メニューã«è¡¨ç¤º'; +$_lang['DM_other_search_radio1'] = '検索対象'; +$_lang['DM_other_search_radio2'] = '検索ã—ãªã„'; +$_lang['DM_other_cache_radio1'] = 'キャッシュã™ã‚‹'; +$_lang['DM_other_cache_radio2'] = 'キャッシュã—ãªã„'; +$_lang['DM_other_richtext_radio1'] = 'エディタ使用'; +$_lang['DM_other_richtext_radio2'] = 'エディタä¸è¦'; +$_lang['DM_other_delete_radio1'] = '削除'; +$_lang['DM_other_delete_radio2'] = '削除ã‹ã‚‰å¾©æ´»'; + +//-- adjust dates +$_lang['DM_adjust_dates_header'] = 'リソースã®å„種日時設定'; +$_lang['DM_adjust_dates_desc'] = 'æ¬¡ã®æ—¥æ™‚設定を変更ã§ãã¾ã™ã€‚「カレンダーを表示ã€ã‚’ãŠä½¿ã„ãã ã•ã„。'; +$_lang['DM_view_calendar'] = 'カレンダーを表示'; +$_lang['DM_clear_date'] = 'リセット'; + +//-- adjust authors +$_lang['DM_adjust_authors_header'] = '作æˆè€…ãªã©ã®è¨­å®š'; +$_lang['DM_adjust_authors_desc'] = 'リソースã®ä½œæˆè€…/編集者をリストã‹ã‚‰é¸ã‚“ã§ãã ã•ã„'; +$_lang['DM_adjust_authors_createdby'] = '作æˆè€…:'; +$_lang['DM_adjust_authors_editedby'] = '編集者:'; +$_lang['DM_adjust_authors_noselection'] = '変更ãªã—'; + + //-- labels +$_lang['DM_date_pubdate'] = '公開日時:'; +$_lang['DM_date_unpubdate'] = 'éžå…¬é–‹æ—¥æ™‚:'; +$_lang['DM_date_createdon'] = 'ä½œæˆæ—¥æ™‚:'; +$_lang['DM_date_editedon'] = '編集日時:'; +//$_lang['DM_date_deletedon'] = 'Deleted On Date'; + +$_lang['DM_date_notset'] = ' (変更ã—ã¾ã›ã‚“)'; +//deprecated +$_lang['DM_date_dateselect_label'] = 'æ—¥ä»˜ã‚’é¸æŠž: '; + +//-- document select section +$_lang['DM_select_submit'] = 'é©ç”¨'; +$_lang['DM_select_range'] = 'ID指定画é¢ã«æˆ»ã‚Šã¾ã™'; +$_lang['DM_select_range_text'] = '<p><strong>指定方法(nã€m ã¯ãƒªã‚½ãƒ¼ã‚¹IDã‚’ç¤ºã™æ•°å­—ã§ã™):</strong></p> + <ul><li>n*  - ãã®è¦ªãƒªã‚½ãƒ¼ã‚¹(コンテナ)ã¨ç›´ä¸‹ã®ã‚µãƒ–リソースをæ„味ã™ã‚‹æŒ‡å®š</li> + <li>n** - ãã®è¦ªãƒªã‚½ãƒ¼ã‚¹(コンテナ)ã¨é…下ã®å­ã€å­«ãªã©å…¨ã¦ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’æ„味ã™ã‚‹æŒ‡å®š</li> + <li>n-m - n ã‹ã‚‰ m ã¾ã§ã®IDã®ç¯„囲をæ„味る指定。nã€m ã‚’å«ã¿ã¾ã™</li> + <li>n   - IDãŒnã®1ã¤ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’æ„味ã™ã‚‹æŒ‡å®š</li> + <li>例:1*,4**,2-20,25 - ã“ã®æŒ‡å®šã§ã¯ã€1ã€1ã®ã‚µãƒ–リソースã€4ã€4ã®å…¨é…下リソース〠+ 2ã‹ã‚‰20ã¾ã§ã®19個ã®ãƒªã‚½ãƒ¼ã‚¹åŠã³25 ã®å„IDã®ãƒªã‚½ãƒ¼ã‚¹ãŒæŒ‡å®šã•れã¦ã„ã¾ã™ã€‚</li></ul>'; +$_lang['DM_select_tree'] ='ツリー表示ã‹ã‚‰ãƒªã‚½ãƒ¼ã‚¹ã‚’é¸æŠžã—ã¾ã™'; + +//-- process tree/range messages +$_lang['DM_process_noselection'] = 'å¿…è¦ãªæŒ‡å®šãŒã•れã¦ã„ã¾ã›ã‚“。'; +$_lang['DM_process_novalues'] = 'å€¤ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“ã§ã—ãŸã€‚'; +$_lang['DM_process_limits_error'] = '上é™ãŒä¸‹é™ã‚ˆã‚Šã‚‚å°ã•ã„ã§ã™:'; +$_lang['DM_process_invalid_error'] = '値ãŒå¤‰ã§ã—ãŸ:'; +$_lang['DM_process_update_success'] = '変更ã¯ç„¡äº‹å®Œäº†ã—ã¾ã—ãŸã€‚'; +$_lang['DM_process_update_error'] = '変更ã¯å®Œäº†ã—ã¾ã—ãŸãŒã‚¨ãƒ©ãƒ¼ãŒã‚りã¾ã—ãŸ:'; +$_lang['DM_process_back'] = '戻る'; + +//-- manager access logging +$_lang['DM_log_template'] = 'Doc Manager: テンプレートを変更ã—ã¾ã—ãŸã€‚'; +$_lang['DM_log_templatevariables'] = 'Doc Manager: テンプレート変数を変更ã—ã¾ã—ãŸã€‚'; +$_lang['DM_log_docpermissions'] ='Doc Manager: リソースã®ã‚¢ã‚¯ã‚»ã‚¹åˆ¶é™ã‚’変更ã—ã¾ã—ãŸã€‚'; +$_lang['DM_log_sortmenu']='Document Manager: メニューインデックスæ“作を完了ã—ã¾ã—ãŸã€‚'; +$_lang['DM_log_publish']='Document Manager: リソースã®å…¬é–‹/éžå…¬é–‹ã‚’変更ã—ã¾ã—ãŸã€‚'; +$_lang['DM_log_hidemenu']='Document Manager: リソースã®ãƒ¡ãƒ‹ãƒ¥ãƒ¼è¡¨ç¤º/éžè¡¨ç¤ºã‚’変更ã—ã¾ã—ãŸã€‚'; +$_lang['DM_log_search']='Document Manager: ãƒªã‚½ãƒ¼ã‚¹ã®æ¤œç´¢å¯¾è±¡/éžå¯¾è±¡ã‚’変更ã—ã¾ã—ãŸã€‚'; +$_lang['DM_log_cache']='Document Manager: リソースã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥å¯/ä¸å¯ã‚’変更ã—ã¾ã—ãŸã€‚'; +$_lang['DM_log_richtext']='Document Manager: リソースã®ãƒªãƒƒãƒãƒ†ã‚­ã‚¹ãƒˆã‚¨ãƒ‡ã‚£ã‚¿ã®è¨­å®šã‚’変更ã—ã¾ã—ãŸã€‚'; +$_lang['DM_log_delete']='Document Manager: リソースã®å‰Šé™¤/復活を変更ã—ã¾ã—ãŸã€‚'; +$_lang['DM_log_dates']='Document Manager: リソースã®å„種日付を変更ã—ã¾ã—ãŸã€‚'; +$_lang['DM_log_authors']='Document Manager: リソースã®ä½œæˆè€…ãªã©ã®æƒ…報を変更ã—ã¾ã—ãŸã€‚'; + ?> \ No newline at end of file diff --git a/assets/modules/docmanager/lang/nederlands.inc.php b/assets/modules/docmanager/lang/nederlands.inc.php index 3a967f3ab6..bc065097a3 100755 --- a/assets/modules/docmanager/lang/nederlands.inc.php +++ b/assets/modules/docmanager/lang/nederlands.inc.php @@ -1,144 +1,144 @@ -<?php - -/* -* Document Manager Module - nederlands.inc.php -* -* Purpose: Contains the language strings for use in the module. -* Author: Garry Nutting -* For: MODx CMS (www.modxcms.com) -* Date:29/09/2006 Version: 1.6 -* -*/ - -//-- DUTCH LANGUAGE FILE -//-- titles -$_lang['DM_module_title'] = 'Document Manager'; -$_lang['DM_action_title'] = 'Kies een handeling'; -$_lang['DM_range_title'] = 'Geef een bereik van Document ID\'s aan'; -$_lang['DM_tree_title'] = 'Kies documenten uit de boomstructuur'; -$_lang['DM_update_title'] = 'Update voltooid'; -$_lang['DM_sort_title'] = 'Menu-index Editor'; -//-- tabs -$_lang['DM_doc_permissions'] = 'Document rechten'; -$_lang['DM_template_variables'] = 'Template Variabelen'; -$_lang['DM_sort_menu'] = 'Sorteer menu-items'; -$_lang['DM_change_template'] = 'wijzig template'; -$_lang['DM_publish'] = 'Publiceren/Niet publiceren'; -$_lang['DM_other'] = 'Andere eigenschappen'; -//-- buttons -$_lang['DM_close'] = 'Sluit Document Manager'; -$_lang['DM_cancel'] = 'Terug'; -$_lang['DM_go'] = 'Start'; -$_lang['DM_save'] = 'Opslaan'; -$_lang['DM_sort_another'] = 'Andere sorteren'; -//-- templates tab -$_lang['DM_tpl_desc'] = 'Kies de gewenste template uit de tabel hieronder en geef vervolgens de document ID\'s aan die gewijzigd moeten worden. Dit kan door een bereik van ID\'s aan te geven of de structuur optie hieronder te gebruiken.'; -$_lang['DM_tpl_no_templates'] = 'Geen templates gevonden'; -$_lang['DM_tpl_column_id'] = 'ID'; -$_lang['DM_tpl_column_name'] = 'Naam'; -$_lang['DM_tpl_column_description'] ='Omschrijving'; -$_lang['DM_tpl_blank_template'] = 'Blanco template'; -$_lang['DM_tpl_results_message']= 'Gebruik de knop \'Terug]\ als u nog meer wilt wijzigen. De site cache is automatisch gewist.'; -//-- template variables tab -$_lang['DM_tv_desc'] = 'Geef de document ID\'s aan die gewijzigd dienen te worden. Dit kan door een bereik van ID\'s aan te geven of de structuur optie hieronder te gebruiken. Kies vervolgens de gewenste template uit de tabel en de geassocieerde Template Variabelen worden geladen. Kies de door u gewenste Template Variabele waarden en verzend voor verwerking.'; -$_lang['DM_tv_template_mismatch'] = 'Dit document gebruikt de gekozen template niet.'; -$_lang['DM_tv_doc_not_found'] = 'Dit document is niet in het bestand gevonden.'; -$_lang['DM_tv_no_tv'] = 'Geen Template Variabelen gevonden voor de template.'; -$_lang['DM_tv_no_docs'] = 'Geen documenten geselecteerd om bij te werken.'; -$_lang['DM_tv_no_template_selected'] = 'Er is geen template geselecteerd.'; -$_lang['DM_tv_loading'] = 'Template Variabele worden geladen ...'; -$_lang['DM_tv_ignore_tv'] = 'Negeer deze Template Variabelen (door komma\'s gescheiden waarden):'; -$_lang['DM_tv_ajax_insertbutton'] = 'Invoegen'; -//-- document permissions tab -$_lang['DM_doc_desc'] = 'Kies de gewenste documentgroep uit de tabel hieronder en voeg of verwijder de groep naar wens. Specificeer vervolgens de document ID\'s die gewijzigd moeten worden. Dit kan door een bereik van ID\'s aan te geven of de structuur optie hieronder te gebruiken.'; -$_lang['DM_doc_no_docs'] = 'Geen documentgroepen gevonden'; -$_lang['DM_doc_column_id'] = 'ID'; -$_lang['DM_doc_column_name'] = 'Naam'; -$_lang['DM_doc_radio_add'] = 'Documentgroep toevoegen'; -$_lang['DM_doc_radio_remove'] = 'Documentgroep verwijderen'; -$_lang['DM_doc_skip_message1'] = 'Document met ID'; -$_lang['DM_doc_skip_message2'] = 'is al onderdeel van de geselecteerde documentgroep (wordt overgeslagen)'; -//-- sort menu tab -$_lang['DM_sort_pick_item'] = 'Klik a.u.b. op de site root of het ouder-document van de \'MAIN DOCUMENT\' structuur die u wilt sorteren.'; -$_lang['DM_sort_updating'] = 'Bijwerken ...'; -$_lang['DM_sort_updated'] = 'Bijgewerkt'; -$_lang['DM_sort_nochildren'] = 'Ouder heeft geen kinderen'; -$_lang['DM_sort_noid']='Er is geen document geselecteerd. Ga a.u.b. terug en selecteer een document.'; -//-- other tab -$_lang['DM_other_header'] = 'Diverse document instellingen'; -$_lang['DM_misc_label'] = 'Beschikbare instellingen:'; -$_lang['DM_misc_desc'] = 'Kies a.u.b. een instelling van het dropdown menu en dan de gewenste optie. NB: per keer kan slechts één instelling tegelijk gewijzigd worden.'; -$_lang['DM_other_dropdown_publish'] = 'Publiceren/Niet publiceren'; -$_lang['DM_other_dropdown_show'] = 'Toon/Verberg in menu'; -$_lang['DM_other_dropdown_search'] = 'Doorzoekbaar/Niet doorzoekbaar'; -$_lang['DM_other_dropdown_cache'] = 'Cachebaar/Niet cachebaar'; -$_lang['DM_other_dropdown_richtext'] = 'Richtext/Geen richtext editor'; -$_lang['DM_other_dropdown_delete'] = 'Verwijderen/Herstellen'; -//-- radio button text -$_lang['DM_other_publish_radio1'] = 'Publiceren'; -$_lang['DM_other_publish_radio2'] = 'Niet publiceren'; -$_lang['DM_other_show_radio1'] = 'Verberg in menu'; -$_lang['DM_other_show_radio2'] = 'Toon in menu'; -$_lang['DM_other_search_radio1'] = 'Doorzoekbaar'; -$_lang['DM_other_search_radio2'] = 'Niet doorzoekbaar'; -$_lang['DM_other_cache_radio1'] = 'Cachebaar'; -$_lang['DM_other_cache_radio2'] = 'Niet cachebaar'; -$_lang['DM_other_richtext_radio1'] = 'Richtext'; -$_lang['DM_other_richtext_radio2'] = 'Geen Richtext'; -$_lang['DM_other_delete_radio1'] = 'Verwijderen'; -$_lang['DM_other_delete_radio2'] = 'Herstellen'; -//-- adjust dates -$_lang['DM_adjust_dates_header'] = 'Document datums instellen'; -$_lang['DM_adjust_dates_desc'] = 'Elke van de volgende document datuminstellingen kan gewijzigd worden. Gebruik de \'Toon kalender\' optie om de datums in te stellen.'; -$_lang['DM_view_calendar'] = 'Toon kalender'; -$_lang['DM_clear_date'] = 'Wis datum'; -//-- adjust authors -$_lang['DM_adjust_authors_header'] = 'Auteurs instellen'; -$_lang['DM_adjust_authors_desc'] = 'Gebruik de dropdown lijsten om nieuwe auteurs voor het document in te stellen.'; -$_lang['DM_adjust_authors_createdby'] = 'Gemaakt door:'; -$_lang['DM_adjust_authors_editedby'] = 'Gewijzigd door:'; -$_lang['DM_adjust_authors_noselection'] = 'Ongewijzigd'; -//-- labels -$_lang['DM_date_pubdate'] = 'Datum publiceren:'; -$_lang['DM_date_unpubdate'] = 'Datum niet publiceren:'; -$_lang['DM_date_createdon'] = 'Datum gemaakt:'; -$_lang['DM_date_editedon'] = 'Datum gewijzigd:'; -//$_lang['DM_date_deletedon'] = 'Datum verwijderd'; -$_lang['DM_date_notset'] = ' (niet ingesteld)'; -//deprecated -$_lang['DM_date_dateselect_label'] = 'Kies een datum: '; -//-- document select section -$_lang['DM_select_submit'] = 'Verzenden'; -$_lang['DM_select_range'] = 'Ga terug om een bereik van document ID\'s aan te geven'; -$_lang['DM_select_range_text'] = '<p><strong>Toets (waarbij n een document ID nummer is):</strong><br /><br /> - n* - Wijzig de instelling voor dit document en direkte kinderen<br /> - n** - Wijzig de instelling voor dit document en ALLE kinderen<br /> - n-n2 - Wijzig de instelling voor dit bereik van documenten<br /> - n - Wijzig de instelling voor een enkel document</p> - <p>Voorbeeld: 1*,4**,2-20,25 - Dit zal de geselecteerde instelling wijzigen - voor documenten 1 en direkte kinderen, document 4 en alle kinderen, documenten - 2 t/m 20 en document 25.</p>'; -$_lang['DM_select_tree'] ='Bekijk en selecteer documenten door de structuur te gebruiken'; -//-- process tree/range messages -$_lang['DM_process_noselection'] = 'Er is geen selectie gemaakt. '; -$_lang['DM_process_novalues'] = 'Er zijn geen waardes aangegeven.'; -$_lang['DM_process_limits_error'] = 'Hoogste waarde lager dan laagste waarde:'; -$_lang['DM_process_invalid_error'] = 'Ongeldige waarde:'; -$_lang['DM_process_update_success'] = 'Bijwerken succesvol voltooid, zonder fouten.'; -$_lang['DM_process_update_error'] = 'Bijwerken voltooid, maar met de volgende fouten:'; -$_lang['DM_process_back'] = 'Terug'; -//-- manager access logging -$_lang['DM_log_template'] = 'Document Manager: Templates gewijzigd.'; -$_lang['DM_log_templatevariables'] = 'Document Manager: Template Variabelen gewijzigd.'; -$_lang['DM_log_docpermissions'] ='Document Manager: Document rechten gewijzigd.'; -$_lang['DM_log_sortmenu']='Document Manager: Menu-index bewerking voltooid.'; -$_lang['DM_log_publish']='Document Manager: Document Manager: Documentinstellingen Publiceren/Niet publiceren gewijzigd.'; -$_lang['DM_log_hidemenu']='Document Manager: Documentinstellingen Tonen/Vverbergen gewijzigd.'; -$_lang['DM_log_search']='Document Manager: Documentinstellingen Doorzoekbaar/Niet doorzoekbaar gewijzigd.'; -$_lang['DM_log_cache']='Document Manager: Documentinstellingen Cachebaar/Niet cachebaar gewijzigd.'; -$_lang['DM_log_richtext']='Document Manager: Documents Use Richtext Editor settings changed.'; -$_lang['DM_log_delete']='Document Manager: Documentinstellingen Verwijderen/Herstellen gewijzigd.'; -$_lang['DM_log_dates']='Document Manager: Documentinstellingen Datum gewijzigd.'; -$_lang['DM_log_authors']='Document Manager: Documentinstellingen Auteur gewijzigd.'; - -?> +<?php + +/* +* Document Manager Module - nederlands.inc.php +* +* Purpose: Contains the language strings for use in the module. +* Author: Garry Nutting +* For: MODx CMS (www.modxcms.com) +* Date:29/09/2006 Version: 1.6 +* +*/ + +//-- DUTCH LANGUAGE FILE +//-- titles +$_lang['DM_module_title'] = 'Document Manager'; +$_lang['DM_action_title'] = 'Kies een handeling'; +$_lang['DM_range_title'] = 'Geef een bereik van Document ID\'s aan'; +$_lang['DM_tree_title'] = 'Kies documenten uit de boomstructuur'; +$_lang['DM_update_title'] = 'Update voltooid'; +$_lang['DM_sort_title'] = 'Menu-index Editor'; +//-- tabs +$_lang['DM_doc_permissions'] = 'Document rechten'; +$_lang['DM_template_variables'] = 'Template Variabelen'; +$_lang['DM_sort_menu'] = 'Sorteer menu-items'; +$_lang['DM_change_template'] = 'wijzig template'; +$_lang['DM_publish'] = 'Publiceren/Niet publiceren'; +$_lang['DM_other'] = 'Andere eigenschappen'; +//-- buttons +$_lang['DM_close'] = 'Sluit Document Manager'; +$_lang['DM_cancel'] = 'Terug'; +$_lang['DM_go'] = 'Start'; +$_lang['DM_save'] = 'Opslaan'; +$_lang['DM_sort_another'] = 'Andere sorteren'; +//-- templates tab +$_lang['DM_tpl_desc'] = 'Kies de gewenste template uit de tabel hieronder en geef vervolgens de document ID\'s aan die gewijzigd moeten worden. Dit kan door een bereik van ID\'s aan te geven of de structuur optie hieronder te gebruiken.'; +$_lang['DM_tpl_no_templates'] = 'Geen templates gevonden'; +$_lang['DM_tpl_column_id'] = 'ID'; +$_lang['DM_tpl_column_name'] = 'Naam'; +$_lang['DM_tpl_column_description'] ='Omschrijving'; +$_lang['DM_tpl_blank_template'] = 'Blanco template'; +$_lang['DM_tpl_results_message']= 'Gebruik de knop \'Terug]\ als u nog meer wilt wijzigen. De site cache is automatisch gewist.'; +//-- template variables tab +$_lang['DM_tv_desc'] = 'Geef de document ID\'s aan die gewijzigd dienen te worden. Dit kan door een bereik van ID\'s aan te geven of de structuur optie hieronder te gebruiken. Kies vervolgens de gewenste template uit de tabel en de geassocieerde Template Variabelen worden geladen. Kies de door u gewenste Template Variabele waarden en verzend voor verwerking.'; +$_lang['DM_tv_template_mismatch'] = 'Dit document gebruikt de gekozen template niet.'; +$_lang['DM_tv_doc_not_found'] = 'Dit document is niet in het bestand gevonden.'; +$_lang['DM_tv_no_tv'] = 'Geen Template Variabelen gevonden voor de template.'; +$_lang['DM_tv_no_docs'] = 'Geen documenten geselecteerd om bij te werken.'; +$_lang['DM_tv_no_template_selected'] = 'Er is geen template geselecteerd.'; +$_lang['DM_tv_loading'] = 'Template Variabele worden geladen ...'; +$_lang['DM_tv_ignore_tv'] = 'Negeer deze Template Variabelen (door komma\'s gescheiden waarden):'; +$_lang['DM_tv_ajax_insertbutton'] = 'Invoegen'; +//-- document permissions tab +$_lang['DM_doc_desc'] = 'Kies de gewenste documentgroep uit de tabel hieronder en voeg of verwijder de groep naar wens. Specificeer vervolgens de document ID\'s die gewijzigd moeten worden. Dit kan door een bereik van ID\'s aan te geven of de structuur optie hieronder te gebruiken.'; +$_lang['DM_doc_no_docs'] = 'Geen documentgroepen gevonden'; +$_lang['DM_doc_column_id'] = 'ID'; +$_lang['DM_doc_column_name'] = 'Naam'; +$_lang['DM_doc_radio_add'] = 'Documentgroep toevoegen'; +$_lang['DM_doc_radio_remove'] = 'Documentgroep verwijderen'; +$_lang['DM_doc_skip_message1'] = 'Document met ID'; +$_lang['DM_doc_skip_message2'] = 'is al onderdeel van de geselecteerde documentgroep (wordt overgeslagen)'; +//-- sort menu tab +$_lang['DM_sort_pick_item'] = 'Klik a.u.b. op de site root of het ouder-document van de \'MAIN DOCUMENT\' structuur die u wilt sorteren.'; +$_lang['DM_sort_updating'] = 'Bijwerken ...'; +$_lang['DM_sort_updated'] = 'Bijgewerkt'; +$_lang['DM_sort_nochildren'] = 'Ouder heeft geen kinderen'; +$_lang['DM_sort_noid']='Er is geen document geselecteerd. Ga a.u.b. terug en selecteer een document.'; +//-- other tab +$_lang['DM_other_header'] = 'Diverse document instellingen'; +$_lang['DM_misc_label'] = 'Beschikbare instellingen:'; +$_lang['DM_misc_desc'] = 'Kies a.u.b. een instelling van het dropdown menu en dan de gewenste optie. NB: per keer kan slechts één instelling tegelijk gewijzigd worden.'; +$_lang['DM_other_dropdown_publish'] = 'Publiceren/Niet publiceren'; +$_lang['DM_other_dropdown_show'] = 'Toon/Verberg in menu'; +$_lang['DM_other_dropdown_search'] = 'Doorzoekbaar/Niet doorzoekbaar'; +$_lang['DM_other_dropdown_cache'] = 'Cachebaar/Niet cachebaar'; +$_lang['DM_other_dropdown_richtext'] = 'Richtext/Geen richtext editor'; +$_lang['DM_other_dropdown_delete'] = 'Verwijderen/Herstellen'; +//-- radio button text +$_lang['DM_other_publish_radio1'] = 'Publiceren'; +$_lang['DM_other_publish_radio2'] = 'Niet publiceren'; +$_lang['DM_other_show_radio1'] = 'Verberg in menu'; +$_lang['DM_other_show_radio2'] = 'Toon in menu'; +$_lang['DM_other_search_radio1'] = 'Doorzoekbaar'; +$_lang['DM_other_search_radio2'] = 'Niet doorzoekbaar'; +$_lang['DM_other_cache_radio1'] = 'Cachebaar'; +$_lang['DM_other_cache_radio2'] = 'Niet cachebaar'; +$_lang['DM_other_richtext_radio1'] = 'Richtext'; +$_lang['DM_other_richtext_radio2'] = 'Geen Richtext'; +$_lang['DM_other_delete_radio1'] = 'Verwijderen'; +$_lang['DM_other_delete_radio2'] = 'Herstellen'; +//-- adjust dates +$_lang['DM_adjust_dates_header'] = 'Document datums instellen'; +$_lang['DM_adjust_dates_desc'] = 'Elke van de volgende document datuminstellingen kan gewijzigd worden. Gebruik de \'Toon kalender\' optie om de datums in te stellen.'; +$_lang['DM_view_calendar'] = 'Toon kalender'; +$_lang['DM_clear_date'] = 'Wis datum'; +//-- adjust authors +$_lang['DM_adjust_authors_header'] = 'Auteurs instellen'; +$_lang['DM_adjust_authors_desc'] = 'Gebruik de dropdown lijsten om nieuwe auteurs voor het document in te stellen.'; +$_lang['DM_adjust_authors_createdby'] = 'Gemaakt door:'; +$_lang['DM_adjust_authors_editedby'] = 'Gewijzigd door:'; +$_lang['DM_adjust_authors_noselection'] = 'Ongewijzigd'; +//-- labels +$_lang['DM_date_pubdate'] = 'Datum publiceren:'; +$_lang['DM_date_unpubdate'] = 'Datum niet publiceren:'; +$_lang['DM_date_createdon'] = 'Datum gemaakt:'; +$_lang['DM_date_editedon'] = 'Datum gewijzigd:'; +//$_lang['DM_date_deletedon'] = 'Datum verwijderd'; +$_lang['DM_date_notset'] = ' (niet ingesteld)'; +//deprecated +$_lang['DM_date_dateselect_label'] = 'Kies een datum: '; +//-- document select section +$_lang['DM_select_submit'] = 'Verzenden'; +$_lang['DM_select_range'] = 'Ga terug om een bereik van document ID\'s aan te geven'; +$_lang['DM_select_range_text'] = '<p><strong>Toets (waarbij n een document ID nummer is):</strong><br /><br /> + n* - Wijzig de instelling voor dit document en direkte kinderen<br /> + n** - Wijzig de instelling voor dit document en ALLE kinderen<br /> + n-n2 - Wijzig de instelling voor dit bereik van documenten<br /> + n - Wijzig de instelling voor een enkel document</p> + <p>Voorbeeld: 1*,4**,2-20,25 - Dit zal de geselecteerde instelling wijzigen + voor documenten 1 en direkte kinderen, document 4 en alle kinderen, documenten + 2 t/m 20 en document 25.</p>'; +$_lang['DM_select_tree'] ='Bekijk en selecteer documenten door de structuur te gebruiken'; +//-- process tree/range messages +$_lang['DM_process_noselection'] = 'Er is geen selectie gemaakt. '; +$_lang['DM_process_novalues'] = 'Er zijn geen waardes aangegeven.'; +$_lang['DM_process_limits_error'] = 'Hoogste waarde lager dan laagste waarde:'; +$_lang['DM_process_invalid_error'] = 'Ongeldige waarde:'; +$_lang['DM_process_update_success'] = 'Bijwerken succesvol voltooid, zonder fouten.'; +$_lang['DM_process_update_error'] = 'Bijwerken voltooid, maar met de volgende fouten:'; +$_lang['DM_process_back'] = 'Terug'; +//-- manager access logging +$_lang['DM_log_template'] = 'Document Manager: Templates gewijzigd.'; +$_lang['DM_log_templatevariables'] = 'Document Manager: Template Variabelen gewijzigd.'; +$_lang['DM_log_docpermissions'] ='Document Manager: Document rechten gewijzigd.'; +$_lang['DM_log_sortmenu']='Document Manager: Menu-index bewerking voltooid.'; +$_lang['DM_log_publish']='Document Manager: Document Manager: Documentinstellingen Publiceren/Niet publiceren gewijzigd.'; +$_lang['DM_log_hidemenu']='Document Manager: Documentinstellingen Tonen/Vverbergen gewijzigd.'; +$_lang['DM_log_search']='Document Manager: Documentinstellingen Doorzoekbaar/Niet doorzoekbaar gewijzigd.'; +$_lang['DM_log_cache']='Document Manager: Documentinstellingen Cachebaar/Niet cachebaar gewijzigd.'; +$_lang['DM_log_richtext']='Document Manager: Documents Use Richtext Editor settings changed.'; +$_lang['DM_log_delete']='Document Manager: Documentinstellingen Verwijderen/Herstellen gewijzigd.'; +$_lang['DM_log_dates']='Document Manager: Documentinstellingen Datum gewijzigd.'; +$_lang['DM_log_authors']='Document Manager: Documentinstellingen Auteur gewijzigd.'; + +?> diff --git a/assets/modules/docmanager/lang/russian-UTF8.inc.php b/assets/modules/docmanager/lang/russian-UTF8.inc.php index 7200da9692..8913928d7d 100755 --- a/assets/modules/docmanager/lang/russian-UTF8.inc.php +++ b/assets/modules/docmanager/lang/russian-UTF8.inc.php @@ -1,163 +1,163 @@ -<?php -/** - * Document Manager Module - language strings for use in the module - * - * Filename: assets/modules/docmanager/lang/russian-UTF8.inc.php - * Language: Russian - * Encoding: UTF8 - * Translated by: Jaroslav Sidorkin - * Date: 28 April 2010 - * Version: 1.0.1 - */ - -//-- RUSSIAN LANGUAGE FILE - -//-- titles -$_lang['DM_module_title'] = 'Менеджер реÑурÑов'; -$_lang['DM_action_title'] = 'Выберите дейÑтвие'; -$_lang['DM_range_title'] = 'Укажите диапазон ID реÑурÑов'; -$_lang['DM_tree_title'] = 'Выберите реÑурÑÑ‹ из дерева'; -$_lang['DM_update_title'] = 'Обновление завершено'; -$_lang['DM_sort_title'] = 'Редактор индекÑов меню'; - -//-- tabs -$_lang['DM_doc_permissions'] = 'Изменить права на реÑурÑÑ‹'; -$_lang['DM_template_variables'] = 'Изменить параметры (TV)'; -$_lang['DM_sort_menu'] = 'Сортировать пункты меню'; -$_lang['DM_change_template'] = 'Изменить шаблон'; -$_lang['DM_publish'] = 'Публиковать / Отменить публикацию'; -$_lang['DM_other'] = 'Другие ÑвойÑтва'; - -//-- buttons -$_lang['DM_close'] = 'Закрыть менеджер реÑурÑов'; -$_lang['DM_cancel'] = 'Ðазад'; -$_lang['DM_go'] = 'Вперед'; -$_lang['DM_save'] = 'Сохранить'; -$_lang['DM_sort_another'] = 'Сортировать другое'; - -//-- templates tab -$_lang['DM_tpl_desc'] = 'Выберите в таблице шаблон, который вы хотите уÑтановить, и укажите ID реÑурÑов, которым вы хотите назначить выбранный шаблон. Можно указать диапазон ID или выбрать из дерева.'; -$_lang['DM_tpl_no_templates'] = 'Шаблоны не найдены'; -$_lang['DM_tpl_column_id'] = 'ID'; -$_lang['DM_tpl_column_name'] = 'Ðазвание'; -$_lang['DM_tpl_column_description'] = 'ОпиÑание'; -$_lang['DM_tpl_blank_template'] = 'ПуÑтой шаблон'; - -$_lang['DM_tpl_results_message'] = 'ЕÑли Ð’Ñ‹ хотите Ñделать еще какие-то изменениÑ, воÑпользуйтеÑÑŒ кнопкой "Ðазад". КÑш будет очищен автоматичеÑки.'; - -//-- template variables tab -$_lang['DM_tv_desc'] = 'Выберите в таблице шаблон, параметры (TV) которого вы хотите уÑтановить / изменить - будут загружены редакторы значений вÑех ÑопоÑтавленных шаблону параметров (TV) . Введите желаемые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð½ÑƒÐ¶Ð½Ñ‹Ñ… параметров (TV) и укажите через запÑтую имена тех параметров (TV), Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… изменÑть не нужно. Затем укажите ID реÑурÑов, в которых вы хотите уÑтановить указанные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² (TV). Можно задать диапазон ID реÑурÑов или выбрать из дерева.'; -$_lang['DM_tv_template_mismatch'] = 'Указанный реÑÑƒÑ€Ñ Ð½Ðµ иÑпользует выбранный шаблон.'; -$_lang['DM_tv_doc_not_found'] = 'Указанный реÑÑƒÑ€Ñ Ð½Ðµ найден в базе данных.'; -$_lang['DM_tv_no_tv'] = 'Ðет параметров (TV), ÑопоÑтавленных Ñтому шаблону.'; -$_lang['DM_tv_no_docs'] = 'Ðе выбраны реÑурÑÑ‹ Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ.'; -$_lang['DM_tv_no_template_selected'] = 'Ðе выбран шаблон.'; -$_lang['DM_tv_loading'] = 'ЗагружаютÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ (TV)...'; -$_lang['DM_tv_ignore_tv'] = 'Ðе изменÑть параметры (TV) (имена через запÑтую):'; -$_lang['DM_tv_ajax_insertbutton'] = 'Ð’Ñтавить'; - -//-- document permissions tab -$_lang['DM_doc_desc'] = 'Выберите в таблице группу реÑурÑов и желаемое дейÑтвие (добавить / иÑключить), затем укажите ID реÑурÑов, которые должны быть изменены. Можно задать диапазон ID реÑурÑов или выбрать из дерева.'; -$_lang['DM_doc_no_docs'] = 'Ðет групп реÑурÑов. (Группу реÑурÑов можно Ñоздать в разделе "Пользователи > Права (менеджеров / веб-пользователей) > Группы реÑурÑов".)'; -$_lang['DM_doc_column_id'] = 'ID'; -$_lang['DM_doc_column_name'] = 'Ðазвание группы реÑурÑов'; -$_lang['DM_doc_radio_add'] = 'Добавить в группу реÑурÑов'; -$_lang['DM_doc_radio_remove'] = 'ИÑключить из группы реÑурÑов'; - -$_lang['DM_doc_skip_message1'] = 'РеÑÑƒÑ€Ñ Ñ ID'; -$_lang['DM_doc_skip_message2'] = 'уже входит в указанную группу реÑурÑов (пропущен)'; - -//-- sort menu tab -$_lang['DM_sort_pick_item'] = 'Выберите в дереве корень Ñайта или любой контейнер, вложенные реÑурÑÑ‹ которого вы хотите отÑортировать в меню.'; -$_lang['DM_sort_updating'] = 'Идет обновление ...'; -$_lang['DM_sort_updated'] = 'Обновление уÑпешно завершено'; -$_lang['DM_sort_nochildren'] = 'Выбранный корневой Ñлемент не Ñодержит вложенных реÑурÑов.'; -$_lang['DM_sort_noid'] = 'Ðе выбраны реÑурÑÑ‹ Ð´Ð»Ñ Ñортировки пунктов меню. ПожалуйÑта, нажмите "Ðазад" Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° реÑурÑов.'; - -//-- other tab -$_lang['DM_other_header'] = 'Различные ÑвойÑтва реÑурÑов'; -$_lang['DM_misc_label'] = 'ДоÑтупные ÑвойÑтва:'; -$_lang['DM_misc_desc'] = 'Выберите ÑвойÑтво реÑурÑа из выпадающего ÑпиÑка и укажите его желаемое значение. За одну операцию можно изменить только одно ÑвойÑтво.'; - -$_lang['DM_other_dropdown_publish'] = 'Опубликовать / Отменить публикацию'; -$_lang['DM_other_dropdown_show'] = 'Показывать / Ðе показывать в меню'; -$_lang['DM_other_dropdown_search'] = 'Разрешить / Запретить поиÑк в Ñодержимом'; -$_lang['DM_other_dropdown_cache'] = 'КÑшировать / Ðе кÑшировать'; -$_lang['DM_other_dropdown_richtext'] = 'ИÑпользовать / Ðе иÑпользовать HTML-редактор'; -$_lang['DM_other_dropdown_delete'] = 'Удалить / Отменить удаление'; - -//-- radio button text -$_lang['DM_other_publish_radio1'] = 'Опубликовать'; -$_lang['DM_other_publish_radio2'] = 'Отменить публикацию'; -$_lang['DM_other_show_radio1'] = 'Ðе показывать в меню'; -$_lang['DM_other_show_radio2'] = 'Показывать в меню'; -$_lang['DM_other_search_radio1'] = 'Разрешить поиÑк'; -$_lang['DM_other_search_radio2'] = 'Запретить поиÑк'; -$_lang['DM_other_cache_radio1'] = 'КÑшировать'; -$_lang['DM_other_cache_radio2'] = 'Ðе кÑшировать'; -$_lang['DM_other_richtext_radio1'] = 'ИÑпользовать HTML-редактор'; -$_lang['DM_other_richtext_radio2'] = 'Ðе иÑпользовать HTML-редактор'; -$_lang['DM_other_delete_radio1'] = 'Удалить'; -$_lang['DM_other_delete_radio2'] = 'Отменить удаление'; - -//-- adjust dates -$_lang['DM_adjust_dates_header'] = 'УÑтановить даты реÑурÑов'; -$_lang['DM_adjust_dates_desc'] = 'Можно изменить любые даты из перечиÑленных ниже. ИÑпользуйте "Календарь" Ð´Ð»Ñ ÑƒÑтановки дат.'; -$_lang['DM_view_calendar'] = 'Календарь'; -$_lang['DM_clear_date'] = 'ОчиÑтить дату'; - -//-- adjust authors -$_lang['DM_adjust_authors_header'] = 'УÑтановить Ðвторов / Редакторов'; -$_lang['DM_adjust_authors_desc'] = 'Выберите новых авторов / редакторов реÑурÑа из выпадающих ÑпиÑков.'; -$_lang['DM_adjust_authors_createdby'] = 'РеÑÑƒÑ€Ñ Ñоздан:'; -$_lang['DM_adjust_authors_editedby'] = 'РеÑÑƒÑ€Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½:'; -$_lang['DM_adjust_authors_noselection'] = 'Ðе изменÑть'; - - //-- labels -$_lang['DM_date_pubdate'] = 'Дата публикации:'; -$_lang['DM_date_unpubdate'] = 'Дата отмены публикации:'; -$_lang['DM_date_createdon'] = 'Дата ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ€ÐµÑурÑа:'; -$_lang['DM_date_editedon'] = 'Дата поÑледнего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€ÐµÑурÑа:'; -//$_lang['DM_date_deletedon'] = 'Дата ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñ€ÐµÑурÑа'; - -$_lang['DM_date_notset'] = ' (не уÑтановлена)'; -//deprecated -$_lang['DM_date_dateselect_label'] = 'Выберите дату: '; - -//-- document select section -$_lang['DM_select_submit'] = 'Отправить'; -$_lang['DM_select_range'] = 'ВернутьÑÑ Ñƒ выбору диапазона ID реÑурÑов'; -$_lang['DM_select_range_text'] = '<p><b>Можно иÑпользовать Ñледующий ÑинтакÑÐ¸Ñ Ð¿Ñ€Ð¸ задании диапазона (вмеÑто "n" указывайте чиÑло ID реÑурÑа):</b></p> -<ul> - <li><b>n*</b> - изменить ÑвойÑтва реÑурÑа Ñ ID=n и непоÑредÑтвенных дочерних реÑурÑов;</li> - <li><b>n**</b> - изменить ÑвойÑтва реÑурÑа Ñ ID=n и ВСЕХ его дочерних реÑурÑов;</li> - <li><b>n-n2</b> - изменить ÑвойÑтва Ð´Ð»Ñ Ð²Ñех реÑурÑов, ID которых находÑÑ‚ÑÑ Ð² указанном диапазоне;</li> - <li><b>n</b> - изменить ÑвойÑтва Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ реÑурÑа Ñ ID=n;</li> - <li><b>n*,n**,n-n2,n</b> - можно Ñразу указать неÑколько диапазонов, разделÑÑ Ð¸Ñ… запÑтыми.</li> -</ul><br /><p><b>Пример:</b> 1*,4**,2-20,25 - будут изменены ÑвойÑтва Ð´Ð»Ñ Ñ€ÐµÑурÑа Ñ ID=1 и его непоÑредÑтвенных дочерних реÑурÑов, реÑурÑа Ñ ID=4 и вÑех его дочерних реÑурÑов, реÑурÑов Ñ ID в диапазоне от 2 до 20, и реÑурÑа Ñ ID=25.</p>'; -$_lang['DM_select_tree'] = 'ПроÑмотреть и выбрать реÑурÑÑ‹ в дереве'; - -//-- process tree/range messages -$_lang['DM_process_noselection'] = 'Ðичего не выбрано. '; -$_lang['DM_process_novalues'] = 'Ðикаких значений не задано.'; -$_lang['DM_process_limits_error'] = 'ВерхнÑÑ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð° диапазона меньше нижней границы:'; -$_lang['DM_process_invalid_error'] = 'ÐедопуÑтимое значение:'; -$_lang['DM_process_update_success'] = 'Изменение прошло уÑпешно.'; -$_lang['DM_process_update_error'] = 'Изменение завершено Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°Ð¼Ð¸:'; -$_lang['DM_process_back'] = 'Ðазад'; - -//-- manager access logging -$_lang['DM_log_template'] = 'Менеджер реÑурÑов: шаблоны изменены.'; -$_lang['DM_log_templatevariables'] = 'Менеджер реÑурÑов: параметры (TV) изменены.'; -$_lang['DM_log_docpermissions'] = 'Менеджер реÑурÑов: права на реÑурÑÑ‹ изменены.'; -$_lang['DM_log_sortmenu'] = 'Менеджер реÑурÑов: изменение индекÑов пунктов меню завершено.'; -$_lang['DM_log_publish'] = 'Менеджер реÑурÑов: ÑвойÑтво реÑурÑов "Опубликовать / Отменить публикацию" изменено.'; -$_lang['DM_log_hidemenu'] = 'Менеджер реÑурÑов: ÑвойÑтво реÑурÑов "Показывать / Ðе показывать в меню" изменено.'; -$_lang['DM_log_search'] = 'Менеджер реÑурÑов: ÑвойÑтво реÑурÑов "Разрешить / Запретить поиÑк в Ñодержимом" изменено.'; -$_lang['DM_log_cache'] = 'Менеджер реÑурÑов: ÑвойÑтво реÑурÑов "КÑшировать / Ðе кÑшировать" изменено.'; -$_lang['DM_log_richtext'] = 'Менеджер реÑурÑов: ÑвойÑтво реÑурÑов "ИÑпользовать / Ðе иÑпользовать HTML-редактор" изменено.'; -$_lang['DM_log_delete'] = 'Менеджер реÑурÑов: удаление / отмена ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÑˆÐ»Ð° уÑпешно.'; -$_lang['DM_log_dates'] = 'Менеджер реÑурÑов: даты реÑурÑов изменены.'; -$_lang['DM_log_authors'] = 'Менеджер реÑурÑов: авторы реÑурÑов изменены.'; - +<?php +/** + * Document Manager Module - language strings for use in the module + * + * Filename: assets/modules/docmanager/lang/russian-UTF8.inc.php + * Language: Russian + * Encoding: UTF8 + * Translated by: Jaroslav Sidorkin + * Date: 28 April 2010 + * Version: 1.0.1 + */ + +//-- RUSSIAN LANGUAGE FILE + +//-- titles +$_lang['DM_module_title'] = 'Менеджер реÑурÑов'; +$_lang['DM_action_title'] = 'Выберите дейÑтвие'; +$_lang['DM_range_title'] = 'Укажите диапазон ID реÑурÑов'; +$_lang['DM_tree_title'] = 'Выберите реÑурÑÑ‹ из дерева'; +$_lang['DM_update_title'] = 'Обновление завершено'; +$_lang['DM_sort_title'] = 'Редактор индекÑов меню'; + +//-- tabs +$_lang['DM_doc_permissions'] = 'Изменить права на реÑурÑÑ‹'; +$_lang['DM_template_variables'] = 'Изменить параметры (TV)'; +$_lang['DM_sort_menu'] = 'Сортировать пункты меню'; +$_lang['DM_change_template'] = 'Изменить шаблон'; +$_lang['DM_publish'] = 'Публиковать / Отменить публикацию'; +$_lang['DM_other'] = 'Другие ÑвойÑтва'; + +//-- buttons +$_lang['DM_close'] = 'Закрыть менеджер реÑурÑов'; +$_lang['DM_cancel'] = 'Ðазад'; +$_lang['DM_go'] = 'Вперед'; +$_lang['DM_save'] = 'Сохранить'; +$_lang['DM_sort_another'] = 'Сортировать другое'; + +//-- templates tab +$_lang['DM_tpl_desc'] = 'Выберите в таблице шаблон, который вы хотите уÑтановить, и укажите ID реÑурÑов, которым вы хотите назначить выбранный шаблон. Можно указать диапазон ID или выбрать из дерева.'; +$_lang['DM_tpl_no_templates'] = 'Шаблоны не найдены'; +$_lang['DM_tpl_column_id'] = 'ID'; +$_lang['DM_tpl_column_name'] = 'Ðазвание'; +$_lang['DM_tpl_column_description'] = 'ОпиÑание'; +$_lang['DM_tpl_blank_template'] = 'ПуÑтой шаблон'; + +$_lang['DM_tpl_results_message'] = 'ЕÑли Ð’Ñ‹ хотите Ñделать еще какие-то изменениÑ, воÑпользуйтеÑÑŒ кнопкой "Ðазад". КÑш будет очищен автоматичеÑки.'; + +//-- template variables tab +$_lang['DM_tv_desc'] = 'Выберите в таблице шаблон, параметры (TV) которого вы хотите уÑтановить / изменить - будут загружены редакторы значений вÑех ÑопоÑтавленных шаблону параметров (TV) . Введите желаемые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð½ÑƒÐ¶Ð½Ñ‹Ñ… параметров (TV) и укажите через запÑтую имена тех параметров (TV), Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… изменÑть не нужно. Затем укажите ID реÑурÑов, в которых вы хотите уÑтановить указанные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² (TV). Можно задать диапазон ID реÑурÑов или выбрать из дерева.'; +$_lang['DM_tv_template_mismatch'] = 'Указанный реÑÑƒÑ€Ñ Ð½Ðµ иÑпользует выбранный шаблон.'; +$_lang['DM_tv_doc_not_found'] = 'Указанный реÑÑƒÑ€Ñ Ð½Ðµ найден в базе данных.'; +$_lang['DM_tv_no_tv'] = 'Ðет параметров (TV), ÑопоÑтавленных Ñтому шаблону.'; +$_lang['DM_tv_no_docs'] = 'Ðе выбраны реÑурÑÑ‹ Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ.'; +$_lang['DM_tv_no_template_selected'] = 'Ðе выбран шаблон.'; +$_lang['DM_tv_loading'] = 'ЗагружаютÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ (TV)...'; +$_lang['DM_tv_ignore_tv'] = 'Ðе изменÑть параметры (TV) (имена через запÑтую):'; +$_lang['DM_tv_ajax_insertbutton'] = 'Ð’Ñтавить'; + +//-- document permissions tab +$_lang['DM_doc_desc'] = 'Выберите в таблице группу реÑурÑов и желаемое дейÑтвие (добавить / иÑключить), затем укажите ID реÑурÑов, которые должны быть изменены. Можно задать диапазон ID реÑурÑов или выбрать из дерева.'; +$_lang['DM_doc_no_docs'] = 'Ðет групп реÑурÑов. (Группу реÑурÑов можно Ñоздать в разделе "Пользователи > Права (менеджеров / веб-пользователей) > Группы реÑурÑов".)'; +$_lang['DM_doc_column_id'] = 'ID'; +$_lang['DM_doc_column_name'] = 'Ðазвание группы реÑурÑов'; +$_lang['DM_doc_radio_add'] = 'Добавить в группу реÑурÑов'; +$_lang['DM_doc_radio_remove'] = 'ИÑключить из группы реÑурÑов'; + +$_lang['DM_doc_skip_message1'] = 'РеÑÑƒÑ€Ñ Ñ ID'; +$_lang['DM_doc_skip_message2'] = 'уже входит в указанную группу реÑурÑов (пропущен)'; + +//-- sort menu tab +$_lang['DM_sort_pick_item'] = 'Выберите в дереве корень Ñайта или любой контейнер, вложенные реÑурÑÑ‹ которого вы хотите отÑортировать в меню.'; +$_lang['DM_sort_updating'] = 'Идет обновление ...'; +$_lang['DM_sort_updated'] = 'Обновление уÑпешно завершено'; +$_lang['DM_sort_nochildren'] = 'Выбранный корневой Ñлемент не Ñодержит вложенных реÑурÑов.'; +$_lang['DM_sort_noid'] = 'Ðе выбраны реÑурÑÑ‹ Ð´Ð»Ñ Ñортировки пунктов меню. ПожалуйÑта, нажмите "Ðазад" Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° реÑурÑов.'; + +//-- other tab +$_lang['DM_other_header'] = 'Различные ÑвойÑтва реÑурÑов'; +$_lang['DM_misc_label'] = 'ДоÑтупные ÑвойÑтва:'; +$_lang['DM_misc_desc'] = 'Выберите ÑвойÑтво реÑурÑа из выпадающего ÑпиÑка и укажите его желаемое значение. За одну операцию можно изменить только одно ÑвойÑтво.'; + +$_lang['DM_other_dropdown_publish'] = 'Опубликовать / Отменить публикацию'; +$_lang['DM_other_dropdown_show'] = 'Показывать / Ðе показывать в меню'; +$_lang['DM_other_dropdown_search'] = 'Разрешить / Запретить поиÑк в Ñодержимом'; +$_lang['DM_other_dropdown_cache'] = 'КÑшировать / Ðе кÑшировать'; +$_lang['DM_other_dropdown_richtext'] = 'ИÑпользовать / Ðе иÑпользовать HTML-редактор'; +$_lang['DM_other_dropdown_delete'] = 'Удалить / Отменить удаление'; + +//-- radio button text +$_lang['DM_other_publish_radio1'] = 'Опубликовать'; +$_lang['DM_other_publish_radio2'] = 'Отменить публикацию'; +$_lang['DM_other_show_radio1'] = 'Ðе показывать в меню'; +$_lang['DM_other_show_radio2'] = 'Показывать в меню'; +$_lang['DM_other_search_radio1'] = 'Разрешить поиÑк'; +$_lang['DM_other_search_radio2'] = 'Запретить поиÑк'; +$_lang['DM_other_cache_radio1'] = 'КÑшировать'; +$_lang['DM_other_cache_radio2'] = 'Ðе кÑшировать'; +$_lang['DM_other_richtext_radio1'] = 'ИÑпользовать HTML-редактор'; +$_lang['DM_other_richtext_radio2'] = 'Ðе иÑпользовать HTML-редактор'; +$_lang['DM_other_delete_radio1'] = 'Удалить'; +$_lang['DM_other_delete_radio2'] = 'Отменить удаление'; + +//-- adjust dates +$_lang['DM_adjust_dates_header'] = 'УÑтановить даты реÑурÑов'; +$_lang['DM_adjust_dates_desc'] = 'Можно изменить любые даты из перечиÑленных ниже. ИÑпользуйте "Календарь" Ð´Ð»Ñ ÑƒÑтановки дат.'; +$_lang['DM_view_calendar'] = 'Календарь'; +$_lang['DM_clear_date'] = 'ОчиÑтить дату'; + +//-- adjust authors +$_lang['DM_adjust_authors_header'] = 'УÑтановить Ðвторов / Редакторов'; +$_lang['DM_adjust_authors_desc'] = 'Выберите новых авторов / редакторов реÑурÑа из выпадающих ÑпиÑков.'; +$_lang['DM_adjust_authors_createdby'] = 'РеÑÑƒÑ€Ñ Ñоздан:'; +$_lang['DM_adjust_authors_editedby'] = 'РеÑÑƒÑ€Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½:'; +$_lang['DM_adjust_authors_noselection'] = 'Ðе изменÑть'; + + //-- labels +$_lang['DM_date_pubdate'] = 'Дата публикации:'; +$_lang['DM_date_unpubdate'] = 'Дата отмены публикации:'; +$_lang['DM_date_createdon'] = 'Дата ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ€ÐµÑурÑа:'; +$_lang['DM_date_editedon'] = 'Дата поÑледнего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€ÐµÑурÑа:'; +//$_lang['DM_date_deletedon'] = 'Дата ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñ€ÐµÑурÑа'; + +$_lang['DM_date_notset'] = ' (не уÑтановлена)'; +//deprecated +$_lang['DM_date_dateselect_label'] = 'Выберите дату: '; + +//-- document select section +$_lang['DM_select_submit'] = 'Отправить'; +$_lang['DM_select_range'] = 'ВернутьÑÑ Ñƒ выбору диапазона ID реÑурÑов'; +$_lang['DM_select_range_text'] = '<p><b>Можно иÑпользовать Ñледующий ÑинтакÑÐ¸Ñ Ð¿Ñ€Ð¸ задании диапазона (вмеÑто "n" указывайте чиÑло ID реÑурÑа):</b></p> +<ul> + <li><b>n*</b> - изменить ÑвойÑтва реÑурÑа Ñ ID=n и непоÑредÑтвенных дочерних реÑурÑов;</li> + <li><b>n**</b> - изменить ÑвойÑтва реÑурÑа Ñ ID=n и ВСЕХ его дочерних реÑурÑов;</li> + <li><b>n-n2</b> - изменить ÑвойÑтва Ð´Ð»Ñ Ð²Ñех реÑурÑов, ID которых находÑÑ‚ÑÑ Ð² указанном диапазоне;</li> + <li><b>n</b> - изменить ÑвойÑтва Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ реÑурÑа Ñ ID=n;</li> + <li><b>n*,n**,n-n2,n</b> - можно Ñразу указать неÑколько диапазонов, разделÑÑ Ð¸Ñ… запÑтыми.</li> +</ul><br /><p><b>Пример:</b> 1*,4**,2-20,25 - будут изменены ÑвойÑтва Ð´Ð»Ñ Ñ€ÐµÑурÑа Ñ ID=1 и его непоÑредÑтвенных дочерних реÑурÑов, реÑурÑа Ñ ID=4 и вÑех его дочерних реÑурÑов, реÑурÑов Ñ ID в диапазоне от 2 до 20, и реÑурÑа Ñ ID=25.</p>'; +$_lang['DM_select_tree'] = 'ПроÑмотреть и выбрать реÑурÑÑ‹ в дереве'; + +//-- process tree/range messages +$_lang['DM_process_noselection'] = 'Ðичего не выбрано. '; +$_lang['DM_process_novalues'] = 'Ðикаких значений не задано.'; +$_lang['DM_process_limits_error'] = 'ВерхнÑÑ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð° диапазона меньше нижней границы:'; +$_lang['DM_process_invalid_error'] = 'ÐедопуÑтимое значение:'; +$_lang['DM_process_update_success'] = 'Изменение прошло уÑпешно.'; +$_lang['DM_process_update_error'] = 'Изменение завершено Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°Ð¼Ð¸:'; +$_lang['DM_process_back'] = 'Ðазад'; + +//-- manager access logging +$_lang['DM_log_template'] = 'Менеджер реÑурÑов: шаблоны изменены.'; +$_lang['DM_log_templatevariables'] = 'Менеджер реÑурÑов: параметры (TV) изменены.'; +$_lang['DM_log_docpermissions'] = 'Менеджер реÑурÑов: права на реÑурÑÑ‹ изменены.'; +$_lang['DM_log_sortmenu'] = 'Менеджер реÑурÑов: изменение индекÑов пунктов меню завершено.'; +$_lang['DM_log_publish'] = 'Менеджер реÑурÑов: ÑвойÑтво реÑурÑов "Опубликовать / Отменить публикацию" изменено.'; +$_lang['DM_log_hidemenu'] = 'Менеджер реÑурÑов: ÑвойÑтво реÑурÑов "Показывать / Ðе показывать в меню" изменено.'; +$_lang['DM_log_search'] = 'Менеджер реÑурÑов: ÑвойÑтво реÑурÑов "Разрешить / Запретить поиÑк в Ñодержимом" изменено.'; +$_lang['DM_log_cache'] = 'Менеджер реÑурÑов: ÑвойÑтво реÑурÑов "КÑшировать / Ðе кÑшировать" изменено.'; +$_lang['DM_log_richtext'] = 'Менеджер реÑурÑов: ÑвойÑтво реÑурÑов "ИÑпользовать / Ðе иÑпользовать HTML-редактор" изменено.'; +$_lang['DM_log_delete'] = 'Менеджер реÑурÑов: удаление / отмена ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÑˆÐ»Ð° уÑпешно.'; +$_lang['DM_log_dates'] = 'Менеджер реÑурÑов: даты реÑурÑов изменены.'; +$_lang['DM_log_authors'] = 'Менеджер реÑурÑов: авторы реÑурÑов изменены.'; + ?> \ No newline at end of file diff --git a/assets/modules/index.html b/assets/modules/index.html index fdd3791786..cfb7d0fe18 100755 --- a/assets/modules/index.html +++ b/assets/modules/index.html @@ -1,2 +1,2 @@ -<h2>Unauthorized access</h2> +<h2>Unauthorized access</h2> You're not allowed to access file folder \ No newline at end of file diff --git a/assets/plugins/index.html b/assets/plugins/index.html index fdd3791786..cfb7d0fe18 100755 --- a/assets/plugins/index.html +++ b/assets/plugins/index.html @@ -1,2 +1,2 @@ -<h2>Unauthorized access</h2> +<h2>Unauthorized access</h2> You're not allowed to access file folder \ No newline at end of file diff --git a/assets/plugins/qm/css/colorbox.css b/assets/plugins/qm/css/colorbox.css index 7acb45ab52..518e8d8773 100755 --- a/assets/plugins/qm/css/colorbox.css +++ b/assets/plugins/qm/css/colorbox.css @@ -1,57 +1,57 @@ -/* - ColorBox Core Style - The following rules are the styles that are consistant between themes. - Avoid changing this area to maintain compatability with future versions of ColorBox. -*/ -#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;} -#cboxOverlay{position:fixed; width:100%; height:100%;} -#cboxMiddleLeft, #cboxBottomLeft{clear:left;} -#cboxContent{position:relative; overflow:hidden;} -#cboxLoadedContent{overflow:auto;} -#cboxLoadedContent iframe{display:block; width:100%; height:100%; border:0;} -#cboxTitle{margin:0;} -#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%;} -#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;} - -/* - Example user style - The following rules are ordered and tabbed in a way that represents the - order/nesting of the generated HTML, so that the structure easier to understand. -*/ -#cboxOverlay{background:#000;} -#colorbox{} - #cboxTopLeft{width:21px; height:21px; background:url(images/controls.png) -100px 0 no-repeat;} - #cboxTopRight{width:21px; height:21px; background:url(images/controls.png) -129px 0 no-repeat;} - #cboxBottomLeft{width:21px; height:21px; background:url(images/controls.png) -100px -29px no-repeat;} - #cboxBottomRight{width:21px; height:21px; background:url(images/controls.png) -129px -29px no-repeat;} - #cboxMiddleLeft{width:21px; background:url(images/controls.png) left top repeat-y;} - #cboxMiddleRight{width:21px; background:url(images/controls.png) right top repeat-y;} - #cboxTopCenter{height:21px; background:url(images/border.png) 0 0 repeat-x;} - #cboxBottomCenter{height:21px; background:url(images/border.png) 0 -29px repeat-x;} - #cboxContent{background:#fff;} - #cboxLoadedContent{margin-bottom:28px;} - #cboxTitle{position:absolute; bottom:3px; left:0; text-align:center; width:100%; color:#949494;} - #cboxCurrent{position:absolute; bottom:3px; left:58px; color:#949494;} - #cboxSlideshow{position:absolute; bottom:3px; right:30px; color:#0092ef;} - #cboxPrevious{position:absolute; bottom:0; left:0px; background:url(images/controls.png) -75px 0px no-repeat; width:25px; height:25px; text-indent:-9999px;} - #cboxPrevious.hover{background-position:-75px -25px;} - #cboxNext{position:absolute; bottom:0; left:27px; background:url(images/controls.png) -50px 0px no-repeat; width:25px; height:25px; text-indent:-9999px;} - #cboxNext.hover{background-position:-50px -25px;} - #cboxLoadingOverlay{background:url(images/loading_background.png) center center no-repeat;} - #cboxLoadingGraphic{background:url(images/ajax-loader.gif) center center no-repeat;} - #cboxClose{position:absolute; bottom:0; right:0; background:url(images/controls.png) -25px 0px no-repeat; width:25px; height:25px; text-indent:-9999px;} - #cboxClose.hover{background-position:-25px -25px;} - -/* - The following fixes png-transparency for IE6. - It is also necessary for png-transparency in IE7 & IE8 to avoid 'black halos' with the fade transition - - Since this method does not support CSS background-positioning, it is incompatible with CSS sprites. - Colorbox preloads navigation hover classes to account for this. - - !! Important Note: AlphaImageLoader src paths are relative to the HTML document, - while regular CSS background images are relative to the CSS document. - - => Moved to qm.inc.php for friendly url compatibility -*/ - +/* + ColorBox Core Style + The following rules are the styles that are consistant between themes. + Avoid changing this area to maintain compatability with future versions of ColorBox. +*/ +#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;} +#cboxOverlay{position:fixed; width:100%; height:100%;} +#cboxMiddleLeft, #cboxBottomLeft{clear:left;} +#cboxContent{position:relative; overflow:hidden;} +#cboxLoadedContent{overflow:auto;} +#cboxLoadedContent iframe{display:block; width:100%; height:100%; border:0;} +#cboxTitle{margin:0;} +#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%;} +#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;} + +/* + Example user style + The following rules are ordered and tabbed in a way that represents the + order/nesting of the generated HTML, so that the structure easier to understand. +*/ +#cboxOverlay{background:#000;} +#colorbox{} + #cboxTopLeft{width:21px; height:21px; background:url(images/controls.png) -100px 0 no-repeat;} + #cboxTopRight{width:21px; height:21px; background:url(images/controls.png) -129px 0 no-repeat;} + #cboxBottomLeft{width:21px; height:21px; background:url(images/controls.png) -100px -29px no-repeat;} + #cboxBottomRight{width:21px; height:21px; background:url(images/controls.png) -129px -29px no-repeat;} + #cboxMiddleLeft{width:21px; background:url(images/controls.png) left top repeat-y;} + #cboxMiddleRight{width:21px; background:url(images/controls.png) right top repeat-y;} + #cboxTopCenter{height:21px; background:url(images/border.png) 0 0 repeat-x;} + #cboxBottomCenter{height:21px; background:url(images/border.png) 0 -29px repeat-x;} + #cboxContent{background:#fff;} + #cboxLoadedContent{margin-bottom:28px;} + #cboxTitle{position:absolute; bottom:3px; left:0; text-align:center; width:100%; color:#949494;} + #cboxCurrent{position:absolute; bottom:3px; left:58px; color:#949494;} + #cboxSlideshow{position:absolute; bottom:3px; right:30px; color:#0092ef;} + #cboxPrevious{position:absolute; bottom:0; left:0px; background:url(images/controls.png) -75px 0px no-repeat; width:25px; height:25px; text-indent:-9999px;} + #cboxPrevious.hover{background-position:-75px -25px;} + #cboxNext{position:absolute; bottom:0; left:27px; background:url(images/controls.png) -50px 0px no-repeat; width:25px; height:25px; text-indent:-9999px;} + #cboxNext.hover{background-position:-50px -25px;} + #cboxLoadingOverlay{background:url(images/loading_background.png) center center no-repeat;} + #cboxLoadingGraphic{background:url(images/ajax-loader.gif) center center no-repeat;} + #cboxClose{position:absolute; bottom:0; right:0; background:url(images/controls.png) -25px 0px no-repeat; width:25px; height:25px; text-indent:-9999px;} + #cboxClose.hover{background-position:-25px -25px;} + +/* + The following fixes png-transparency for IE6. + It is also necessary for png-transparency in IE7 & IE8 to avoid 'black halos' with the fade transition + + Since this method does not support CSS background-positioning, it is incompatible with CSS sprites. + Colorbox preloads navigation hover classes to account for this. + + !! Important Note: AlphaImageLoader src paths are relative to the HTML document, + while regular CSS background images are relative to the CSS document. + + => Moved to qm.inc.php for friendly url compatibility +*/ + diff --git a/assets/plugins/qm/css/ie.css b/assets/plugins/qm/css/ie.css index e99813de24..ec20738441 100755 --- a/assets/plugins/qm/css/ie.css +++ b/assets/plugins/qm/css/ie.css @@ -1,16 +1,16 @@ -#qmEditor, #qmEditorClosed -{ - padding: 5px 3px 1px 0px; -} - -#qmEditor li -{ - margin-top: -2px; -} - -#qmEditor #qmClose -{ - padding: 7px 5px 4px 7px; - margin-bottom: 3px; - margin-top: -1px; +#qmEditor, #qmEditorClosed +{ + padding: 5px 3px 1px 0px; +} + +#qmEditor li +{ + margin-top: -2px; +} + +#qmEditor #qmClose +{ + padding: 7px 5px 4px 7px; + margin-bottom: 3px; + margin-top: -1px; } \ No newline at end of file diff --git a/assets/plugins/qm/css/ie7.css b/assets/plugins/qm/css/ie7.css old mode 100644 new mode 100755 index f2ec773ebd..22c8d1dcc3 --- a/assets/plugins/qm/css/ie7.css +++ b/assets/plugins/qm/css/ie7.css @@ -1,17 +1,17 @@ -#qmEditor, #qmEditorClosed -{ - padding: 3px 3px 1px 3px; - -} - -#qmEditor #qmClose -{ - padding: 6px 4px 5px 6px; - margin-bottom: 2px; - margin-top: -1px; -} - -#qmEditor li -{ - margin-top: -1px; -} +#qmEditor, #qmEditorClosed +{ + padding: 3px 3px 1px 3px; + +} + +#qmEditor #qmClose +{ + padding: 6px 4px 5px 6px; + margin-bottom: 2px; + margin-top: -1px; +} + +#qmEditor li +{ + margin-top: -1px; +} diff --git a/assets/plugins/qm/qm.inc.php b/assets/plugins/qm/qm.inc.php index 2477c3de11..11aa5ec651 100755 --- a/assets/plugins/qm/qm.inc.php +++ b/assets/plugins/qm/qm.inc.php @@ -1,1061 +1,1061 @@ -<?php -/** - * QuickManager+ - * - * @author Mikko Lammi, www.maagit.fi - * @license GNU General Public License (GPL), http://www.gnu.org/copyleft/gpl.html - * @version 1.5.3 updated 12/10/2010 - */ - -if(!class_exists('Qm')) { - -class Qm { - var $modx; - - //_______________________________________________________ - function Qm(&$modx, $jqpath='', $loadmanagerjq='', $loadfrontendjq='', $noconflictjq='', $loadtb='', $tbwidth='', $tbheight='', $hidefields='', $hidetabs='', $hidesections='', $addbutton='', $tpltype='', $tplid='', $custombutton='', $managerbutton='', $logout='', $autohide='', $editbuttons='', $editbclass='', $newbuttons='', $newbclass='', $tvbuttons='', $tvbclass='') { - $this->modx = $modx; - - // Get plugin parameters - $this->jqpath = $jqpath; - $this->loadmanagerjq = $loadmanagerjq; - $this->loadfrontendjq = $loadfrontendjq; - $this->noconflictjq = $noconflictjq; - $this->loadtb = $loadtb; - $this->tbwidth = $tbwidth; - $this->tbheight = $tbheight; - $this->usemm = $usemm; - $this->hidefields = $hidefields; - $this->hidetabs = $hidetabs; - $this->hidesections = $hidesections; - $this->addbutton = $addbutton; - $this->tpltype = $tpltype; - $this->tplid = $tplid; - $this->custombutton = $custombutton; - $this->managerbutton = $managerbutton; - $this->logout = $logout; - $this->autohide = $autohide; - $this->editbuttons = $editbuttons; - $this->editbclass = $editbclass; - $this->newbuttons = $newbuttons; - $this->newbclass = $newbclass; - $this->tvbuttons = $tvbuttons; - $this->tvbclass = $tvbclass; - - // Includes - include_once($this->modx->config['base_path'].'assets/plugins/qm/mcc.class.php'); - - // Run plugin - $this->Run(); - } - - //_______________________________________________________ - function Run() { - - // Include MODx manager language file - global $_lang; - - // Get manager language - $manager_language = $this->modx->config['manager_language']; - - // Individual user language setting (if set) - $query = 'SELECT setting_name, setting_value FROM '.$this->modx->getFullTableName('user_settings').' WHERE setting_name=\'manager_language\' AND user='.$_SESSION['mgrInternalKey']; - $records = $this->modx->db->query($query); - if ($this->modx->db->getRecordCount($records) > 0) { - $record = $this->modx->db->getRow($records); - $manager_language = $record['setting_value']; - } - - // Include_once the language file - if(!isset($manager_language) || !file_exists(MODX_MANAGER_PATH."includes/lang/".$manager_language.".inc.php")) { - $manager_language = "english"; // if not set, get the english language file. - } - // Include default language - include_once MODX_MANAGER_PATH."includes/lang/english.inc.php"; - - // Include user language - if($manager_language!="english" && file_exists(MODX_MANAGER_PATH."includes/lang/".$manager_language.".inc.php")) { - include_once MODX_MANAGER_PATH."includes/lang/".$manager_language.".inc.php"; - } - - // Get event - $e = &$this->modx->Event; - - // Run plugin based on event - switch ($e->name) { - - // Save document - case 'OnDocFormSave': - - // Saving process for Qm only - if(intval($_REQUEST['quickmanager']) == 1) { - - $id = $e->params['id']; - $key = $id; - - // Normal saving document procedure stops to redirect => Before redirecting secure documents and clear cache - - // Secure web documents - flag as private (code from: manager/processors/save_content.processor.php) - include $this->modx->config['base_path']."manager/includes/secure_web_documents.inc.php"; - secureWebDocument($key); - - // Secure manager documents - flag as private (code from: manager/processors/save_content.processor.php) - include $this->modx->config['base_path']."manager/includes/secure_mgr_documents.inc.php"; - secureMgrDocument($key); - - // Clear cache - $this->clearCache(); - - // Different doc to be refreshed than the one we are editing? - if (isset($_POST['qmrefresh'])) { - $id = intval($_POST['qmrefresh']); - } - - // Redirect to clearer page which refreshes parent window and closes modal box frame - $this->modx->sendRedirect($this->modx->config['base_url'].'index.php?id='.$id.'&quickmanagerclose=1', 0, 'REDIRECT_HEADER', 'HTTP/1.1 301 Moved Permanently'); - } - - break; - - // Display page in front-end - case 'OnWebPagePrerender': - - // Get document id - $docID = $this->modx->documentIdentifier; - - // Get page output - $output = &$this->modx->documentOutput; - - // Close modal box after saving (previously close.php) - if (isset($_GET['quickmanagerclose'])) { - - // Set url to refresh - $url = $this->modx->makeUrl($docID, '', '', 'full'); - - $output = ' - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="content-type" content="text/html; charset=utf-8" /> - <title> - - - - - '; - - break; - } - - // QM+ TV edit - if(intval($_GET['quickmanagertv'] == 1) && $_GET['tvname'] != '' && $this->tvbuttons == 'true') { - - $tvName = ''; - $locked = FALSE; - $access = FALSE; - $save = 0; - $imagePreview = ''; - - // Includes - $manager_path = 'manager/'; - include_once($manager_path.'includes/tmplvars.inc.php'); - include_once($manager_path.'includes/tmplvars.commands.inc.php'); - include_once($manager_path.'includes/tmplvars.format.inc.php'); - - // Get save status - if (isset($_POST['save'])) $save = intval($_POST['save']); - - // Get TV name - if (preg_match('/^([^\\"\'\(\)<>!?]+)/i', $_GET['tvname'])) $tvName = $_GET['tvname']; - - // Get TV array - $tv = $this->modx->getTemplateVar($tvName, '*', $docID); - - // Handle default TVs - switch ($tvName) { - case 'pagetitle' : $tv['type'] = 'text'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; - case 'longtitle' : $tv['type'] = 'text'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; - case 'description' : $tv['type'] = 'text'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; - case 'content' : $tv['type'] = 'richtext'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; - case 'menutitle' : $tv['type'] = 'text'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; - case 'introtext' : $tv['type'] = 'textarea'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; - } - - // Check TV access - if (!$access) { $access = $this->checkTvAccess($tv['id']); } - - // User can access TV - if ($access) { - - // Show TV form - if ($save == 0) { - - // Check is document locked? Someone else is editing the document... //$_lang['lock_msg'] - if ($this->checkLocked()) $locked = TRUE; - - // Set document locked - else $this->setLocked(1); - - // Handle RTE - if($tv['type'] == 'richtext') { - // Invoke OnRichTextEditorInit event - $eventOutput = $this->modx->invokeEvent("OnRichTextEditorInit", array('editor'=>$this->modx->config['which_editor'], 'elements'=>array('tv'.$tvName))); - - if(is_array($eventOutput)) { - $editorHtml = implode("",$eventOutput); - } - } - - // Render TV html - $tvHtml = renderFormElement($tv['type'], $tv['name'], $tv['default_text'], $tv['elements'], $tv['value']); - - // Get jQuery conflict mode - if ($this->noconflictjq == 'true') $jq_mode = '$j'; - else $jq_mode = '$'; - } - - // Save TV - else { - // Remove document locked - $this->setLocked(0); - - // Save TV - $this->saveTv($tvName); - } - - // Page output: header - $output = ' - - - - - - - - - - - '; - - // Page output: TV form - if ($save == 0) { - $output .= ' - - '; - - // Document is locked message - if ($locked) { - $output .= ' -

    '.$_lang['locked'].'

    -
    '.$_lang['lock_msg'].'
    - '; - } - - // Normal form - else { - // Image preview - if ($tv['type'] == 'image') { - $imagePreview = ' -
    - - '; - } - - $output .= ' -
    - - - - - -

    '.$tv['caption'].'

    - -
    '.$tv['description'].'
    - -
    - '.$tvHtml.' -
    - - '.$imagePreview.' - - - '.$editorHtml.' - '; - } - } - - // Page output: close modal box and refresh parent frame - else $output .= ''; - - // Page output: footer - $output .= ' - - - '; - } - - else { - $output = 'Error: Access denied.'; - } - } - - // QM+ with toolbar - else { - - if(isset($_SESSION['mgrValidated']) && $_REQUEST['z'] != 'manprev') { - - // If logout break here - if(isset($_REQUEST['logout'])) { - $this->Logout(); - break; - } - - $userID = $_SESSION['mgrInternalKey']; - //$docID = $this->modx->documentIdentifier; - $doc = $this->modx->getDocument($docID); - - // Edit button - - $editButton = ' -
  • - '.$_lang['edit_resource'].' -
  • - '; - - // Check if user has manager access to current document - $access = $this->checkAccess(); - - // Does user have permissions to edit document - if($access) $controls .= $editButton; - - if ($this->addbutton == 'true' && $access) { - // Add button - $addButton = ' -
  • - '.$_lang['create_resource_here'].' -
  • - '; - - // Does user have permissions to add document - if($this->modx->hasPermission('new_document')) $controls .= $addButton; - } - - // Custom add buttons if not empty and enough permissions - if ($this->custombutton != '') { - - // Replace [*id*] with current doc id - $this->custombutton = str_replace("[*id*]", $docID, $this->custombutton); - - // Handle [~id~] links - $this->custombutton = $this->modx->rewriteUrls($this->custombutton); - - $buttons = explode("||", $this->custombutton); // Buttons are divided by "||" - - // Custom buttons class index - $i = 0; - - // Parse buttons - foreach($buttons as $key => $field) { - $i++; - - $field = substr($field, 1, -1); // Trim "'" from beginning and from end - $buttonParams = explode("','", $field); // Button params are divided by "','" - - $buttonTitle = $buttonParams[0]; - $buttonAction = $buttonParams[1]; // Contains URL if this is not add button - $buttonParentId = $buttonParams[2]; // Is empty is this is not add button - $buttonTplId = $buttonParams[3]; - - // Button visible for all - if ($buttonParams[4] == '') { - $showButton = TRUE; - } - // Button is visible for specific user roles - else { - $showButton = FALSE; - - // Get user roles the button is visible for - $buttonRoles = explode(",", $buttonParams[4]); // Roles are divided by ',' - - // Check if user role is found - foreach($buttonRoles as $key => $field) { - if ($field == $_SESSION['mgrRole']) { - $showButton = TRUE; - } - } - } - - // Show custom button - if ($showButton) { - switch ($buttonAction) - { - case 'new': - $customButton = ' -
  • - '.$buttonTitle.' -
  • - '; - break; - - case 'link': - $customButton = ' -
  • - '.$buttonTitle.' -
  • - '; - break; - - case 'modal': - $customButton = ' -
  • - '.$buttonTitle.' -
  • - '; - break; - } - $controls .= $customButton; - } - } - } - - // Go to Manager button - if ($this->managerbutton == 'true') { - $managerButton = ' -
  • - '.$_lang['manager'].' -
  • - '; - $controls .= $managerButton; - } - - // Logout button - $logout = $this->modx->config['site_url'].'manager/index.php?a=8&quickmanager=logout&logoutid='.$docID; - $logoutButton = ' -
  • - '.$_lang['logout'].' -
  • - '; - $controls .= $logoutButton; - - // Add action buttons - $editor = ' -
    - -
    - - X - -
      -
    • - '.$controls.' -
    -
    '; - - $css = ' - - - - '; - - // Autohide toolbar? Default: true - if ($this->autohide == 'false') { - $css .= ' - - '; - } - - // Insert jQuery and ColorBox in head if needed - if ($this->loadfrontendjq == 'true') $head .= ''; - if ($this->loadtb == 'true') { - $head .= ' - - - - - - '; - } - - // Insert ColorBox jQuery definitions for QuickManager+ - $head .= ' - - '; - - // Insert QM+ css in head - $head .= $css; - - // Place QM+ head information in head, just before tag - $output = preg_replace('~()~i', $head . '\1', $output); - - // Insert editor toolbar right after tag - $output = preg_replace('~(]*>)~i', '\1' . $editor, $output); - - // Search and create edit buttons in to the content - if ($this->editbuttons == 'true' && $access) { - $output = preg_replace('//', '$2', $output); - } - - // Search and create new document buttons in to the content - if ($this->newbuttons == 'true' && $access) { - $output = preg_replace('//', '$3', $output); - } - - // Search and create new document buttons in to the content - if ($this->tvbuttons == 'true' && $access) { - // Set and get user doc groups for TV permissions - $this->docGroup = ''; - $mrgDocGroups = $_SESSION['mgrDocgroups']; - if (!empty($mrgDocGroups)) $this->docGroup = implode(",", $mrgDocGroups); - - // Create TV buttons and check TV permissions - $output = preg_replace_callback('//', array(&$this, 'createTvButtons'), $output); - } - } - } - - break; - - // Edit document in ThickBox frame (MODx manager frame) - case 'OnDocFormPrerender': - - // If there is Qm call, add control buttons and modify to edit document page - if (intval($_REQUEST['quickmanager']) == 1) { - - global $content; - - // Set template for new document, action = 4 - if(intval($_GET['a']) == 4) { - - // Custom add button - if (isset($_GET['customaddtplid'])) { - // Set template - $content['template'] = intval($_GET['customaddtplid']); - } - - // Normal add button - else { - switch ($this->tpltype) { - // Template type is parent - case 'parent': - // Get parent document id - $pid = $content['parent'] ? $content['parent'] : intval($_REQUEST['pid']); - - // Get parent document - $parent = $this->modx->getDocument($pid); - - // Set parent template - $content['template'] = $parent['template']; - - break; - - // Template is specific id - case 'id': - $content['template'] = $this->tplid; - - break; - - // Template is inherited by Inherit Selected Template plugin - case 'selected': - // Get parent document id - $pid = $content['parent'] ? $content['parent'] : intval($_REQUEST['pid']); - - // Get inheritTpl TV - $tv = $this->modx->getTemplateVar("inheritTpl", "", $pid); - - // Set template to inherit - if ($tv['value'] != '') $content['template'] = $tv['value']; - else $content['template'] = $this->modx->config['default_template']; - - break; - } - } - } - - // Manager control class - $mc = new Mcc(); - - // Hide default manager action buttons - $mc->addLine('$("#actions").hide();'); - - // Get MODx theme - $qm_theme = $this->modx->config['manager_theme']; - - // Get doc id - $doc_id = intval($_REQUEST['id']); - - // Get jQuery conflict mode - if ($this->noconflictjq == 'true') $jq_mode = '$j'; - else $jq_mode = '$'; - - // Add action buttons - $mc->addLine('var controls = "";'); - - // Modify head - $mc->head = ''; - if ($this->loadmanagerjq == 'true') $mc->head .= ''; - - // Add control button - $mc->addLine('$("body").prepend(controls);'); - - // Hide fields to from front-end editors - if ($this->hidefields != '') { - $hideFields = explode(",", $this->hidefields); - - foreach($hideFields as $key => $field) { - $mc->hideField($field); - } - } - - // Hide tabs to from front-end editors - if ($this->hidetabs != '') { - $hideTabs = explode(",", $this->hidetabs); - - foreach($hideTabs as $key => $field) { - $mc->hideTab($field); - } - } - - // Hide sections from front-end editors - if ($this->hidesections != '') { - $hideSections = explode(",", $this->hidesections); - - foreach($hideSections as $key => $field) { - $mc->hideSection($field); - } - } - - // Hidden field to verify that QM+ call exists - $hiddenFields = ''; - - // Different doc to be refreshed? - if (isset($_REQUEST['qmrefresh'])) { - $hiddenFields .= ''; - } - - // Output - $e->output($mc->Output().$hiddenFields); - } - - break; - - // Where to logout - case 'OnManagerLogout': - // Only if cancel editing the document and QuickManager is in use - if ($_REQUEST['quickmanager'] == 'logout') { - // Redirect to document id - if ($this->logout != 'manager') { - $this->modx->sendRedirect($this->modx->makeUrl($_REQUEST['logoutid']), 0, 'REDIRECT_HEADER', 'HTTP/1.1 301 Moved Permanently'); - } - } - - break; - } - } - - // Check if user has manager access permissions to current document - //_______________________________________________________ - function checkAccess() { - $access = FALSE; - - // If user is admin (role = 1) - if ($_SESSION['mgrRole'] == 1) $access = TRUE; - - else { - $docID = $this->modx->documentIdentifier; - - // Database table - $table= $this->modx->getFullTableName("document_groups"); - - // Check if current document is assigned to one or more doc groups - $sql= "SELECT id FROM {$table} WHERE document={$docID}"; - $result= $this->modx->db->query($sql); - $rowCount= $this->modx->recordCount($result); - - // If document is assigned to one or more doc groups, check access - if ($rowCount >= 1) { - - // Get document groups for current user - $mrgDocGroups = $_SESSION['mgrDocgroups']; - if (!empty($mrgDocGroups)) { - $docGroup = implode(",", $mrgDocGroups); - - // Check if user has access to current document - $sql= "SELECT id FROM {$table} WHERE document = {$docID} AND document_group IN ({$docGroup})"; - $result= $this->modx->db->query($sql); - $rowCount = $this->modx->recordCount($result); - - if ($rowCount >= 1) $access = TRUE; - } - - else $access = FALSE; - } - - else $access = TRUE; - } - - return $access; - } - - // Function from: manager/processors/cache_sync.class.processor.php - //_____________________________________________________ - function getParents($id, $path = '') { // modx:returns child's parent - global $modx; - if(empty($this->aliases)) { - $sql = "SELECT id, IF(alias='', id, alias) AS alias, parent FROM ".$modx->getFullTableName('site_content'); - $qh = $modx->db->query($sql); - if ($qh && $modx->db->getRecordCount($qh) > 0) { - while ($row = $modx->db->getRow($qh)) { - $this->aliases[$row['id']] = $row['alias']; - $this->parents[$row['id']] = $row['parent']; - } - } - } - if (isset($this->aliases[$id])) { - $path = $this->aliases[$id] . ($path != '' ? '/' : '') . $path; - return $this->getParents($this->parents[$id], $path); - } - return $path; - } - - // Create TV buttons if user has permissions to TV - //_____________________________________________________ - function createTvButtons($matches) { - - $access = FALSE; - $table = $this->modx->getFullTableName('site_tmplvar_access'); - $docID = $this->modx->documentIdentifier; - - // Get TV caption for button title - $tv = $this->modx->getTemplateVar($matches[1]); - $caption = $tv['caption']; - - // If caption is empty this must be a "build-in-tv-field" like pagetitle etc. - if ($caption == '') { - - // Allowed for all - $access = TRUE; - - // Resolve caption - $caption = $this->getDefaultTvCaption($matches[1]); - } - - // Check TV access - else { - $access = $this->checkTvAccess($tv['id']); - } - - // Return TV button link if access - if ($access && $caption != '') { - return ''.$caption.''; - } - } - - // Check user access to TV - //_____________________________________________________ - function checkTvAccess($tvId) { - $access = FALSE; - $table = $this->modx->getFullTableName('site_tmplvar_access'); - - // If user is admin (role = 1) - if ($_SESSION['mgrRole'] == 1 && !$access) { $access = TRUE; } - - // Check permission to TV, is TV in document group? - if (!$access) { - $sql = "SELECT id FROM {$table} WHERE tmplvarid = {$tvId}"; - $result = $this->modx->db->query($sql); - $rowCount = $this->modx->recordCount($result); - // TV is not in any document group - if ($rowCount == 0) { $access = TRUE; } - } - - // Check permission to TV, TV is in document group - if (!$access && $this->docGroup != '') { - $sql = "SELECT id FROM {$table} WHERE tmplvarid = {$tvId} AND documentgroup IN ({$this->docGroup})"; - $result = $this->modx->db->query($sql); - $rowCount = $this->modx->recordCount($result); - if ($rowCount >= 1) { $access = TRUE; } - } - - return $access; - } - - // Get default TV ("build-in" TVs) captions - //_____________________________________________________ - function getDefaultTvCaption($name) { - - global $_lang; - $caption = ''; - - switch ($name) { - case 'pagetitle' : $caption = $_lang['resource_title']; break; - case 'longtitle' : $caption = $_lang['long_title']; break; - case 'description' : $caption = $_lang['resource_description']; break; - case 'content' : $caption = $_lang['resource_content']; break; - case 'menutitle' : $caption = $_lang['resource_opt_menu_title']; break; - case 'introtext' : $caption = $_lang['resource_summary']; break; - } - - return $caption; - } - - // Check that a document isn't locked for editing - //_____________________________________________________ - function checkLocked() { - - $activeUsersTable = $this->modx->getFullTableName('active_users'); - $pageId = $this->modx->documentIdentifier; - $locked = TRUE; - $userId = $_SESSION['mgrInternalKey']; - - $sql = "SELECT `internalKey` - FROM {$activeUsersTable} - WHERE (`action` = 27) - AND `internalKey` != '{$userId}' - AND `id` = '{$pageId}';"; - $result = $this->modx->db->query($sql); - - if ($this->modx->db->getRecordCount($result) === 0) { - $locked = FALSE; - } - - return $locked; - } - - // Set document locked on/off - //_____________________________________________________ - function setLocked($locked) { - - $activeUsersTable = $this->modx->getFullTableName('active_users'); - $pageId = $this->modx->documentIdentifier; - $userId = $_SESSION['mgrInternalKey']; - - // Set document locked - if ($locked == 1) { - $fields = array ( - 'id' => $pageId, - 'action' => 27 - ); - } - - // Set document unlocked - else { - $fields = array ( - 'id' => 'NULL', - 'action' => 2 - ); - } - - $where = 'internalKey = "' . $userId . '"'; - - $result = $this->modx->db->update($fields, $activeUsersTable, $where); - } - - // Save TV - //_____________________________________________________ - function saveTv($tvName) { - - $tmplvarContentValuesTable = $this->modx->getFullTableName('site_tmplvar_contentvalues'); - $siteContentTable = $this->modx->getFullTableName('site_content'); - $pageId = $this->modx->documentIdentifier; - $result = null; - $time = time(); - $user = $_SESSION['mgrInternalKey']; - $tvId = isset($_POST['tvid']) ? intval($_POST['tvid']) : ''; - $tvContent = isset($_POST['tv'.$tvName]) ? $_POST['tv'.$tvName] : ''; - $tvContentTemp = ''; - - // Invoke OnBeforeDocFormSave event - $this->modx->invokeEvent('OnBeforeDocFormSave', array('mode'=>'upd', 'id'=>$pageId)); - - // Handle checkboxes and other arrays, TV to be saved must be e.g. value1||value2||value3 - if (is_array($tvContent)) { - foreach($tvContent as $key => $value) { - $tvContentTemp .= $value . '||'; - } - $tvContentTemp = substr($tvContentTemp, 0, -2); // Remove last || - $tvContent = $tvContentTemp; - } - - // Save TV - if ($tvId != '') { - // Escape TV content - $tvContent = $this->modx->db->escape($tvContent); - - $sql = "SELECT id - FROM {$tmplvarContentValuesTable} - WHERE `tmplvarid` = '{$tvId}' - AND `contentid` = '{$pageId}';"; - $result = $this->modx->db->query($sql); - - // TV exists, update TV - if($this->modx->db->getRecordCount($result)) { - - $sql = "UPDATE {$tmplvarContentValuesTable} - SET `value` = '{$tvContent}' - WHERE `tmplvarid` = '{$tvId}' - AND `contentid` = '{$pageId}';"; - } - - // TV does not exist, create new TV - else { - $sql = "INSERT INTO {$tmplvarContentValuesTable} (tmplvarid, contentid, value) - VALUES('{$tvId}', '{$pageId}', '{$tvContent}');"; - } - - // Page edited by - $this->modx->db->update(array('editedon'=>$time, 'editedby'=>$user), $siteContentTable, 'id = "' . $pageId . '"'); - } - - // Save default field, e.g. pagetitle - else { - $sql = "UPDATE {$siteContentTable} - SET - `{$tvName}` = '{$tvContent}', - `editedon` = '{$time}', - `editedby` = '{$user}' - WHERE `id` = '{$pageId}';"; - - } - - // Update TV - if($sql) { $result = $this->modx->db->query($sql); } - - // Log possible errors - if(!$result) { - $modx->logEvent(0, 0, "

    Save failed!

    SQL:
    {$sql}
    ", 'QuickManager+'); - } - - // No errors - else { - // Invoke OnDocFormSave event - $this->modx->invokeEvent('OnDocFormSave', array('mode'=>'upd', 'id'=>$pageId)); - - // Clear cache - $this->clearCache(); - } - } - - // Clear cache - //_____________________________________________________ - function clearCache() { - // Clear cache - include_once $this->modx->config['base_path']."manager/processors/cache_sync.class.processor.php"; - $sync = new synccache(); - $sync->setCachepath($this->modx->config['base_path']."assets/cache/"); - $sync->setReport(false); - $sync->emptyCache(); - } - -} -} +modx = $modx; + + // Get plugin parameters + $this->jqpath = $jqpath; + $this->loadmanagerjq = $loadmanagerjq; + $this->loadfrontendjq = $loadfrontendjq; + $this->noconflictjq = $noconflictjq; + $this->loadtb = $loadtb; + $this->tbwidth = $tbwidth; + $this->tbheight = $tbheight; + $this->usemm = $usemm; + $this->hidefields = $hidefields; + $this->hidetabs = $hidetabs; + $this->hidesections = $hidesections; + $this->addbutton = $addbutton; + $this->tpltype = $tpltype; + $this->tplid = $tplid; + $this->custombutton = $custombutton; + $this->managerbutton = $managerbutton; + $this->logout = $logout; + $this->autohide = $autohide; + $this->editbuttons = $editbuttons; + $this->editbclass = $editbclass; + $this->newbuttons = $newbuttons; + $this->newbclass = $newbclass; + $this->tvbuttons = $tvbuttons; + $this->tvbclass = $tvbclass; + + // Includes + include_once($this->modx->config['base_path'].'assets/plugins/qm/mcc.class.php'); + + // Run plugin + $this->Run(); + } + + //_______________________________________________________ + function Run() { + + // Include MODx manager language file + global $_lang; + + // Get manager language + $manager_language = $this->modx->config['manager_language']; + + // Individual user language setting (if set) + $query = 'SELECT setting_name, setting_value FROM '.$this->modx->getFullTableName('user_settings').' WHERE setting_name=\'manager_language\' AND user='.$_SESSION['mgrInternalKey']; + $records = $this->modx->db->query($query); + if ($this->modx->db->getRecordCount($records) > 0) { + $record = $this->modx->db->getRow($records); + $manager_language = $record['setting_value']; + } + + // Include_once the language file + if(!isset($manager_language) || !file_exists(MODX_MANAGER_PATH."includes/lang/".$manager_language.".inc.php")) { + $manager_language = "english"; // if not set, get the english language file. + } + // Include default language + include_once MODX_MANAGER_PATH."includes/lang/english.inc.php"; + + // Include user language + if($manager_language!="english" && file_exists(MODX_MANAGER_PATH."includes/lang/".$manager_language.".inc.php")) { + include_once MODX_MANAGER_PATH."includes/lang/".$manager_language.".inc.php"; + } + + // Get event + $e = &$this->modx->Event; + + // Run plugin based on event + switch ($e->name) { + + // Save document + case 'OnDocFormSave': + + // Saving process for Qm only + if(intval($_REQUEST['quickmanager']) == 1) { + + $id = $e->params['id']; + $key = $id; + + // Normal saving document procedure stops to redirect => Before redirecting secure documents and clear cache + + // Secure web documents - flag as private (code from: manager/processors/save_content.processor.php) + include $this->modx->config['base_path']."manager/includes/secure_web_documents.inc.php"; + secureWebDocument($key); + + // Secure manager documents - flag as private (code from: manager/processors/save_content.processor.php) + include $this->modx->config['base_path']."manager/includes/secure_mgr_documents.inc.php"; + secureMgrDocument($key); + + // Clear cache + $this->clearCache(); + + // Different doc to be refreshed than the one we are editing? + if (isset($_POST['qmrefresh'])) { + $id = intval($_POST['qmrefresh']); + } + + // Redirect to clearer page which refreshes parent window and closes modal box frame + $this->modx->sendRedirect($this->modx->config['base_url'].'index.php?id='.$id.'&quickmanagerclose=1', 0, 'REDIRECT_HEADER', 'HTTP/1.1 301 Moved Permanently'); + } + + break; + + // Display page in front-end + case 'OnWebPagePrerender': + + // Get document id + $docID = $this->modx->documentIdentifier; + + // Get page output + $output = &$this->modx->documentOutput; + + // Close modal box after saving (previously close.php) + if (isset($_GET['quickmanagerclose'])) { + + // Set url to refresh + $url = $this->modx->makeUrl($docID, '', '', 'full'); + + $output = ' + + + + + + + + + + '; + + break; + } + + // QM+ TV edit + if(intval($_GET['quickmanagertv'] == 1) && $_GET['tvname'] != '' && $this->tvbuttons == 'true') { + + $tvName = ''; + $locked = FALSE; + $access = FALSE; + $save = 0; + $imagePreview = ''; + + // Includes + $manager_path = 'manager/'; + include_once($manager_path.'includes/tmplvars.inc.php'); + include_once($manager_path.'includes/tmplvars.commands.inc.php'); + include_once($manager_path.'includes/tmplvars.format.inc.php'); + + // Get save status + if (isset($_POST['save'])) $save = intval($_POST['save']); + + // Get TV name + if (preg_match('/^([^\\"\'\(\)<>!?]+)/i', $_GET['tvname'])) $tvName = $_GET['tvname']; + + // Get TV array + $tv = $this->modx->getTemplateVar($tvName, '*', $docID); + + // Handle default TVs + switch ($tvName) { + case 'pagetitle' : $tv['type'] = 'text'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; + case 'longtitle' : $tv['type'] = 'text'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; + case 'description' : $tv['type'] = 'text'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; + case 'content' : $tv['type'] = 'richtext'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; + case 'menutitle' : $tv['type'] = 'text'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; + case 'introtext' : $tv['type'] = 'textarea'; $tv['caption'] = $this->getDefaultTvCaption($tvName); $access = TRUE; break; + } + + // Check TV access + if (!$access) { $access = $this->checkTvAccess($tv['id']); } + + // User can access TV + if ($access) { + + // Show TV form + if ($save == 0) { + + // Check is document locked? Someone else is editing the document... //$_lang['lock_msg'] + if ($this->checkLocked()) $locked = TRUE; + + // Set document locked + else $this->setLocked(1); + + // Handle RTE + if($tv['type'] == 'richtext') { + // Invoke OnRichTextEditorInit event + $eventOutput = $this->modx->invokeEvent("OnRichTextEditorInit", array('editor'=>$this->modx->config['which_editor'], 'elements'=>array('tv'.$tvName))); + + if(is_array($eventOutput)) { + $editorHtml = implode("",$eventOutput); + } + } + + // Render TV html + $tvHtml = renderFormElement($tv['type'], $tv['name'], $tv['default_text'], $tv['elements'], $tv['value']); + + // Get jQuery conflict mode + if ($this->noconflictjq == 'true') $jq_mode = '$j'; + else $jq_mode = '$'; + } + + // Save TV + else { + // Remove document locked + $this->setLocked(0); + + // Save TV + $this->saveTv($tvName); + } + + // Page output: header + $output = ' + + + + + + + + + + + '; + + // Page output: TV form + if ($save == 0) { + $output .= ' + + '; + + // Document is locked message + if ($locked) { + $output .= ' +

    '.$_lang['locked'].'

    +
    '.$_lang['lock_msg'].'
    + '; + } + + // Normal form + else { + // Image preview + if ($tv['type'] == 'image') { + $imagePreview = ' +
    + + '; + } + + $output .= ' +
    + + + + + +

    '.$tv['caption'].'

    + +
    '.$tv['description'].'
    + +
    + '.$tvHtml.' +
    + + '.$imagePreview.' + + + '.$editorHtml.' + '; + } + } + + // Page output: close modal box and refresh parent frame + else $output .= ''; + + // Page output: footer + $output .= ' + + + '; + } + + else { + $output = 'Error: Access denied.'; + } + } + + // QM+ with toolbar + else { + + if(isset($_SESSION['mgrValidated']) && $_REQUEST['z'] != 'manprev') { + + // If logout break here + if(isset($_REQUEST['logout'])) { + $this->Logout(); + break; + } + + $userID = $_SESSION['mgrInternalKey']; + //$docID = $this->modx->documentIdentifier; + $doc = $this->modx->getDocument($docID); + + // Edit button + + $editButton = ' +
  • + '.$_lang['edit_resource'].' +
  • + '; + + // Check if user has manager access to current document + $access = $this->checkAccess(); + + // Does user have permissions to edit document + if($access) $controls .= $editButton; + + if ($this->addbutton == 'true' && $access) { + // Add button + $addButton = ' +
  • + '.$_lang['create_resource_here'].' +
  • + '; + + // Does user have permissions to add document + if($this->modx->hasPermission('new_document')) $controls .= $addButton; + } + + // Custom add buttons if not empty and enough permissions + if ($this->custombutton != '') { + + // Replace [*id*] with current doc id + $this->custombutton = str_replace("[*id*]", $docID, $this->custombutton); + + // Handle [~id~] links + $this->custombutton = $this->modx->rewriteUrls($this->custombutton); + + $buttons = explode("||", $this->custombutton); // Buttons are divided by "||" + + // Custom buttons class index + $i = 0; + + // Parse buttons + foreach($buttons as $key => $field) { + $i++; + + $field = substr($field, 1, -1); // Trim "'" from beginning and from end + $buttonParams = explode("','", $field); // Button params are divided by "','" + + $buttonTitle = $buttonParams[0]; + $buttonAction = $buttonParams[1]; // Contains URL if this is not add button + $buttonParentId = $buttonParams[2]; // Is empty is this is not add button + $buttonTplId = $buttonParams[3]; + + // Button visible for all + if ($buttonParams[4] == '') { + $showButton = TRUE; + } + // Button is visible for specific user roles + else { + $showButton = FALSE; + + // Get user roles the button is visible for + $buttonRoles = explode(",", $buttonParams[4]); // Roles are divided by ',' + + // Check if user role is found + foreach($buttonRoles as $key => $field) { + if ($field == $_SESSION['mgrRole']) { + $showButton = TRUE; + } + } + } + + // Show custom button + if ($showButton) { + switch ($buttonAction) + { + case 'new': + $customButton = ' +
  • + '.$buttonTitle.' +
  • + '; + break; + + case 'link': + $customButton = ' +
  • + '.$buttonTitle.' +
  • + '; + break; + + case 'modal': + $customButton = ' +
  • + '.$buttonTitle.' +
  • + '; + break; + } + $controls .= $customButton; + } + } + } + + // Go to Manager button + if ($this->managerbutton == 'true') { + $managerButton = ' +
  • + '.$_lang['manager'].' +
  • + '; + $controls .= $managerButton; + } + + // Logout button + $logout = $this->modx->config['site_url'].'manager/index.php?a=8&quickmanager=logout&logoutid='.$docID; + $logoutButton = ' +
  • + '.$_lang['logout'].' +
  • + '; + $controls .= $logoutButton; + + // Add action buttons + $editor = ' +
    + +
    + + X + +
      +
    • + '.$controls.' +
    +
    '; + + $css = ' + + + + '; + + // Autohide toolbar? Default: true + if ($this->autohide == 'false') { + $css .= ' + + '; + } + + // Insert jQuery and ColorBox in head if needed + if ($this->loadfrontendjq == 'true') $head .= ''; + if ($this->loadtb == 'true') { + $head .= ' + + + + + + '; + } + + // Insert ColorBox jQuery definitions for QuickManager+ + $head .= ' + + '; + + // Insert QM+ css in head + $head .= $css; + + // Place QM+ head information in head, just before tag + $output = preg_replace('~()~i', $head . '\1', $output); + + // Insert editor toolbar right after tag + $output = preg_replace('~(]*>)~i', '\1' . $editor, $output); + + // Search and create edit buttons in to the content + if ($this->editbuttons == 'true' && $access) { + $output = preg_replace('//', '$2', $output); + } + + // Search and create new document buttons in to the content + if ($this->newbuttons == 'true' && $access) { + $output = preg_replace('//', '$3', $output); + } + + // Search and create new document buttons in to the content + if ($this->tvbuttons == 'true' && $access) { + // Set and get user doc groups for TV permissions + $this->docGroup = ''; + $mrgDocGroups = $_SESSION['mgrDocgroups']; + if (!empty($mrgDocGroups)) $this->docGroup = implode(",", $mrgDocGroups); + + // Create TV buttons and check TV permissions + $output = preg_replace_callback('//', array(&$this, 'createTvButtons'), $output); + } + } + } + + break; + + // Edit document in ThickBox frame (MODx manager frame) + case 'OnDocFormPrerender': + + // If there is Qm call, add control buttons and modify to edit document page + if (intval($_REQUEST['quickmanager']) == 1) { + + global $content; + + // Set template for new document, action = 4 + if(intval($_GET['a']) == 4) { + + // Custom add button + if (isset($_GET['customaddtplid'])) { + // Set template + $content['template'] = intval($_GET['customaddtplid']); + } + + // Normal add button + else { + switch ($this->tpltype) { + // Template type is parent + case 'parent': + // Get parent document id + $pid = $content['parent'] ? $content['parent'] : intval($_REQUEST['pid']); + + // Get parent document + $parent = $this->modx->getDocument($pid); + + // Set parent template + $content['template'] = $parent['template']; + + break; + + // Template is specific id + case 'id': + $content['template'] = $this->tplid; + + break; + + // Template is inherited by Inherit Selected Template plugin + case 'selected': + // Get parent document id + $pid = $content['parent'] ? $content['parent'] : intval($_REQUEST['pid']); + + // Get inheritTpl TV + $tv = $this->modx->getTemplateVar("inheritTpl", "", $pid); + + // Set template to inherit + if ($tv['value'] != '') $content['template'] = $tv['value']; + else $content['template'] = $this->modx->config['default_template']; + + break; + } + } + } + + // Manager control class + $mc = new Mcc(); + + // Hide default manager action buttons + $mc->addLine('$("#actions").hide();'); + + // Get MODx theme + $qm_theme = $this->modx->config['manager_theme']; + + // Get doc id + $doc_id = intval($_REQUEST['id']); + + // Get jQuery conflict mode + if ($this->noconflictjq == 'true') $jq_mode = '$j'; + else $jq_mode = '$'; + + // Add action buttons + $mc->addLine('var controls = "";'); + + // Modify head + $mc->head = ''; + if ($this->loadmanagerjq == 'true') $mc->head .= ''; + + // Add control button + $mc->addLine('$("body").prepend(controls);'); + + // Hide fields to from front-end editors + if ($this->hidefields != '') { + $hideFields = explode(",", $this->hidefields); + + foreach($hideFields as $key => $field) { + $mc->hideField($field); + } + } + + // Hide tabs to from front-end editors + if ($this->hidetabs != '') { + $hideTabs = explode(",", $this->hidetabs); + + foreach($hideTabs as $key => $field) { + $mc->hideTab($field); + } + } + + // Hide sections from front-end editors + if ($this->hidesections != '') { + $hideSections = explode(",", $this->hidesections); + + foreach($hideSections as $key => $field) { + $mc->hideSection($field); + } + } + + // Hidden field to verify that QM+ call exists + $hiddenFields = ''; + + // Different doc to be refreshed? + if (isset($_REQUEST['qmrefresh'])) { + $hiddenFields .= ''; + } + + // Output + $e->output($mc->Output().$hiddenFields); + } + + break; + + // Where to logout + case 'OnManagerLogout': + // Only if cancel editing the document and QuickManager is in use + if ($_REQUEST['quickmanager'] == 'logout') { + // Redirect to document id + if ($this->logout != 'manager') { + $this->modx->sendRedirect($this->modx->makeUrl($_REQUEST['logoutid']), 0, 'REDIRECT_HEADER', 'HTTP/1.1 301 Moved Permanently'); + } + } + + break; + } + } + + // Check if user has manager access permissions to current document + //_______________________________________________________ + function checkAccess() { + $access = FALSE; + + // If user is admin (role = 1) + if ($_SESSION['mgrRole'] == 1) $access = TRUE; + + else { + $docID = $this->modx->documentIdentifier; + + // Database table + $table= $this->modx->getFullTableName("document_groups"); + + // Check if current document is assigned to one or more doc groups + $sql= "SELECT id FROM {$table} WHERE document={$docID}"; + $result= $this->modx->db->query($sql); + $rowCount= $this->modx->recordCount($result); + + // If document is assigned to one or more doc groups, check access + if ($rowCount >= 1) { + + // Get document groups for current user + $mrgDocGroups = $_SESSION['mgrDocgroups']; + if (!empty($mrgDocGroups)) { + $docGroup = implode(",", $mrgDocGroups); + + // Check if user has access to current document + $sql= "SELECT id FROM {$table} WHERE document = {$docID} AND document_group IN ({$docGroup})"; + $result= $this->modx->db->query($sql); + $rowCount = $this->modx->recordCount($result); + + if ($rowCount >= 1) $access = TRUE; + } + + else $access = FALSE; + } + + else $access = TRUE; + } + + return $access; + } + + // Function from: manager/processors/cache_sync.class.processor.php + //_____________________________________________________ + function getParents($id, $path = '') { // modx:returns child's parent + global $modx; + if(empty($this->aliases)) { + $sql = "SELECT id, IF(alias='', id, alias) AS alias, parent FROM ".$modx->getFullTableName('site_content'); + $qh = $modx->db->query($sql); + if ($qh && $modx->db->getRecordCount($qh) > 0) { + while ($row = $modx->db->getRow($qh)) { + $this->aliases[$row['id']] = $row['alias']; + $this->parents[$row['id']] = $row['parent']; + } + } + } + if (isset($this->aliases[$id])) { + $path = $this->aliases[$id] . ($path != '' ? '/' : '') . $path; + return $this->getParents($this->parents[$id], $path); + } + return $path; + } + + // Create TV buttons if user has permissions to TV + //_____________________________________________________ + function createTvButtons($matches) { + + $access = FALSE; + $table = $this->modx->getFullTableName('site_tmplvar_access'); + $docID = $this->modx->documentIdentifier; + + // Get TV caption for button title + $tv = $this->modx->getTemplateVar($matches[1]); + $caption = $tv['caption']; + + // If caption is empty this must be a "build-in-tv-field" like pagetitle etc. + if ($caption == '') { + + // Allowed for all + $access = TRUE; + + // Resolve caption + $caption = $this->getDefaultTvCaption($matches[1]); + } + + // Check TV access + else { + $access = $this->checkTvAccess($tv['id']); + } + + // Return TV button link if access + if ($access && $caption != '') { + return ''.$caption.''; + } + } + + // Check user access to TV + //_____________________________________________________ + function checkTvAccess($tvId) { + $access = FALSE; + $table = $this->modx->getFullTableName('site_tmplvar_access'); + + // If user is admin (role = 1) + if ($_SESSION['mgrRole'] == 1 && !$access) { $access = TRUE; } + + // Check permission to TV, is TV in document group? + if (!$access) { + $sql = "SELECT id FROM {$table} WHERE tmplvarid = {$tvId}"; + $result = $this->modx->db->query($sql); + $rowCount = $this->modx->recordCount($result); + // TV is not in any document group + if ($rowCount == 0) { $access = TRUE; } + } + + // Check permission to TV, TV is in document group + if (!$access && $this->docGroup != '') { + $sql = "SELECT id FROM {$table} WHERE tmplvarid = {$tvId} AND documentgroup IN ({$this->docGroup})"; + $result = $this->modx->db->query($sql); + $rowCount = $this->modx->recordCount($result); + if ($rowCount >= 1) { $access = TRUE; } + } + + return $access; + } + + // Get default TV ("build-in" TVs) captions + //_____________________________________________________ + function getDefaultTvCaption($name) { + + global $_lang; + $caption = ''; + + switch ($name) { + case 'pagetitle' : $caption = $_lang['resource_title']; break; + case 'longtitle' : $caption = $_lang['long_title']; break; + case 'description' : $caption = $_lang['resource_description']; break; + case 'content' : $caption = $_lang['resource_content']; break; + case 'menutitle' : $caption = $_lang['resource_opt_menu_title']; break; + case 'introtext' : $caption = $_lang['resource_summary']; break; + } + + return $caption; + } + + // Check that a document isn't locked for editing + //_____________________________________________________ + function checkLocked() { + + $activeUsersTable = $this->modx->getFullTableName('active_users'); + $pageId = $this->modx->documentIdentifier; + $locked = TRUE; + $userId = $_SESSION['mgrInternalKey']; + + $sql = "SELECT `internalKey` + FROM {$activeUsersTable} + WHERE (`action` = 27) + AND `internalKey` != '{$userId}' + AND `id` = '{$pageId}';"; + $result = $this->modx->db->query($sql); + + if ($this->modx->db->getRecordCount($result) === 0) { + $locked = FALSE; + } + + return $locked; + } + + // Set document locked on/off + //_____________________________________________________ + function setLocked($locked) { + + $activeUsersTable = $this->modx->getFullTableName('active_users'); + $pageId = $this->modx->documentIdentifier; + $userId = $_SESSION['mgrInternalKey']; + + // Set document locked + if ($locked == 1) { + $fields = array ( + 'id' => $pageId, + 'action' => 27 + ); + } + + // Set document unlocked + else { + $fields = array ( + 'id' => 'NULL', + 'action' => 2 + ); + } + + $where = 'internalKey = "' . $userId . '"'; + + $result = $this->modx->db->update($fields, $activeUsersTable, $where); + } + + // Save TV + //_____________________________________________________ + function saveTv($tvName) { + + $tmplvarContentValuesTable = $this->modx->getFullTableName('site_tmplvar_contentvalues'); + $siteContentTable = $this->modx->getFullTableName('site_content'); + $pageId = $this->modx->documentIdentifier; + $result = null; + $time = time(); + $user = $_SESSION['mgrInternalKey']; + $tvId = isset($_POST['tvid']) ? intval($_POST['tvid']) : ''; + $tvContent = isset($_POST['tv'.$tvName]) ? $_POST['tv'.$tvName] : ''; + $tvContentTemp = ''; + + // Invoke OnBeforeDocFormSave event + $this->modx->invokeEvent('OnBeforeDocFormSave', array('mode'=>'upd', 'id'=>$pageId)); + + // Handle checkboxes and other arrays, TV to be saved must be e.g. value1||value2||value3 + if (is_array($tvContent)) { + foreach($tvContent as $key => $value) { + $tvContentTemp .= $value . '||'; + } + $tvContentTemp = substr($tvContentTemp, 0, -2); // Remove last || + $tvContent = $tvContentTemp; + } + + // Save TV + if ($tvId != '') { + // Escape TV content + $tvContent = $this->modx->db->escape($tvContent); + + $sql = "SELECT id + FROM {$tmplvarContentValuesTable} + WHERE `tmplvarid` = '{$tvId}' + AND `contentid` = '{$pageId}';"; + $result = $this->modx->db->query($sql); + + // TV exists, update TV + if($this->modx->db->getRecordCount($result)) { + + $sql = "UPDATE {$tmplvarContentValuesTable} + SET `value` = '{$tvContent}' + WHERE `tmplvarid` = '{$tvId}' + AND `contentid` = '{$pageId}';"; + } + + // TV does not exist, create new TV + else { + $sql = "INSERT INTO {$tmplvarContentValuesTable} (tmplvarid, contentid, value) + VALUES('{$tvId}', '{$pageId}', '{$tvContent}');"; + } + + // Page edited by + $this->modx->db->update(array('editedon'=>$time, 'editedby'=>$user), $siteContentTable, 'id = "' . $pageId . '"'); + } + + // Save default field, e.g. pagetitle + else { + $sql = "UPDATE {$siteContentTable} + SET + `{$tvName}` = '{$tvContent}', + `editedon` = '{$time}', + `editedby` = '{$user}' + WHERE `id` = '{$pageId}';"; + + } + + // Update TV + if($sql) { $result = $this->modx->db->query($sql); } + + // Log possible errors + if(!$result) { + $modx->logEvent(0, 0, "

    Save failed!

    SQL:
    {$sql}
    ", 'QuickManager+'); + } + + // No errors + else { + // Invoke OnDocFormSave event + $this->modx->invokeEvent('OnDocFormSave', array('mode'=>'upd', 'id'=>$pageId)); + + // Clear cache + $this->clearCache(); + } + } + + // Clear cache + //_____________________________________________________ + function clearCache() { + // Clear cache + include_once $this->modx->config['base_path']."manager/processors/cache_sync.class.processor.php"; + $sync = new synccache(); + $sync->setCachepath($this->modx->config['base_path']."assets/cache/"); + $sync->setReport(false); + $sync->emptyCache(); + } + +} +} ?> \ No newline at end of file diff --git a/assets/plugins/qm/readme.html b/assets/plugins/qm/readme.html index 27ed4c2394..bbb3e2fdfa 100755 --- a/assets/plugins/qm/readme.html +++ b/assets/plugins/qm/readme.html @@ -1,854 +1,854 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - QuickManager+ -

    QuickManager+

    - -@author Mikko Lammi, www.maagit.fi/quickmanager-plus
    - -@license GNU General Public -License (GPL v3), www.gnu.org/copyleft/gpl.html
    - -@version 1.5.3 updated 12/10/2010
    - -@requirements MODx 1.0.0+ -              - 
    - -

    Description

    - -QuickManager+ enables front-end content editing.
    -

    Installation

    - -If this is an update from earlier version delete first your old -QuickManager+ plugin and all files at "assets/plugins/qm/".
    - -

    1. Extract all files from package to site root.

    - -NOTICE: If you are using Mac OS X don't extract files to the site root or you will overwrite your whole assets folder.
    - -

    -2. Create plugin with

    - -
      - -
    • Name: QuickManager+
    • -
    • Description: <strong>1.5.2</strong> Enables front-end -content editing
      -
    • -
    - -

    3. Copy paste plugin code:

    -
          SQL: $query -
          SQL: $query +
          [Copy SQL to ClipBoard]
     
    PHP error debug
     
    PHP error debug
      Error: $text 
      Error type/ Nr.: " . $errortype[$nr] . " - $nr " . $errortype[$nr] . " - $nr 
      File:
     
    Basic info
      REQUEST_URI: $request_uri
      ID: " . $this->documentIdentifier . "
      Current Snippet: ' . $this->currentSnippet . '
      Current Plugin: ' . $this->event->activePlugin . '(' . $this->event->name . ')' . '
      Referer: ' . $referer . '
      User Agent: ' . $ua . '
     
    Parser timing
     
    Parser timing
      MySQL: [^qt^]([^q^] Requests)
    - - - - - -
    /**
    - * QuickManager+
    - *
    - * @author Mikko Lammi, www.maagit.fi/quickmanager-plus
    - * @license GNU General Public License (GPL), http://www.gnu.org/copyleft/gpl.html
    - * @version 1.5.3 updated 12/10/2010    
    - */
    -
    -// In manager
    -if (isset($_SESSION['mgrValidated'])) {
    -
    -    $show = TRUE;
    -   
    -    if ($disabled  != '') {
    -        $arr = explode(",", $disabled );
    -        if (in_array($modx->documentIdentifier, $arr)) {
    -            $show = FALSE;
    -        }
    -    }
    -   
    -    if ($show) {
    -        // Replace [*#tv*] with QM+ edit TV button placeholders
    -        if ($tvbuttons == 'true') {
    -            $e = $modx->Event;
    -            if ($e->name == 'OnParseDocument') {
    -                 -$output = -&$modx->documentOutput;              -
    -                 -$output = preg_replace('~\[\*#(.*?)\*\]~', '<!-- '.$tvbclass.' $1 --->[*$1*]', $output);  
    -                 -$modx->documentOutput = $output;
    -             }   
    -         }
    -        // In manager
    -        if (isset($_SESSION['mgrValidated'])) {
    -            -include_once($modx->config['base_path'].'assets/plugins/qm/qm.inc.php');
    -            $qm -= new Qm($modx, $jqpath, $loadmanagerjq, $loadfrontendjq, -$noconflictjq, $loadtb, $tbwidth, $tbheight, $hidefields, $hidetabs, -$hidesections, $addbutton, $tpltype, $tplid, $custombutton, -$managerbutton, $logout, $autohide, $editbuttons, $editbclass, -$newbuttons, $newbclass, $tvbuttons, $tvbclass);
    -        }
    -    }
    -}
    - - -

    4. Check events:

    - -
      - -
    • OnParseDocument
      -
    • -
    • OnWebPagePrerender
    • - -
    • OnDocFormPrerender
    • -
    • OnDocFormSave
    • - -
    • OnManagerLogout 
      -
    • - -
    - -NOTICE: Make sure QuickManager+ is the first plugin on OnParseDocument -event: Elements > Manage Elements > Plugins > Edit Plugin -Execution Order by Event > OnParseDocument -

    5. Copy paste plugin default configuration:

    - - - - - - - -
    &jqpath=Path -to jQuery;text;assets/js/jquery-1.3.2.min.js &loadmanagerjq=Load -jQuery in manager;list;true,false;false &loadfrontendjq=Load jQuery -in front-end;list;true,false;true &noconflictjq=jQuery noConflict -mode in front-end;list;true,false;false &loadtb=Load modal box in -front-end;list;true,false;true &tbwidth=Modal box window -width;text;80% &tbheight=Modal box window height;text;90% -&hidefields=Hide document fields from front-end editors;text;parent -&hidetabs=Hide document tabs from front-end editors;text; -&hidesections=Hide document sections from front-end editors;text; -&addbutton=Show add document here button;list;true,false;true -&tpltype=New document template type;list;parent,id,selected;parent -&tplid=New document template id;int;3  -&custombutton=Custom buttons;textarea; &1=undefined;; -&managerbutton=Show go to manager button;list;true,false;true -&logout=Logout to;list;manager,front-end;manager -&disabled=Plugin disabled on documents;text; &autohide=Autohide -toolbar;list;true,false;true &editbuttons=Inline edit buttons;list;true,false;false &editbclass=Edit button CSS -class;text;qm-edit &newbuttons=Inline new -resource buttons;list;true,false;false &newbclass=New resource -button CSS -class;text;qm-new &tvbuttons=Inline template variable -buttons;list;true,false;false &tvbclass=Template variable button CSS -class;text;qm-tv

    -

    6. Save plugin.   
    -

    -

    + 7. Rich text editors (optional)
    -

    -If you don't need inline template variable buttons you can skip this.
    -
    -You don't need to change anything if your rich text editor version is at least:
    -- TinyMCE 3.3.6r2 for MODx
    -- CKEditor 3.3 for modx alpha 3
    - -
    Now the hardest part. To get rich text editors to work properly -with -QuickManager+ inline template variable buttons you will need to edit -the rich text editor plugin code. If you won't do this change the rich -text editors will use web theme buttons when editing richtext template -variables.
    - -
    - -TinyMCE 3.2.4.1 (MODx 1.0.2 and below):
    -
    - - -In MODx manager go to: Elements > Manage Elements > Plugins > TinyMCE
    - -
    - -Replace line:
    - -if(isset($forfrontend)||$modx->isFrontend()){
    - -
    - -With:
    - -if(isset($forfrontend)||($modx->isFrontend() -&& (intval($_GET['quickmanagertv'] != 1) && -!(isset($_SESSION['mgrValidated']))))){
    - -
    - -TinyMCE 3.3.2 (MODx 1.0.3) and 3.3.5.1 (MODX 1.0.4):
    -
    - - -In MODx manager go to: Elements > Manage Elements > Plugins > TinyMCE
    - -
    - -Replace line:
    - -if($modx->isBackend())
    - - -
    - - -With:
    - -if($modx->isBackend() || (intval($_GET['quickmanagertv']) == 1 && isset($_SESSION['mgrValidated'])))
    - - -

    Configuration

    - -Go to plugin configuration tab.
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Configuration -optionDefault -valuePossible -valuesInstructions
    Path to jQuery  assets/js/jquery-1.3.2.min.js  textPath to your jQuery script. 
    Load jQuery in -manager truetrue || falsePrevent loading jQuery twice if you are already using -some other plugin -which loads jQuery such as ManagerManager.
    Load jQuery in -front-end truetrue || false  Prevent loading jQuery twice if you are already using -it in your site -template.
    jQuery noConflict mode in front-endtruetrue || falseDefine -if jQuery should use noConflict mode. NoConflict mode is useful if you -use other JavaScript libraries in front-end such as Mootools.
    Load modal box in -front-end truetrue || false  Prevent loading the modal box JavaScript (ColorBox) twice if you are already -using -it in your site -template.
    Modal box window width80%number || percentDefine modal box (ColorBox) window width, for example: -800 or 75%.
    Modal box window height90%number || percentDefine modal box (ColorBox) window height, for example: -500 or 75%.
    Hide document fields from front-end editors parenttextSeparate fields with commas, for example: -parent,template,menuindex
    -
    -Parent selection doesn't work at all with QuickManager+ due -missing menu tree -frame, so it should be hidden from front-end editors.
    -
    -Possible fields to hide: content, pagetitle, -longtitle, menuindex, parent, description, alias, link_attributes, -introtext, template, menutitle
    -
    -NOTICE! Hiding document fields may not work if fields are moved to -other tabs with ManagerManager plugin.
    Hide document tabs from front-end -editors
    -
    textSeparate tabs with commas, for example: settings,access
    -
    -Possible tabs to hide: general, settings, access
    -
    -NOTICE! Hiding tabs may not work properly if tab -order is changed with ManagerManager plugin.
    Hide document sections from front-end -editors
    -
    textSeparate sections with commas, for example: -content,tvs
    -
    -Possible sections to hide: docsettings, content, tvs
    -
    -NOTICE! Hiding sections may not work properly if you are hiding sections -with ManagerManager plugin.
    Show add document here -button truetrue || false  Define if it's possible to add documents with -QuickManager+.
    New document template -type parentparent || id || selected How to determine a -new document template:
    -
    -- parent: Use parent document template
    -- id: Use template based on id number
    -- selected: Define template based on parent document "inheritTpl" -template variable used by "Inherit Selected Template" plugin http://modxcms.com/extras.html?view=package/view&package=214. -You don't have to install the plugin, but you still have to -have "inheritTpl" template variable on parent document with correct -template id number.
    New document template id3numberDefine which template id to use with new documents. -Used only if new -document template type is id.
    Custom buttons
    -
    textDefine custom buttons, for example add document to site -root or add news document
    -
    -- New document button: 'button title','new','parent -id','template id','visible for user role ids'
    -
    -- Link button: 'button -title','link','http://www.example.com','','visible for user role ids'
    -
    -- Modal button: 'button -title','modal','http://www.example.com','','visible for user role ids'
    -
    MODx link tag, e.g. [~23~], works for link and modal button links.
    MODx id tag [*id*] works, e.g. http://www.example.com?refererMODxPageId=[*id*]
    -Every custom button has individual CSS class, e.g. qm-custom-"index"
    -
    -Visible for user role ids: leave empty to accept all roles, role 1 = -Administrator
    -
    -Separate different buttons with ||
    -
    -Basic example:
    -'Site statistics','link','http://www.google.com/analytics/','',''
    -
    Advanced example: -
    -'New root document','new','0','3',''||'Add -news','new','10','4','4,5,6'||'For admins only','link','[~45~]','','1,4'||'Site -statistics','modal','http://www.google.com/analytics/','','1,4'
    Show go to manager -buttontruetrue || falseDefine is go to manager button visible.
    Logout tomanagermanager || front-endDefine where to logout: to manager login screen or to -active document -on front-end.
    Plugin disabled on documents
    -

    -
    textDocument id numbers where the plugin is disabled.
    -Separate fields with commas, for example: -34,22,7,19
    Autohide toolbar
    -
    true
    -
    true || falseDefine if toolbar hides automatically or is always visible (manually close the toolbar by clicking MODx logo or X button)
    -
    Inline edit buttons
    -
    false
    -
    true || falseDefine if special edit buttons are searched inside content.
    -
    -Purpose:
    -Edit any page from other page, e.g. for editing ditto listings.
    -
    -How it works:
    -- Add anywhere in to your page: <!-- "Edit button CSS class" "document id to be edited" '"Button title"' -->
    -- This will create an edit button inside your page when logged in manager
    -- For regular visitors it will be shown as a regular HTML comment visible only in the HTML source code
    -
    -Basic example:
    -- Add in to your template <!-- qm-edit 1 'Edit this' -->
    -- Creates button to edit page id 1
    -
    -Advanced example:
    -- Add in to your Ditto template chunk: <!-- qm-edit [+id+] 'Edit news item' -->
    -- Creates edit buttons for news listings etc. inside the container page
    -
    -NOTICE! Button title will fail if you use accented characters. Use HTML entities instead, for example &auml;
    -
    Edit button CSS classqm-edit
    -
    text
    -
    Default qm-edit class can be found at: assets/plugins/qm/css/style.css
    -
    -You can use your own class if you want to make your own edit button or for added security measure.
    -
    Inline new resource buttonsfalse
    -
    true || falseDefine if special new resource buttons are searched inside content.
    - -
    - -Purpose:
    - -Create any page from other page, e.g. create new news items.
    - -
    - -How it works:
    - -- Add anywhere in to your page: <!-- "New resource button CSS class" "parent id" "template id" '"Button title"' -->
    - -- This will create an new resource button inside your page when logged in manager
    - -- For regular visitors it will be shown as a regular HTML comment visible only in the HTML source code
    - -
    - -Basic example:
    - -- Add in to your template <!-- qm-new 1 3 'New news item' -->
    - -- Creates new resource button
    -- Parent id: 1 (new resource will be created under document id 1)
    -- Template id: 3 (uses template id 3)
    -- Button title: New news item
    -
    -NOTICE! Button title will fail if you use accented characters. Use HTML entities instead, for example &auml;
    -
    New resource button CSS classqm-new
    -
    text
    -
    Default qm-new class can be found at: assets/plugins/qm/css/style.css
    - -
    - -You can use your own class if you want to make your own new resource button or for added security measure.
    Inline template variable buttonsfalse
    -
    true || falseDefine if special template variable buttons are searched inside content.
    - -
    - -Purpose:
    - -Edit any template variable.
    - -
    -Editable default MODx fields:
    - pagetitle, longtitle, description, content, menutitle, introtext
    -
    - -How it works:
    - -- Add anywhere in to your page: [*#tvName*], notice the "#"
    -  OR
    - -- Add anywhere in to your page: <!-- "Template variable button CSS class" "tvName" -->
    - -- This will create a template variable button inside your page when logged in manager
    - -- For regular visitors it will be shown as a regular HTML comment visible only in the HTML source code
    - -
    - -Basic example:
    - -- Add in to your template [*#tvName*]
    - -- Creates button to edit tvName template variable (and outputs the template variable)
    - -
    - -Advanced example:
    - -- Add in to your template: <!-- qm-tv tvName -->
    - -- Creates button to edit tvName template variable
    -
    Template variable button CSS classqm-tvtext
    -
    Default qm-tv class can be found at: assets/plugins/qm/css/style.css
    - -
    - -You can use your own class if you want to make your own template variable button or for added security measure.
    - -
    - -

    How to use

    - -Just login, open frontend and enjoy!
    -

    - -Known issues -

    -
      -
    • Parent selection is hidden and doesn't work at all with QuickManager+ due -missing menu tree frame.
    • -
    -

    Special thanks

    -
      -
    • QuickManager+ is orginally based on QuickManager by Urique -Dertlian
    • -
    • Template variable editing ideas from QuickEdit by Adam Crownoble
      -
    • -
    - - -

    Changelog

    1.5.3 - 12/10/2010
    - - -
      -
    • Changed: Plugin code checks immeditally at start if user is in manager to save processing time
      -
    • -
    • Fixed: Inline template variable edit/save was causing error if "'" mark was used
      -
    • - -
    -1.5.2 - 14/09/2010
    - -
      -
    • Added: CSS classes to toolbar buttons, also li elements: qmCustom, qmManager, qmLogout
    • -
    • Changed: Inline buttons div => span, validates correctly
      -
    • -
    • Fixed: Inline template variable editing when TV type is checkbox
      -
    • -
    -1.5.1 - 02/08/2010
    -
      -
    • Added: CSS classes to toolbar buttons: qmCustom, qmManager, qmLogout
      -
    • -
    • Fixed: Updated ColorBox to 1.3.9 that solves TinyMCE image align problems with IE6 and IE7
      -
    • -
    -1.5
    - -
      -
    • Added: Inline template variable buttons!!! Edit template variables with QuickEdit style. Off by default though.
      -
    • - -
    • Added: OnParseDocument plugin event
    • -
    • Added: Image TV preview
    • -
    • Added: Preserve alias on save
    • -
    • Added: "documentDirty=false;" to cancel button to prevent unnecessary MODx manager alert message
    • -
    • Added: Custom buttons now support standard MODx [*id*] tag, e.g. http://www.example.com?refererMODxPageId=[*id*]
    • -
    • Added: Individual CSS class for every custom button, e.g. qm-custom-"index"
      -
    • - - - - - -
    • Changed: Plugin content
    • -
    • Changed: TV access routine
      -
    • -
    • Fixed: TV edit form button labels
    • -
    • Removed: close.php => now implemented with OnWebPagePrerender event to preserve alias
      -
    • - - -
    -1.4.1
    -
      -
    • Added: Individual user language check, previously QM+ used global language setting for all users
      -
    • -
    • Changed: Edit buttons in content => Inline edit buttons, New resource buttons in content => Inline new resource buttons
    • -
    • Changed: Inline edit buttons "placeholder markup" changed to: <!-- "Edit button CSS class" "document id to be edited" '"Button title"' -->
    • -
    • Fixed: Inline edit/new buttons access control
      -
    • -
    -1.4
    -
      -
    • Added: Edit buttons inside content. Edit any page from other page, e.g. for editing ditto listings.
    • -
    • Added: New resource buttons inside content. Create any page from other page, e.g. create new news item.
    • -
    • Added: Custom buttons works now with default MODx links, e.g. [~23~]
      -
    • -
    • Added: Show friendly alias after saving the document. Notice: This is still an experimental feature in is off by default.
      -
    • -
    • Changed: Multiple CSS tweaks mainly for IE
    • -
    • Changed: close.php uses now sessions instead of JavaScript cookies
      -
    • -
    • Fixed: PHP4 support fixed (Thanks yama!)
    • -
    • Fixed: Hiding tabs and sections fixed (access -tab and docsettings -section)
    • -
    • Removed: .htaccess file under qm -folder that was accidentally left there is not needed at all.
      -
    • -
    -1.3.4.1
    -
      -
    • Changed: CSS tweaks for IE, opacity now works fine with IE8 but unfortunately with IE7 ugly fonts remain (Thanks again uxello!)
    • -
    - - -1.3.4
    - -
      - -
    • Added: Autohide toolbar configuration option
    • -
    • Changed: Updated ColorBox to 1.3.6: http://colorpowered.com/colorbox/
      -
    • -
    • Changed: CSS tweaks, mainly for IE (opacity removed for IE, it breaks cleartype fonts resulting very ugly looking fonts)
    • -
    • Changed: Plugin code moved from text file to this file (Installation / 3. Copy paste plugin code)
      -
    • -
    • Fixed: -Document lock problem solved, now document lock is released when cancel -button is pressed (Thanks uxello for the solution!)
      -
    • -
    • Fixed: Toolbar is now valid XHTML 1.0 Transitional code
    • - -
    • Removed: Unnecessary $disabled variable from edit code
    • -
    • Removed: Images folder, all images are now under css > images
      -
    • - -
    - - -1.3.3
    - -
      - -
    • Added: A fallback to English if the languages are missing in the -Manager/user settings
    • -
    • Added: -Little tweaks with QuickManager action buttons: small hide/show -animations and possibilty to close the menu by clicking the MODx logo
    • -
    • Added: New option for custom buttons: modal = any link opened in -a modal box (ColorBox)
    • -
    • Changed:  Custom buttons separator is now || instead of # -(reserved for URL anchors)
    • -
    • Changed: Rounded modal box is back, finally resolved bugs -with ColorBox CSS in IE and friendly urls
    • -
    • Changed: qm-colorbox.css renamed back to colorbox.css
    • -
    • Fixed: Satinitized possible XSS vulnerabilities
    • -
    • Removed: OnManagerPageInit plugin event removed
    • -
    • Removed: IE6 support dropped, QuickManager+ is not tested with -IE6 as MODx manager doesn't offially support IE6
    • -
    - -1.3.2.1
    - -
      - -
    • Fixed: Language file loading
    • -
    - -1.3.2
    - -
      - -
    • Added: New configuration option - jQuery noConflict mode in -front-end
    • -
    • Added: Check user manager access permissions to current document -and show action buttons according to permissions
    • -
    • Added: It's now possible to hide QM+ action buttons
    • -
    • Added: Hide parent frame scrollbars and QM+ buttons when modal -box is visible (ColorBox bindings)
    • -
    • Added: Modal box can't be accidentally closed by clicking the -overlay
    • -
    • Changed: -Stylish ColorBox CSS style didn't work properly with IE and crashed too -often with Safari, had to replace it with minimalistic style for better -cross-browser compatibility
    • -
    • Changed: Updated ColorBox to version 1.3.1, includes for example -IE ClearType fix (no more ugly fonts)
    • -
    • Changed: colorbox.css renamed to qm-colorbox.css and moved to QM+ -css folder
    • -
    • Fixed: -All normal MODx manager actions including template and RTE selection -works now just fine (thank you very much Susan O. for your ideas!)
    • -
    • Fixed: Multiple small CSS fixes for IE
    • -
    • Fixed: Alias friendly logout code (thanks Mar!)
    • -
    • Fixed: Language selection a bit more robust and offer a level of -fallback
    • -
    • Removed: Use with ManagerManager -plugin  -option deprecated
    • -
    - -1.3.1
    - -
      - -
    • Added: -It's now possible to change template once. After that you can't change -the template again but of course you can press cancel button and try -again.
      -Note: ToDo: Investigate if there is a way to detect parent frame in PHP -to solve this problem
    • -
    - -1.3
    - -
      - -
    • Added: Support for MODx Evolution 1.0.0 version, better -combatibility with MODx Carbon manager theme
    • -
    • Added: Support for jQuery in noConflict mode by default
    • -
    • Added: ColorBox modal box support
    • -
    • Added: Modal box (ColorBox) window width
    • -
    • Added: Modal box (ColorBox) window height
    • -
    • Added: Possibility to add custom link buttons
    • -
    • Removed: Thickbox window max width
    • -
    • Removed: MODx versions below 1.0.0 are not supported due -manager interface changes
    • -
    • Removed: ThickBox modal box support
    • -
    - -1.2
    - -
      - -
    • Added: Plugin disabled option
    • -
    • Added: Show go to manager -button option
    • -
    • Added: Custom add buttons option
    • -
    • Added: Hide document sections from front-end -editors option
    • -
    • Added: Hide document tabs from front-end -editors option
    • -
    • Added: Dynamic ThickBox windows size adjustement, window size is -calculated without refreshing the window
    • -
    • Added: ThickBox window max width option 
    • -
    • Added: Logout to configuration option added, needs -event OnManagerLogout 
    • -
    • Fixed: Documentation changed to html file
    • -
    • Fixed: Clearer plugin folder structure
    • -
    • Fixed: Hiding templates if only one template
    • -
    • Fixed: Load jQuery in -front-end was not working properly
    • -
    • Fixed: mcc.class.php => hideTab & hideSection
    • -
    • Removed: ThickBox windows width and height options removed.
    • -
    - -1.1.1
    - -
      - -
    • Fixed: Logout function changed. Previous version had a problem -with multiple users resulting document locked issues. Now plugin logs -user nicely out to the manager login page.
    • -
    - + + + + + + + + + + + + + + + + + + + + + + + + + + QuickManager+ +

    QuickManager+

    + +@author Mikko Lammi, www.maagit.fi/quickmanager-plus
    + +@license GNU General Public +License (GPL v3), www.gnu.org/copyleft/gpl.html
    + +@version 1.5.3 updated 12/10/2010
    + +@requirements MODx 1.0.0+ +              + 
    + +

    Description

    + +QuickManager+ enables front-end content editing.
    +

    Installation

    + +If this is an update from earlier version delete first your old +QuickManager+ plugin and all files at "assets/plugins/qm/".
    + +

    1. Extract all files from package to site root.

    + +NOTICE: If you are using Mac OS X don't extract files to the site root or you will overwrite your whole assets folder.
    + +

    +2. Create plugin with

    + +
      + +
    • Name: QuickManager+
    • +
    • Description: <strong>1.5.2</strong> Enables front-end +content editing
      +
    • +
    + +

    3. Copy paste plugin code:

    + + + + + + +
    /**
    + * QuickManager+
    + *
    + * @author Mikko Lammi, www.maagit.fi/quickmanager-plus
    + * @license GNU General Public License (GPL), http://www.gnu.org/copyleft/gpl.html
    + * @version 1.5.3 updated 12/10/2010    
    + */
    +
    +// In manager
    +if (isset($_SESSION['mgrValidated'])) {
    +
    +    $show = TRUE;
    +   
    +    if ($disabled  != '') {
    +        $arr = explode(",", $disabled );
    +        if (in_array($modx->documentIdentifier, $arr)) {
    +            $show = FALSE;
    +        }
    +    }
    +   
    +    if ($show) {
    +        // Replace [*#tv*] with QM+ edit TV button placeholders
    +        if ($tvbuttons == 'true') {
    +            $e = $modx->Event;
    +            if ($e->name == 'OnParseDocument') {
    +                 +$output = +&$modx->documentOutput;              +
    +                 +$output = preg_replace('~\[\*#(.*?)\*\]~', '<!-- '.$tvbclass.' $1 +-->[*$1*]', $output);  
    +                 +$modx->documentOutput = $output;
    +             }   
    +         }
    +        // In manager
    +        if (isset($_SESSION['mgrValidated'])) {
    +            +include_once($modx->config['base_path'].'assets/plugins/qm/qm.inc.php');
    +            $qm += new Qm($modx, $jqpath, $loadmanagerjq, $loadfrontendjq, +$noconflictjq, $loadtb, $tbwidth, $tbheight, $hidefields, $hidetabs, +$hidesections, $addbutton, $tpltype, $tplid, $custombutton, +$managerbutton, $logout, $autohide, $editbuttons, $editbclass, +$newbuttons, $newbclass, $tvbuttons, $tvbclass);
    +        }
    +    }
    +}
    + + +

    4. Check events:

    + +
      + +
    • OnParseDocument
      +
    • +
    • OnWebPagePrerender
    • + +
    • OnDocFormPrerender
    • +
    • OnDocFormSave
    • + +
    • OnManagerLogout 
      +
    • + +
    + +NOTICE: Make sure QuickManager+ is the first plugin on OnParseDocument +event: Elements > Manage Elements > Plugins > Edit Plugin +Execution Order by Event > OnParseDocument +

    5. Copy paste plugin default configuration:

    + + + + + + + +
    &jqpath=Path +to jQuery;text;assets/js/jquery-1.3.2.min.js &loadmanagerjq=Load +jQuery in manager;list;true,false;false &loadfrontendjq=Load jQuery +in front-end;list;true,false;true &noconflictjq=jQuery noConflict +mode in front-end;list;true,false;false &loadtb=Load modal box in +front-end;list;true,false;true &tbwidth=Modal box window +width;text;80% &tbheight=Modal box window height;text;90% +&hidefields=Hide document fields from front-end editors;text;parent +&hidetabs=Hide document tabs from front-end editors;text; +&hidesections=Hide document sections from front-end editors;text; +&addbutton=Show add document here button;list;true,false;true +&tpltype=New document template type;list;parent,id,selected;parent +&tplid=New document template id;int;3  +&custombutton=Custom buttons;textarea; &1=undefined;; +&managerbutton=Show go to manager button;list;true,false;true +&logout=Logout to;list;manager,front-end;manager +&disabled=Plugin disabled on documents;text; &autohide=Autohide +toolbar;list;true,false;true &editbuttons=Inline edit buttons;list;true,false;false &editbclass=Edit button CSS +class;text;qm-edit &newbuttons=Inline new +resource buttons;list;true,false;false &newbclass=New resource +button CSS +class;text;qm-new &tvbuttons=Inline template variable +buttons;list;true,false;false &tvbclass=Template variable button CSS +class;text;qm-tv

    +

    6. Save plugin.   
    +

    +

    + 7. Rich text editors (optional)
    +

    +If you don't need inline template variable buttons you can skip this.
    +
    +You don't need to change anything if your rich text editor version is at least:
    +- TinyMCE 3.3.6r2 for MODx
    +- CKEditor 3.3 for modx alpha 3
    + +
    Now the hardest part. To get rich text editors to work properly +with +QuickManager+ inline template variable buttons you will need to edit +the rich text editor plugin code. If you won't do this change the rich +text editors will use web theme buttons when editing richtext template +variables.
    + +
    + +TinyMCE 3.2.4.1 (MODx 1.0.2 and below):
    +
    + + +In MODx manager go to: Elements > Manage Elements > Plugins > TinyMCE
    + +
    + +Replace line:
    + +if(isset($forfrontend)||$modx->isFrontend()){
    + +
    + +With:
    + +if(isset($forfrontend)||($modx->isFrontend() +&& (intval($_GET['quickmanagertv'] != 1) && +!(isset($_SESSION['mgrValidated']))))){
    + +
    + +TinyMCE 3.3.2 (MODx 1.0.3) and 3.3.5.1 (MODX 1.0.4):
    +
    + + +In MODx manager go to: Elements > Manage Elements > Plugins > TinyMCE
    + +
    + +Replace line:
    + +if($modx->isBackend())
    + + +
    + + +With:
    + +if($modx->isBackend() || (intval($_GET['quickmanagertv']) == 1 && isset($_SESSION['mgrValidated'])))
    + + +

    Configuration

    + +Go to plugin configuration tab.
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Configuration +optionDefault +valuePossible +valuesInstructions
    Path to jQuery  assets/js/jquery-1.3.2.min.js  textPath to your jQuery script. 
    Load jQuery in +manager truetrue || falsePrevent loading jQuery twice if you are already using +some other plugin +which loads jQuery such as ManagerManager.
    Load jQuery in +front-end truetrue || false  Prevent loading jQuery twice if you are already using +it in your site +template.
    jQuery noConflict mode in front-endtruetrue || falseDefine +if jQuery should use noConflict mode. NoConflict mode is useful if you +use other JavaScript libraries in front-end such as Mootools.
    Load modal box in +front-end truetrue || false  Prevent loading the modal box JavaScript (ColorBox) twice if you are already +using +it in your site +template.
    Modal box window width80%number || percentDefine modal box (ColorBox) window width, for example: +800 or 75%.
    Modal box window height90%number || percentDefine modal box (ColorBox) window height, for example: +500 or 75%.
    Hide document fields from front-end editors parenttextSeparate fields with commas, for example: +parent,template,menuindex
    +
    +Parent selection doesn't work at all with QuickManager+ due +missing menu tree +frame, so it should be hidden from front-end editors.
    +
    +Possible fields to hide: content, pagetitle, +longtitle, menuindex, parent, description, alias, link_attributes, +introtext, template, menutitle
    +
    +NOTICE! Hiding document fields may not work if fields are moved to +other tabs with ManagerManager plugin.
    Hide document tabs from front-end +editors
    +
    textSeparate tabs with commas, for example: settings,access
    +
    +Possible tabs to hide: general, settings, access
    +
    +NOTICE! Hiding tabs may not work properly if tab +order is changed with ManagerManager plugin.
    Hide document sections from front-end +editors
    +
    textSeparate sections with commas, for example: +content,tvs
    +
    +Possible sections to hide: docsettings, content, tvs
    +
    +NOTICE! Hiding sections may not work properly if you are hiding sections +with ManagerManager plugin.
    Show add document here +button truetrue || false  Define if it's possible to add documents with +QuickManager+.
    New document template +type parentparent || id || selected How to determine a +new document template:
    +
    +- parent: Use parent document template
    +- id: Use template based on id number
    +- selected: Define template based on parent document "inheritTpl" +template variable used by "Inherit Selected Template" plugin http://modxcms.com/extras.html?view=package/view&package=214. +You don't have to install the plugin, but you still have to +have "inheritTpl" template variable on parent document with correct +template id number.
    New document template id3numberDefine which template id to use with new documents. +Used only if new +document template type is id.
    Custom buttons
    +
    textDefine custom buttons, for example add document to site +root or add news document
    +
    +- New document button: 'button title','new','parent +id','template id','visible for user role ids'
    +
    +- Link button: 'button +title','link','http://www.example.com','','visible for user role ids'
    +
    +- Modal button: 'button +title','modal','http://www.example.com','','visible for user role ids'
    +
    MODx link tag, e.g. [~23~], works for link and modal button links.
    MODx id tag [*id*] works, e.g. http://www.example.com?refererMODxPageId=[*id*]
    +Every custom button has individual CSS class, e.g. qm-custom-"index"
    +
    +Visible for user role ids: leave empty to accept all roles, role 1 = +Administrator
    +
    +Separate different buttons with ||
    +
    +Basic example:
    +'Site statistics','link','http://www.google.com/analytics/','',''
    +
    Advanced example: +
    +'New root document','new','0','3',''||'Add +news','new','10','4','4,5,6'||'For admins only','link','[~45~]','','1,4'||'Site +statistics','modal','http://www.google.com/analytics/','','1,4'
    Show go to manager +buttontruetrue || falseDefine is go to manager button visible.
    Logout tomanagermanager || front-endDefine where to logout: to manager login screen or to +active document +on front-end.
    Plugin disabled on documents
    +

    +
    textDocument id numbers where the plugin is disabled.
    +Separate fields with commas, for example: +34,22,7,19
    Autohide toolbar
    +
    true
    +
    true || falseDefine if toolbar hides automatically or is always visible (manually close the toolbar by clicking MODx logo or X button)
    +
    Inline edit buttons
    +
    false
    +
    true || falseDefine if special edit buttons are searched inside content.
    +
    +Purpose:
    +Edit any page from other page, e.g. for editing ditto listings.
    +
    +How it works:
    +- Add anywhere in to your page: <!-- "Edit button CSS class" "document id to be edited" '"Button title"' -->
    +- This will create an edit button inside your page when logged in manager
    +- For regular visitors it will be shown as a regular HTML comment visible only in the HTML source code
    +
    +Basic example:
    +- Add in to your template <!-- qm-edit 1 'Edit this' -->
    +- Creates button to edit page id 1
    +
    +Advanced example:
    +- Add in to your Ditto template chunk: <!-- qm-edit [+id+] 'Edit news item' -->
    +- Creates edit buttons for news listings etc. inside the container page
    +
    +NOTICE! Button title will fail if you use accented characters. Use HTML entities instead, for example &auml;
    +
    Edit button CSS classqm-edit
    +
    text
    +
    Default qm-edit class can be found at: assets/plugins/qm/css/style.css
    +
    +You can use your own class if you want to make your own edit button or for added security measure.
    +
    Inline new resource buttonsfalse
    +
    true || falseDefine if special new resource buttons are searched inside content.
    + +
    + +Purpose:
    + +Create any page from other page, e.g. create new news items.
    + +
    + +How it works:
    + +- Add anywhere in to your page: <!-- "New resource button CSS class" "parent id" "template id" '"Button title"' -->
    + +- This will create an new resource button inside your page when logged in manager
    + +- For regular visitors it will be shown as a regular HTML comment visible only in the HTML source code
    + +
    + +Basic example:
    + +- Add in to your template <!-- qm-new 1 3 'New news item' -->
    + +- Creates new resource button
    +- Parent id: 1 (new resource will be created under document id 1)
    +- Template id: 3 (uses template id 3)
    +- Button title: New news item
    +
    +NOTICE! Button title will fail if you use accented characters. Use HTML entities instead, for example &auml;
    +
    New resource button CSS classqm-new
    +
    text
    +
    Default qm-new class can be found at: assets/plugins/qm/css/style.css
    + +
    + +You can use your own class if you want to make your own new resource button or for added security measure.
    Inline template variable buttonsfalse
    +
    true || falseDefine if special template variable buttons are searched inside content.
    + +
    + +Purpose:
    + +Edit any template variable.
    + +
    +Editable default MODx fields:
    + pagetitle, longtitle, description, content, menutitle, introtext
    +
    + +How it works:
    + +- Add anywhere in to your page: [*#tvName*], notice the "#"
    +  OR
    + +- Add anywhere in to your page: <!-- "Template variable button CSS class" "tvName" -->
    + +- This will create a template variable button inside your page when logged in manager
    + +- For regular visitors it will be shown as a regular HTML comment visible only in the HTML source code
    + +
    + +Basic example:
    + +- Add in to your template [*#tvName*]
    + +- Creates button to edit tvName template variable (and outputs the template variable)
    + +
    + +Advanced example:
    + +- Add in to your template: <!-- qm-tv tvName -->
    + +- Creates button to edit tvName template variable
    +
    Template variable button CSS classqm-tvtext
    +
    Default qm-tv class can be found at: assets/plugins/qm/css/style.css
    + +
    + +You can use your own class if you want to make your own template variable button or for added security measure.
    + +
    + +

    How to use

    + +Just login, open frontend and enjoy!
    +

    + +Known issues +

    +
      +
    • Parent selection is hidden and doesn't work at all with QuickManager+ due +missing menu tree frame.
    • +
    +

    Special thanks

    +
      +
    • QuickManager+ is orginally based on QuickManager by Urique +Dertlian
    • +
    • Template variable editing ideas from QuickEdit by Adam Crownoble
      +
    • +
    + + +

    Changelog

    1.5.3 - 12/10/2010
    + + +
      +
    • Changed: Plugin code checks immeditally at start if user is in manager to save processing time
      +
    • +
    • Fixed: Inline template variable edit/save was causing error if "'" mark was used
      +
    • + +
    +1.5.2 - 14/09/2010
    + +
      +
    • Added: CSS classes to toolbar buttons, also li elements: qmCustom, qmManager, qmLogout
    • +
    • Changed: Inline buttons div => span, validates correctly
      +
    • +
    • Fixed: Inline template variable editing when TV type is checkbox
      +
    • +
    +1.5.1 - 02/08/2010
    +
      +
    • Added: CSS classes to toolbar buttons: qmCustom, qmManager, qmLogout
      +
    • +
    • Fixed: Updated ColorBox to 1.3.9 that solves TinyMCE image align problems with IE6 and IE7
      +
    • +
    +1.5
    + +
      +
    • Added: Inline template variable buttons!!! Edit template variables with QuickEdit style. Off by default though.
      +
    • + +
    • Added: OnParseDocument plugin event
    • +
    • Added: Image TV preview
    • +
    • Added: Preserve alias on save
    • +
    • Added: "documentDirty=false;" to cancel button to prevent unnecessary MODx manager alert message
    • +
    • Added: Custom buttons now support standard MODx [*id*] tag, e.g. http://www.example.com?refererMODxPageId=[*id*]
    • +
    • Added: Individual CSS class for every custom button, e.g. qm-custom-"index"
      +
    • + + + + + +
    • Changed: Plugin content
    • +
    • Changed: TV access routine
      +
    • +
    • Fixed: TV edit form button labels
    • +
    • Removed: close.php => now implemented with OnWebPagePrerender event to preserve alias
      +
    • + + +
    +1.4.1
    +
      +
    • Added: Individual user language check, previously QM+ used global language setting for all users
      +
    • +
    • Changed: Edit buttons in content => Inline edit buttons, New resource buttons in content => Inline new resource buttons
    • +
    • Changed: Inline edit buttons "placeholder markup" changed to: <!-- "Edit button CSS class" "document id to be edited" '"Button title"' -->
    • +
    • Fixed: Inline edit/new buttons access control
      +
    • +
    +1.4
    +
      +
    • Added: Edit buttons inside content. Edit any page from other page, e.g. for editing ditto listings.
    • +
    • Added: New resource buttons inside content. Create any page from other page, e.g. create new news item.
    • +
    • Added: Custom buttons works now with default MODx links, e.g. [~23~]
      +
    • +
    • Added: Show friendly alias after saving the document. Notice: This is still an experimental feature in is off by default.
      +
    • +
    • Changed: Multiple CSS tweaks mainly for IE
    • +
    • Changed: close.php uses now sessions instead of JavaScript cookies
      +
    • +
    • Fixed: PHP4 support fixed (Thanks yama!)
    • +
    • Fixed: Hiding tabs and sections fixed (access -tab and docsettings -section)
    • +
    • Removed: .htaccess file under qm -folder that was accidentally left there is not needed at all.
      +
    • +
    +1.3.4.1
    +
      +
    • Changed: CSS tweaks for IE, opacity now works fine with IE8 but unfortunately with IE7 ugly fonts remain (Thanks again uxello!)
    • +
    + + +1.3.4
    + +
      + +
    • Added: Autohide toolbar configuration option
    • +
    • Changed: Updated ColorBox to 1.3.6: http://colorpowered.com/colorbox/
      +
    • +
    • Changed: CSS tweaks, mainly for IE (opacity removed for IE, it breaks cleartype fonts resulting very ugly looking fonts)
    • +
    • Changed: Plugin code moved from text file to this file (Installation / 3. Copy paste plugin code)
      +
    • +
    • Fixed: +Document lock problem solved, now document lock is released when cancel +button is pressed (Thanks uxello for the solution!)
      +
    • +
    • Fixed: Toolbar is now valid XHTML 1.0 Transitional code
    • + +
    • Removed: Unnecessary $disabled variable from edit code
    • +
    • Removed: Images folder, all images are now under css > images
      +
    • + +
    + + +1.3.3
    + +
      + +
    • Added: A fallback to English if the languages are missing in the +Manager/user settings
    • +
    • Added: +Little tweaks with QuickManager action buttons: small hide/show +animations and possibilty to close the menu by clicking the MODx logo
    • +
    • Added: New option for custom buttons: modal = any link opened in +a modal box (ColorBox)
    • +
    • Changed:  Custom buttons separator is now || instead of # +(reserved for URL anchors)
    • +
    • Changed: Rounded modal box is back, finally resolved bugs +with ColorBox CSS in IE and friendly urls
    • +
    • Changed: qm-colorbox.css renamed back to colorbox.css
    • +
    • Fixed: Satinitized possible XSS vulnerabilities
    • +
    • Removed: OnManagerPageInit plugin event removed
    • +
    • Removed: IE6 support dropped, QuickManager+ is not tested with +IE6 as MODx manager doesn't offially support IE6
    • +
    + +1.3.2.1
    + +
      + +
    • Fixed: Language file loading
    • +
    + +1.3.2
    + +
      + +
    • Added: New configuration option - jQuery noConflict mode in +front-end
    • +
    • Added: Check user manager access permissions to current document +and show action buttons according to permissions
    • +
    • Added: It's now possible to hide QM+ action buttons
    • +
    • Added: Hide parent frame scrollbars and QM+ buttons when modal +box is visible (ColorBox bindings)
    • +
    • Added: Modal box can't be accidentally closed by clicking the +overlay
    • +
    • Changed: +Stylish ColorBox CSS style didn't work properly with IE and crashed too +often with Safari, had to replace it with minimalistic style for better +cross-browser compatibility
    • +
    • Changed: Updated ColorBox to version 1.3.1, includes for example +IE ClearType fix (no more ugly fonts)
    • +
    • Changed: colorbox.css renamed to qm-colorbox.css and moved to QM+ +css folder
    • +
    • Fixed: +All normal MODx manager actions including template and RTE selection +works now just fine (thank you very much Susan O. for your ideas!)
    • +
    • Fixed: Multiple small CSS fixes for IE
    • +
    • Fixed: Alias friendly logout code (thanks Mar!)
    • +
    • Fixed: Language selection a bit more robust and offer a level of +fallback
    • +
    • Removed: Use with ManagerManager +plugin  -option deprecated
    • +
    + +1.3.1
    + +
      + +
    • Added: +It's now possible to change template once. After that you can't change +the template again but of course you can press cancel button and try +again.
      +Note: ToDo: Investigate if there is a way to detect parent frame in PHP +to solve this problem
    • +
    + +1.3
    + +
      + +
    • Added: Support for MODx Evolution 1.0.0 version, better +combatibility with MODx Carbon manager theme
    • +
    • Added: Support for jQuery in noConflict mode by default
    • +
    • Added: ColorBox modal box support
    • +
    • Added: Modal box (ColorBox) window width
    • +
    • Added: Modal box (ColorBox) window height
    • +
    • Added: Possibility to add custom link buttons
    • +
    • Removed: Thickbox window max width
    • +
    • Removed: MODx versions below 1.0.0 are not supported due +manager interface changes
    • +
    • Removed: ThickBox modal box support
    • +
    + +1.2
    + +
      + +
    • Added: Plugin disabled option
    • +
    • Added: Show go to manager +button option
    • +
    • Added: Custom add buttons option
    • +
    • Added: Hide document sections from front-end +editors option
    • +
    • Added: Hide document tabs from front-end +editors option
    • +
    • Added: Dynamic ThickBox windows size adjustement, window size is +calculated without refreshing the window
    • +
    • Added: ThickBox window max width option 
    • +
    • Added: Logout to configuration option added, needs +event OnManagerLogout 
    • +
    • Fixed: Documentation changed to html file
    • +
    • Fixed: Clearer plugin folder structure
    • +
    • Fixed: Hiding templates if only one template
    • +
    • Fixed: Load jQuery in +front-end was not working properly
    • +
    • Fixed: mcc.class.php => hideTab & hideSection
    • +
    • Removed: ThickBox windows width and height options removed.
    • +
    + +1.1.1
    + +
      + +
    • Fixed: Logout function changed. Previous version had a problem +with multiple users resulting document locked issues. Now plugin logs +user nicely out to the manager login page.
    • +
    + \ No newline at end of file diff --git a/assets/plugins/tinymce/index.html b/assets/plugins/tinymce/index.html old mode 100644 new mode 100755 index fdd3791786..cfb7d0fe18 --- a/assets/plugins/tinymce/index.html +++ b/assets/plugins/tinymce/index.html @@ -1,2 +1,2 @@ -

    Unauthorized access

    +

    Unauthorized access

    You're not allowed to access file folder \ No newline at end of file diff --git a/assets/plugins/tinymce/js/fbconfig.js b/assets/plugins/tinymce/js/fbconfig.js old mode 100644 new mode 100755 index 8bdaa2f337..b9f3deccaa --- a/assets/plugins/tinymce/js/fbconfig.js +++ b/assets/plugins/tinymce/js/fbconfig.js @@ -1,33 +1,33 @@ -document.write(''); - -var FileBrowserDialogue = { - init : function () { - // Here goes your code for setting your custom things onLoad. - }, - selectURL : function (url) { - var win = tinyMCEPopup.getWindowArg("window"); - - // insert information now - win.document.getElementById(tinyMCEPopup.getWindowArg("input")).value = url; - - if (typeof(win.ImageDialog) != 'undefined') { - // for image browsers: update image dimensions - if (win.ImageDialog.getImageData) { - win.ImageDialog.getImageData(); - } - // show preview image - if (win.ImageDialog.showPreviewImage) { - win.ImageDialog.showPreviewImage(url); - } - } - - // close popup window - tinyMCEPopup.close(); - } -} - -tinyMCEPopup.onInit.add(FileBrowserDialogue.init, FileBrowserDialogue); - -function SetUrl(fileUrl){ - top.FileBrowserDialogue.selectURL(fileUrl); +document.write(''); + +var FileBrowserDialogue = { + init : function () { + // Here goes your code for setting your custom things onLoad. + }, + selectURL : function (url) { + var win = tinyMCEPopup.getWindowArg("window"); + + // insert information now + win.document.getElementById(tinyMCEPopup.getWindowArg("input")).value = url; + + if (typeof(win.ImageDialog) != 'undefined') { + // for image browsers: update image dimensions + if (win.ImageDialog.getImageData) { + win.ImageDialog.getImageData(); + } + // show preview image + if (win.ImageDialog.showPreviewImage) { + win.ImageDialog.showPreviewImage(url); + } + } + + // close popup window + tinyMCEPopup.close(); + } +} + +tinyMCEPopup.onInit.add(FileBrowserDialogue.init, FileBrowserDialogue); + +function SetUrl(fileUrl){ + top.FileBrowserDialogue.selectURL(fileUrl); } \ No newline at end of file diff --git a/assets/plugins/tinymce/js/xconfig.js b/assets/plugins/tinymce/js/xconfig.js old mode 100644 new mode 100755 index 7b605e77d2..656ecdeb8a --- a/assets/plugins/tinymce/js/xconfig.js +++ b/assets/plugins/tinymce/js/xconfig.js @@ -1,27 +1,27 @@ -/** -This file is used by the MODx TinyMCE plugin to pass additional parameters to TinyMCE for processing. -*/ - -var mce_valid_elements = "@[id|class|style|title|dir - Copyright (C) - - 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. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css old mode 100644 new mode 100755 index 0e22834985..3fe369cb0d --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css @@ -1,5 +1,5 @@ -input.radio {border:1px none #000; background:transparent; vertical-align:middle;} -.panel_wrapper div.current {height:80px;} -#width {width:50px; vertical-align:middle;} -#width2 {width:50px; vertical-align:middle;} -#size {width:100px;} +input.radio {border:1px none #000; background:transparent; vertical-align:middle;} +.panel_wrapper div.current {height:80px;} +#width {width:50px; vertical-align:middle;} +#width2 {width:50px; vertical-align:middle;} +#size {width:100px;} diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js old mode 100644 new mode 100755 index b6cbd66c75..a60c35fc3c --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js @@ -1,43 +1,43 @@ -var AdvHRDialog = { - init : function(ed) { - var dom = ed.dom, f = document.forms[0], n = ed.selection.getNode(), w; - - w = dom.getAttrib(n, 'width'); - f.width.value = w ? parseInt(w) : (dom.getStyle('width') || ''); - f.size.value = dom.getAttrib(n, 'size') || parseInt(dom.getStyle('height')) || ''; - f.noshade.checked = !!dom.getAttrib(n, 'noshade') || !!dom.getStyle('border-width'); - selectByValue(f, 'width2', w.indexOf('%') != -1 ? '%' : 'px'); - }, - - update : function() { - var ed = tinyMCEPopup.editor, h, f = document.forms[0], st = ''; - - h = ' - - - {#advhr.advhr_desc} - - - - - - - -
    - - -
    -
    - - - - - - - - - - - - - -
    - - -
    -
    -
    - -
    - - -
    -
    - - + + + + {#advhr.advhr_desc} + + + + + + + +
    + + +
    +
    + + + + + + + + + + + + + +
    + + +
    +
    +
    + +
    + + +
    +
    + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css old mode 100644 new mode 100755 index 0a6251a696..228530f9ee --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css @@ -1,13 +1,13 @@ -#src_list, #over_list, #out_list {width:280px;} -.mceActionPanel {margin-top:7px;} -.alignPreview {border:1px solid #000; width:140px; height:140px; overflow:hidden; padding:5px;} -.checkbox {border:0;} -.panel_wrapper div.current {height:305px;} -#prev {margin:0; border:1px solid #000; width:428px; height:150px; overflow:auto;} -#align, #classlist {width:150px;} -#width, #height {vertical-align:middle; width:50px; text-align:center;} -#vspace, #hspace, #border {vertical-align:middle; width:30px; text-align:center;} -#class_list {width:180px;} -input {width: 280px;} -#constrain, #onmousemovecheck {width:auto;} -#id, #dir, #lang, #usemap, #longdesc {width:200px;} +#src_list, #over_list, #out_list {width:280px;} +.mceActionPanel {margin-top:7px;} +.alignPreview {border:1px solid #000; width:140px; height:140px; overflow:hidden; padding:5px;} +.checkbox {border:0;} +.panel_wrapper div.current {height:305px;} +#prev {margin:0; border:1px solid #000; width:428px; height:150px; overflow:auto;} +#align, #classlist {width:150px;} +#width, #height {vertical-align:middle; width:50px; text-align:center;} +#vspace, #hspace, #border {vertical-align:middle; width:30px; text-align:center;} +#class_list {width:180px;} +input {width: 280px;} +#constrain, #onmousemovecheck {width:auto;} +#id, #dir, #lang, #usemap, #longdesc {width:200px;} diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm old mode 100644 new mode 100755 index 79cff3f19f..7af5a003ac --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm @@ -1,232 +1,232 @@ - - - - {#advimage_dlg.dialog_title} - - - - - - - - - -
    - - -
    -
    -
    - {#advimage_dlg.general} - - - - - - - - - - - - - - - - - - -
    - - - - -
     
    -
    - -
    - {#advimage_dlg.preview} - -
    -
    - -
    -
    - {#advimage_dlg.tab_appearance} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - {#advimage_dlg.example_img} - Lorem ipsum, Dolor sit amet, consectetuer adipiscing loreum ipsum edipiscing elit, sed diam - nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Loreum ipsum - edipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam - erat volutpat. -
    -
    - x - px -
      - - - - -
    -
    -
    -
    - -
    -
    - {#advimage_dlg.swap_image} - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
     
    - - - - -
     
    -
    - -
    - {#advimage_dlg.misc} - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - - - - -
     
    -
    -
    -
    - -
    - - -
    -
    - - + + + + {#advimage_dlg.dialog_title} + + + + + + + + + +
    + + +
    +
    +
    + {#advimage_dlg.general} + + + + + + + + + + + + + + + + + + +
    + + + + +
     
    +
    + +
    + {#advimage_dlg.preview} + +
    +
    + +
    +
    + {#advimage_dlg.tab_appearance} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + {#advimage_dlg.example_img} + Lorem ipsum, Dolor sit amet, consectetuer adipiscing loreum ipsum edipiscing elit, sed diam + nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Loreum ipsum + edipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam + erat volutpat. +
    +
    + x + px +
      + + + + +
    +
    +
    +
    + +
    +
    + {#advimage_dlg.swap_image} + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
     
    + + + + +
     
    +
    + +
    + {#advimage_dlg.misc} + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    + + + + +
     
    +
    +
    +
    + +
    + + +
    +
    + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js old mode 100644 new mode 100755 index 3bda86a2d3..d08e46945b --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js @@ -1,443 +1,443 @@ -var ImageDialog = { - preInit : function() { - var url; - - tinyMCEPopup.requireLangPack(); - - if (url = tinyMCEPopup.getParam("external_image_list_url")) - document.write(''); - }, - - init : function(ed) { - var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, dom = ed.dom, n = ed.selection.getNode(); - - tinyMCEPopup.resizeToInnerSize(); - this.fillClassList('class_list'); - this.fillFileList('src_list', 'tinyMCEImageList'); - this.fillFileList('over_list', 'tinyMCEImageList'); - this.fillFileList('out_list', 'tinyMCEImageList'); - TinyMCE_EditableSelects.init(); - - if (n.nodeName == 'IMG') { - nl.src.value = dom.getAttrib(n, 'src'); - nl.width.value = dom.getAttrib(n, 'width'); - nl.height.value = dom.getAttrib(n, 'height'); - nl.alt.value = dom.getAttrib(n, 'alt'); - nl.title.value = dom.getAttrib(n, 'title'); - nl.vspace.value = this.getAttrib(n, 'vspace'); - nl.hspace.value = this.getAttrib(n, 'hspace'); - nl.border.value = this.getAttrib(n, 'border'); - selectByValue(f, 'align', this.getAttrib(n, 'align')); - selectByValue(f, 'class_list', dom.getAttrib(n, 'class'), true, true); - nl.style.value = dom.getAttrib(n, 'style'); - nl.id.value = dom.getAttrib(n, 'id'); - nl.dir.value = dom.getAttrib(n, 'dir'); - nl.lang.value = dom.getAttrib(n, 'lang'); - nl.usemap.value = dom.getAttrib(n, 'usemap'); - nl.longdesc.value = dom.getAttrib(n, 'longdesc'); - nl.insert.value = ed.getLang('update'); - - if (/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/.test(dom.getAttrib(n, 'onmouseover'))) - nl.onmouseoversrc.value = dom.getAttrib(n, 'onmouseover').replace(/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/, '$1'); - - if (/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/.test(dom.getAttrib(n, 'onmouseout'))) - nl.onmouseoutsrc.value = dom.getAttrib(n, 'onmouseout').replace(/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/, '$1'); - - if (ed.settings.inline_styles) { - // Move attribs to styles - if (dom.getAttrib(n, 'align')) - this.updateStyle('align'); - - if (dom.getAttrib(n, 'hspace')) - this.updateStyle('hspace'); - - if (dom.getAttrib(n, 'border')) - this.updateStyle('border'); - - if (dom.getAttrib(n, 'vspace')) - this.updateStyle('vspace'); - } - } - - // Setup browse button - document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image'); - if (isVisible('srcbrowser')) - document.getElementById('src').style.width = '260px'; - - // Setup browse button - document.getElementById('onmouseoversrccontainer').innerHTML = getBrowserHTML('overbrowser','onmouseoversrc','image','theme_advanced_image'); - if (isVisible('overbrowser')) - document.getElementById('onmouseoversrc').style.width = '260px'; - - // Setup browse button - document.getElementById('onmouseoutsrccontainer').innerHTML = getBrowserHTML('outbrowser','onmouseoutsrc','image','theme_advanced_image'); - if (isVisible('outbrowser')) - document.getElementById('onmouseoutsrc').style.width = '260px'; - - // If option enabled default contrain proportions to checked - if (ed.getParam("advimage_constrain_proportions", true)) - f.constrain.checked = true; - - // Check swap image if valid data - if (nl.onmouseoversrc.value || nl.onmouseoutsrc.value) - this.setSwapImage(true); - else - this.setSwapImage(false); - - this.changeAppearance(); - this.showPreviewImage(nl.src.value, 1); - }, - - insert : function(file, title) { - var ed = tinyMCEPopup.editor, t = this, f = document.forms[0]; - - if (f.src.value === '') { - if (ed.selection.getNode().nodeName == 'IMG') { - ed.dom.remove(ed.selection.getNode()); - ed.execCommand('mceRepaint'); - } - - tinyMCEPopup.close(); - return; - } - - if (tinyMCEPopup.getParam("accessibility_warnings", 1)) { - if (!f.alt.value) { - tinyMCEPopup.confirm(tinyMCEPopup.getLang('advimage_dlg.missing_alt'), function(s) { - if (s) - t.insertAndClose(); - }); - - return; - } - } - - t.insertAndClose(); - }, - - insertAndClose : function() { - var ed = tinyMCEPopup.editor, f = document.forms[0], nl = f.elements, v, args = {}, el; - - tinyMCEPopup.restoreSelection(); - - // Fixes crash in Safari - if (tinymce.isWebKit) - ed.getWin().focus(); - - if (!ed.settings.inline_styles) { - args = { - vspace : nl.vspace.value, - hspace : nl.hspace.value, - border : nl.border.value, - align : getSelectValue(f, 'align') - }; - } else { - // Remove deprecated values - args = { - vspace : '', - hspace : '', - border : '', - align : '' - }; - } - - tinymce.extend(args, { - src : nl.src.value, - width : nl.width.value, - height : nl.height.value, - alt : nl.alt.value, - title : nl.title.value, - 'class' : getSelectValue(f, 'class_list'), - style : nl.style.value, - id : nl.id.value, - dir : nl.dir.value, - lang : nl.lang.value, - usemap : nl.usemap.value, - longdesc : nl.longdesc.value - }); - - args.onmouseover = args.onmouseout = ''; - - if (f.onmousemovecheck.checked) { - if (nl.onmouseoversrc.value) - args.onmouseover = "this.src='" + nl.onmouseoversrc.value + "';"; - - if (nl.onmouseoutsrc.value) - args.onmouseout = "this.src='" + nl.onmouseoutsrc.value + "';"; - } - - el = ed.selection.getNode(); - - if (el && el.nodeName == 'IMG') { - ed.dom.setAttribs(el, args); - } else { - ed.execCommand('mceInsertContent', false, '', {skip_undo : 1}); - ed.dom.setAttribs('__mce_tmp', args); - ed.dom.setAttrib('__mce_tmp', 'id', ''); - ed.undoManager.add(); - } - - tinyMCEPopup.close(); - }, - - getAttrib : function(e, at) { - var ed = tinyMCEPopup.editor, dom = ed.dom, v, v2; - - if (ed.settings.inline_styles) { - switch (at) { - case 'align': - if (v = dom.getStyle(e, 'float')) - return v; - - if (v = dom.getStyle(e, 'vertical-align')) - return v; - - break; - - case 'hspace': - v = dom.getStyle(e, 'margin-left') - v2 = dom.getStyle(e, 'margin-right'); - - if (v && v == v2) - return parseInt(v.replace(/[^0-9]/g, '')); - - break; - - case 'vspace': - v = dom.getStyle(e, 'margin-top') - v2 = dom.getStyle(e, 'margin-bottom'); - if (v && v == v2) - return parseInt(v.replace(/[^0-9]/g, '')); - - break; - - case 'border': - v = 0; - - tinymce.each(['top', 'right', 'bottom', 'left'], function(sv) { - sv = dom.getStyle(e, 'border-' + sv + '-width'); - - // False or not the same as prev - if (!sv || (sv != v && v !== 0)) { - v = 0; - return false; - } - - if (sv) - v = sv; - }); - - if (v) - return parseInt(v.replace(/[^0-9]/g, '')); - - break; - } - } - - if (v = dom.getAttrib(e, at)) - return v; - - return ''; - }, - - setSwapImage : function(st) { - var f = document.forms[0]; - - f.onmousemovecheck.checked = st; - setBrowserDisabled('overbrowser', !st); - setBrowserDisabled('outbrowser', !st); - - if (f.over_list) - f.over_list.disabled = !st; - - if (f.out_list) - f.out_list.disabled = !st; - - f.onmouseoversrc.disabled = !st; - f.onmouseoutsrc.disabled = !st; - }, - - fillClassList : function(id) { - var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; - - if (v = tinyMCEPopup.getParam('theme_advanced_styles')) { - cl = []; - - tinymce.each(v.split(';'), function(v) { - var p = v.split('='); - - cl.push({'title' : p[0], 'class' : p[1]}); - }); - } else - cl = tinyMCEPopup.editor.dom.getClasses(); - - if (cl.length > 0) { - lst.options.length = 0; - lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), ''); - - tinymce.each(cl, function(o) { - lst.options[lst.options.length] = new Option(o.title || o['class'], o['class']); - }); - } else - dom.remove(dom.getParent(id, 'tr')); - }, - - fillFileList : function(id, l) { - var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; - - l = window[l]; - lst.options.length = 0; - - if (l && l.length > 0) { - lst.options[lst.options.length] = new Option('', ''); - - tinymce.each(l, function(o) { - lst.options[lst.options.length] = new Option(o[0], o[1]); - }); - } else - dom.remove(dom.getParent(id, 'tr')); - }, - - resetImageData : function() { - var f = document.forms[0]; - - f.elements.width.value = f.elements.height.value = ''; - }, - - updateImageData : function(img, st) { - var f = document.forms[0]; - - if (!st) { - f.elements.width.value = img.width; - f.elements.height.value = img.height; - } - - this.preloadImg = img; - }, - - changeAppearance : function() { - var ed = tinyMCEPopup.editor, f = document.forms[0], img = document.getElementById('alignSampleImg'); - - if (img) { - if (ed.getParam('inline_styles')) { - ed.dom.setAttrib(img, 'style', f.style.value); - } else { - img.align = f.align.value; - img.border = f.border.value; - img.hspace = f.hspace.value; - img.vspace = f.vspace.value; - } - } - }, - - changeHeight : function() { - var f = document.forms[0], tp, t = this; - - if (!f.constrain.checked || !t.preloadImg) { - return; - } - - if (f.width.value == "" || f.height.value == "") - return; - - tp = (parseInt(f.width.value) / parseInt(t.preloadImg.width)) * t.preloadImg.height; - f.height.value = tp.toFixed(0); - }, - - changeWidth : function() { - var f = document.forms[0], tp, t = this; - - if (!f.constrain.checked || !t.preloadImg) { - return; - } - - if (f.width.value == "" || f.height.value == "") - return; - - tp = (parseInt(f.height.value) / parseInt(t.preloadImg.height)) * t.preloadImg.width; - f.width.value = tp.toFixed(0); - }, - - updateStyle : function(ty) { - var dom = tinyMCEPopup.dom, st, v, f = document.forms[0], img = dom.create('img', {style : dom.get('style').value}); - - if (tinyMCEPopup.editor.settings.inline_styles) { - // Handle align - if (ty == 'align') { - dom.setStyle(img, 'float', ''); - dom.setStyle(img, 'vertical-align', ''); - - v = getSelectValue(f, 'align'); - if (v) { - if (v == 'left' || v == 'right') - dom.setStyle(img, 'float', v); - else - img.style.verticalAlign = v; - } - } - - // Handle border - if (ty == 'border') { - dom.setStyle(img, 'border', ''); - - v = f.border.value; - if (v || v == '0') { - if (v == '0') - img.style.border = '0'; - else - img.style.border = v + 'px solid black'; - } - } - - // Handle hspace - if (ty == 'hspace') { - dom.setStyle(img, 'marginLeft', ''); - dom.setStyle(img, 'marginRight', ''); - - v = f.hspace.value; - if (v) { - img.style.marginLeft = v + 'px'; - img.style.marginRight = v + 'px'; - } - } - - // Handle vspace - if (ty == 'vspace') { - dom.setStyle(img, 'marginTop', ''); - dom.setStyle(img, 'marginBottom', ''); - - v = f.vspace.value; - if (v) { - img.style.marginTop = v + 'px'; - img.style.marginBottom = v + 'px'; - } - } - - // Merge - dom.get('style').value = dom.serializeStyle(dom.parseStyle(img.style.cssText), 'img'); - } - }, - - changeMouseMove : function() { - }, - - showPreviewImage : function(u, st) { - if (!u) { - tinyMCEPopup.dom.setHTML('prev', ''); - return; - } - - if (!st && tinyMCEPopup.getParam("advimage_update_dimensions_onchange", true)) - this.resetImageData(); - - u = tinyMCEPopup.editor.documentBaseURI.toAbsolute(u); - - if (!st) - tinyMCEPopup.dom.setHTML('prev', ''); - else - tinyMCEPopup.dom.setHTML('prev', ''); - } -}; - -ImageDialog.preInit(); -tinyMCEPopup.onInit.add(ImageDialog.init, ImageDialog); +var ImageDialog = { + preInit : function() { + var url; + + tinyMCEPopup.requireLangPack(); + + if (url = tinyMCEPopup.getParam("external_image_list_url")) + document.write(''); + }, + + init : function(ed) { + var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, dom = ed.dom, n = ed.selection.getNode(); + + tinyMCEPopup.resizeToInnerSize(); + this.fillClassList('class_list'); + this.fillFileList('src_list', 'tinyMCEImageList'); + this.fillFileList('over_list', 'tinyMCEImageList'); + this.fillFileList('out_list', 'tinyMCEImageList'); + TinyMCE_EditableSelects.init(); + + if (n.nodeName == 'IMG') { + nl.src.value = dom.getAttrib(n, 'src'); + nl.width.value = dom.getAttrib(n, 'width'); + nl.height.value = dom.getAttrib(n, 'height'); + nl.alt.value = dom.getAttrib(n, 'alt'); + nl.title.value = dom.getAttrib(n, 'title'); + nl.vspace.value = this.getAttrib(n, 'vspace'); + nl.hspace.value = this.getAttrib(n, 'hspace'); + nl.border.value = this.getAttrib(n, 'border'); + selectByValue(f, 'align', this.getAttrib(n, 'align')); + selectByValue(f, 'class_list', dom.getAttrib(n, 'class'), true, true); + nl.style.value = dom.getAttrib(n, 'style'); + nl.id.value = dom.getAttrib(n, 'id'); + nl.dir.value = dom.getAttrib(n, 'dir'); + nl.lang.value = dom.getAttrib(n, 'lang'); + nl.usemap.value = dom.getAttrib(n, 'usemap'); + nl.longdesc.value = dom.getAttrib(n, 'longdesc'); + nl.insert.value = ed.getLang('update'); + + if (/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/.test(dom.getAttrib(n, 'onmouseover'))) + nl.onmouseoversrc.value = dom.getAttrib(n, 'onmouseover').replace(/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/, '$1'); + + if (/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/.test(dom.getAttrib(n, 'onmouseout'))) + nl.onmouseoutsrc.value = dom.getAttrib(n, 'onmouseout').replace(/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/, '$1'); + + if (ed.settings.inline_styles) { + // Move attribs to styles + if (dom.getAttrib(n, 'align')) + this.updateStyle('align'); + + if (dom.getAttrib(n, 'hspace')) + this.updateStyle('hspace'); + + if (dom.getAttrib(n, 'border')) + this.updateStyle('border'); + + if (dom.getAttrib(n, 'vspace')) + this.updateStyle('vspace'); + } + } + + // Setup browse button + document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image'); + if (isVisible('srcbrowser')) + document.getElementById('src').style.width = '260px'; + + // Setup browse button + document.getElementById('onmouseoversrccontainer').innerHTML = getBrowserHTML('overbrowser','onmouseoversrc','image','theme_advanced_image'); + if (isVisible('overbrowser')) + document.getElementById('onmouseoversrc').style.width = '260px'; + + // Setup browse button + document.getElementById('onmouseoutsrccontainer').innerHTML = getBrowserHTML('outbrowser','onmouseoutsrc','image','theme_advanced_image'); + if (isVisible('outbrowser')) + document.getElementById('onmouseoutsrc').style.width = '260px'; + + // If option enabled default contrain proportions to checked + if (ed.getParam("advimage_constrain_proportions", true)) + f.constrain.checked = true; + + // Check swap image if valid data + if (nl.onmouseoversrc.value || nl.onmouseoutsrc.value) + this.setSwapImage(true); + else + this.setSwapImage(false); + + this.changeAppearance(); + this.showPreviewImage(nl.src.value, 1); + }, + + insert : function(file, title) { + var ed = tinyMCEPopup.editor, t = this, f = document.forms[0]; + + if (f.src.value === '') { + if (ed.selection.getNode().nodeName == 'IMG') { + ed.dom.remove(ed.selection.getNode()); + ed.execCommand('mceRepaint'); + } + + tinyMCEPopup.close(); + return; + } + + if (tinyMCEPopup.getParam("accessibility_warnings", 1)) { + if (!f.alt.value) { + tinyMCEPopup.confirm(tinyMCEPopup.getLang('advimage_dlg.missing_alt'), function(s) { + if (s) + t.insertAndClose(); + }); + + return; + } + } + + t.insertAndClose(); + }, + + insertAndClose : function() { + var ed = tinyMCEPopup.editor, f = document.forms[0], nl = f.elements, v, args = {}, el; + + tinyMCEPopup.restoreSelection(); + + // Fixes crash in Safari + if (tinymce.isWebKit) + ed.getWin().focus(); + + if (!ed.settings.inline_styles) { + args = { + vspace : nl.vspace.value, + hspace : nl.hspace.value, + border : nl.border.value, + align : getSelectValue(f, 'align') + }; + } else { + // Remove deprecated values + args = { + vspace : '', + hspace : '', + border : '', + align : '' + }; + } + + tinymce.extend(args, { + src : nl.src.value, + width : nl.width.value, + height : nl.height.value, + alt : nl.alt.value, + title : nl.title.value, + 'class' : getSelectValue(f, 'class_list'), + style : nl.style.value, + id : nl.id.value, + dir : nl.dir.value, + lang : nl.lang.value, + usemap : nl.usemap.value, + longdesc : nl.longdesc.value + }); + + args.onmouseover = args.onmouseout = ''; + + if (f.onmousemovecheck.checked) { + if (nl.onmouseoversrc.value) + args.onmouseover = "this.src='" + nl.onmouseoversrc.value + "';"; + + if (nl.onmouseoutsrc.value) + args.onmouseout = "this.src='" + nl.onmouseoutsrc.value + "';"; + } + + el = ed.selection.getNode(); + + if (el && el.nodeName == 'IMG') { + ed.dom.setAttribs(el, args); + } else { + ed.execCommand('mceInsertContent', false, '', {skip_undo : 1}); + ed.dom.setAttribs('__mce_tmp', args); + ed.dom.setAttrib('__mce_tmp', 'id', ''); + ed.undoManager.add(); + } + + tinyMCEPopup.close(); + }, + + getAttrib : function(e, at) { + var ed = tinyMCEPopup.editor, dom = ed.dom, v, v2; + + if (ed.settings.inline_styles) { + switch (at) { + case 'align': + if (v = dom.getStyle(e, 'float')) + return v; + + if (v = dom.getStyle(e, 'vertical-align')) + return v; + + break; + + case 'hspace': + v = dom.getStyle(e, 'margin-left') + v2 = dom.getStyle(e, 'margin-right'); + + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'vspace': + v = dom.getStyle(e, 'margin-top') + v2 = dom.getStyle(e, 'margin-bottom'); + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'border': + v = 0; + + tinymce.each(['top', 'right', 'bottom', 'left'], function(sv) { + sv = dom.getStyle(e, 'border-' + sv + '-width'); + + // False or not the same as prev + if (!sv || (sv != v && v !== 0)) { + v = 0; + return false; + } + + if (sv) + v = sv; + }); + + if (v) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + } + } + + if (v = dom.getAttrib(e, at)) + return v; + + return ''; + }, + + setSwapImage : function(st) { + var f = document.forms[0]; + + f.onmousemovecheck.checked = st; + setBrowserDisabled('overbrowser', !st); + setBrowserDisabled('outbrowser', !st); + + if (f.over_list) + f.over_list.disabled = !st; + + if (f.out_list) + f.out_list.disabled = !st; + + f.onmouseoversrc.disabled = !st; + f.onmouseoutsrc.disabled = !st; + }, + + fillClassList : function(id) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + if (v = tinyMCEPopup.getParam('theme_advanced_styles')) { + cl = []; + + tinymce.each(v.split(';'), function(v) { + var p = v.split('='); + + cl.push({'title' : p[0], 'class' : p[1]}); + }); + } else + cl = tinyMCEPopup.editor.dom.getClasses(); + + if (cl.length > 0) { + lst.options.length = 0; + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), ''); + + tinymce.each(cl, function(o) { + lst.options[lst.options.length] = new Option(o.title || o['class'], o['class']); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + fillFileList : function(id, l) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + l = window[l]; + lst.options.length = 0; + + if (l && l.length > 0) { + lst.options[lst.options.length] = new Option('', ''); + + tinymce.each(l, function(o) { + lst.options[lst.options.length] = new Option(o[0], o[1]); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + resetImageData : function() { + var f = document.forms[0]; + + f.elements.width.value = f.elements.height.value = ''; + }, + + updateImageData : function(img, st) { + var f = document.forms[0]; + + if (!st) { + f.elements.width.value = img.width; + f.elements.height.value = img.height; + } + + this.preloadImg = img; + }, + + changeAppearance : function() { + var ed = tinyMCEPopup.editor, f = document.forms[0], img = document.getElementById('alignSampleImg'); + + if (img) { + if (ed.getParam('inline_styles')) { + ed.dom.setAttrib(img, 'style', f.style.value); + } else { + img.align = f.align.value; + img.border = f.border.value; + img.hspace = f.hspace.value; + img.vspace = f.vspace.value; + } + } + }, + + changeHeight : function() { + var f = document.forms[0], tp, t = this; + + if (!f.constrain.checked || !t.preloadImg) { + return; + } + + if (f.width.value == "" || f.height.value == "") + return; + + tp = (parseInt(f.width.value) / parseInt(t.preloadImg.width)) * t.preloadImg.height; + f.height.value = tp.toFixed(0); + }, + + changeWidth : function() { + var f = document.forms[0], tp, t = this; + + if (!f.constrain.checked || !t.preloadImg) { + return; + } + + if (f.width.value == "" || f.height.value == "") + return; + + tp = (parseInt(f.height.value) / parseInt(t.preloadImg.height)) * t.preloadImg.width; + f.width.value = tp.toFixed(0); + }, + + updateStyle : function(ty) { + var dom = tinyMCEPopup.dom, st, v, f = document.forms[0], img = dom.create('img', {style : dom.get('style').value}); + + if (tinyMCEPopup.editor.settings.inline_styles) { + // Handle align + if (ty == 'align') { + dom.setStyle(img, 'float', ''); + dom.setStyle(img, 'vertical-align', ''); + + v = getSelectValue(f, 'align'); + if (v) { + if (v == 'left' || v == 'right') + dom.setStyle(img, 'float', v); + else + img.style.verticalAlign = v; + } + } + + // Handle border + if (ty == 'border') { + dom.setStyle(img, 'border', ''); + + v = f.border.value; + if (v || v == '0') { + if (v == '0') + img.style.border = '0'; + else + img.style.border = v + 'px solid black'; + } + } + + // Handle hspace + if (ty == 'hspace') { + dom.setStyle(img, 'marginLeft', ''); + dom.setStyle(img, 'marginRight', ''); + + v = f.hspace.value; + if (v) { + img.style.marginLeft = v + 'px'; + img.style.marginRight = v + 'px'; + } + } + + // Handle vspace + if (ty == 'vspace') { + dom.setStyle(img, 'marginTop', ''); + dom.setStyle(img, 'marginBottom', ''); + + v = f.vspace.value; + if (v) { + img.style.marginTop = v + 'px'; + img.style.marginBottom = v + 'px'; + } + } + + // Merge + dom.get('style').value = dom.serializeStyle(dom.parseStyle(img.style.cssText), 'img'); + } + }, + + changeMouseMove : function() { + }, + + showPreviewImage : function(u, st) { + if (!u) { + tinyMCEPopup.dom.setHTML('prev', ''); + return; + } + + if (!st && tinyMCEPopup.getParam("advimage_update_dimensions_onchange", true)) + this.resetImageData(); + + u = tinyMCEPopup.editor.documentBaseURI.toAbsolute(u); + + if (!st) + tinyMCEPopup.dom.setHTML('prev', ''); + else + tinyMCEPopup.dom.setHTML('prev', ''); + } +}; + +ImageDialog.preInit(); +tinyMCEPopup.onInit.add(ImageDialog.init, ImageDialog); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/bg_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/bg_dlg.js old mode 100644 new mode 100755 index e6e8f18012..d56c884c78 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/bg_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/bg_dlg.js @@ -1,43 +1,43 @@ -tinyMCE.addI18n('bg.advimage_dlg',{ -tab_general:"\u041E\u0431\u0449\u0438", -tab_appearance:"\u0412\u044A\u043D\u0448\u0435\u043D \u0432\u0438\u0434", -tab_advanced:"\u0417\u0430 \u043D\u0430\u043F\u0440\u0435\u0434\u043D\u0430\u043B\u0438", -general:"\u041E\u0431\u0449\u0438", -title:"\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435", -preview:"\u041F\u0440\u0435\u0433\u043B\u0435\u0434", -constrain_proportions:"\u041E\u0433\u0440\u0430\u043D\u0438\u0447\u0438 \u043F\u0440\u043E\u043F\u043E\u0440\u0446\u0438\u0438\u0442\u0435", -langdir:"\u041F\u043E\u0441\u043E\u043A\u0430 \u043D\u0430 \u0435\u0437\u0438\u043A\u0430", -langcode:"\u041A\u043E\u0434 \u043D\u0430 \u0435\u0437\u0438\u043A\u0430", -long_desc:"\u0425\u0438\u043F\u0435\u0440\u0432\u0440\u044A\u0437\u043A\u0430 \u043A\u044A\u043C \u0434\u044A\u043B\u0433\u043E \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435", -style:"\u0421\u0442\u0438\u043B", -classes:"\u041A\u043B\u0430\u0441\u043E\u0432\u0435", -ltr:"\u041E\u0442\u043B\u044F\u0432\u043E \u043D\u0430 \u0434\u044F\u0441\u043D\u043E", -rtl:"\u041E\u0442\u0434\u044F\u0441\u043D\u043E \u043D\u0430 \u043B\u044F\u0432\u043E", -id:"Id", -map:"\u041A\u0430\u0440\u0442\u0438\u043D\u0430 \u043A\u0430\u0440\u0442\u0430", -swap_image:"\u0421\u043C\u0435\u043D\u0438 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430", -alt_image:"\u0420\u0435\u0437\u0435\u0440\u0432\u043D\u0430 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430", -mouseover:"\u0437\u0430 mouse over", -mouseout:"\u0437\u0430 mouse out", -misc:"\u0420\u0430\u0437\u043D\u0438", -example_img:"\u041F\u0440\u0435\u0433\u043B\u0435\u0434 \u043D\u0430 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430\u0442\u0430", -missing_alt:"\u0421\u0438\u0433\u0443\u0440\u0435\u043D \u043B\u0438 \u0441\u0442\u0435 \u0447\u0435 \u0436\u0435\u043B\u0430\u0435\u0442\u0435 \u0434\u0430 \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435 \u0431\u0435\u0437 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043D\u0430 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430\u0442\u0430? \u0411\u0435\u0437 \u043D\u0435\u0433\u043E \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430\u0442\u0430 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0435 \u043D\u0435\u0434\u043E\u0441\u0442\u044A\u043F\u043D\u0430 \u0437\u0430 \u043D\u044F\u043A\u043E\u0438 \u043F\u043E\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043B\u0438 \u0441 \u043D\u0435\u0434\u044A\u0437\u0438, \u0438\u043B\u0438 \u0437\u0430 \u0442\u0435\u0437\u0438 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0449\u0438 \u0442\u0435\u043A\u0441\u0442\u043E\u0432 \u0431\u0440\u0430\u0443\u0437\u044A\u0440, \u0438\u043B\u0438 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0449\u0438 \u0418\u043D\u0442\u0435\u0440\u043D\u0435\u0442 \u0441 \u0438\u0437\u043A\u043B\u044E\u0447\u0435\u043D\u0438 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438.", -dialog_title:"\u0412\u043C\u044A\u043A\u043D\u0438/\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u0439 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430", -src:"URL \u043D\u0430 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430", -alt:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043D\u0430 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430", -list:"\u0421\u043F\u0438\u0441\u044A\u043A \u0441 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438", -border:"\u0420\u0430\u043C\u043A\u0430", -dimensions:"\u0420\u0430\u0437\u043C\u0435\u0440\u0438", -vspace:"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u043D\u043E \u0440\u0430\u0437\u0441\u0442\u043E\u044F\u043D\u0438\u0435", -hspace:"\u0425\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u043D\u043E \u0440\u0430\u0437\u0441\u0442\u043E\u044F\u043D\u0438\u0435", -align:"\u041F\u043E\u0434\u0440\u0430\u0432\u043D\u044F\u0432\u0430\u043D\u0435", -align_baseline:"\u0411\u0430\u0437\u043E\u0432\u0430 \u043B\u0438\u043D\u0438\u044F", -align_top:"\u0413\u043E\u0440\u0435", -align_middle:"\u0426\u0435\u043D\u0442\u044A\u0440", -align_bottom:"\u0414\u043E\u043B\u0443", -align_texttop:"\u0422\u0435\u043A\u0441\u0442 \u0433\u043E\u0440\u0435", -align_textbottom:"\u0422\u0435\u043A\u0441\u0442 \u0434\u043E\u043B\u0443", -align_left:"\u041B\u044F\u0432\u043E", -align_right:"\u0414\u044F\u0441\u043D\u043E", -image_list:"\u0421\u043F\u0438\u0441\u044A\u043A \u0441 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438" +tinyMCE.addI18n('bg.advimage_dlg',{ +tab_general:"\u041E\u0431\u0449\u0438", +tab_appearance:"\u0412\u044A\u043D\u0448\u0435\u043D \u0432\u0438\u0434", +tab_advanced:"\u0417\u0430 \u043D\u0430\u043F\u0440\u0435\u0434\u043D\u0430\u043B\u0438", +general:"\u041E\u0431\u0449\u0438", +title:"\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435", +preview:"\u041F\u0440\u0435\u0433\u043B\u0435\u0434", +constrain_proportions:"\u041E\u0433\u0440\u0430\u043D\u0438\u0447\u0438 \u043F\u0440\u043E\u043F\u043E\u0440\u0446\u0438\u0438\u0442\u0435", +langdir:"\u041F\u043E\u0441\u043E\u043A\u0430 \u043D\u0430 \u0435\u0437\u0438\u043A\u0430", +langcode:"\u041A\u043E\u0434 \u043D\u0430 \u0435\u0437\u0438\u043A\u0430", +long_desc:"\u0425\u0438\u043F\u0435\u0440\u0432\u0440\u044A\u0437\u043A\u0430 \u043A\u044A\u043C \u0434\u044A\u043B\u0433\u043E \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435", +style:"\u0421\u0442\u0438\u043B", +classes:"\u041A\u043B\u0430\u0441\u043E\u0432\u0435", +ltr:"\u041E\u0442\u043B\u044F\u0432\u043E \u043D\u0430 \u0434\u044F\u0441\u043D\u043E", +rtl:"\u041E\u0442\u0434\u044F\u0441\u043D\u043E \u043D\u0430 \u043B\u044F\u0432\u043E", +id:"Id", +map:"\u041A\u0430\u0440\u0442\u0438\u043D\u0430 \u043A\u0430\u0440\u0442\u0430", +swap_image:"\u0421\u043C\u0435\u043D\u0438 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430", +alt_image:"\u0420\u0435\u0437\u0435\u0440\u0432\u043D\u0430 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430", +mouseover:"\u0437\u0430 mouse over", +mouseout:"\u0437\u0430 mouse out", +misc:"\u0420\u0430\u0437\u043D\u0438", +example_img:"\u041F\u0440\u0435\u0433\u043B\u0435\u0434 \u043D\u0430 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430\u0442\u0430", +missing_alt:"\u0421\u0438\u0433\u0443\u0440\u0435\u043D \u043B\u0438 \u0441\u0442\u0435 \u0447\u0435 \u0436\u0435\u043B\u0430\u0435\u0442\u0435 \u0434\u0430 \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435 \u0431\u0435\u0437 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043D\u0430 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430\u0442\u0430? \u0411\u0435\u0437 \u043D\u0435\u0433\u043E \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430\u0442\u0430 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0435 \u043D\u0435\u0434\u043E\u0441\u0442\u044A\u043F\u043D\u0430 \u0437\u0430 \u043D\u044F\u043A\u043E\u0438 \u043F\u043E\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043B\u0438 \u0441 \u043D\u0435\u0434\u044A\u0437\u0438, \u0438\u043B\u0438 \u0437\u0430 \u0442\u0435\u0437\u0438 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0449\u0438 \u0442\u0435\u043A\u0441\u0442\u043E\u0432 \u0431\u0440\u0430\u0443\u0437\u044A\u0440, \u0438\u043B\u0438 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0449\u0438 \u0418\u043D\u0442\u0435\u0440\u043D\u0435\u0442 \u0441 \u0438\u0437\u043A\u043B\u044E\u0447\u0435\u043D\u0438 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438.", +dialog_title:"\u0412\u043C\u044A\u043A\u043D\u0438/\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u0439 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430", +src:"URL \u043D\u0430 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430", +alt:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043D\u0430 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430", +list:"\u0421\u043F\u0438\u0441\u044A\u043A \u0441 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438", +border:"\u0420\u0430\u043C\u043A\u0430", +dimensions:"\u0420\u0430\u0437\u043C\u0435\u0440\u0438", +vspace:"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u043D\u043E \u0440\u0430\u0437\u0441\u0442\u043E\u044F\u043D\u0438\u0435", +hspace:"\u0425\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u043D\u043E \u0440\u0430\u0437\u0441\u0442\u043E\u044F\u043D\u0438\u0435", +align:"\u041F\u043E\u0434\u0440\u0430\u0432\u043D\u044F\u0432\u0430\u043D\u0435", +align_baseline:"\u0411\u0430\u0437\u043E\u0432\u0430 \u043B\u0438\u043D\u0438\u044F", +align_top:"\u0413\u043E\u0440\u0435", +align_middle:"\u0426\u0435\u043D\u0442\u044A\u0440", +align_bottom:"\u0414\u043E\u043B\u0443", +align_texttop:"\u0422\u0435\u043A\u0441\u0442 \u0433\u043E\u0440\u0435", +align_textbottom:"\u0422\u0435\u043A\u0441\u0442 \u0434\u043E\u043B\u0443", +align_left:"\u041B\u044F\u0432\u043E", +align_right:"\u0414\u044F\u0441\u043D\u043E", +image_list:"\u0421\u043F\u0438\u0441\u044A\u043A \u0441 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/cs_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/cs_dlg.js old mode 100644 new mode 100755 index 737efed457..c9cf9a5539 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/cs_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/cs_dlg.js @@ -1,43 +1,43 @@ -tinyMCE.addI18n('cs.advimage_dlg',{ -tab_general:"Obecn\u00E9", -tab_appearance:"Vzhled", -tab_advanced:"Roz\u0161\u00ED\u0159en\u00E9", -general:"Obecn\u00E9 parametry", -title:"Titulek", -preview:"N\u00E1hled", -constrain_proportions:"Zachovat proporce", -langdir:"Sm\u011Br textu", -langcode:"K\u00F3d jazyka", -long_desc:"Dlouh\u00FD popis", -style:"Styl", -classes:"T\u0159\u00EDdy", -ltr:"Zleva doprava", -rtl:"Zprava doleva", -id:"ID", -map:"Obr\u00E1zkov\u00E1 mapa", -swap_image:"P\u0159epnout obr\u00E1zek", -alt_image:"Alternativn\u00ED obr\u00E1zek", -mouseover:"P\u0159i najet\u00ED my\u0161i...", -mouseout:"Po odjet\u00ED my\u0161i...", -misc:"R\u016Fzn\u00E9", -example_img:"P\u0159\u00EDklad obr\u00E1zku", -missing_alt:"Skute\u010Dn\u011B chcete pokra\u010Dovat bez vlo\u017Een\u00E9ho popisu obr\u00E1zku? Bez popisu m\u016F\u017Ee b\u00FDt obr\u00E1zek nep\u0159\u00EDstupn\u00FD u\u017Eivatel\u016Fm se zrakov\u00FDm posti\u017Een\u00EDm, u\u017Eivatel\u016Fm textov\u00FDch prohl\u00ED\u017Ee\u010D\u016F nebo u\u017Eivatel\u016Fm, kte\u0159\u00ED maj\u00ED vypnuto zobrazov\u00E1n\u00ED obr\u00E1zk\u016F.", -dialog_title:"Vlo\u017Eit/upravit obr\u00E1zek", -src:"URL obr\u00E1zku", -alt:"Popis obr\u00E1zku", -list:"Seznam obr\u00E1zk\u016F", -border:"R\u00E1me\u010Dek", -dimensions:"Rozm\u011Bry", -vspace:"Vertik\u00E1ln\u00ED odsazen\u00ED", -hspace:"Horizont\u00E1ln\u00ED odsazen\u00ED", -align:"Zarovn\u00E1n\u00ED", -align_baseline:"Na z\u00E1kladnu", -align_top:"Nahoru", -align_middle:"Na st\u0159ed \u0159\u00E1dku", -align_bottom:"Dol\u016F", -align_texttop:"S vrchem \u0159\u00E1dku", -align_textbottom:"Se spodkem \u0159\u00E1dku", -align_left:"Vlevo", -align_right:"Vpravo", -image_list:"Seznam obr\u00E1zk\u016F" +tinyMCE.addI18n('cs.advimage_dlg',{ +tab_general:"Obecn\u00E9", +tab_appearance:"Vzhled", +tab_advanced:"Roz\u0161\u00ED\u0159en\u00E9", +general:"Obecn\u00E9 parametry", +title:"Titulek", +preview:"N\u00E1hled", +constrain_proportions:"Zachovat proporce", +langdir:"Sm\u011Br textu", +langcode:"K\u00F3d jazyka", +long_desc:"Dlouh\u00FD popis", +style:"Styl", +classes:"T\u0159\u00EDdy", +ltr:"Zleva doprava", +rtl:"Zprava doleva", +id:"ID", +map:"Obr\u00E1zkov\u00E1 mapa", +swap_image:"P\u0159epnout obr\u00E1zek", +alt_image:"Alternativn\u00ED obr\u00E1zek", +mouseover:"P\u0159i najet\u00ED my\u0161i...", +mouseout:"Po odjet\u00ED my\u0161i...", +misc:"R\u016Fzn\u00E9", +example_img:"P\u0159\u00EDklad obr\u00E1zku", +missing_alt:"Skute\u010Dn\u011B chcete pokra\u010Dovat bez vlo\u017Een\u00E9ho popisu obr\u00E1zku? Bez popisu m\u016F\u017Ee b\u00FDt obr\u00E1zek nep\u0159\u00EDstupn\u00FD u\u017Eivatel\u016Fm se zrakov\u00FDm posti\u017Een\u00EDm, u\u017Eivatel\u016Fm textov\u00FDch prohl\u00ED\u017Ee\u010D\u016F nebo u\u017Eivatel\u016Fm, kte\u0159\u00ED maj\u00ED vypnuto zobrazov\u00E1n\u00ED obr\u00E1zk\u016F.", +dialog_title:"Vlo\u017Eit/upravit obr\u00E1zek", +src:"URL obr\u00E1zku", +alt:"Popis obr\u00E1zku", +list:"Seznam obr\u00E1zk\u016F", +border:"R\u00E1me\u010Dek", +dimensions:"Rozm\u011Bry", +vspace:"Vertik\u00E1ln\u00ED odsazen\u00ED", +hspace:"Horizont\u00E1ln\u00ED odsazen\u00ED", +align:"Zarovn\u00E1n\u00ED", +align_baseline:"Na z\u00E1kladnu", +align_top:"Nahoru", +align_middle:"Na st\u0159ed \u0159\u00E1dku", +align_bottom:"Dol\u016F", +align_texttop:"S vrchem \u0159\u00E1dku", +align_textbottom:"Se spodkem \u0159\u00E1dku", +align_left:"Vlevo", +align_right:"Vpravo", +image_list:"Seznam obr\u00E1zk\u016F" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/da_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/da_dlg.js old mode 100644 new mode 100755 index 6786ab1a5c..3c72cee38c --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/da_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/da_dlg.js @@ -1,43 +1,43 @@ -tinyMCE.addI18n('da.advimage_dlg',{ -tab_general:"Generelt", -tab_appearance:"Udseende", -tab_advanced:"Avanceret", -general:"Generelt", -title:"Titel", -preview:"Vis", -constrain_proportions:"Bibehold proportioner", -langdir:"Sprogretning", -langcode:"Sprogkode", -long_desc:"Lang beskrivelseslink", -style:"Stil", -classes:"Klasser", -ltr:"Venstre til h\u00F8jre", -rtl:"H\u00F8jre til venstre", -id:"Id", -map:"Billede map", -swap_image:"Byt billede", -alt_image:"Alternativt billede", -mouseover:"for mus-over", -mouseout:"for mus-ud", -misc:"Diverse", -example_img:"Forh\u00E5ndsvisning af billede", -missing_alt:"Er du sikker p\u00E5, at du vil forts\u00E6tte uden at inkludere en billedebeskrivelse? Uden denne er billedet m\u00E5ske ikke tilg\u00E6ngeligt for nogle brugere med handicaps, eller for dem der bruger en tekstbrowser, eller som browser internettet med billeder sl\u00E5et fra.", -dialog_title:"Inds\u00E6t/rediger billede", -src:"Billed-URL", -alt:"Billedbeskrivelse", -list:"Billedliste", -border:"Kant", -dimensions:"Dimentioner", -vspace:"Vertikal afstand", -hspace:"Horisontal afstand", -align:"Justering", -align_baseline:"Grundlinje", -align_top:"Top", -align_middle:"Midte", -align_bottom:"Bund", -align_texttop:"Teksttop", -align_textbottom:"Tekstbund", -align_left:"Venstre", -align_right:"H\u00F8jre", -image_list:"Billedliste" +tinyMCE.addI18n('da.advimage_dlg',{ +tab_general:"Generelt", +tab_appearance:"Udseende", +tab_advanced:"Avanceret", +general:"Generelt", +title:"Titel", +preview:"Vis", +constrain_proportions:"Bibehold proportioner", +langdir:"Sprogretning", +langcode:"Sprogkode", +long_desc:"Lang beskrivelseslink", +style:"Stil", +classes:"Klasser", +ltr:"Venstre til h\u00F8jre", +rtl:"H\u00F8jre til venstre", +id:"Id", +map:"Billede map", +swap_image:"Byt billede", +alt_image:"Alternativt billede", +mouseover:"for mus-over", +mouseout:"for mus-ud", +misc:"Diverse", +example_img:"Forh\u00E5ndsvisning af billede", +missing_alt:"Er du sikker p\u00E5, at du vil forts\u00E6tte uden at inkludere en billedebeskrivelse? Uden denne er billedet m\u00E5ske ikke tilg\u00E6ngeligt for nogle brugere med handicaps, eller for dem der bruger en tekstbrowser, eller som browser internettet med billeder sl\u00E5et fra.", +dialog_title:"Inds\u00E6t/rediger billede", +src:"Billed-URL", +alt:"Billedbeskrivelse", +list:"Billedliste", +border:"Kant", +dimensions:"Dimentioner", +vspace:"Vertikal afstand", +hspace:"Horisontal afstand", +align:"Justering", +align_baseline:"Grundlinje", +align_top:"Top", +align_middle:"Midte", +align_bottom:"Bund", +align_texttop:"Teksttop", +align_textbottom:"Tekstbund", +align_left:"Venstre", +align_right:"H\u00F8jre", +image_list:"Billedliste" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/de_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/de_dlg.js old mode 100644 new mode 100755 index e704596798..76764c0a64 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/de_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/de_dlg.js @@ -1,43 +1,43 @@ -tinyMCE.addI18n('de.advimage_dlg',{ -tab_general:"Allgemein", -tab_appearance:"Aussehen", -tab_advanced:"Erweitert", -general:"Allgemein", -title:"Titel", -preview:"Vorschau", -constrain_proportions:"Seitenverh\u00E4ltnis beibehalten", -langdir:"Schriftrichtung", -langcode:"Sprachcode", -long_desc:"Ausf\u00FChrliche Beschreibung", -style:"Format", -classes:"Klassen", -ltr:"Links nach rechts", -rtl:"Rechts nach links", -id:"ID", -map:"Image-Map", -swap_image:"Bild austauschen", -alt_image:"Alternatives Bild", -mouseover:"bei Mauskontakt", -mouseout:"bei keinem Mauskontakt", -misc:"Verschiedenes", -example_img:"Aussehen der Vorschau", -missing_alt:"Wollen Sie wirklich keine Beschreibung eingeben? Bestimmte Benutzer mit k\u00F6rperlichen Einschr\u00E4nkungen k\u00F6nnen so nicht darauf zugreifen, ebenso solche, die einen Textbrowser benutzen oder die Anzeige von Bildern deaktiviert haben.", -dialog_title:"Bild einf\u00FCgen/bearbeiten", -src:"Adresse", -alt:"Beschreibung", -list:"Bilderliste", -border:"Rahmen", -dimensions:"Ausma\u00DFe", -vspace:"Vertikaler Abstand", -hspace:"Horizontaler Abstand", -align:"Ausrichtung", -align_baseline:"Zeile", -align_top:"Oben", -align_middle:"Mittig", -align_bottom:"Unten", -align_texttop:"Oben im Text", -align_textbottom:"Unten im Text", -align_left:"Links", -align_right:"Rechts", -image_list:"Bilderliste" +tinyMCE.addI18n('de.advimage_dlg',{ +tab_general:"Allgemein", +tab_appearance:"Aussehen", +tab_advanced:"Erweitert", +general:"Allgemein", +title:"Titel", +preview:"Vorschau", +constrain_proportions:"Seitenverh\u00E4ltnis beibehalten", +langdir:"Schriftrichtung", +langcode:"Sprachcode", +long_desc:"Ausf\u00FChrliche Beschreibung", +style:"Format", +classes:"Klassen", +ltr:"Links nach rechts", +rtl:"Rechts nach links", +id:"ID", +map:"Image-Map", +swap_image:"Bild austauschen", +alt_image:"Alternatives Bild", +mouseover:"bei Mauskontakt", +mouseout:"bei keinem Mauskontakt", +misc:"Verschiedenes", +example_img:"Aussehen der Vorschau", +missing_alt:"Wollen Sie wirklich keine Beschreibung eingeben? Bestimmte Benutzer mit k\u00F6rperlichen Einschr\u00E4nkungen k\u00F6nnen so nicht darauf zugreifen, ebenso solche, die einen Textbrowser benutzen oder die Anzeige von Bildern deaktiviert haben.", +dialog_title:"Bild einf\u00FCgen/bearbeiten", +src:"Adresse", +alt:"Beschreibung", +list:"Bilderliste", +border:"Rahmen", +dimensions:"Ausma\u00DFe", +vspace:"Vertikaler Abstand", +hspace:"Horizontaler Abstand", +align:"Ausrichtung", +align_baseline:"Zeile", +align_top:"Oben", +align_middle:"Mittig", +align_bottom:"Unten", +align_texttop:"Oben im Text", +align_textbottom:"Unten im Text", +align_left:"Links", +align_right:"Rechts", +image_list:"Bilderliste" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js old mode 100644 new mode 100755 index f493d196fa..ef81f78b4b --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js @@ -1,43 +1,43 @@ -tinyMCE.addI18n('en.advimage_dlg',{ -tab_general:"General", -tab_appearance:"Appearance", -tab_advanced:"Advanced", -general:"General", -title:"Title", -preview:"Preview", -constrain_proportions:"Constrain proportions", -langdir:"Language direction", -langcode:"Language code", -long_desc:"Long description link", -style:"Style", -classes:"Classes", -ltr:"Left to right", -rtl:"Right to left", -id:"Id", -map:"Image map", -swap_image:"Swap image", -alt_image:"Alternative image", -mouseover:"for mouse over", -mouseout:"for mouse out", -misc:"Miscellaneous", -example_img:"Appearance preview image", -missing_alt:"Are you sure you want to continue without including an Image Description? Without it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off.", -dialog_title:"Insert/edit image", -src:"Image URL", -alt:"Image description", -list:"Image list", -border:"Border", -dimensions:"Dimensions", -vspace:"Vertical space", -hspace:"Horizontal space", -align:"Alignment", -align_baseline:"Baseline", -align_top:"Top", -align_middle:"Middle", -align_bottom:"Bottom", -align_texttop:"Text top", -align_textbottom:"Text bottom", -align_left:"Left", -align_right:"Right", -image_list:"Image list" +tinyMCE.addI18n('en.advimage_dlg',{ +tab_general:"General", +tab_appearance:"Appearance", +tab_advanced:"Advanced", +general:"General", +title:"Title", +preview:"Preview", +constrain_proportions:"Constrain proportions", +langdir:"Language direction", +langcode:"Language code", +long_desc:"Long description link", +style:"Style", +classes:"Classes", +ltr:"Left to right", +rtl:"Right to left", +id:"Id", +map:"Image map", +swap_image:"Swap image", +alt_image:"Alternative image", +mouseover:"for mouse over", +mouseout:"for mouse out", +misc:"Miscellaneous", +example_img:"Appearance preview image", +missing_alt:"Are you sure you want to continue without including an Image Description? Without it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off.", +dialog_title:"Insert/edit image", +src:"Image URL", +alt:"Image description", +list:"Image list", +border:"Border", +dimensions:"Dimensions", +vspace:"Vertical space", +hspace:"Horizontal space", +align:"Alignment", +align_baseline:"Baseline", +align_top:"Top", +align_middle:"Middle", +align_bottom:"Bottom", +align_texttop:"Text top", +align_textbottom:"Text bottom", +align_left:"Left", +align_right:"Right", +image_list:"Image list" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/es_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/es_dlg.js old mode 100644 new mode 100755 index 0930e30584..80fd777be4 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/es_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/es_dlg.js @@ -1,43 +1,43 @@ -tinyMCE.addI18n('es.advimage_dlg',{ -tab_general:"General", -tab_appearance:"Apariencia", -tab_advanced:"Avanzado", -general:"General", -title:"T\u00EDtulo", -preview:"Vista previa", -constrain_proportions:"Bloquear relaci\u00F3n de aspecto", -langdir:"Direcci\u00F3n del lenguaje", -langcode:"C\u00F3digo del lenguaje", -long_desc:"V\u00EDnculo para descripci\u00F3n larga", -style:"Estilos", -classes:"Clases", -ltr:"Izquierda a derecha", -rtl:"Derecha a izquierda", -id:"Id", -map:"Mapa de imagen", -swap_image:"Intercambiar imagen", -alt_image:"Imagen alternativa", -mouseover:"para mouseover", -mouseout:"para mouseout", -misc:"Miscel\u00E1neo", -example_img:"Vista previa de la imagen", -missing_alt:" \u00BFEsta seguro de continuar sin introducir una descripci\u00F3n a la imagen? Sin ella puede no ser accesible para usuarios con discapacidades, o para aquellos que usen navegadores de modo texto, o tengan deshabilitadas las im\u00E1genes de la p\u00E1gina.", -dialog_title:"Insertar/editar imagen", -src:"URL de la imagen", -alt:"Descripci\u00F3n de la imagen", -list:"Lista de imagen", -border:"Bordes", -dimensions:"Dimensiones", -vspace:"Espacio vertical", -hspace:"Espacio horizontal", -align:"Alineaci\u00F3n", -align_baseline:"L\u00EDnea base", -align_top:"Arriba", -align_middle:"Medio", -align_bottom:"Debajo", -align_texttop:"Texto arriba", -align_textbottom:"Texto abajo", -align_left:"Izquierda", -align_right:"Derecha", -image_list:"Lista de imagen" +tinyMCE.addI18n('es.advimage_dlg',{ +tab_general:"General", +tab_appearance:"Apariencia", +tab_advanced:"Avanzado", +general:"General", +title:"T\u00EDtulo", +preview:"Vista previa", +constrain_proportions:"Bloquear relaci\u00F3n de aspecto", +langdir:"Direcci\u00F3n del lenguaje", +langcode:"C\u00F3digo del lenguaje", +long_desc:"V\u00EDnculo para descripci\u00F3n larga", +style:"Estilos", +classes:"Clases", +ltr:"Izquierda a derecha", +rtl:"Derecha a izquierda", +id:"Id", +map:"Mapa de imagen", +swap_image:"Intercambiar imagen", +alt_image:"Imagen alternativa", +mouseover:"para mouseover", +mouseout:"para mouseout", +misc:"Miscel\u00E1neo", +example_img:"Vista previa de la imagen", +missing_alt:" \u00BFEsta seguro de continuar sin introducir una descripci\u00F3n a la imagen? Sin ella puede no ser accesible para usuarios con discapacidades, o para aquellos que usen navegadores de modo texto, o tengan deshabilitadas las im\u00E1genes de la p\u00E1gina.", +dialog_title:"Insertar/editar imagen", +src:"URL de la imagen", +alt:"Descripci\u00F3n de la imagen", +list:"Lista de imagen", +border:"Bordes", +dimensions:"Dimensiones", +vspace:"Espacio vertical", +hspace:"Espacio horizontal", +align:"Alineaci\u00F3n", +align_baseline:"L\u00EDnea base", +align_top:"Arriba", +align_middle:"Medio", +align_bottom:"Debajo", +align_texttop:"Texto arriba", +align_textbottom:"Texto abajo", +align_left:"Izquierda", +align_right:"Derecha", +image_list:"Lista de imagen" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fa_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fa_dlg.js old mode 100644 new mode 100755 index d7f9b201de..fd48077f37 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fa_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fa_dlg.js @@ -1,43 +1,43 @@ -tinyMCE.addI18n('fa.advimage_dlg',{ -tab_general:"\u0639\u0645\u0648\u0645\u06CC", -tab_appearance:"\u0638\u0627\u0647\u0631", -tab_advanced:"\u067E\u06CC\u0634\u0631\u0641\u062A\u0647", -general:"\u0639\u0645\u0648\u0645\u06CC", -title:"\u0639\u0646\u0648\u0627\u0646", -preview:"\u067E\u06CC\u0634 \u0646\u0645\u0627\u06CC\u0634", -constrain_proportions:"\u062D\u0641\u0638 \u062A\u0646\u0627\u0633\u0628", -langdir:"\u062C\u0647\u062A \u0632\u0628\u0627\u0646", -langcode:"\u06A9\u062F \u0632\u0628\u0627\u0646", -long_desc:"\u0644\u06CC\u0646\u06A9 \u062A\u0648\u0636\u06CC\u062D \u0637\u0648\u0644\u0627\u0646\u06CC", -style:"\u0627\u0633\u062A\u06CC\u0644", -classes:"\u06A9\u0644\u0627\u0633 \u0647\u0627", -ltr:"\u0686\u067E \u0628\u0647 \u0631\u0627\u0633\u062A", -rtl:"\u0631\u0627\u0633\u062A \u0628\u0647 \u0686\u067E", -id:"\u0634\u0646\u0627\u0633\u0647", -map:"\u0646\u0642\u0634\u0647 \u062A\u0635\u0648\u06CC\u0631", -swap_image:"\u062A\u0639\u0648\u06CC\u0636 \u062A\u0635\u0648\u06CC\u0631", -alt_image:"\u062A\u0635\u0648\u06CC\u0631 \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646", -mouseover:"\u0628\u0631\u0627\u06CC \u0622\u0645\u062F\u0646 \u0645\u0648\u0633", -mouseout:"\u0628\u0631\u0627\u06CC \u0631\u0641\u062A\u0646 \u0645\u0648\u0633", -misc:"\u0645\u062A\u0641\u0631\u0642\u0647", -example_img:"\u062A\u0635\u0648\u06CC\u0631 \u067E\u06CC\u0634 \u0646\u0645\u0627\u06CC\u0634 \u0638\u0627\u0647\u0631", -missing_alt:"\u0622\u06CC\u0627 \u0634\u0645\u0627 \u0627\u0632 \u0627\u062F\u0627\u0645\u0647 \u0628\u062F\u0648\u0646 \u0634\u0627\u0645\u0644 \u06A9\u0631\u062F\u0646 \u06CC\u06A9 \u062A\u0648\u0636\u06CC\u062D \u0628\u0631\u0627\u06CC \u062A\u0635\u0648\u06CC\u0631 \u0627\u0637\u0645\u06CC\u0646\u0627\u0646 \u062F\u0627\u0631\u06CC\u062F\u061F \u0628\u062F\u0648\u0646 \u0622\u0646 \u0645\u0645\u06A9\u0646 \u0646\u06CC\u0633\u062A \u062A\u0635\u0627\u0648\u06CC\u0631 \u0628\u0631\u0627\u06CC \u0628\u0631\u062E\u06CC \u06A9\u0627\u0631\u0628\u0631\u0627\u0646\u06CC \u06A9\u0647 \u0642\u0627\u0628\u0644\u06CC\u062A \u062F\u06CC\u062F\u0646 \u062A\u0635\u0627\u0648\u06CC\u0631 \u0631\u0627 \u0646\u062F\u0627\u0631\u0646\u062F \u060C \u06CC\u0627 \u0622\u0646\u0647\u0627\u06CC\u06CC \u06A9\u0647 \u0627\u0632 \u06CC\u06A9 \u0645\u0631\u0648\u0631\u06AF\u0631 \u0645\u062A\u0646\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC \u06A9\u0646\u0646\u062F \u060C \u06CC\u0627 \u062F\u0631 \u062D\u0627\u0644 \u062F\u06CC\u062F\u0646 \u0648\u0628 \u0628\u062F\u0648\u0646 \u062A\u0635\u0648\u06CC\u0631 \u0645\u06CC \u0628\u0627\u0634\u0646\u062F \u060C \u0642\u0627\u0628\u0644 \u062F\u0633\u062A\u06CC\u0627\u0628\u06CC \u0628\u0627\u0634\u062F.", -dialog_title:"\u062F\u0631\u062C/\u0648\u06CC\u0631\u0627\u06CC\u0634 \u062A\u0635\u0648\u06CC\u0631", -src:"\u0622\u062F\u0631\u0633 \u062A\u0635\u0648\u06CC\u0631 (URL)", -alt:"\u062A\u0648\u0636\u06CC\u062D \u062A\u0635\u0648\u06CC\u0631", -list:"\u0644\u06CC\u0633\u062A \u062A\u0635\u0648\u06CC\u0631", -border:"\u062D\u0627\u0634\u06CC\u0647", -dimensions:"\u0627\u0628\u0639\u0627\u062F", -vspace:"\u0641\u0627\u0635\u0644\u0647 \u0639\u0645\u0648\u062F\u06CC", -hspace:"\u0641\u0627\u0635\u0644\u0647 \u0627\u0641\u0642\u06CC", -align:"\u062A\u0631\u0627\u0632", -align_baseline:"\u062E\u0637 \u067E\u0627\u06CC\u0647", -align_top:"\u0628\u0627\u0644\u0627", -align_middle:"\u0648\u0633\u0637", -align_bottom:"\u067E\u0627\u06CC\u06CC\u0646", -align_texttop:"\u0645\u062A\u0646 \u0628\u0627\u0644\u0627", -align_textbottom:"\u0645\u062A\u0646 \u067E\u0627\u06CC\u06CC\u0646", -align_left:"\u0686\u067E", -align_right:"\u0631\u0627\u0633\u062A", -image_list:"\u0644\u06CC\u0633\u062A \u062A\u0635\u0648\u06CC\u0631" +tinyMCE.addI18n('fa.advimage_dlg',{ +tab_general:"\u0639\u0645\u0648\u0645\u06CC", +tab_appearance:"\u0638\u0627\u0647\u0631", +tab_advanced:"\u067E\u06CC\u0634\u0631\u0641\u062A\u0647", +general:"\u0639\u0645\u0648\u0645\u06CC", +title:"\u0639\u0646\u0648\u0627\u0646", +preview:"\u067E\u06CC\u0634 \u0646\u0645\u0627\u06CC\u0634", +constrain_proportions:"\u062D\u0641\u0638 \u062A\u0646\u0627\u0633\u0628", +langdir:"\u062C\u0647\u062A \u0632\u0628\u0627\u0646", +langcode:"\u06A9\u062F \u0632\u0628\u0627\u0646", +long_desc:"\u0644\u06CC\u0646\u06A9 \u062A\u0648\u0636\u06CC\u062D \u0637\u0648\u0644\u0627\u0646\u06CC", +style:"\u0627\u0633\u062A\u06CC\u0644", +classes:"\u06A9\u0644\u0627\u0633 \u0647\u0627", +ltr:"\u0686\u067E \u0628\u0647 \u0631\u0627\u0633\u062A", +rtl:"\u0631\u0627\u0633\u062A \u0628\u0647 \u0686\u067E", +id:"\u0634\u0646\u0627\u0633\u0647", +map:"\u0646\u0642\u0634\u0647 \u062A\u0635\u0648\u06CC\u0631", +swap_image:"\u062A\u0639\u0648\u06CC\u0636 \u062A\u0635\u0648\u06CC\u0631", +alt_image:"\u062A\u0635\u0648\u06CC\u0631 \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646", +mouseover:"\u0628\u0631\u0627\u06CC \u0622\u0645\u062F\u0646 \u0645\u0648\u0633", +mouseout:"\u0628\u0631\u0627\u06CC \u0631\u0641\u062A\u0646 \u0645\u0648\u0633", +misc:"\u0645\u062A\u0641\u0631\u0642\u0647", +example_img:"\u062A\u0635\u0648\u06CC\u0631 \u067E\u06CC\u0634 \u0646\u0645\u0627\u06CC\u0634 \u0638\u0627\u0647\u0631", +missing_alt:"\u0622\u06CC\u0627 \u0634\u0645\u0627 \u0627\u0632 \u0627\u062F\u0627\u0645\u0647 \u0628\u062F\u0648\u0646 \u0634\u0627\u0645\u0644 \u06A9\u0631\u062F\u0646 \u06CC\u06A9 \u062A\u0648\u0636\u06CC\u062D \u0628\u0631\u0627\u06CC \u062A\u0635\u0648\u06CC\u0631 \u0627\u0637\u0645\u06CC\u0646\u0627\u0646 \u062F\u0627\u0631\u06CC\u062F\u061F \u0628\u062F\u0648\u0646 \u0622\u0646 \u0645\u0645\u06A9\u0646 \u0646\u06CC\u0633\u062A \u062A\u0635\u0627\u0648\u06CC\u0631 \u0628\u0631\u0627\u06CC \u0628\u0631\u062E\u06CC \u06A9\u0627\u0631\u0628\u0631\u0627\u0646\u06CC \u06A9\u0647 \u0642\u0627\u0628\u0644\u06CC\u062A \u062F\u06CC\u062F\u0646 \u062A\u0635\u0627\u0648\u06CC\u0631 \u0631\u0627 \u0646\u062F\u0627\u0631\u0646\u062F \u060C \u06CC\u0627 \u0622\u0646\u0647\u0627\u06CC\u06CC \u06A9\u0647 \u0627\u0632 \u06CC\u06A9 \u0645\u0631\u0648\u0631\u06AF\u0631 \u0645\u062A\u0646\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC \u06A9\u0646\u0646\u062F \u060C \u06CC\u0627 \u062F\u0631 \u062D\u0627\u0644 \u062F\u06CC\u062F\u0646 \u0648\u0628 \u0628\u062F\u0648\u0646 \u062A\u0635\u0648\u06CC\u0631 \u0645\u06CC \u0628\u0627\u0634\u0646\u062F \u060C \u0642\u0627\u0628\u0644 \u062F\u0633\u062A\u06CC\u0627\u0628\u06CC \u0628\u0627\u0634\u062F.", +dialog_title:"\u062F\u0631\u062C/\u0648\u06CC\u0631\u0627\u06CC\u0634 \u062A\u0635\u0648\u06CC\u0631", +src:"\u0622\u062F\u0631\u0633 \u062A\u0635\u0648\u06CC\u0631 (URL)", +alt:"\u062A\u0648\u0636\u06CC\u062D \u062A\u0635\u0648\u06CC\u0631", +list:"\u0644\u06CC\u0633\u062A \u062A\u0635\u0648\u06CC\u0631", +border:"\u062D\u0627\u0634\u06CC\u0647", +dimensions:"\u0627\u0628\u0639\u0627\u062F", +vspace:"\u0641\u0627\u0635\u0644\u0647 \u0639\u0645\u0648\u062F\u06CC", +hspace:"\u0641\u0627\u0635\u0644\u0647 \u0627\u0641\u0642\u06CC", +align:"\u062A\u0631\u0627\u0632", +align_baseline:"\u062E\u0637 \u067E\u0627\u06CC\u0647", +align_top:"\u0628\u0627\u0644\u0627", +align_middle:"\u0648\u0633\u0637", +align_bottom:"\u067E\u0627\u06CC\u06CC\u0646", +align_texttop:"\u0645\u062A\u0646 \u0628\u0627\u0644\u0627", +align_textbottom:"\u0645\u062A\u0646 \u067E\u0627\u06CC\u06CC\u0646", +align_left:"\u0686\u067E", +align_right:"\u0631\u0627\u0633\u062A", +image_list:"\u0644\u06CC\u0633\u062A \u062A\u0635\u0648\u06CC\u0631" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fi_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fi_dlg.js old mode 100644 new mode 100755 index 1429139db9..e33d0970ef --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fi_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fi_dlg.js @@ -1,43 +1,43 @@ -tinyMCE.addI18n('fi.advimage_dlg',{ -tab_general:"Yleiset", -tab_appearance:"N\u00E4kyminen", -tab_advanced:"Edistynyt", -general:"Yleiset", -title:"Otsikko", -preview:"Esikatselu", -constrain_proportions:"S\u00E4ilyt\u00E4 mittasuhteet", -langdir:"Kielen suunta", -langcode:"Kielen koodi", -long_desc:"Pitk\u00E4n kuvauksen linkki", -style:"Tyyli", -classes:"Luokat", -ltr:"Vasemmalta oikealle", -rtl:"Oikealta vasemmalle", -id:"Id", -map:"Kuvakartta", -swap_image:"Vaihda kuva", -alt_image:"Vaihtoehtoinen kuva", -mouseover:"mouseoverille", -mouseout:"mouseoutille", -misc:"Sekalaiset", -example_img:"Ulkoasun esikatselukuva", -missing_alt:"Haluatko varmasti jatkaa lis\u00E4\u00E4m\u00E4tt\u00E4 kuvausta? Kuvauksen puuttuminen saattaa h\u00E4irit\u00E4 sellaisia, jotka k\u00E4ytt\u00E4v\u00E4t tekstipohjaista selainta tai ovat kytkeneet kuvien n\u00E4kymisen pois p\u00E4\u00E4lt\u00E4.", -dialog_title:"Lis\u00E4\u00E4/muokkaa kuvaa", -src:"Kuvan URL", -alt:"Kuvan kuvaus", -list:"Kuvalista", -border:"Kehys", -dimensions:"Mitat", -vspace:"pystysuora tila", -hspace:"vaakasuora tila", -align:"Tasaus", -align_baseline:"Rivill\u00E4", -align_top:"Ylh\u00E4\u00E4ll\u00E4", -align_middle:"Keskell\u00E4", -align_bottom:"Alhaalla", -align_texttop:"Teksti ylh\u00E4\u00E4ll\u00E4", -align_textbottom:"Teksti alhaalla", -align_left:"Vasemmalla", -align_right:"Oikealla", -image_list:"Kuvalista" +tinyMCE.addI18n('fi.advimage_dlg',{ +tab_general:"Yleiset", +tab_appearance:"N\u00E4kyminen", +tab_advanced:"Edistynyt", +general:"Yleiset", +title:"Otsikko", +preview:"Esikatselu", +constrain_proportions:"S\u00E4ilyt\u00E4 mittasuhteet", +langdir:"Kielen suunta", +langcode:"Kielen koodi", +long_desc:"Pitk\u00E4n kuvauksen linkki", +style:"Tyyli", +classes:"Luokat", +ltr:"Vasemmalta oikealle", +rtl:"Oikealta vasemmalle", +id:"Id", +map:"Kuvakartta", +swap_image:"Vaihda kuva", +alt_image:"Vaihtoehtoinen kuva", +mouseover:"mouseoverille", +mouseout:"mouseoutille", +misc:"Sekalaiset", +example_img:"Ulkoasun esikatselukuva", +missing_alt:"Haluatko varmasti jatkaa lis\u00E4\u00E4m\u00E4tt\u00E4 kuvausta? Kuvauksen puuttuminen saattaa h\u00E4irit\u00E4 sellaisia, jotka k\u00E4ytt\u00E4v\u00E4t tekstipohjaista selainta tai ovat kytkeneet kuvien n\u00E4kymisen pois p\u00E4\u00E4lt\u00E4.", +dialog_title:"Lis\u00E4\u00E4/muokkaa kuvaa", +src:"Kuvan URL", +alt:"Kuvan kuvaus", +list:"Kuvalista", +border:"Kehys", +dimensions:"Mitat", +vspace:"pystysuora tila", +hspace:"vaakasuora tila", +align:"Tasaus", +align_baseline:"Rivill\u00E4", +align_top:"Ylh\u00E4\u00E4ll\u00E4", +align_middle:"Keskell\u00E4", +align_bottom:"Alhaalla", +align_texttop:"Teksti ylh\u00E4\u00E4ll\u00E4", +align_textbottom:"Teksti alhaalla", +align_left:"Vasemmalla", +align_right:"Oikealla", +image_list:"Kuvalista" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fr_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fr_dlg.js old mode 100644 new mode 100755 index 92b6916391..577f7f4597 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fr_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fr_dlg.js @@ -1,43 +1,43 @@ -tinyMCE.addI18n('fr.advimage_dlg',{ -tab_general:"G\u00E9n\u00E9ral", -tab_appearance:"Apparence", -tab_advanced:"Avanc\u00E9", -general:"G\u00E9n\u00E9ral", -title:"Titre", -preview:"Pr\u00E9visualisation", -constrain_proportions:"Conserver les proportions", -langdir:"Sens de lecture", -langcode:"Code de la langue", -long_desc:"Description longue du lien", -style:"Style", -classes:"Classes", -ltr:"De gauche \u00E0 droite", -rtl:"De droite \u00E0 gauche", -id:"Id", -map:"Image cliquable", -swap_image:"Image de remplacement", -alt_image:"Image alternative", -mouseover:"au survol de la souris", -mouseout:"\u00E0 la sortie de la souris", -misc:"Divers", -example_img:"Apparence de l'image", -missing_alt:"\u00CAtes-vous s\u00FBr de vouloir continuer sans d\u00E9finir de description pour l'image ? Sans elle, l'image peut ne pas \u00EAtre accessible \u00E0 certains utilisateurs handicap\u00E9s, ceux utilisant un navigateur texte ou ceux qui naviguent sans affichage des images.", -dialog_title:"Ins\u00E9rer / \u00E9diter une image", -src:"URL de l'image", -alt:"Description de l'image", -list:"Liste d'images", -border:"Bordure", -dimensions:"Dimensions", -vspace:"Espacement vertical", -hspace:"Espacement horizontal", -align:"Alignement", -align_baseline:"Normal", -align_top:"En haut", -align_middle:"Au milieu", -align_bottom:"En bas", -align_texttop:"Texte en haut", -align_textbottom:"Texte en bas", -align_left:"Gauche (flottant)", -align_right:"Droite (flottant)", -image_list:"Liste d'images" +tinyMCE.addI18n('fr.advimage_dlg',{ +tab_general:"G\u00E9n\u00E9ral", +tab_appearance:"Apparence", +tab_advanced:"Avanc\u00E9", +general:"G\u00E9n\u00E9ral", +title:"Titre", +preview:"Pr\u00E9visualisation", +constrain_proportions:"Conserver les proportions", +langdir:"Sens de lecture", +langcode:"Code de la langue", +long_desc:"Description longue du lien", +style:"Style", +classes:"Classes", +ltr:"De gauche \u00E0 droite", +rtl:"De droite \u00E0 gauche", +id:"Id", +map:"Image cliquable", +swap_image:"Image de remplacement", +alt_image:"Image alternative", +mouseover:"au survol de la souris", +mouseout:"\u00E0 la sortie de la souris", +misc:"Divers", +example_img:"Apparence de l'image", +missing_alt:"\u00CAtes-vous s\u00FBr de vouloir continuer sans d\u00E9finir de description pour l'image ? Sans elle, l'image peut ne pas \u00EAtre accessible \u00E0 certains utilisateurs handicap\u00E9s, ceux utilisant un navigateur texte ou ceux qui naviguent sans affichage des images.", +dialog_title:"Ins\u00E9rer / \u00E9diter une image", +src:"URL de l'image", +alt:"Description de l'image", +list:"Liste d'images", +border:"Bordure", +dimensions:"Dimensions", +vspace:"Espacement vertical", +hspace:"Espacement horizontal", +align:"Alignement", +align_baseline:"Normal", +align_top:"En haut", +align_middle:"Au milieu", +align_bottom:"En bas", +align_texttop:"Texte en haut", +align_textbottom:"Texte en bas", +align_left:"Gauche (flottant)", +align_right:"Droite (flottant)", +image_list:"Liste d'images" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/he_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/he_dlg.js old mode 100644 new mode 100755 index 5a8d689251..b0e01aa15d --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/he_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/he_dlg.js @@ -1,43 +1,43 @@ -tinyMCE.addI18n('he.advimage_dlg',{ -tab_general:"\u05DB\u05DC\u05DC\u05D9", -tab_appearance:"\u05DE\u05E8\u05D0\u05D4", -tab_advanced:"\u05DE\u05EA\u05E7\u05D3\u05DD", -general:"\u05DB\u05DC\u05DC\u05D9", -title:"\u05DB\u05D5\u05EA\u05E8\u05EA", -preview:"\u05EA\u05E6\u05D5\u05D2\u05D4 \u05DE\u05E7\u05D3\u05D9\u05DE\u05D4", -constrain_proportions:"\u05E9\u05DE\u05D9\u05E8\u05D4 \u05E2\u05DC \u05E4\u05E8\u05D5\u05E4\u05D5\u05E8\u05E6\u05D9\u05D5\u05EA", -langdir:"\u05DB\u05D9\u05D5\u05D5\u05DF \u05D4\u05E9\u05E4\u05D4", -langcode:"\u05E7\u05D5\u05D3 \u05D4\u05E9\u05E4\u05D4", -long_desc:"\u05EA\u05D9\u05D0\u05D5\u05E8 \u05E7\u05D9\u05E9\u05D5\u05E8 \u05D0\u05E8\u05D5\u05DA", -style:"\u05E1\u05D2\u05E0\u05D5\u05DF", -classes:"Classes", -ltr:"\u05DE\u05E9\u05DE\u05D0\u05DC \u05DC\u05D9\u05DE\u05D9\u05DF", -rtl:"\u05DE\u05D9\u05DE\u05D9\u05DF \u05DC\u05E9\u05DE\u05D0\u05DC", -id:"Id", -map:"Image map", -swap_image:"\u05D4\u05D7\u05DC\u05E4\u05EA \u05EA\u05DE\u05D5\u05E0\u05D4", -alt_image:"\u05EA\u05DE\u05D5\u05E0\u05D4 \u05D7\u05DC\u05D9\u05E4\u05D9\u05EA", -mouseover:"\u05D1\u05E2\u05EA \u05DE\u05E2\u05D1\u05E8 \u05D4\u05E1\u05DE\u05DF \u05E2\u05DC \u05D4\u05EA\u05DE\u05D5\u05E0\u05D4", -mouseout:"\u05D4\u05E1\u05DE\u05DF \u05E2\u05D1\u05E8 \u05D0\u05EA \u05D4\u05EA\u05DE\u05D5\u05E0\u05D4", -misc:"\u05E9\u05D5\u05E0\u05D5\u05EA", -example_img:"\u05EA\u05E6\u05D5\u05D2\u05D4 \u05DE\u05E7\u05D3\u05D9\u05DE\u05D4 \u05E9\u05DC \u05D4\u05EA\u05DE\u05D5\u05E0\u05D4", -missing_alt:"\u05DC\u05D4\u05DE\u05E9\u05D9\u05DA \u05DE\u05D1\u05DC\u05D9 \u05DC\u05D4\u05D5\u05E1\u05D9\u05E3 \u05EA\u05D9\u05D0\u05D5\u05E8 \u05DC\u05EA\u05DE\u05D5\u05E0\u05D4?", -dialog_title:"\u05D4\u05D5\u05E1\u05E4\u05D4/\u05E2\u05E8\u05D9\u05DB\u05EA \u05EA\u05DE\u05D5\u05E0\u05D4", -src:"URL \u05E9\u05DC \u05D4\u05EA\u05DE\u05D5\u05E0\u05D4", -alt:"\u05EA\u05D9\u05D0\u05D5\u05E8 \u05D4\u05EA\u05DE\u05D5\u05E0\u05D4", -list:"\u05E8\u05E9\u05D9\u05DE\u05EA \u05EA\u05DE\u05D5\u05E0\u05D5\u05EA", -border:"\u05D2\u05D1\u05D5\u05DC", -dimensions:"\u05DE\u05D9\u05DE\u05D3\u05D9\u05DD", -vspace:"\u05E7\u05D5 \u05D0\u05E0\u05DB\u05D9", -hspace:"\u05E7\u05D5 \u05D0\u05D5\u05E4\u05E7\u05D9", -align:"\u05D9\u05E9\u05D5\u05E8", -align_baseline:"\u05E7\u05D5 \u05D1\u05E1\u05D9\u05E1\u05D9", -align_top:"\u05E2\u05DC\u05D9\u05D5\u05DF", -align_middle:"\u05D0\u05DE\u05E6\u05E2", -align_bottom:"\u05EA\u05D7\u05EA\u05D9\u05EA", -align_texttop:"\u05D8\u05E7\u05E1\u05D8 \u05E2\u05DC\u05D9\u05D5\u05DF", -align_textbottom:"\u05D8\u05E7\u05E1\u05D8 \u05EA\u05D7\u05EA\u05D5\u05DF", -align_left:"\u05DC\u05E9\u05DE\u05D0\u05DC", -align_right:"Right", -image_list:"\u05E8\u05E9\u05D9\u05DE\u05EA \u05EA\u05DE\u05D5\u05E0\u05D5\u05EA" +tinyMCE.addI18n('he.advimage_dlg',{ +tab_general:"\u05DB\u05DC\u05DC\u05D9", +tab_appearance:"\u05DE\u05E8\u05D0\u05D4", +tab_advanced:"\u05DE\u05EA\u05E7\u05D3\u05DD", +general:"\u05DB\u05DC\u05DC\u05D9", +title:"\u05DB\u05D5\u05EA\u05E8\u05EA", +preview:"\u05EA\u05E6\u05D5\u05D2\u05D4 \u05DE\u05E7\u05D3\u05D9\u05DE\u05D4", +constrain_proportions:"\u05E9\u05DE\u05D9\u05E8\u05D4 \u05E2\u05DC \u05E4\u05E8\u05D5\u05E4\u05D5\u05E8\u05E6\u05D9\u05D5\u05EA", +langdir:"\u05DB\u05D9\u05D5\u05D5\u05DF \u05D4\u05E9\u05E4\u05D4", +langcode:"\u05E7\u05D5\u05D3 \u05D4\u05E9\u05E4\u05D4", +long_desc:"\u05EA\u05D9\u05D0\u05D5\u05E8 \u05E7\u05D9\u05E9\u05D5\u05E8 \u05D0\u05E8\u05D5\u05DA", +style:"\u05E1\u05D2\u05E0\u05D5\u05DF", +classes:"Classes", +ltr:"\u05DE\u05E9\u05DE\u05D0\u05DC \u05DC\u05D9\u05DE\u05D9\u05DF", +rtl:"\u05DE\u05D9\u05DE\u05D9\u05DF \u05DC\u05E9\u05DE\u05D0\u05DC", +id:"Id", +map:"Image map", +swap_image:"\u05D4\u05D7\u05DC\u05E4\u05EA \u05EA\u05DE\u05D5\u05E0\u05D4", +alt_image:"\u05EA\u05DE\u05D5\u05E0\u05D4 \u05D7\u05DC\u05D9\u05E4\u05D9\u05EA", +mouseover:"\u05D1\u05E2\u05EA \u05DE\u05E2\u05D1\u05E8 \u05D4\u05E1\u05DE\u05DF \u05E2\u05DC \u05D4\u05EA\u05DE\u05D5\u05E0\u05D4", +mouseout:"\u05D4\u05E1\u05DE\u05DF \u05E2\u05D1\u05E8 \u05D0\u05EA \u05D4\u05EA\u05DE\u05D5\u05E0\u05D4", +misc:"\u05E9\u05D5\u05E0\u05D5\u05EA", +example_img:"\u05EA\u05E6\u05D5\u05D2\u05D4 \u05DE\u05E7\u05D3\u05D9\u05DE\u05D4 \u05E9\u05DC \u05D4\u05EA\u05DE\u05D5\u05E0\u05D4", +missing_alt:"\u05DC\u05D4\u05DE\u05E9\u05D9\u05DA \u05DE\u05D1\u05DC\u05D9 \u05DC\u05D4\u05D5\u05E1\u05D9\u05E3 \u05EA\u05D9\u05D0\u05D5\u05E8 \u05DC\u05EA\u05DE\u05D5\u05E0\u05D4?", +dialog_title:"\u05D4\u05D5\u05E1\u05E4\u05D4/\u05E2\u05E8\u05D9\u05DB\u05EA \u05EA\u05DE\u05D5\u05E0\u05D4", +src:"URL \u05E9\u05DC \u05D4\u05EA\u05DE\u05D5\u05E0\u05D4", +alt:"\u05EA\u05D9\u05D0\u05D5\u05E8 \u05D4\u05EA\u05DE\u05D5\u05E0\u05D4", +list:"\u05E8\u05E9\u05D9\u05DE\u05EA \u05EA\u05DE\u05D5\u05E0\u05D5\u05EA", +border:"\u05D2\u05D1\u05D5\u05DC", +dimensions:"\u05DE\u05D9\u05DE\u05D3\u05D9\u05DD", +vspace:"\u05E7\u05D5 \u05D0\u05E0\u05DB\u05D9", +hspace:"\u05E7\u05D5 \u05D0\u05D5\u05E4\u05E7\u05D9", +align:"\u05D9\u05E9\u05D5\u05E8", +align_baseline:"\u05E7\u05D5 \u05D1\u05E1\u05D9\u05E1\u05D9", +align_top:"\u05E2\u05DC\u05D9\u05D5\u05DF", +align_middle:"\u05D0\u05DE\u05E6\u05E2", +align_bottom:"\u05EA\u05D7\u05EA\u05D9\u05EA", +align_texttop:"\u05D8\u05E7\u05E1\u05D8 \u05E2\u05DC\u05D9\u05D5\u05DF", +align_textbottom:"\u05D8\u05E7\u05E1\u05D8 \u05EA\u05D7\u05EA\u05D5\u05DF", +align_left:"\u05DC\u05E9\u05DE\u05D0\u05DC", +align_right:"Right", +image_list:"\u05E8\u05E9\u05D9\u05DE\u05EA \u05EA\u05DE\u05D5\u05E0\u05D5\u05EA" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/it_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/it_dlg.js old mode 100644 new mode 100755 index 70adae4904..f3990a60eb --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/it_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/it_dlg.js @@ -1,43 +1,43 @@ -tinyMCE.addI18n('it.advimage_dlg',{ -tab_general:"Generale", -tab_appearance:"Aspetto", -tab_advanced:"Avanzate", -general:"Generale", -title:"Titolo", -preview:"Anteprima", -constrain_proportions:"Mantieni proporzioni", -langdir:"Direzione testo", -langcode:"codice lingua", -long_desc:"Descrizione del collegamento", -style:"Stile", -classes:"Classe", -ltr:"Sinistra verso destra", -rtl:"Destra verso sinistraa", -id:"Id", -map:"Immagine come mappa", -swap_image:"Sostituisci immagine", -alt_image:"Immagine alternativa", -mouseover:"quando mouse sopra", -mouseout:"quando mouse fuori", -misc:"Impostazioni varie", -example_img:"Anteprima aspetto immagine", -missing_alt:"Sicuro di continuare senza includere una descrizione dell'immagine? Senza di essa l'immagine pu\u00F2 non essere accessibile ad alcuni utenti con disabilit\u00E0, o per coloro che usano un browser testuale oppure che hanno disabilitato la visualizzazione delle immagini nel loro browser.", -dialog_title:"Inserisci/modifica immagine", -src:"URL immagine", -alt:"Descrizione immagine", -list:"Lista immagini", -border:"Bordo", -dimensions:"Dimensioni", -vspace:"Spaziatura verticale", -hspace:"Spaziatura orizzontale", -align:"Allineamento", -align_baseline:"Alla base", -align_top:"In alto", -align_middle:"In mezzo", -align_bottom:"In basso", -align_texttop:"In alto al testo", -align_textbottom:"In basso al testo", -align_left:"A sinistra", -align_right:"A destra", -image_list:"Lista immagini" +tinyMCE.addI18n('it.advimage_dlg',{ +tab_general:"Generale", +tab_appearance:"Aspetto", +tab_advanced:"Avanzate", +general:"Generale", +title:"Titolo", +preview:"Anteprima", +constrain_proportions:"Mantieni proporzioni", +langdir:"Direzione testo", +langcode:"codice lingua", +long_desc:"Descrizione del collegamento", +style:"Stile", +classes:"Classe", +ltr:"Sinistra verso destra", +rtl:"Destra verso sinistraa", +id:"Id", +map:"Immagine come mappa", +swap_image:"Sostituisci immagine", +alt_image:"Immagine alternativa", +mouseover:"quando mouse sopra", +mouseout:"quando mouse fuori", +misc:"Impostazioni varie", +example_img:"Anteprima aspetto immagine", +missing_alt:"Sicuro di continuare senza includere una descrizione dell'immagine? Senza di essa l'immagine pu\u00F2 non essere accessibile ad alcuni utenti con disabilit\u00E0, o per coloro che usano un browser testuale oppure che hanno disabilitato la visualizzazione delle immagini nel loro browser.", +dialog_title:"Inserisci/modifica immagine", +src:"URL immagine", +alt:"Descrizione immagine", +list:"Lista immagini", +border:"Bordo", +dimensions:"Dimensioni", +vspace:"Spaziatura verticale", +hspace:"Spaziatura orizzontale", +align:"Allineamento", +align_baseline:"Alla base", +align_top:"In alto", +align_middle:"In mezzo", +align_bottom:"In basso", +align_texttop:"In alto al testo", +align_textbottom:"In basso al testo", +align_left:"A sinistra", +align_right:"A destra", +image_list:"Lista immagini" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/ja_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/ja_dlg.js old mode 100644 new mode 100755 index ab5186fcdb..d0cd469935 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/ja_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/ja_dlg.js @@ -1,43 +1,43 @@ -tinyMCE.addI18n('ja.advimage_dlg',{ -tab_general:"\u30A2\u30C9\u30EC\u30B9\u304B\u3089", -tab_appearance:"\u8868\u793A", -tab_advanced:"\u4E0A\u7D1A\u8005\u5411\u3051", -general:"\u4E00\u822C", -title:"title\u5C5E\u6027", -preview:"\u30D7\u30EC\u30D3\u30E5\u30FC", -constrain_proportions:"\u7E26\u6A2A\u6BD4\u306E\u4FDD\u5B58", -langdir:"\u6587\u7AE0\u306E\u65B9\u5411", -langcode:"\u8A00\u8A9E\u30B3\u30FC\u30C9", -long_desc:"\u8A73\u7D30\u8AAC\u660E\u30EA\u30F3\u30AF", -style:"style\u5C5E\u6027", -classes:"class\u5C5E\u6027", -ltr:"\u5DE6\u304B\u3089\u53F3", -rtl:"\u53F3\u304B\u3089\u5DE6", -id:"ID\u5C5E\u6027", -map:"\u30A4\u30E1\u30FC\u30B8\u30DE\u30C3\u30D7", -swap_image:"\u30ED\u30FC\u30EB\u30AA\u30FC\u30D0\u30FC\u52B9\u679C", -alt_image:"\u753B\u50CF\u5207\u66FF\u3092\u884C\u3046", -mouseover:"\u30DE\u30A6\u30B9\u30AA\u30FC\u30D0\u30FC\u6642", -mouseout:"\u30DE\u30A6\u30B9\u30A2\u30A6\u30C8\u6642", -misc:"\u305D\u306E\u4ED6", -example_img:"Appearance preview image", -missing_alt:"\u753B\u50CF\u306E\u8AAC\u660E\u6587\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u76EE\u306E\u4E0D\u81EA\u7531\u306A\u65B9\u3084\u30C6\u30AD\u30B9\u30C8\u30D6\u30E9\u30A6\u30B6\u3092\u5229\u7528\u3055\u308C\u3066\u3044\u308B\u65B9\u3078\u914D\u616E\u3057\u3001\u753B\u50CF\u8AAC\u660E\u3092\u5165\u529B\u3059\u308B\u3053\u3068\u3092\u304A\u85A6\u3081\u3057\u307E\u3059\u3002", -dialog_title:"\u753B\u50CF\u306E\u633F\u5165/\u7DE8\u96C6", -src:"\u753B\u50CFURL", -alt:"alt\u5C5E\u6027", -list:"\u4E00\u89A7\u304B\u3089\u9078\u3076", -border:"\u67A0\u7DDA", -dimensions:"\u30B5\u30A4\u30BA", -vspace:"\u4E0A\u4E0B\u4F59\u767D", -hspace:"\u5DE6\u53F3\u4F59\u767D", -align:"\u914D\u7F6E", -align_baseline:"Baseline", -align_top:"Top", -align_middle:"Middle", -align_bottom:"Bottom", -align_texttop:"Text top", -align_textbottom:"Text bottom", -align_left:"Left", -align_right:"Right", -image_list:"\u4E00\u89A7\u304B\u3089\u9078\u3076" +tinyMCE.addI18n('ja.advimage_dlg',{ +tab_general:"\u30A2\u30C9\u30EC\u30B9\u304B\u3089", +tab_appearance:"\u8868\u793A", +tab_advanced:"\u4E0A\u7D1A\u8005\u5411\u3051", +general:"\u4E00\u822C", +title:"title\u5C5E\u6027", +preview:"\u30D7\u30EC\u30D3\u30E5\u30FC", +constrain_proportions:"\u7E26\u6A2A\u6BD4\u306E\u4FDD\u5B58", +langdir:"\u6587\u7AE0\u306E\u65B9\u5411", +langcode:"\u8A00\u8A9E\u30B3\u30FC\u30C9", +long_desc:"\u8A73\u7D30\u8AAC\u660E\u30EA\u30F3\u30AF", +style:"style\u5C5E\u6027", +classes:"class\u5C5E\u6027", +ltr:"\u5DE6\u304B\u3089\u53F3", +rtl:"\u53F3\u304B\u3089\u5DE6", +id:"ID\u5C5E\u6027", +map:"\u30A4\u30E1\u30FC\u30B8\u30DE\u30C3\u30D7", +swap_image:"\u30ED\u30FC\u30EB\u30AA\u30FC\u30D0\u30FC\u52B9\u679C", +alt_image:"\u753B\u50CF\u5207\u66FF\u3092\u884C\u3046", +mouseover:"\u30DE\u30A6\u30B9\u30AA\u30FC\u30D0\u30FC\u6642", +mouseout:"\u30DE\u30A6\u30B9\u30A2\u30A6\u30C8\u6642", +misc:"\u305D\u306E\u4ED6", +example_img:"Appearance preview image", +missing_alt:"\u753B\u50CF\u306E\u8AAC\u660E\u6587\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u76EE\u306E\u4E0D\u81EA\u7531\u306A\u65B9\u3084\u30C6\u30AD\u30B9\u30C8\u30D6\u30E9\u30A6\u30B6\u3092\u5229\u7528\u3055\u308C\u3066\u3044\u308B\u65B9\u3078\u914D\u616E\u3057\u3001\u753B\u50CF\u8AAC\u660E\u3092\u5165\u529B\u3059\u308B\u3053\u3068\u3092\u304A\u85A6\u3081\u3057\u307E\u3059\u3002", +dialog_title:"\u753B\u50CF\u306E\u633F\u5165/\u7DE8\u96C6", +src:"\u753B\u50CFURL", +alt:"alt\u5C5E\u6027", +list:"\u4E00\u89A7\u304B\u3089\u9078\u3076", +border:"\u67A0\u7DDA", +dimensions:"\u30B5\u30A4\u30BA", +vspace:"\u4E0A\u4E0B\u4F59\u767D", +hspace:"\u5DE6\u53F3\u4F59\u767D", +align:"\u914D\u7F6E", +align_baseline:"Baseline", +align_top:"Top", +align_middle:"Middle", +align_bottom:"Bottom", +align_texttop:"Text top", +align_textbottom:"Text bottom", +align_left:"Left", +align_right:"Right", +image_list:"\u4E00\u89A7\u304B\u3089\u9078\u3076" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/nl_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/nl_dlg.js old mode 100644 new mode 100755 index b6db1f22b7..11b41a71c6 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/nl_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/nl_dlg.js @@ -1,43 +1,43 @@ -tinyMCE.addI18n('nl.advimage_dlg',{ -tab_general:"Algemeen", -tab_appearance:"Weergave", -tab_advanced:"Geavanceerd", -general:"Algemeen", -title:"Titel", -preview:"Voorbeeld", -constrain_proportions:"Verhouding behouden", -langdir:"Taalrichting", -langcode:"Taalcode", -long_desc:"Uitgebreide beschrijving", -style:"Stijl", -classes:"Klasses", -ltr:"Van links naar rechts", -rtl:"Van rechts naar links", -id:"Id", -map:"Afbeeldingsplattegrond", -swap_image:"Afbeelding wisselen", -alt_image:"Alternatieve afbeeldingen", -mouseover:"Bij muis over", -mouseout:"Bij muis uit", -misc:"Diversen", -example_img:"Voorbeeldweergave", -missing_alt:"Wilt u de afbeelding zonder beschrijving invoegen? De afbeelding wordt dan mogelijk niet opgemerkt door mensen met een visuele handicap, of welke zonder afbeeldingen browsen.", -dialog_title:"Afbeelding invoegen/bewerken", -src:"Bestand/URL", -alt:"Beschrijving", -list:"Lijst", -border:"Rand", -dimensions:"Afmetingen", -vspace:"Verticale ruimte", -hspace:"Horizontale ruimte", -align:"Uitlijning", -align_baseline:"Basislijn", -align_top:"Boven", -align_middle:"Midden", -align_bottom:"Onder", -align_texttop:"Bovenkant tekst", -align_textbottom:"Onderkant tekst", -align_left:"Links", -align_right:"Rechts", -image_list:"Lijst" +tinyMCE.addI18n('nl.advimage_dlg',{ +tab_general:"Algemeen", +tab_appearance:"Weergave", +tab_advanced:"Geavanceerd", +general:"Algemeen", +title:"Titel", +preview:"Voorbeeld", +constrain_proportions:"Verhouding behouden", +langdir:"Taalrichting", +langcode:"Taalcode", +long_desc:"Uitgebreide beschrijving", +style:"Stijl", +classes:"Klasses", +ltr:"Van links naar rechts", +rtl:"Van rechts naar links", +id:"Id", +map:"Afbeeldingsplattegrond", +swap_image:"Afbeelding wisselen", +alt_image:"Alternatieve afbeeldingen", +mouseover:"Bij muis over", +mouseout:"Bij muis uit", +misc:"Diversen", +example_img:"Voorbeeldweergave", +missing_alt:"Wilt u de afbeelding zonder beschrijving invoegen? De afbeelding wordt dan mogelijk niet opgemerkt door mensen met een visuele handicap, of welke zonder afbeeldingen browsen.", +dialog_title:"Afbeelding invoegen/bewerken", +src:"Bestand/URL", +alt:"Beschrijving", +list:"Lijst", +border:"Rand", +dimensions:"Afmetingen", +vspace:"Verticale ruimte", +hspace:"Horizontale ruimte", +align:"Uitlijning", +align_baseline:"Basislijn", +align_top:"Boven", +align_middle:"Midden", +align_bottom:"Onder", +align_texttop:"Bovenkant tekst", +align_textbottom:"Onderkant tekst", +align_left:"Links", +align_right:"Rechts", +image_list:"Lijst" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/nn_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/nn_dlg.js old mode 100644 new mode 100755 index 89e10c13d8..49a83992ed --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/nn_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/nn_dlg.js @@ -1,43 +1,43 @@ -tinyMCE.addI18n('nn.advimage_dlg',{ -tab_general:"Generelt", -tab_appearance:"Utsj\u00E5nad", -tab_advanced:"Avansert", -general:"Generelt", -title:"Tittel", -preview:"Sj\u00E5 f\u00F8rebels utkast", -constrain_proportions:"Behald proporsjonar", -langdir:"Skriftretning", -langcode:"Spr\u00E5kkode", -long_desc:"Lang omtale", -style:"Stil", -classes:"Klasser", -ltr:"Venstre mot h\u00F8gre", -rtl:"H\u00F8gre mot venstre", -id:"Id", -map:"Biletekart", -swap_image:"Byt bilete", -alt_image:"Alternativt bilete", -mouseover:"for musepeikar over", -mouseout:"for musepeikar utanfor", -misc:"Anna", -example_img:"Sj\u00E5 f\u00F8rebels utkast av bilete", -missing_alt:"Er du sikker p\u00E5 at du vil fortsetje utan \u00E5 setje inn ei omtale av biletet? Utan omtale vil biletet ikkje gje meining for enkelte funksjonshemma eller for personar som bruker ein nettlesar med biletvisinga avsl\u00E5tt.", -dialog_title:"Set inn / endre bilete", -src:"Bilete-URL", -alt:"Bileteomtale", -list:"Bileteliste", -border:"Ramme", -dimensions:"Dimensjonar", -vspace:"Vertikal avstand", -hspace:"Horisontal avstand", -align:"Justering", -align_baseline:"Basislinje", -align_top:"Topp", -align_middle:"Midtstilt", -align_bottom:"Botn", -align_texttop:"Tekst topp", -align_textbottom:"Tekst botn", -align_left:"Venstre", -align_right:"H\u00F8gre", -image_list:"Liste med bilete" +tinyMCE.addI18n('nn.advimage_dlg',{ +tab_general:"Generelt", +tab_appearance:"Utsj\u00E5nad", +tab_advanced:"Avansert", +general:"Generelt", +title:"Tittel", +preview:"Sj\u00E5 f\u00F8rebels utkast", +constrain_proportions:"Behald proporsjonar", +langdir:"Skriftretning", +langcode:"Spr\u00E5kkode", +long_desc:"Lang omtale", +style:"Stil", +classes:"Klasser", +ltr:"Venstre mot h\u00F8gre", +rtl:"H\u00F8gre mot venstre", +id:"Id", +map:"Biletekart", +swap_image:"Byt bilete", +alt_image:"Alternativt bilete", +mouseover:"for musepeikar over", +mouseout:"for musepeikar utanfor", +misc:"Anna", +example_img:"Sj\u00E5 f\u00F8rebels utkast av bilete", +missing_alt:"Er du sikker p\u00E5 at du vil fortsetje utan \u00E5 setje inn ei omtale av biletet? Utan omtale vil biletet ikkje gje meining for enkelte funksjonshemma eller for personar som bruker ein nettlesar med biletvisinga avsl\u00E5tt.", +dialog_title:"Set inn / endre bilete", +src:"Bilete-URL", +alt:"Bileteomtale", +list:"Bileteliste", +border:"Ramme", +dimensions:"Dimensjonar", +vspace:"Vertikal avstand", +hspace:"Horisontal avstand", +align:"Justering", +align_baseline:"Basislinje", +align_top:"Topp", +align_middle:"Midtstilt", +align_bottom:"Botn", +align_texttop:"Tekst topp", +align_textbottom:"Tekst botn", +align_left:"Venstre", +align_right:"H\u00F8gre", +image_list:"Liste med bilete" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/pl_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/pl_dlg.js old mode 100644 new mode 100755 index f7c561532b..5801ea4b8e --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/pl_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/pl_dlg.js @@ -1,43 +1,43 @@ -tinyMCE.addI18n('pl.advimage_dlg',{ -tab_general:"Og\u00F3lny", -tab_appearance:"Prezentacja", -tab_advanced:"Zaawansowany", -general:"Og\u00F3lny", -title:"Tytu\u0142", -preview:"Podgl\u0105d", -constrain_proportions:"Zachowaj proporcje", -langdir:"Kierunek j\u0119zyka", -langcode:"Kod j\u0119zyka", -long_desc:"D\u0142ugi opis linku", -style:"Styl", -classes:"Klasa", -ltr:"Lewy do prawego", -rtl:"Prawy do lewego", -id:"Id", -map:"Mapa obrazu", -swap_image:"Wymiana obrazka", -alt_image:"alternatywny obrazek", -mouseover:"for mouse over", -mouseout:"for mouse out", -misc:"R\u00F3\u017Cne", -example_img:"Podgl\u0105d wygl\u0105du obrazka", -missing_alt:"Czy jeste\u015B pewien, \u017Ce chcesz kontynuowa\u0107 bez opisu obrazka? Obrazek bez opisu mo\u017Ce nie by\u0107 dost\u0119pny dla u\u017Cytkownik\u00F3w kt\u00F3rzy u\u017Cywaj\u0105 tekstowej przegl\u0105darki, lub przegl\u0105daj\u0105cych stron\u0119 z wy\u0142\u0105czonymi obrazkami.", -dialog_title:"Wklej/edytuj obraz", -src:"URL obrazka", -alt:"Opis obrazka", -list:"Lista obrazk\u00F3w", -border:"Obramowanie", -dimensions:"Rozmiary", -vspace:"Pionowy odstep", -hspace:"Poziomy odstep", -align:"Wyr\u00F3wnanie", -align_baseline:"G\u0142\u00F3wna linia", -align_top:"G\u00F3rny", -align_middle:"\u015Arodkowy", -align_bottom:"Dolny", -align_texttop:"Tekst g\u00F3rny", -align_textbottom:"Tekst dolny", -align_left:"Lewy", -align_right:"Prawy", -image_list:"Lista obrazk\u00F3w" +tinyMCE.addI18n('pl.advimage_dlg',{ +tab_general:"Og\u00F3lny", +tab_appearance:"Prezentacja", +tab_advanced:"Zaawansowany", +general:"Og\u00F3lny", +title:"Tytu\u0142", +preview:"Podgl\u0105d", +constrain_proportions:"Zachowaj proporcje", +langdir:"Kierunek j\u0119zyka", +langcode:"Kod j\u0119zyka", +long_desc:"D\u0142ugi opis linku", +style:"Styl", +classes:"Klasa", +ltr:"Lewy do prawego", +rtl:"Prawy do lewego", +id:"Id", +map:"Mapa obrazu", +swap_image:"Wymiana obrazka", +alt_image:"alternatywny obrazek", +mouseover:"for mouse over", +mouseout:"for mouse out", +misc:"R\u00F3\u017Cne", +example_img:"Podgl\u0105d wygl\u0105du obrazka", +missing_alt:"Czy jeste\u015B pewien, \u017Ce chcesz kontynuowa\u0107 bez opisu obrazka? Obrazek bez opisu mo\u017Ce nie by\u0107 dost\u0119pny dla u\u017Cytkownik\u00F3w kt\u00F3rzy u\u017Cywaj\u0105 tekstowej przegl\u0105darki, lub przegl\u0105daj\u0105cych stron\u0119 z wy\u0142\u0105czonymi obrazkami.", +dialog_title:"Wklej/edytuj obraz", +src:"URL obrazka", +alt:"Opis obrazka", +list:"Lista obrazk\u00F3w", +border:"Obramowanie", +dimensions:"Rozmiary", +vspace:"Pionowy odstep", +hspace:"Poziomy odstep", +align:"Wyr\u00F3wnanie", +align_baseline:"G\u0142\u00F3wna linia", +align_top:"G\u00F3rny", +align_middle:"\u015Arodkowy", +align_bottom:"Dolny", +align_texttop:"Tekst g\u00F3rny", +align_textbottom:"Tekst dolny", +align_left:"Lewy", +align_right:"Prawy", +image_list:"Lista obrazk\u00F3w" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/pt_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/pt_dlg.js old mode 100644 new mode 100755 index f7b45b4987..e54d142d38 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/pt_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/pt_dlg.js @@ -1,43 +1,43 @@ -tinyMCE.addI18n('pt.advimage_dlg',{ -tab_general:"Geral", -tab_appearance:"Apar\u00EAncia", -tab_advanced:"Avan\u00E7ado", -general:"Geral", -title:"T\u00EDtulo", -preview:"Pr\u00E9-Visualiza\u00E7\u00E3o", -constrain_proportions:"Manter propor\u00E7\u00F5es", -langdir:"Dire\u00E7\u00E3o do texto", -langcode:"C\u00F3digo do idioma", -long_desc:"Descri\u00E7\u00E3o extensa", -style:"Estilo", -classes:"Classes", -ltr:"Da esquerda para a direita", -rtl:"Da direita para a esquerda", -id:"Id", -map:"Mapa de imagem", -swap_image:"Trocar imagem", -alt_image:"Imagem alternativa", -mouseover:"mouseover", -mouseout:"mouseout", -misc:"Misto", -example_img:"Pr\u00E9-Visualiza\u00E7\u00E3o", -missing_alt:"Tem certeza que deseja continuar sem acrescentar uma descri\u00E7\u00E3o \u00E0 imagem? (Isto pode gerar problemas de acessibilidade em alguns navegadores)", -dialog_title:"Inserir/editar imagem", -src:"Endere\u00E7o da imagem", -alt:"Descri\u00E7\u00E3o da imagem", -list:"Lista de imagens", -border:"Limite", -dimensions:"Dimens\u00F5es", -vspace:"Espa\u00E7o vertical", -hspace:"Espa\u00E7o horizontal", -align:"Alinhamento", -align_baseline:"Sobre a linha de texto", -align_top:"Topo", -align_middle:"Meio", -align_bottom:"Abaixo", -align_texttop:"Topo do texto", -align_textbottom:"Base do texto", -align_left:"Esquerda", -align_right:"Direita", -image_list:"Lista de imagens" +tinyMCE.addI18n('pt.advimage_dlg',{ +tab_general:"Geral", +tab_appearance:"Apar\u00EAncia", +tab_advanced:"Avan\u00E7ado", +general:"Geral", +title:"T\u00EDtulo", +preview:"Pr\u00E9-Visualiza\u00E7\u00E3o", +constrain_proportions:"Manter propor\u00E7\u00F5es", +langdir:"Dire\u00E7\u00E3o do texto", +langcode:"C\u00F3digo do idioma", +long_desc:"Descri\u00E7\u00E3o extensa", +style:"Estilo", +classes:"Classes", +ltr:"Da esquerda para a direita", +rtl:"Da direita para a esquerda", +id:"Id", +map:"Mapa de imagem", +swap_image:"Trocar imagem", +alt_image:"Imagem alternativa", +mouseover:"mouseover", +mouseout:"mouseout", +misc:"Misto", +example_img:"Pr\u00E9-Visualiza\u00E7\u00E3o", +missing_alt:"Tem certeza que deseja continuar sem acrescentar uma descri\u00E7\u00E3o \u00E0 imagem? (Isto pode gerar problemas de acessibilidade em alguns navegadores)", +dialog_title:"Inserir/editar imagem", +src:"Endere\u00E7o da imagem", +alt:"Descri\u00E7\u00E3o da imagem", +list:"Lista de imagens", +border:"Limite", +dimensions:"Dimens\u00F5es", +vspace:"Espa\u00E7o vertical", +hspace:"Espa\u00E7o horizontal", +align:"Alinhamento", +align_baseline:"Sobre a linha de texto", +align_top:"Topo", +align_middle:"Meio", +align_bottom:"Abaixo", +align_texttop:"Topo do texto", +align_textbottom:"Base do texto", +align_left:"Esquerda", +align_right:"Direita", +image_list:"Lista de imagens" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/ru_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/ru_dlg.js old mode 100644 new mode 100755 index 17b2b5ea60..b6ad46a3cf --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/ru_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/ru_dlg.js @@ -1,43 +1,43 @@ -tinyMCE.addI18n('ru.advimage_dlg',{ -tab_general:"\u041E\u0431\u0449\u0435\u0435", -tab_appearance:"\u041F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435", -tab_advanced:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u043E", -general:"\u041E\u0431\u0449\u0438\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B", -title:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A", -preview:"\u041F\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440", -constrain_proportions:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043F\u0440\u043E\u043F\u043E\u0440\u0446\u0438\u0438", -langdir:"\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0430", -langcode:"\u041A\u043E\u0434 \u044F\u0437\u044B\u043A\u0430", -long_desc:"\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0430 \u043F\u043E\u043B\u043D\u043E\u0435 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435", -style:"\u0421\u0442\u0438\u043B\u044C", -classes:"\u041A\u043B\u0430\u0441\u0441\u044B", -ltr:"\u0421\u043B\u0435\u0432\u0430 \u043D\u0430\u043F\u0440\u0430\u0432\u043E", -rtl:"\u0421\u043F\u0440\u0430\u0432\u0430 \u043D\u0430\u043B\u0435\u0432\u043E", -id:"\u0418\u043C\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430", -map:"\u041A\u0430\u0440\u0442\u0430 \u0441\u0441\u044B\u043B\u043E\u043A", -swap_image:"\u0414\u0438\u043D\u0430\u043C\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435", -alt_image:"\u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u043E\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435", -mouseover:"\u041F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438", -mouseout:"\u0412 \u043F\u043E\u043A\u043E\u0435", -misc:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B", -example_img:"\u041F\u0440\u0438\u043C\u0435\u0440 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F", -missing_alt:"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C \u0431\u0435\u0437 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u044F? \u0411\u0435\u0437 \u044D\u0442\u043E\u0433\u043E \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u043C \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F\u043C.", -dialog_title:"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F", -src:"\u0410\u0434\u0440\u0435\u0441", -alt:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435", -list:"\u0421\u043F\u0438\u0441\u043E\u043A", -border:"\u0413\u0440\u0430\u043D\u0438\u0446\u0430", -dimensions:"\u0420\u0430\u0437\u043C\u0435\u0440", -vspace:"\u0412\u0435\u0440\u0442. \u043E\u0442\u0441\u0442\u0443\u043F", -hspace:"\u0413\u043E\u0440\u0438\u0437. \u043E\u0442\u0441\u0442\u0443\u043F", -align:"\u0412\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435", -align_baseline:"\u041F\u043E \u0431\u0430\u0437\u043E\u0432\u043E\u0439 \u043B\u0438\u043D\u0438\u0438", -align_top:"\u041F\u043E \u0432\u0435\u0440\u0445\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E", -align_middle:"\u041F\u043E \u0446\u0435\u043D\u0442\u0440\u0443", -align_bottom:"\u041F\u043E \u043D\u0438\u0436\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E", -align_texttop:"\u041F\u043E \u0432\u0435\u0440\u0445\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E \u0442\u0435\u043A\u0441\u0442\u0430", -align_textbottom:"\u041F\u043E \u043D\u0438\u0436\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E \u0442\u0435\u043A\u0441\u0442\u0430", -align_left:"\u041F\u043E \u043B\u0435\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E", -align_right:"\u041F\u043E \u043F\u0440\u0430\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E", -image_list:"\u0421\u043F\u0438\u0441\u043E\u043A \u043A\u0430\u0440\u0442\u0438\u043D\u043E\u043A" +tinyMCE.addI18n('ru.advimage_dlg',{ +tab_general:"\u041E\u0431\u0449\u0435\u0435", +tab_appearance:"\u041F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435", +tab_advanced:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u043E", +general:"\u041E\u0431\u0449\u0438\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B", +title:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A", +preview:"\u041F\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440", +constrain_proportions:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043F\u0440\u043E\u043F\u043E\u0440\u0446\u0438\u0438", +langdir:"\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0430", +langcode:"\u041A\u043E\u0434 \u044F\u0437\u044B\u043A\u0430", +long_desc:"\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0430 \u043F\u043E\u043B\u043D\u043E\u0435 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435", +style:"\u0421\u0442\u0438\u043B\u044C", +classes:"\u041A\u043B\u0430\u0441\u0441\u044B", +ltr:"\u0421\u043B\u0435\u0432\u0430 \u043D\u0430\u043F\u0440\u0430\u0432\u043E", +rtl:"\u0421\u043F\u0440\u0430\u0432\u0430 \u043D\u0430\u043B\u0435\u0432\u043E", +id:"\u0418\u043C\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430", +map:"\u041A\u0430\u0440\u0442\u0430 \u0441\u0441\u044B\u043B\u043E\u043A", +swap_image:"\u0414\u0438\u043D\u0430\u043C\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435", +alt_image:"\u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u043E\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435", +mouseover:"\u041F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438", +mouseout:"\u0412 \u043F\u043E\u043A\u043E\u0435", +misc:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B", +example_img:"\u041F\u0440\u0438\u043C\u0435\u0440 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F", +missing_alt:"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C \u0431\u0435\u0437 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u044F? \u0411\u0435\u0437 \u044D\u0442\u043E\u0433\u043E \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u043C \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F\u043C.", +dialog_title:"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F", +src:"\u0410\u0434\u0440\u0435\u0441", +alt:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435", +list:"\u0421\u043F\u0438\u0441\u043E\u043A", +border:"\u0413\u0440\u0430\u043D\u0438\u0446\u0430", +dimensions:"\u0420\u0430\u0437\u043C\u0435\u0440", +vspace:"\u0412\u0435\u0440\u0442. \u043E\u0442\u0441\u0442\u0443\u043F", +hspace:"\u0413\u043E\u0440\u0438\u0437. \u043E\u0442\u0441\u0442\u0443\u043F", +align:"\u0412\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435", +align_baseline:"\u041F\u043E \u0431\u0430\u0437\u043E\u0432\u043E\u0439 \u043B\u0438\u043D\u0438\u0438", +align_top:"\u041F\u043E \u0432\u0435\u0440\u0445\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E", +align_middle:"\u041F\u043E \u0446\u0435\u043D\u0442\u0440\u0443", +align_bottom:"\u041F\u043E \u043D\u0438\u0436\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E", +align_texttop:"\u041F\u043E \u0432\u0435\u0440\u0445\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E \u0442\u0435\u043A\u0441\u0442\u0430", +align_textbottom:"\u041F\u043E \u043D\u0438\u0436\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E \u0442\u0435\u043A\u0441\u0442\u0430", +align_left:"\u041F\u043E \u043B\u0435\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E", +align_right:"\u041F\u043E \u043F\u0440\u0430\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E", +image_list:"\u0421\u043F\u0438\u0441\u043E\u043A \u043A\u0430\u0440\u0442\u0438\u043D\u043E\u043A" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/sv_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/sv_dlg.js old mode 100644 new mode 100755 index fc8826b642..d4c47d8daa --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/sv_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/sv_dlg.js @@ -1,43 +1,43 @@ -tinyMCE.addI18n('sv.advimage_dlg',{ -tab_general:"Generellt", -tab_appearance:"Utseende", -tab_advanced:"Avancerat", -general:"Generellt", -title:"Titel", -preview:"F\u00F6rhandsvisning", -constrain_proportions:"Bibeh\u00E5ll proportionerna", -langdir:"Skriftriktning", -langcode:"Spr\u00E5kkod", -long_desc:"L\u00E5ng beskrivning", -style:"Stil", -classes:"Klasser", -ltr:"V\u00E4nster till h\u00F6ger", -rtl:"H\u00F6ger till v\u00E4nster", -id:"Id", -map:"L\u00E4nkkarta", -swap_image:"Utbytningsbild", -alt_image:"Alternativbild", -mouseover:"vid musen ovanf\u00F6r", -mouseout:"vid musen utanf\u00F6r", -misc:"\u00D6\u0096vrigt", -example_img:"Exempelbild", -missing_alt:"Vill du forts\u00E4tta utan bildbeskrivning. Icke grafiska webbl\u00E4sare kommer inte kunna tolka bilden f\u00F6r anv\u00E4ndaren.", -dialog_title:"Infoga/redigera bild", -src:"Bildens URL", -alt:"Bildens beskrivning", -list:"Bildlista", -border:"Ram", -dimensions:"Dimensioner", -vspace:"Vertikalrymd", -hspace:"Horisontalrymd", -align:"Justering", -align_baseline:"Baslinje", -align_top:"Toppen", -align_middle:"Mitten", -align_bottom:"Botten", -align_texttop:"Toppen av texten", -align_textbottom:"Botten av texten", -align_left:"V\u00E4nster", -align_right:"H\u00F6ger", -image_list:"Bildlista" +tinyMCE.addI18n('sv.advimage_dlg',{ +tab_general:"Generellt", +tab_appearance:"Utseende", +tab_advanced:"Avancerat", +general:"Generellt", +title:"Titel", +preview:"F\u00F6rhandsvisning", +constrain_proportions:"Bibeh\u00E5ll proportionerna", +langdir:"Skriftriktning", +langcode:"Spr\u00E5kkod", +long_desc:"L\u00E5ng beskrivning", +style:"Stil", +classes:"Klasser", +ltr:"V\u00E4nster till h\u00F6ger", +rtl:"H\u00F6ger till v\u00E4nster", +id:"Id", +map:"L\u00E4nkkarta", +swap_image:"Utbytningsbild", +alt_image:"Alternativbild", +mouseover:"vid musen ovanf\u00F6r", +mouseout:"vid musen utanf\u00F6r", +misc:"\u00D6\u0096vrigt", +example_img:"Exempelbild", +missing_alt:"Vill du forts\u00E4tta utan bildbeskrivning. Icke grafiska webbl\u00E4sare kommer inte kunna tolka bilden f\u00F6r anv\u00E4ndaren.", +dialog_title:"Infoga/redigera bild", +src:"Bildens URL", +alt:"Bildens beskrivning", +list:"Bildlista", +border:"Ram", +dimensions:"Dimensioner", +vspace:"Vertikalrymd", +hspace:"Horisontalrymd", +align:"Justering", +align_baseline:"Baslinje", +align_top:"Toppen", +align_middle:"Mitten", +align_bottom:"Botten", +align_texttop:"Toppen av texten", +align_textbottom:"Botten av texten", +align_left:"V\u00E4nster", +align_right:"H\u00F6ger", +image_list:"Bildlista" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/zh_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/zh_dlg.js old mode 100644 new mode 100755 index 69d4dcddf1..b345940797 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/zh_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advimage/langs/zh_dlg.js @@ -1,43 +1,43 @@ -tinyMCE.addI18n('zh.advimage_dlg',{ -tab_general:"\u4E00\u822C", -tab_appearance:"\u5916\u89C0", -tab_advanced:"\u9AD8\u7D1A", -general:"\u4E00\u822C", -title:"\u6A19\u984C", -preview:"\u9810\u89BD", -constrain_proportions:"\u7D04\u675F\u6BD4\u4F8B", -langdir:"\u8A9E\u8A00\u66F8\u5BEB\u65B9\u5411", -langcode:"\u8A9E\u8A00\u7DE8\u78BC", -long_desc:"\u9577\u9023\u7D50", -style:"\u6A23\u5F0F", -classes:"\u985E\u5225", -ltr:"\u5F9E\u5DE6\u5230\u53F3", -rtl:"\u5F9E\u53F3\u5230\u5DE6", -id:"ID", -map:"\u5716\u7247 Map", -swap_image:"\u5716\u7247\u5207\u63DB", -alt_image:"\u53D6\u4EE3\u5716\u7247", -mouseover:"\u9F20\u6A19\u79FB\u5165", -mouseout:"\u9F20\u6A19\u79FB\u51FA", -misc:"\u5176\u5B83", -example_img:"\u5716\u7247\u5916\u89C0\u9810\u89BD", -missing_alt:"\u5716\u7247\u6C92\u6709\u8AAA\u660E\u6587\u5B57\uFF0C\u662F\u5426\u7E7C\u7E8C\uFF1F", -dialog_title:"\u63D2\u5165/\u7DE8\u8F2F\u5716\u7247", -src:"\u5716\u7247URL", -alt:"\u5716\u7247\u8AAA\u660E", -list:"\u5716\u7247\u6E05\u55AE", -border:"\u908A\u6846", -dimensions:"\u5C3A\u5BF8", -vspace:"\u5782\u76F4\u9593\u8DDD", -hspace:"\u6C34\u5E73\u9593\u8DDD", -align:"\u5C0D\u9F4A\u65B9\u5F0F", -align_baseline:"\u57FA\u51C6\u7DDA", -align_top:"\u9760\u4E0A", -align_middle:"\u7F6E\u4E2D", -align_bottom:"\u9760\u4E0B", -align_texttop:"\u6587\u5B57\u4E0A\u65B9", -align_textbottom:"\u6587\u5B57\u4E0B\u65B9", -align_left:"\u9760\u5DE6", -align_right:"\u9760\u53F3", -image_list:"\u5716\u7247\u6E05\u55AE" +tinyMCE.addI18n('zh.advimage_dlg',{ +tab_general:"\u4E00\u822C", +tab_appearance:"\u5916\u89C0", +tab_advanced:"\u9AD8\u7D1A", +general:"\u4E00\u822C", +title:"\u6A19\u984C", +preview:"\u9810\u89BD", +constrain_proportions:"\u7D04\u675F\u6BD4\u4F8B", +langdir:"\u8A9E\u8A00\u66F8\u5BEB\u65B9\u5411", +langcode:"\u8A9E\u8A00\u7DE8\u78BC", +long_desc:"\u9577\u9023\u7D50", +style:"\u6A23\u5F0F", +classes:"\u985E\u5225", +ltr:"\u5F9E\u5DE6\u5230\u53F3", +rtl:"\u5F9E\u53F3\u5230\u5DE6", +id:"ID", +map:"\u5716\u7247 Map", +swap_image:"\u5716\u7247\u5207\u63DB", +alt_image:"\u53D6\u4EE3\u5716\u7247", +mouseover:"\u9F20\u6A19\u79FB\u5165", +mouseout:"\u9F20\u6A19\u79FB\u51FA", +misc:"\u5176\u5B83", +example_img:"\u5716\u7247\u5916\u89C0\u9810\u89BD", +missing_alt:"\u5716\u7247\u6C92\u6709\u8AAA\u660E\u6587\u5B57\uFF0C\u662F\u5426\u7E7C\u7E8C\uFF1F", +dialog_title:"\u63D2\u5165/\u7DE8\u8F2F\u5716\u7247", +src:"\u5716\u7247URL", +alt:"\u5716\u7247\u8AAA\u660E", +list:"\u5716\u7247\u6E05\u55AE", +border:"\u908A\u6846", +dimensions:"\u5C3A\u5BF8", +vspace:"\u5782\u76F4\u9593\u8DDD", +hspace:"\u6C34\u5E73\u9593\u8DDD", +align:"\u5C0D\u9F4A\u65B9\u5F0F", +align_baseline:"\u57FA\u51C6\u7DDA", +align_top:"\u9760\u4E0A", +align_middle:"\u7F6E\u4E2D", +align_bottom:"\u9760\u4E0B", +align_texttop:"\u6587\u5B57\u4E0A\u65B9", +align_textbottom:"\u6587\u5B57\u4E0B\u65B9", +align_left:"\u9760\u5DE6", +align_right:"\u9760\u53F3", +image_list:"\u5716\u7247\u6E05\u55AE" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css old mode 100644 new mode 100755 index 14364316a1..66c6549354 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css @@ -1,8 +1,8 @@ -.mceLinkList, .mceAnchorList, #targetlist {width:280px;} -.mceActionPanel {margin-top:7px;} -.panel_wrapper div.current {height:320px;} -#classlist, #title, #href {width:280px;} -#popupurl, #popupname {width:200px;} -#popupwidth, #popupheight, #popupleft, #popuptop {width:30px;vertical-align:middle;text-align:center;} -#id, #style, #classes, #target, #dir, #hreflang, #lang, #charset, #type, #rel, #rev, #tabindex, #accesskey {width:200px;} -#events_panel input {width:200px;} +.mceLinkList, .mceAnchorList, #targetlist {width:280px;} +.mceActionPanel {margin-top:7px;} +.panel_wrapper div.current {height:320px;} +#classlist, #title, #href {width:280px;} +#popupurl, #popupname {width:200px;} +#popupwidth, #popupheight, #popupleft, #popuptop {width:30px;vertical-align:middle;text-align:center;} +#id, #style, #classes, #target, #dir, #hreflang, #lang, #charset, #type, #rel, #rev, #tabindex, #accesskey {width:200px;} +#events_panel input {width:200px;} diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js old mode 100644 new mode 100755 index b78e82f76b..6fa37e86c9 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js @@ -1,528 +1,528 @@ -/* Functions for the advlink plugin popup */ - -tinyMCEPopup.requireLangPack(); - -var templates = { - "window.open" : "window.open('${url}','${target}','${options}')" -}; - -function preinit() { - var url; - - if (url = tinyMCEPopup.getParam("external_link_list_url")) - document.write(''); -} - -function changeClass() { - var f = document.forms[0]; - - f.classes.value = getSelectValue(f, 'classlist'); -} - -function init() { - tinyMCEPopup.resizeToInnerSize(); - - var formObj = document.forms[0]; - var inst = tinyMCEPopup.editor; - var elm = inst.selection.getNode(); - var action = "insert"; - var html; - - document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','advlink'); - document.getElementById('popupurlbrowsercontainer').innerHTML = getBrowserHTML('popupurlbrowser','popupurl','file','advlink'); - document.getElementById('linklisthrefcontainer').innerHTML = getLinkListHTML('linklisthref','href'); - document.getElementById('anchorlistcontainer').innerHTML = getAnchorListHTML('anchorlist','href'); - document.getElementById('targetlistcontainer').innerHTML = getTargetListHTML('targetlist','target'); - - // Link list - html = getLinkListHTML('linklisthref','href'); - if (html == "") - document.getElementById("linklisthrefrow").style.display = 'none'; - else - document.getElementById("linklisthrefcontainer").innerHTML = html; - - // Resize some elements - if (isVisible('hrefbrowser')) - document.getElementById('href').style.width = '260px'; - - if (isVisible('popupurlbrowser')) - document.getElementById('popupurl').style.width = '180px'; - - elm = inst.dom.getParent(elm, "A"); - if (elm != null && elm.nodeName == "A") - action = "update"; - - formObj.insert.value = tinyMCEPopup.getLang(action, 'Insert', true); - - setPopupControlsDisabled(true); - - if (action == "update") { - var href = inst.dom.getAttrib(elm, 'href'); - var onclick = inst.dom.getAttrib(elm, 'onclick'); - - // Setup form data - setFormValue('href', href); - setFormValue('title', inst.dom.getAttrib(elm, 'title')); - setFormValue('id', inst.dom.getAttrib(elm, 'id')); - setFormValue('style', inst.dom.getAttrib(elm, "style")); - setFormValue('rel', inst.dom.getAttrib(elm, 'rel')); - setFormValue('rev', inst.dom.getAttrib(elm, 'rev')); - setFormValue('charset', inst.dom.getAttrib(elm, 'charset')); - setFormValue('hreflang', inst.dom.getAttrib(elm, 'hreflang')); - setFormValue('dir', inst.dom.getAttrib(elm, 'dir')); - setFormValue('lang', inst.dom.getAttrib(elm, 'lang')); - setFormValue('tabindex', inst.dom.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : "")); - setFormValue('accesskey', inst.dom.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : "")); - setFormValue('type', inst.dom.getAttrib(elm, 'type')); - setFormValue('onfocus', inst.dom.getAttrib(elm, 'onfocus')); - setFormValue('onblur', inst.dom.getAttrib(elm, 'onblur')); - setFormValue('onclick', onclick); - setFormValue('ondblclick', inst.dom.getAttrib(elm, 'ondblclick')); - setFormValue('onmousedown', inst.dom.getAttrib(elm, 'onmousedown')); - setFormValue('onmouseup', inst.dom.getAttrib(elm, 'onmouseup')); - setFormValue('onmouseover', inst.dom.getAttrib(elm, 'onmouseover')); - setFormValue('onmousemove', inst.dom.getAttrib(elm, 'onmousemove')); - setFormValue('onmouseout', inst.dom.getAttrib(elm, 'onmouseout')); - setFormValue('onkeypress', inst.dom.getAttrib(elm, 'onkeypress')); - setFormValue('onkeydown', inst.dom.getAttrib(elm, 'onkeydown')); - setFormValue('onkeyup', inst.dom.getAttrib(elm, 'onkeyup')); - setFormValue('target', inst.dom.getAttrib(elm, 'target')); - setFormValue('classes', inst.dom.getAttrib(elm, 'class')); - - // Parse onclick data - if (onclick != null && onclick.indexOf('window.open') != -1) - parseWindowOpen(onclick); - else - parseFunction(onclick); - - // Select by the values - selectByValue(formObj, 'dir', inst.dom.getAttrib(elm, 'dir')); - selectByValue(formObj, 'rel', inst.dom.getAttrib(elm, 'rel')); - selectByValue(formObj, 'rev', inst.dom.getAttrib(elm, 'rev')); - selectByValue(formObj, 'linklisthref', href); - - if (href.charAt(0) == '#') - selectByValue(formObj, 'anchorlist', href); - - addClassesToList('classlist', 'advlink_styles'); - - selectByValue(formObj, 'classlist', inst.dom.getAttrib(elm, 'class'), true); - selectByValue(formObj, 'targetlist', inst.dom.getAttrib(elm, 'target'), true); - } else - addClassesToList('classlist', 'advlink_styles'); -} - -function checkPrefix(n) { - if (n.value && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCEPopup.getLang('advlink_dlg.is_email'))) - n.value = 'mailto:' + n.value; - - if (/^\s*www\./i.test(n.value) && confirm(tinyMCEPopup.getLang('advlink_dlg.is_external'))) - n.value = 'http://' + n.value; -} - -function setFormValue(name, value) { - document.forms[0].elements[name].value = value; -} - -function parseWindowOpen(onclick) { - var formObj = document.forms[0]; - - // Preprocess center code - if (onclick.indexOf('return false;') != -1) { - formObj.popupreturn.checked = true; - onclick = onclick.replace('return false;', ''); - } else - formObj.popupreturn.checked = false; - - var onClickData = parseLink(onclick); - - if (onClickData != null) { - formObj.ispopup.checked = true; - setPopupControlsDisabled(false); - - var onClickWindowOptions = parseOptions(onClickData['options']); - var url = onClickData['url']; - - formObj.popupname.value = onClickData['target']; - formObj.popupurl.value = url; - formObj.popupwidth.value = getOption(onClickWindowOptions, 'width'); - formObj.popupheight.value = getOption(onClickWindowOptions, 'height'); - - formObj.popupleft.value = getOption(onClickWindowOptions, 'left'); - formObj.popuptop.value = getOption(onClickWindowOptions, 'top'); - - if (formObj.popupleft.value.indexOf('screen') != -1) - formObj.popupleft.value = "c"; - - if (formObj.popuptop.value.indexOf('screen') != -1) - formObj.popuptop.value = "c"; - - formObj.popuplocation.checked = getOption(onClickWindowOptions, 'location') == "yes"; - formObj.popupscrollbars.checked = getOption(onClickWindowOptions, 'scrollbars') == "yes"; - formObj.popupmenubar.checked = getOption(onClickWindowOptions, 'menubar') == "yes"; - formObj.popupresizable.checked = getOption(onClickWindowOptions, 'resizable') == "yes"; - formObj.popuptoolbar.checked = getOption(onClickWindowOptions, 'toolbar') == "yes"; - formObj.popupstatus.checked = getOption(onClickWindowOptions, 'status') == "yes"; - formObj.popupdependent.checked = getOption(onClickWindowOptions, 'dependent') == "yes"; - - buildOnClick(); - } -} - -function parseFunction(onclick) { - var formObj = document.forms[0]; - var onClickData = parseLink(onclick); - - // TODO: Add stuff here -} - -function getOption(opts, name) { - return typeof(opts[name]) == "undefined" ? "" : opts[name]; -} - -function setPopupControlsDisabled(state) { - var formObj = document.forms[0]; - - formObj.popupname.disabled = state; - formObj.popupurl.disabled = state; - formObj.popupwidth.disabled = state; - formObj.popupheight.disabled = state; - formObj.popupleft.disabled = state; - formObj.popuptop.disabled = state; - formObj.popuplocation.disabled = state; - formObj.popupscrollbars.disabled = state; - formObj.popupmenubar.disabled = state; - formObj.popupresizable.disabled = state; - formObj.popuptoolbar.disabled = state; - formObj.popupstatus.disabled = state; - formObj.popupreturn.disabled = state; - formObj.popupdependent.disabled = state; - - setBrowserDisabled('popupurlbrowser', state); -} - -function parseLink(link) { - link = link.replace(new RegExp(''', 'g'), "'"); - - var fnName = link.replace(new RegExp("\\s*([A-Za-z0-9\.]*)\\s*\\(.*", "gi"), "$1"); - - // Is function name a template function - var template = templates[fnName]; - if (template) { - // Build regexp - var variableNames = template.match(new RegExp("'?\\$\\{[A-Za-z0-9\.]*\\}'?", "gi")); - var regExp = "\\s*[A-Za-z0-9\.]*\\s*\\("; - var replaceStr = ""; - for (var i=0; i'); - for (var i=0; i'; - html += ''; - - for (i=0; i' + name + ''; - } - - html += ''; - - return html; -} - -function insertAction() { - var inst = tinyMCEPopup.editor; - var elm, elementArray, i; - - elm = inst.selection.getNode(); - checkPrefix(document.forms[0].href); - - elm = inst.dom.getParent(elm, "A"); - - // Remove element if there is no href - if (!document.forms[0].href.value) { - tinyMCEPopup.execCommand("mceBeginUndoLevel"); - i = inst.selection.getBookmark(); - inst.dom.remove(elm, 1); - inst.selection.moveToBookmark(i); - tinyMCEPopup.execCommand("mceEndUndoLevel"); - tinyMCEPopup.close(); - return; - } - - tinyMCEPopup.execCommand("mceBeginUndoLevel"); - - // Create new anchor elements - if (elm == null) { - inst.getDoc().execCommand("unlink", false, null); - tinyMCEPopup.execCommand("CreateLink", false, "#mce_temp_url#", {skip_undo : 1}); - - elementArray = tinymce.grep(inst.dom.select("a"), function(n) {return inst.dom.getAttrib(n, 'href') == '#mce_temp_url#';}); - for (i=0; i' + tinyMCELinkList[i][0] + ''; - - html += ''; - - return html; - - // tinyMCE.debug('-- image list start --', html, '-- image list end --'); -} - -function getTargetListHTML(elm_id, target_form_element) { - var targets = tinyMCEPopup.getParam('theme_advanced_link_targets', '').split(';'); - var html = ''; - - html += ''; - - return html; -} - -// While loading -preinit(); -tinyMCEPopup.onInit.add(init); +/* Functions for the advlink plugin popup */ + +tinyMCEPopup.requireLangPack(); + +var templates = { + "window.open" : "window.open('${url}','${target}','${options}')" +}; + +function preinit() { + var url; + + if (url = tinyMCEPopup.getParam("external_link_list_url")) + document.write(''); +} + +function changeClass() { + var f = document.forms[0]; + + f.classes.value = getSelectValue(f, 'classlist'); +} + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + var formObj = document.forms[0]; + var inst = tinyMCEPopup.editor; + var elm = inst.selection.getNode(); + var action = "insert"; + var html; + + document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','advlink'); + document.getElementById('popupurlbrowsercontainer').innerHTML = getBrowserHTML('popupurlbrowser','popupurl','file','advlink'); + document.getElementById('linklisthrefcontainer').innerHTML = getLinkListHTML('linklisthref','href'); + document.getElementById('anchorlistcontainer').innerHTML = getAnchorListHTML('anchorlist','href'); + document.getElementById('targetlistcontainer').innerHTML = getTargetListHTML('targetlist','target'); + + // Link list + html = getLinkListHTML('linklisthref','href'); + if (html == "") + document.getElementById("linklisthrefrow").style.display = 'none'; + else + document.getElementById("linklisthrefcontainer").innerHTML = html; + + // Resize some elements + if (isVisible('hrefbrowser')) + document.getElementById('href').style.width = '260px'; + + if (isVisible('popupurlbrowser')) + document.getElementById('popupurl').style.width = '180px'; + + elm = inst.dom.getParent(elm, "A"); + if (elm != null && elm.nodeName == "A") + action = "update"; + + formObj.insert.value = tinyMCEPopup.getLang(action, 'Insert', true); + + setPopupControlsDisabled(true); + + if (action == "update") { + var href = inst.dom.getAttrib(elm, 'href'); + var onclick = inst.dom.getAttrib(elm, 'onclick'); + + // Setup form data + setFormValue('href', href); + setFormValue('title', inst.dom.getAttrib(elm, 'title')); + setFormValue('id', inst.dom.getAttrib(elm, 'id')); + setFormValue('style', inst.dom.getAttrib(elm, "style")); + setFormValue('rel', inst.dom.getAttrib(elm, 'rel')); + setFormValue('rev', inst.dom.getAttrib(elm, 'rev')); + setFormValue('charset', inst.dom.getAttrib(elm, 'charset')); + setFormValue('hreflang', inst.dom.getAttrib(elm, 'hreflang')); + setFormValue('dir', inst.dom.getAttrib(elm, 'dir')); + setFormValue('lang', inst.dom.getAttrib(elm, 'lang')); + setFormValue('tabindex', inst.dom.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : "")); + setFormValue('accesskey', inst.dom.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : "")); + setFormValue('type', inst.dom.getAttrib(elm, 'type')); + setFormValue('onfocus', inst.dom.getAttrib(elm, 'onfocus')); + setFormValue('onblur', inst.dom.getAttrib(elm, 'onblur')); + setFormValue('onclick', onclick); + setFormValue('ondblclick', inst.dom.getAttrib(elm, 'ondblclick')); + setFormValue('onmousedown', inst.dom.getAttrib(elm, 'onmousedown')); + setFormValue('onmouseup', inst.dom.getAttrib(elm, 'onmouseup')); + setFormValue('onmouseover', inst.dom.getAttrib(elm, 'onmouseover')); + setFormValue('onmousemove', inst.dom.getAttrib(elm, 'onmousemove')); + setFormValue('onmouseout', inst.dom.getAttrib(elm, 'onmouseout')); + setFormValue('onkeypress', inst.dom.getAttrib(elm, 'onkeypress')); + setFormValue('onkeydown', inst.dom.getAttrib(elm, 'onkeydown')); + setFormValue('onkeyup', inst.dom.getAttrib(elm, 'onkeyup')); + setFormValue('target', inst.dom.getAttrib(elm, 'target')); + setFormValue('classes', inst.dom.getAttrib(elm, 'class')); + + // Parse onclick data + if (onclick != null && onclick.indexOf('window.open') != -1) + parseWindowOpen(onclick); + else + parseFunction(onclick); + + // Select by the values + selectByValue(formObj, 'dir', inst.dom.getAttrib(elm, 'dir')); + selectByValue(formObj, 'rel', inst.dom.getAttrib(elm, 'rel')); + selectByValue(formObj, 'rev', inst.dom.getAttrib(elm, 'rev')); + selectByValue(formObj, 'linklisthref', href); + + if (href.charAt(0) == '#') + selectByValue(formObj, 'anchorlist', href); + + addClassesToList('classlist', 'advlink_styles'); + + selectByValue(formObj, 'classlist', inst.dom.getAttrib(elm, 'class'), true); + selectByValue(formObj, 'targetlist', inst.dom.getAttrib(elm, 'target'), true); + } else + addClassesToList('classlist', 'advlink_styles'); +} + +function checkPrefix(n) { + if (n.value && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCEPopup.getLang('advlink_dlg.is_email'))) + n.value = 'mailto:' + n.value; + + if (/^\s*www\./i.test(n.value) && confirm(tinyMCEPopup.getLang('advlink_dlg.is_external'))) + n.value = 'http://' + n.value; +} + +function setFormValue(name, value) { + document.forms[0].elements[name].value = value; +} + +function parseWindowOpen(onclick) { + var formObj = document.forms[0]; + + // Preprocess center code + if (onclick.indexOf('return false;') != -1) { + formObj.popupreturn.checked = true; + onclick = onclick.replace('return false;', ''); + } else + formObj.popupreturn.checked = false; + + var onClickData = parseLink(onclick); + + if (onClickData != null) { + formObj.ispopup.checked = true; + setPopupControlsDisabled(false); + + var onClickWindowOptions = parseOptions(onClickData['options']); + var url = onClickData['url']; + + formObj.popupname.value = onClickData['target']; + formObj.popupurl.value = url; + formObj.popupwidth.value = getOption(onClickWindowOptions, 'width'); + formObj.popupheight.value = getOption(onClickWindowOptions, 'height'); + + formObj.popupleft.value = getOption(onClickWindowOptions, 'left'); + formObj.popuptop.value = getOption(onClickWindowOptions, 'top'); + + if (formObj.popupleft.value.indexOf('screen') != -1) + formObj.popupleft.value = "c"; + + if (formObj.popuptop.value.indexOf('screen') != -1) + formObj.popuptop.value = "c"; + + formObj.popuplocation.checked = getOption(onClickWindowOptions, 'location') == "yes"; + formObj.popupscrollbars.checked = getOption(onClickWindowOptions, 'scrollbars') == "yes"; + formObj.popupmenubar.checked = getOption(onClickWindowOptions, 'menubar') == "yes"; + formObj.popupresizable.checked = getOption(onClickWindowOptions, 'resizable') == "yes"; + formObj.popuptoolbar.checked = getOption(onClickWindowOptions, 'toolbar') == "yes"; + formObj.popupstatus.checked = getOption(onClickWindowOptions, 'status') == "yes"; + formObj.popupdependent.checked = getOption(onClickWindowOptions, 'dependent') == "yes"; + + buildOnClick(); + } +} + +function parseFunction(onclick) { + var formObj = document.forms[0]; + var onClickData = parseLink(onclick); + + // TODO: Add stuff here +} + +function getOption(opts, name) { + return typeof(opts[name]) == "undefined" ? "" : opts[name]; +} + +function setPopupControlsDisabled(state) { + var formObj = document.forms[0]; + + formObj.popupname.disabled = state; + formObj.popupurl.disabled = state; + formObj.popupwidth.disabled = state; + formObj.popupheight.disabled = state; + formObj.popupleft.disabled = state; + formObj.popuptop.disabled = state; + formObj.popuplocation.disabled = state; + formObj.popupscrollbars.disabled = state; + formObj.popupmenubar.disabled = state; + formObj.popupresizable.disabled = state; + formObj.popuptoolbar.disabled = state; + formObj.popupstatus.disabled = state; + formObj.popupreturn.disabled = state; + formObj.popupdependent.disabled = state; + + setBrowserDisabled('popupurlbrowser', state); +} + +function parseLink(link) { + link = link.replace(new RegExp(''', 'g'), "'"); + + var fnName = link.replace(new RegExp("\\s*([A-Za-z0-9\.]*)\\s*\\(.*", "gi"), "$1"); + + // Is function name a template function + var template = templates[fnName]; + if (template) { + // Build regexp + var variableNames = template.match(new RegExp("'?\\$\\{[A-Za-z0-9\.]*\\}'?", "gi")); + var regExp = "\\s*[A-Za-z0-9\.]*\\s*\\("; + var replaceStr = ""; + for (var i=0; i'); + for (var i=0; i'; + html += ''; + + for (i=0; i' + name + ''; + } + + html += ''; + + return html; +} + +function insertAction() { + var inst = tinyMCEPopup.editor; + var elm, elementArray, i; + + elm = inst.selection.getNode(); + checkPrefix(document.forms[0].href); + + elm = inst.dom.getParent(elm, "A"); + + // Remove element if there is no href + if (!document.forms[0].href.value) { + tinyMCEPopup.execCommand("mceBeginUndoLevel"); + i = inst.selection.getBookmark(); + inst.dom.remove(elm, 1); + inst.selection.moveToBookmark(i); + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); + return; + } + + tinyMCEPopup.execCommand("mceBeginUndoLevel"); + + // Create new anchor elements + if (elm == null) { + inst.getDoc().execCommand("unlink", false, null); + tinyMCEPopup.execCommand("CreateLink", false, "#mce_temp_url#", {skip_undo : 1}); + + elementArray = tinymce.grep(inst.dom.select("a"), function(n) {return inst.dom.getAttrib(n, 'href') == '#mce_temp_url#';}); + for (i=0; i' + tinyMCELinkList[i][0] + ''; + + html += ''; + + return html; + + // tinyMCE.debug('-- image list start --', html, '-- image list end --'); +} + +function getTargetListHTML(elm_id, target_form_element) { + var targets = tinyMCEPopup.getParam('theme_advanced_link_targets', '').split(';'); + var html = ''; + + html += ''; + + return html; +} + +// While loading +preinit(); +tinyMCEPopup.onInit.add(init); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/bg_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/bg_dlg.js old mode 100644 new mode 100755 index b67b1e6e5b..220d48dace --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/bg_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/bg_dlg.js @@ -1,52 +1,52 @@ -tinyMCE.addI18n('bg.advlink_dlg',{ -title:"\u0412\u043C\u044A\u043A\u043D\u0438/\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u0439 \u0445\u0438\u043F\u0435\u0440\u0432\u0440\u044A\u0437\u043A\u0430", -url:"URL \u043D\u0430 \u0445\u0438\u043F\u0435\u0440\u0432\u0440\u044A\u0437\u043A\u0430", -target:"\u0426\u0435\u043B", -titlefield:"\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435", -is_email:"URL-\u0442\u043E \u043A\u043E\u0435\u0442\u043E \u0432\u044A\u0432\u0435\u0434\u043E\u0445\u0442\u0435 \u0435 email \u0430\u0434\u0440\u0435\u0441, \u0436\u0435\u043B\u0430\u0435\u0442\u0435 \u043B\u0438 \u0434\u0430 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u0435 \u043D\u0443\u0436\u043D\u0438\u044F\u0442 mailto: \u043F\u0440\u0435\u0444\u0438\u043A\u0441?", -is_external:"URL-\u0442\u043E \u043A\u043E\u0435\u0442\u043E \u0432\u044A\u0432\u0435\u0434\u043E\u0445\u0442\u0435 \u0435 \u0432\u044A\u043D\u0448\u043D\u0430 \u0445\u0438\u043F\u0435\u0440\u0432\u0440\u044A\u0437\u043A\u0430, \u0436\u0435\u043B\u0430\u0435\u0442\u0435 \u043B\u0438 \u0434\u0430 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u0435 \u043D\u0443\u0436\u043D\u0438\u044F\u0442 http:// \u043F\u0440\u0435\u0444\u0438\u043A\u0441?", -list:"\u0421\u043F\u0438\u0441\u044A\u043A \u0441 \u0445\u0438\u043F\u0435\u0440\u0432\u0440\u044A\u0437\u043A\u0438", -general_tab:"\u041E\u0431\u0449\u0438", -popup_tab:"Popup", -events_tab:"\u0421\u044A\u0431\u0438\u0442\u0438\u044F", -advanced_tab:"\u0417\u0430 \u043D\u0430\u043F\u0440\u0435\u0434\u043D\u0430\u043B\u0438", -general_props:"\u041E\u0431\u0449\u0438 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438", -popup_props:"Popup \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438", -event_props:"\u0421\u044A\u0431\u0438\u0442\u0438\u044F", -advanced_props:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0437\u0430 \u043D\u0430\u043F\u0440\u0435\u0434\u043D\u0430\u043B\u0438", -popup_opts:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438", -anchor_names:"\u041A\u043E\u0442\u0432\u0438", -target_same:"\u041E\u0442\u0432\u043E\u0440\u0438 \u0432 \u0442\u043E\u0437\u0438 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446 / \u0444\u0440\u0435\u0439\u043C", -target_parent:"\u041E\u0442\u0432\u043E\u0440\u0438 \u0432 \u0433\u043E\u0440\u043D\u0438\u044F \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446 / \u0444\u0440\u0435\u0439\u043C", -target_top:"\u041E\u0442\u0432\u043E\u0440\u0438 \u0432 \u043D\u0430\u0439-\u0433\u043E\u0440\u043D\u0438\u044F \u0444\u0440\u0435\u0439\u043C (\u0437\u0430\u043C\u0435\u0441\u0442\u0432\u0430 \u0432\u0441\u0438\u0447\u043A\u0438 \u0444\u0440\u0435\u0439\u043C\u043E\u0432\u0435)", -target_blank:"\u041E\u0442\u0432\u043E\u0440\u0438 \u0432 \u043D\u043E\u0432 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446", -popup:"Javascript popup", -popup_url:"URL \u043D\u0430 popup-\u0430", -popup_name:"\u0418\u043C\u0435 \u043D\u0430 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446\u0430", -popup_return:"\u0412\u043C\u044A\u043A\u043D\u0438 'return false'", -popup_scrollbars:"\u041F\u043E\u043A\u0430\u0436\u0438 \u0441\u043A\u0440\u043E\u043B\u0435\u0440\u0438", -popup_statusbar:"\u041F\u043E\u043A\u0430\u0436\u0438 status bar", -popup_toolbar:"\u041F\u043E\u043A\u0430\u0436\u0438 \u043B\u0435\u043D\u0442\u0438\u0442\u0435 \u0441 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0438", -popup_menubar:"\u041F\u043E\u043A\u0430\u0436\u0438 \u043B\u0435\u043D\u0442\u0430\u0442\u0430 \u0441 \u043C\u0435\u043D\u044E\u0442\u0430", -popup_location:"\u041F\u043E\u043A\u0430\u0436\u0438 location bar", -popup_resizable:"\u0420\u0430\u0437\u0440\u0435\u0448\u0438 \u043F\u0440\u0435\u043E\u0440\u0430\u0437\u043C\u0435\u0440\u044F\u0432\u0430\u043D\u0435 \u043D\u0430 \u043F\u0440\u043E\u0437\u043E\u0440\u0446\u0438\u0442\u0435", -popup_dependent:"\u0417\u0430\u0432\u0438\u0441\u0438\u043C\u0438 (Mozilla/Firefox only)", -popup_size:"\u0420\u0430\u0437\u043C\u0435\u0440", -popup_position:"\u041F\u043E\u0437\u0438\u0446\u0438\u044F (X/Y)", -id:"Id", -style:"\u0421\u0442\u0438\u043B", -classes:"\u041A\u043B\u0430\u0441\u043E\u0432\u0435", -target_name:"\u0418\u043C\u0435 \u043D\u0430 \u0446\u0435\u043B", -langdir:"\u041F\u043E\u0441\u043E\u043A\u0430 \u043D\u0430 \u0435\u0437\u0438\u043A\u0430", -target_langcode:"\u0415\u0437\u0438\u043A", -langcode:"\u041A\u043E\u0434 \u043D\u0430 \u0435\u0437\u0438\u043A\u0430", -encoding:"\u041A\u043E\u0434\u0438\u0440\u0430\u043D\u0435 \u043D\u0430 \u0441\u0438\u043C\u0432\u043E\u043B\u0438\u0442\u0435", -mime:"MIME \u0442\u0438\u043F", -rel:"\u0412\u0437\u0430\u0438\u043C\u043E\u043E\u0442\u043D\u043E\u0448\u0435\u043D\u0438\u0435 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 - \u0446\u0435\u043B", -rev:"\u0412\u0437\u0430\u0438\u043C\u043E\u043E\u0442\u043D\u043E\u0448\u0435\u043D\u0438\u0435 \u0446\u0435\u043B - \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430", -tabindex:"\u041F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u043D\u043E\u0441\u0442", -accesskey:"\u041A\u043B\u0430\u0432\u0438\u0448", -ltr:"\u041E\u0442\u043B\u044F\u0432\u043E \u043D\u0430 \u0434\u044F\u0441\u043D\u043E", -rtl:"\u041E\u0442\u0434\u044F\u0441\u043D\u043E \u043D\u0430 \u043B\u044F\u0432\u043E", -link_list:"\u0421\u043F\u0438\u0441\u044A\u043A \u0441 \u0445\u0438\u043F\u0435\u0440\u0432\u0440\u044A\u0437\u043A\u0438" +tinyMCE.addI18n('bg.advlink_dlg',{ +title:"\u0412\u043C\u044A\u043A\u043D\u0438/\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u0439 \u0445\u0438\u043F\u0435\u0440\u0432\u0440\u044A\u0437\u043A\u0430", +url:"URL \u043D\u0430 \u0445\u0438\u043F\u0435\u0440\u0432\u0440\u044A\u0437\u043A\u0430", +target:"\u0426\u0435\u043B", +titlefield:"\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435", +is_email:"URL-\u0442\u043E \u043A\u043E\u0435\u0442\u043E \u0432\u044A\u0432\u0435\u0434\u043E\u0445\u0442\u0435 \u0435 email \u0430\u0434\u0440\u0435\u0441, \u0436\u0435\u043B\u0430\u0435\u0442\u0435 \u043B\u0438 \u0434\u0430 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u0435 \u043D\u0443\u0436\u043D\u0438\u044F\u0442 mailto: \u043F\u0440\u0435\u0444\u0438\u043A\u0441?", +is_external:"URL-\u0442\u043E \u043A\u043E\u0435\u0442\u043E \u0432\u044A\u0432\u0435\u0434\u043E\u0445\u0442\u0435 \u0435 \u0432\u044A\u043D\u0448\u043D\u0430 \u0445\u0438\u043F\u0435\u0440\u0432\u0440\u044A\u0437\u043A\u0430, \u0436\u0435\u043B\u0430\u0435\u0442\u0435 \u043B\u0438 \u0434\u0430 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u0435 \u043D\u0443\u0436\u043D\u0438\u044F\u0442 http:// \u043F\u0440\u0435\u0444\u0438\u043A\u0441?", +list:"\u0421\u043F\u0438\u0441\u044A\u043A \u0441 \u0445\u0438\u043F\u0435\u0440\u0432\u0440\u044A\u0437\u043A\u0438", +general_tab:"\u041E\u0431\u0449\u0438", +popup_tab:"Popup", +events_tab:"\u0421\u044A\u0431\u0438\u0442\u0438\u044F", +advanced_tab:"\u0417\u0430 \u043D\u0430\u043F\u0440\u0435\u0434\u043D\u0430\u043B\u0438", +general_props:"\u041E\u0431\u0449\u0438 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438", +popup_props:"Popup \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438", +event_props:"\u0421\u044A\u0431\u0438\u0442\u0438\u044F", +advanced_props:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0437\u0430 \u043D\u0430\u043F\u0440\u0435\u0434\u043D\u0430\u043B\u0438", +popup_opts:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438", +anchor_names:"\u041A\u043E\u0442\u0432\u0438", +target_same:"\u041E\u0442\u0432\u043E\u0440\u0438 \u0432 \u0442\u043E\u0437\u0438 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446 / \u0444\u0440\u0435\u0439\u043C", +target_parent:"\u041E\u0442\u0432\u043E\u0440\u0438 \u0432 \u0433\u043E\u0440\u043D\u0438\u044F \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446 / \u0444\u0440\u0435\u0439\u043C", +target_top:"\u041E\u0442\u0432\u043E\u0440\u0438 \u0432 \u043D\u0430\u0439-\u0433\u043E\u0440\u043D\u0438\u044F \u0444\u0440\u0435\u0439\u043C (\u0437\u0430\u043C\u0435\u0441\u0442\u0432\u0430 \u0432\u0441\u0438\u0447\u043A\u0438 \u0444\u0440\u0435\u0439\u043C\u043E\u0432\u0435)", +target_blank:"\u041E\u0442\u0432\u043E\u0440\u0438 \u0432 \u043D\u043E\u0432 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446", +popup:"Javascript popup", +popup_url:"URL \u043D\u0430 popup-\u0430", +popup_name:"\u0418\u043C\u0435 \u043D\u0430 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446\u0430", +popup_return:"\u0412\u043C\u044A\u043A\u043D\u0438 'return false'", +popup_scrollbars:"\u041F\u043E\u043A\u0430\u0436\u0438 \u0441\u043A\u0440\u043E\u043B\u0435\u0440\u0438", +popup_statusbar:"\u041F\u043E\u043A\u0430\u0436\u0438 status bar", +popup_toolbar:"\u041F\u043E\u043A\u0430\u0436\u0438 \u043B\u0435\u043D\u0442\u0438\u0442\u0435 \u0441 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0438", +popup_menubar:"\u041F\u043E\u043A\u0430\u0436\u0438 \u043B\u0435\u043D\u0442\u0430\u0442\u0430 \u0441 \u043C\u0435\u043D\u044E\u0442\u0430", +popup_location:"\u041F\u043E\u043A\u0430\u0436\u0438 location bar", +popup_resizable:"\u0420\u0430\u0437\u0440\u0435\u0448\u0438 \u043F\u0440\u0435\u043E\u0440\u0430\u0437\u043C\u0435\u0440\u044F\u0432\u0430\u043D\u0435 \u043D\u0430 \u043F\u0440\u043E\u0437\u043E\u0440\u0446\u0438\u0442\u0435", +popup_dependent:"\u0417\u0430\u0432\u0438\u0441\u0438\u043C\u0438 (Mozilla/Firefox only)", +popup_size:"\u0420\u0430\u0437\u043C\u0435\u0440", +popup_position:"\u041F\u043E\u0437\u0438\u0446\u0438\u044F (X/Y)", +id:"Id", +style:"\u0421\u0442\u0438\u043B", +classes:"\u041A\u043B\u0430\u0441\u043E\u0432\u0435", +target_name:"\u0418\u043C\u0435 \u043D\u0430 \u0446\u0435\u043B", +langdir:"\u041F\u043E\u0441\u043E\u043A\u0430 \u043D\u0430 \u0435\u0437\u0438\u043A\u0430", +target_langcode:"\u0415\u0437\u0438\u043A", +langcode:"\u041A\u043E\u0434 \u043D\u0430 \u0435\u0437\u0438\u043A\u0430", +encoding:"\u041A\u043E\u0434\u0438\u0440\u0430\u043D\u0435 \u043D\u0430 \u0441\u0438\u043C\u0432\u043E\u043B\u0438\u0442\u0435", +mime:"MIME \u0442\u0438\u043F", +rel:"\u0412\u0437\u0430\u0438\u043C\u043E\u043E\u0442\u043D\u043E\u0448\u0435\u043D\u0438\u0435 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 - \u0446\u0435\u043B", +rev:"\u0412\u0437\u0430\u0438\u043C\u043E\u043E\u0442\u043D\u043E\u0448\u0435\u043D\u0438\u0435 \u0446\u0435\u043B - \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430", +tabindex:"\u041F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u043D\u043E\u0441\u0442", +accesskey:"\u041A\u043B\u0430\u0432\u0438\u0448", +ltr:"\u041E\u0442\u043B\u044F\u0432\u043E \u043D\u0430 \u0434\u044F\u0441\u043D\u043E", +rtl:"\u041E\u0442\u0434\u044F\u0441\u043D\u043E \u043D\u0430 \u043B\u044F\u0432\u043E", +link_list:"\u0421\u043F\u0438\u0441\u044A\u043A \u0441 \u0445\u0438\u043F\u0435\u0440\u0432\u0440\u044A\u0437\u043A\u0438" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/cs_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/cs_dlg.js old mode 100644 new mode 100755 index 025042e3fb..7d0e2be456 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/cs_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/cs_dlg.js @@ -1,52 +1,52 @@ -tinyMCE.addI18n('cs.advlink_dlg',{ -title:"Vlo\u017Eit/upravit odkaz", -url:"URL odkazu", -target:"C\u00EDl", -titlefield:"Titulek", -is_email:"Zadan\u00E9 URL vypad\u00E1 jako e-mailov\u00E1 adresa, chcete doplnit povinn\u00FD prefix mailto:?", -is_external:"Zadan\u00E9 URL vypad\u00E1 jako extern\u00ED odkaz, chcete doplnit povinn\u00FD prefix http://?", -list:"Seznam odkaz\u016F", -general_tab:"Obecn\u00E9", -popup_tab:"Vyskakovac\u00ED okno", -events_tab:"Ud\u00E1losti", -advanced_tab:"Roz\u0161\u00ED\u0159en\u00E9", -general_props:"Obecn\u00E9 parametry", -popup_props:"Vlastnosti vyskakovac\u00EDho okna", -event_props:"Ud\u00E1losti", -advanced_props:"Roz\u0161\u00ED\u0159en\u00E9 parametry", -popup_opts:"Mo\u017Enosti", -anchor_names:"Z\u00E1lo\u017Eka", -target_same:"Otev\u0159\u00EDt v tomto okn\u011B/r\u00E1mu", -target_parent:"Otev\u0159\u00EDt v nad\u0159azen\u00E9m okn\u011B/r\u00E1mu", -target_top:"Otev\u0159\u00EDt v hlavn\u00EDm okn\u011B/r\u00E1mu (nahradit v\u0161echny r\u00E1my)", -target_blank:"Otev\u0159\u00EDt v nov\u00E9m okn\u011B/r\u00E1mu", -popup:"Javascriptov\u00E9 okno", -popup_url:"URL vyskakovac\u00EDho okna", -popup_name:"N\u00E1zev okna", -popup_return:"Vlo\u017Eit 'return false'", -popup_scrollbars:"Zobrazit posuvn\u00EDky", -popup_statusbar:"Zobrazit stavov\u00FD \u0159\u00E1dek", -popup_toolbar:"Zobrazit n\u00E1strojovou li\u0161tu", -popup_menubar:"Zobrazit nab\u00EDdku", -popup_location:"Zobrazit pole s adresou", -popup_resizable:"Umo\u017Enit zm\u011Bnu velikosti", -popup_dependent:"Z\u00E1vislost (pouze Mozilla/Firefox)", -popup_size:"Velikost", -popup_position:"Um\u00EDst\u011Bn\u00ED (X/Y)", -id:"ID", -style:"Styl", -classes:"T\u0159\u00EDdy", -target_name:"N\u00E1zev c\u00EDle", -langdir:"Sm\u011Br textu", -target_langcode:"Jazyk c\u00EDle", -langcode:"K\u00F3d jazyka", -encoding:"K\u00F3dov\u00E1n\u00ED", -mime:"MIME typ", -rel:"Vztah str\u00E1nky k c\u00EDli", -rev:"Vztah c\u00EDle ke str\u00E1nce", -tabindex:"Po\u0159ad\u00ED pro tabul\u00E1tor", -accesskey:"Kl\u00E1vesov\u00E1 zkratka", -ltr:"Zleva doprava", -rtl:"Zprava doleva", -link_list:"Seznam odkaz\u016F" +tinyMCE.addI18n('cs.advlink_dlg',{ +title:"Vlo\u017Eit/upravit odkaz", +url:"URL odkazu", +target:"C\u00EDl", +titlefield:"Titulek", +is_email:"Zadan\u00E9 URL vypad\u00E1 jako e-mailov\u00E1 adresa, chcete doplnit povinn\u00FD prefix mailto:?", +is_external:"Zadan\u00E9 URL vypad\u00E1 jako extern\u00ED odkaz, chcete doplnit povinn\u00FD prefix http://?", +list:"Seznam odkaz\u016F", +general_tab:"Obecn\u00E9", +popup_tab:"Vyskakovac\u00ED okno", +events_tab:"Ud\u00E1losti", +advanced_tab:"Roz\u0161\u00ED\u0159en\u00E9", +general_props:"Obecn\u00E9 parametry", +popup_props:"Vlastnosti vyskakovac\u00EDho okna", +event_props:"Ud\u00E1losti", +advanced_props:"Roz\u0161\u00ED\u0159en\u00E9 parametry", +popup_opts:"Mo\u017Enosti", +anchor_names:"Z\u00E1lo\u017Eka", +target_same:"Otev\u0159\u00EDt v tomto okn\u011B/r\u00E1mu", +target_parent:"Otev\u0159\u00EDt v nad\u0159azen\u00E9m okn\u011B/r\u00E1mu", +target_top:"Otev\u0159\u00EDt v hlavn\u00EDm okn\u011B/r\u00E1mu (nahradit v\u0161echny r\u00E1my)", +target_blank:"Otev\u0159\u00EDt v nov\u00E9m okn\u011B/r\u00E1mu", +popup:"Javascriptov\u00E9 okno", +popup_url:"URL vyskakovac\u00EDho okna", +popup_name:"N\u00E1zev okna", +popup_return:"Vlo\u017Eit 'return false'", +popup_scrollbars:"Zobrazit posuvn\u00EDky", +popup_statusbar:"Zobrazit stavov\u00FD \u0159\u00E1dek", +popup_toolbar:"Zobrazit n\u00E1strojovou li\u0161tu", +popup_menubar:"Zobrazit nab\u00EDdku", +popup_location:"Zobrazit pole s adresou", +popup_resizable:"Umo\u017Enit zm\u011Bnu velikosti", +popup_dependent:"Z\u00E1vislost (pouze Mozilla/Firefox)", +popup_size:"Velikost", +popup_position:"Um\u00EDst\u011Bn\u00ED (X/Y)", +id:"ID", +style:"Styl", +classes:"T\u0159\u00EDdy", +target_name:"N\u00E1zev c\u00EDle", +langdir:"Sm\u011Br textu", +target_langcode:"Jazyk c\u00EDle", +langcode:"K\u00F3d jazyka", +encoding:"K\u00F3dov\u00E1n\u00ED", +mime:"MIME typ", +rel:"Vztah str\u00E1nky k c\u00EDli", +rev:"Vztah c\u00EDle ke str\u00E1nce", +tabindex:"Po\u0159ad\u00ED pro tabul\u00E1tor", +accesskey:"Kl\u00E1vesov\u00E1 zkratka", +ltr:"Zleva doprava", +rtl:"Zprava doleva", +link_list:"Seznam odkaz\u016F" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/da_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/da_dlg.js old mode 100644 new mode 100755 index dc8bfd7887..75970df8fa --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/da_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/da_dlg.js @@ -1,52 +1,52 @@ -tinyMCE.addI18n('da.advlink_dlg',{ -title:"Inds\u00E6t/rediger link", -url:"Link URL", -target:"M\u00E5l", -titlefield:"Titel", -is_email:"Den URL, der er indtastet, ser ud til at v\u00E6re en emailadresse. Vil du have tilf\u00F8jet det p\u00E5kr\u00E6vede mailto: foran?", -is_external:"Den URL, der er indtastet, ser ud til at v\u00E6re et eksternt link. Vil du have tilf\u00F8jet det p\u00E5kr\u00E6vede http:// foran?", -list:"Liste over links", -general_tab:"Generelt", -popup_tab:"Popup", -events_tab:"H\u00E6ndelser", -advanced_tab:"Advanceret", -general_props:"Generelle egenskaber", -popup_props:"Popup egenskaber", -event_props:"H\u00E6ndelser", -advanced_props:"Avancerede egenskaber", -popup_opts:"Indstillinger", -anchor_names:"Ankre", -target_same:"\u00C5ben i dette vindue / ramme", -target_parent:"\u00C5ben i overliggende vindue / ramme", -target_top:"\u00C5ben i \u00F8verste vindue / ramme (erstatter alle rammer)", -target_blank:"\u00C5ben i nyt vindue", -popup:"Javascript popup", -popup_url:"Popup URL", -popup_name:"Vinduesnavn", -popup_return:"Inds\u00E6t 'return false'", -popup_scrollbars:"Vis rullepanel", -popup_statusbar:"Vis statuslinje", -popup_toolbar:"Vis v\u00E6rkt\u00F8jslinjer", -popup_menubar:"Vis menulinje", -popup_location:"Vis adresselinje", -popup_resizable:"Lad det v\u00E6re muligt at \u00E6ndre st\u00F8rrelsen p\u00E5 vinduet", -popup_dependent:"Afh\u00E6ngig (Kun Mozilla/Firefox)", -popup_size:"St\u00F8rrelse", -popup_position:"Position (X/Y)", -id:"Id", -style:"Stil", -classes:"Klasser", -target_name:"Destinationsnavn", -langdir:"Sprogretning", -target_langcode:"Destinationssprog", -langcode:"Sprogkode", -encoding:"Destinationstegns\u00E6t", -mime:"Destinations-MIME-type", -rel:"Relativ side til destination", -rev:"Relativ destination til side", -tabindex:"Tabindex", -accesskey:"Genvejstast", -ltr:"Venstre mod h\u00F8jre", -rtl:"H\u00F8jre mod venstre", -link_list:"Liste over links" +tinyMCE.addI18n('da.advlink_dlg',{ +title:"Inds\u00E6t/rediger link", +url:"Link URL", +target:"M\u00E5l", +titlefield:"Titel", +is_email:"Den URL, der er indtastet, ser ud til at v\u00E6re en emailadresse. Vil du have tilf\u00F8jet det p\u00E5kr\u00E6vede mailto: foran?", +is_external:"Den URL, der er indtastet, ser ud til at v\u00E6re et eksternt link. Vil du have tilf\u00F8jet det p\u00E5kr\u00E6vede http:// foran?", +list:"Liste over links", +general_tab:"Generelt", +popup_tab:"Popup", +events_tab:"H\u00E6ndelser", +advanced_tab:"Advanceret", +general_props:"Generelle egenskaber", +popup_props:"Popup egenskaber", +event_props:"H\u00E6ndelser", +advanced_props:"Avancerede egenskaber", +popup_opts:"Indstillinger", +anchor_names:"Ankre", +target_same:"\u00C5ben i dette vindue / ramme", +target_parent:"\u00C5ben i overliggende vindue / ramme", +target_top:"\u00C5ben i \u00F8verste vindue / ramme (erstatter alle rammer)", +target_blank:"\u00C5ben i nyt vindue", +popup:"Javascript popup", +popup_url:"Popup URL", +popup_name:"Vinduesnavn", +popup_return:"Inds\u00E6t 'return false'", +popup_scrollbars:"Vis rullepanel", +popup_statusbar:"Vis statuslinje", +popup_toolbar:"Vis v\u00E6rkt\u00F8jslinjer", +popup_menubar:"Vis menulinje", +popup_location:"Vis adresselinje", +popup_resizable:"Lad det v\u00E6re muligt at \u00E6ndre st\u00F8rrelsen p\u00E5 vinduet", +popup_dependent:"Afh\u00E6ngig (Kun Mozilla/Firefox)", +popup_size:"St\u00F8rrelse", +popup_position:"Position (X/Y)", +id:"Id", +style:"Stil", +classes:"Klasser", +target_name:"Destinationsnavn", +langdir:"Sprogretning", +target_langcode:"Destinationssprog", +langcode:"Sprogkode", +encoding:"Destinationstegns\u00E6t", +mime:"Destinations-MIME-type", +rel:"Relativ side til destination", +rev:"Relativ destination til side", +tabindex:"Tabindex", +accesskey:"Genvejstast", +ltr:"Venstre mod h\u00F8jre", +rtl:"H\u00F8jre mod venstre", +link_list:"Liste over links" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/de_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/de_dlg.js old mode 100644 new mode 100755 index 5a68302d94..6fdfbe2586 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/de_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/de_dlg.js @@ -1,52 +1,52 @@ -tinyMCE.addI18n('de.advlink_dlg',{ -title:"Link einf\u00FCgen/bearbeiten", -url:"Adresse", -target:"Fenster", -titlefield:"Titel", -is_email:"Diese Adresse scheint eine E-Mail-Adresse zu sein. M\u00F6chten Sie das dazu ben\u00F6tigte \"mailto:\" voranstellen?", -is_external:"Diese Adresse scheint ein externer Link zu sein. M\u00F6chten Sie das dazu ben\u00F6tigte \"http://\" voranstellen?", -list:"Linkliste", -general_tab:"Allgemein", -popup_tab:"Popup", -events_tab:"Ereignisse", -advanced_tab:"Erweitert", -general_props:"Allemeine Eigenschaften", -popup_props:"Popup-Eigenschaften", -event_props:"Ereignisse", -advanced_props:"Erweiterte Eigenschaften", -popup_opts:"Optionen", -anchor_names:"Anker", -target_same:"Im selben Fenster/Frame \u00F6ffnen", -target_parent:"Im \u00FCbergeordneten Fenster/Frame \u00F6ffnen", -target_top:"Im obersten Frame \u00F6ffnen (sprengt das Frameset)", -target_blank:"In neuem Fenster \u00F6ffnen", -popup:"JavaScript-Popup", -popup_url:"Popup-Adresse", -popup_name:"Name des Fensters", -popup_return:"Link trotz Popup folgen", -popup_scrollbars:"Scrollbalken anzeigen", -popup_statusbar:"Statusleiste anzeigen", -popup_toolbar:"Werkzeugleisten anzeigen", -popup_menubar:"Browsermen\u00FC anzeigen", -popup_location:"Adressleiste anzeigen", -popup_resizable:"Vergr\u00F6\u00DFern des Fenster zulassen", -popup_dependent:"Vom Elternfenster abh\u00E4ngig
    (nur Mozilla/Firefox) ", -popup_size:"Gr\u00F6\u00DFe", -popup_position:"Position (X/Y)", -id:"ID", -style:"Format", -classes:"Klassen", -target_name:"Name der Zielseite", -langdir:"Schriftrichtung", -target_langcode:"Sprache der Zielseite", -langcode:"Sprachcode", -encoding:"Zeichenkodierung der Zielseite", -mime:"MIME-Type der Zielseite", -rel:"Beziehung der Seite zum Linkziel", -rev:"Beziehung des Linkziels zur Seite", -tabindex:"Tabindex", -accesskey:"Tastenk\u00FCrzel", -ltr:"Links nach rechts", -rtl:"Rechts nach links", -link_list:"Linkliste" +tinyMCE.addI18n('de.advlink_dlg',{ +title:"Link einf\u00FCgen/bearbeiten", +url:"Adresse", +target:"Fenster", +titlefield:"Titel", +is_email:"Diese Adresse scheint eine E-Mail-Adresse zu sein. M\u00F6chten Sie das dazu ben\u00F6tigte \"mailto:\" voranstellen?", +is_external:"Diese Adresse scheint ein externer Link zu sein. M\u00F6chten Sie das dazu ben\u00F6tigte \"http://\" voranstellen?", +list:"Linkliste", +general_tab:"Allgemein", +popup_tab:"Popup", +events_tab:"Ereignisse", +advanced_tab:"Erweitert", +general_props:"Allemeine Eigenschaften", +popup_props:"Popup-Eigenschaften", +event_props:"Ereignisse", +advanced_props:"Erweiterte Eigenschaften", +popup_opts:"Optionen", +anchor_names:"Anker", +target_same:"Im selben Fenster/Frame \u00F6ffnen", +target_parent:"Im \u00FCbergeordneten Fenster/Frame \u00F6ffnen", +target_top:"Im obersten Frame \u00F6ffnen (sprengt das Frameset)", +target_blank:"In neuem Fenster \u00F6ffnen", +popup:"JavaScript-Popup", +popup_url:"Popup-Adresse", +popup_name:"Name des Fensters", +popup_return:"Link trotz Popup folgen", +popup_scrollbars:"Scrollbalken anzeigen", +popup_statusbar:"Statusleiste anzeigen", +popup_toolbar:"Werkzeugleisten anzeigen", +popup_menubar:"Browsermen\u00FC anzeigen", +popup_location:"Adressleiste anzeigen", +popup_resizable:"Vergr\u00F6\u00DFern des Fenster zulassen", +popup_dependent:"Vom Elternfenster abh\u00E4ngig
    (nur Mozilla/Firefox) ", +popup_size:"Gr\u00F6\u00DFe", +popup_position:"Position (X/Y)", +id:"ID", +style:"Format", +classes:"Klassen", +target_name:"Name der Zielseite", +langdir:"Schriftrichtung", +target_langcode:"Sprache der Zielseite", +langcode:"Sprachcode", +encoding:"Zeichenkodierung der Zielseite", +mime:"MIME-Type der Zielseite", +rel:"Beziehung der Seite zum Linkziel", +rev:"Beziehung des Linkziels zur Seite", +tabindex:"Tabindex", +accesskey:"Tastenk\u00FCrzel", +ltr:"Links nach rechts", +rtl:"Rechts nach links", +link_list:"Linkliste" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js old mode 100644 new mode 100755 index c71ffbd0f1..8ef9c792b4 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js @@ -1,52 +1,52 @@ -tinyMCE.addI18n('en.advlink_dlg',{ -title:"Insert/edit link", -url:"Link URL", -target:"Target", -titlefield:"Title", -is_email:"The URL you entered seems to be an email address, do you want to add the required mailto: prefix?", -is_external:"The URL you entered seems to external link, do you want to add the required http:// prefix?", -list:"Link list", -general_tab:"General", -popup_tab:"Popup", -events_tab:"Events", -advanced_tab:"Advanced", -general_props:"General properties", -popup_props:"Popup properties", -event_props:"Events", -advanced_props:"Advanced properties", -popup_opts:"Options", -anchor_names:"Anchors", -target_same:"Open in this window / frame", -target_parent:"Open in parent window / frame", -target_top:"Open in top frame (replaces all frames)", -target_blank:"Open in new window", -popup:"Javascript popup", -popup_url:"Popup URL", -popup_name:"Window name", -popup_return:"Insert 'return false'", -popup_scrollbars:"Show scrollbars", -popup_statusbar:"Show status bar", -popup_toolbar:"Show toolbars", -popup_menubar:"Show menu bar", -popup_location:"Show location bar", -popup_resizable:"Make window resizable", -popup_dependent:"Dependent (Mozilla/Firefox only)", -popup_size:"Size", -popup_position:"Position (X/Y)", -id:"Id", -style:"Style", -classes:"Classes", -target_name:"Target name", -langdir:"Language direction", -target_langcode:"Target language", -langcode:"Language code", -encoding:"Target character encoding", -mime:"Target MIME type", -rel:"Relationship page to target", -rev:"Relationship target to page", -tabindex:"Tabindex", -accesskey:"Accesskey", -ltr:"Left to right", -rtl:"Right to left", -link_list:"Link list" +tinyMCE.addI18n('en.advlink_dlg',{ +title:"Insert/edit link", +url:"Link URL", +target:"Target", +titlefield:"Title", +is_email:"The URL you entered seems to be an email address, do you want to add the required mailto: prefix?", +is_external:"The URL you entered seems to external link, do you want to add the required http:// prefix?", +list:"Link list", +general_tab:"General", +popup_tab:"Popup", +events_tab:"Events", +advanced_tab:"Advanced", +general_props:"General properties", +popup_props:"Popup properties", +event_props:"Events", +advanced_props:"Advanced properties", +popup_opts:"Options", +anchor_names:"Anchors", +target_same:"Open in this window / frame", +target_parent:"Open in parent window / frame", +target_top:"Open in top frame (replaces all frames)", +target_blank:"Open in new window", +popup:"Javascript popup", +popup_url:"Popup URL", +popup_name:"Window name", +popup_return:"Insert 'return false'", +popup_scrollbars:"Show scrollbars", +popup_statusbar:"Show status bar", +popup_toolbar:"Show toolbars", +popup_menubar:"Show menu bar", +popup_location:"Show location bar", +popup_resizable:"Make window resizable", +popup_dependent:"Dependent (Mozilla/Firefox only)", +popup_size:"Size", +popup_position:"Position (X/Y)", +id:"Id", +style:"Style", +classes:"Classes", +target_name:"Target name", +langdir:"Language direction", +target_langcode:"Target language", +langcode:"Language code", +encoding:"Target character encoding", +mime:"Target MIME type", +rel:"Relationship page to target", +rev:"Relationship target to page", +tabindex:"Tabindex", +accesskey:"Accesskey", +ltr:"Left to right", +rtl:"Right to left", +link_list:"Link list" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/es_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/es_dlg.js old mode 100644 new mode 100755 index d99c45cc6e..8f2056993d --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/es_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/es_dlg.js @@ -1,52 +1,52 @@ -tinyMCE.addI18n('es.advlink_dlg',{ -title:"Insertar/editar hiperv\u00EDnculo", -url:"URL del hiperv\u00EDnculo", -target:"Destino", -titlefield:"T\u00EDtulo", -is_email:"La URL que ha introducido parece ser una direci\u00F3n de correo, \u00BFdesea agregar el prefijo mailto: necesario?", -is_external:"La URL que ha introducido parece ser un v\u00EDnculo externo, \u00BFdesea agregar el prefijo http:// necesario?", -list:"Lista de v\u00EDnculos", -general_tab:"General", -popup_tab:"Ventana emergente", -events_tab:"Eventos", -advanced_tab:"Avanzado", -general_props:"Propiedades generales", -popup_props:"Propiedades de ventanas emergentes", -event_props:"Eventos", -advanced_props:"Propiedades avanzadas", -popup_opts:"Opciones", -anchor_names:"Anclas", -target_same:"Abrir en esta ventana / marco", -target_parent:"Abrir en ventana padre / marco", -target_top:"Abrir en el marco superior (reemplaza todos los marcos)", -target_blank:"Abrir en ventana nueva", -popup:"Javascript popup", -popup_url:"URL de la ventana emergente", -popup_name:"Nombre de la ventana", -popup_return:"Insertar 'return false'", -popup_scrollbars:"Barras de desplazamiento", -popup_statusbar:"Barra de estado", -popup_toolbar:"Barra de herramientas", -popup_menubar:"Barra de men\u00FA", -popup_location:"Barra de localizaci\u00F3n", -popup_resizable:"Permitir cambiar el tama\u00F1o de la ventana", -popup_dependent:"Dependientes (s\u00F3lo Mozilla/Firefox)", -popup_size:"Tama\u00F1o", -popup_position:"Posici\u00F3n (X/Y)", -id:"Id", -style:"Estilo", -classes:"Clases", -target_name:"Nombre del Target", -langdir:"Direcci\u00F3n del lenguaje", -target_langcode:"Lenguaje del Target", -langcode:"C\u00F3digo del lenguaje", -encoding:"Codificaci\u00F3n de caracteres del Target", -mime:"Tipo MIME del Target", -rel:"Relaci\u00F3n p\u00E1gina a target", -rev:"Relaci\u00F3n target a p\u00E1gina", -tabindex:"Indice de tabulaci\u00F3n", -accesskey:"Tecla de acceso", -ltr:"Izquierda a derecha", -rtl:"Derecha a izquierda", -link_list:"Lista de v\u00EDnculo" +tinyMCE.addI18n('es.advlink_dlg',{ +title:"Insertar/editar hiperv\u00EDnculo", +url:"URL del hiperv\u00EDnculo", +target:"Destino", +titlefield:"T\u00EDtulo", +is_email:"La URL que ha introducido parece ser una direci\u00F3n de correo, \u00BFdesea agregar el prefijo mailto: necesario?", +is_external:"La URL que ha introducido parece ser un v\u00EDnculo externo, \u00BFdesea agregar el prefijo http:// necesario?", +list:"Lista de v\u00EDnculos", +general_tab:"General", +popup_tab:"Ventana emergente", +events_tab:"Eventos", +advanced_tab:"Avanzado", +general_props:"Propiedades generales", +popup_props:"Propiedades de ventanas emergentes", +event_props:"Eventos", +advanced_props:"Propiedades avanzadas", +popup_opts:"Opciones", +anchor_names:"Anclas", +target_same:"Abrir en esta ventana / marco", +target_parent:"Abrir en ventana padre / marco", +target_top:"Abrir en el marco superior (reemplaza todos los marcos)", +target_blank:"Abrir en ventana nueva", +popup:"Javascript popup", +popup_url:"URL de la ventana emergente", +popup_name:"Nombre de la ventana", +popup_return:"Insertar 'return false'", +popup_scrollbars:"Barras de desplazamiento", +popup_statusbar:"Barra de estado", +popup_toolbar:"Barra de herramientas", +popup_menubar:"Barra de men\u00FA", +popup_location:"Barra de localizaci\u00F3n", +popup_resizable:"Permitir cambiar el tama\u00F1o de la ventana", +popup_dependent:"Dependientes (s\u00F3lo Mozilla/Firefox)", +popup_size:"Tama\u00F1o", +popup_position:"Posici\u00F3n (X/Y)", +id:"Id", +style:"Estilo", +classes:"Clases", +target_name:"Nombre del Target", +langdir:"Direcci\u00F3n del lenguaje", +target_langcode:"Lenguaje del Target", +langcode:"C\u00F3digo del lenguaje", +encoding:"Codificaci\u00F3n de caracteres del Target", +mime:"Tipo MIME del Target", +rel:"Relaci\u00F3n p\u00E1gina a target", +rev:"Relaci\u00F3n target a p\u00E1gina", +tabindex:"Indice de tabulaci\u00F3n", +accesskey:"Tecla de acceso", +ltr:"Izquierda a derecha", +rtl:"Derecha a izquierda", +link_list:"Lista de v\u00EDnculo" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fa_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fa_dlg.js old mode 100644 new mode 100755 index b6ca3eea31..84319d586c --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fa_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fa_dlg.js @@ -1,52 +1,52 @@ -tinyMCE.addI18n('fa.advlink_dlg',{ -title:"\u062F\u0631\u062C/\u0648\u06CC\u0631\u0627\u06CC\u0634 \u0644\u06CC\u0646\u06A9", -url:"URL \u0644\u06CC\u0646\u06A9", -target:"\u0645\u0642\u0635\u062F (Target)", -titlefield:"\u0639\u0646\u0648\u0627\u0646", -is_email:"URL \u06CC \u06A9\u0647 \u0648\u0627\u0631\u062F \u06A9\u0631\u062F\u0647 \u0627\u06CC\u062F \u0628\u0647 \u0646\u0638\u0631 \u0645\u06CC \u0622\u06CC\u062F \u06A9\u0647 \u06CC\u06A9 \u0622\u062F\u0631\u0633 \u0627\u06CC\u0645\u06CC\u0644 \u0645\u06CC \u0628\u0627\u0634\u062F \u060C \u0622\u06CC\u0627 \u0645\u0627\u06CC\u0644\u06CC\u062F \u062A\u0627 \u067E\u06CC\u0634\u0648\u0646\u062F \u0644\u0627\u0632\u0645\u0647 :mailto \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u0646\u0645\u0627\u0626\u06CC\u062F\u061F", -is_external:"URL \u06CC \u06A9\u0647 \u0648\u0627\u0631\u062F \u06A9\u0631\u062F\u0647 \u0627\u06CC\u062F \u0628\u0647 \u0646\u0638\u0631 \u0645\u06CC \u0622\u06CC\u062F \u06A9\u0647 \u06CC\u06A9 \u0644\u06CC\u0646\u06A9 \u062E\u0627\u0631\u062C\u06CC \u0645\u06CC \u0628\u0627\u0634\u062F \u060C \u0622\u06CC\u0627 \u0645\u0627\u06CC\u0644\u06CC\u062F \u062A\u0627 \u067E\u06CC\u0634\u0648\u0646\u062F \u0644\u0627\u0632\u0645\u0647 //:http \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u0646\u0645\u0627\u0626\u06CC\u062F\u061F", -list:"\u0644\u06CC\u0633\u062A \u0644\u06CC\u0646\u06A9", -general_tab:"\u0639\u0645\u0648\u0645\u06CC", -popup_tab:"\u067E\u0646\u062C\u0631\u0647 \u0628\u0627\u0632\u0634\u0648 (Popup)", -events_tab:"\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627", -advanced_tab:"\u067E\u06CC\u0634\u0631\u0641\u062A\u0647", -general_props:"\u0645\u0634\u062E\u0635\u0627\u062A \u0639\u0645\u0648\u0645\u06CC", -popup_props:"\u0645\u0634\u062E\u0635\u0627\u062A \u067E\u0646\u062C\u0631\u0647 \u0628\u0627\u0632\u0634\u0648 (Popup)", -event_props:"\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627", -advanced_props:"\u0645\u0634\u062E\u0635\u0627\u062A \u067E\u06CC\u0634\u0631\u0641\u062A\u0647", -popup_opts:"\u06AF\u0632\u06CC\u0646\u0647 \u0647\u0627", -anchor_names:"\u0644\u0646\u06AF\u0631\u0647\u0627 (Anchor)", -target_same:"\u0628\u0627\u0632\u0634\u062F\u0646 \u062F\u0631 \u0627\u06CC\u0646 \u067E\u0646\u062C\u0631\u0647 / \u0642\u0627\u0628 (Frame)", -target_parent:"\u0628\u0627\u0632\u0634\u062F\u0646 \u062F\u0631 \u067E\u0646\u062C\u0631\u0647 / \u0642\u0627\u0628 \u0648\u0627\u0644\u062F (Parent Frame)", -target_top:"\u0628\u0627\u0632\u0634\u062F\u0646 \u062F\u0631 \u0642\u0627\u0628 \u0628\u0627\u0644\u0627 (Top Frame) (\u062A\u0645\u0627\u0645\u06CC \u0642\u0627\u0628 \u0647\u0627 \u0631\u0627 \u062A\u0639\u0648\u06CC\u0636 \u0645\u06CC \u06A9\u0646\u062F)", -target_blank:"\u0628\u0627\u0632\u0634\u062F\u0646 \u062F\u0631 \u067E\u0646\u062C\u0631\u0647 \u062C\u062F\u06CC\u062F", -popup:"\u067E\u0646\u062C\u0631\u0647 \u0628\u0627\u0632\u0634\u0648\u06CC Javascript", -popup_url:"URL \u067E\u0646\u062C\u0631\u0647 \u0628\u0627\u0632\u0634\u0648 (Popup)", -popup_name:"\u0646\u0627\u0645 \u067E\u0646\u062C\u0631\u0647", -popup_return:"\u062F\u0631\u062C 'return false'", -popup_scrollbars:"\u0646\u0645\u0627\u06CC\u0634 \u0646\u0648\u0627\u0631 \u067E\u06CC\u0645\u0627\u06CC\u0634 \u0647\u0627", -popup_statusbar:"\u0646\u0645\u0627\u06CC\u0634 \u0646\u0648\u0627\u0631 \u0648\u0636\u0639\u06CC\u062A", -popup_toolbar:"\u0646\u0645\u0627\u06CC\u0634 \u0646\u0648\u0627\u0631 \u0627\u0628\u0632\u0627\u0631", -popup_menubar:"\u0646\u0645\u0627\u06CC\u0634 \u0646\u0648\u0627\u0631 \u0645\u0646\u0648", -popup_location:"\u0646\u0645\u0627\u06CC\u0634 \u0646\u0648\u0627\u0631 \u0645\u06A9\u0627\u0646", -popup_resizable:"\u0627\u06CC\u062C\u0627\u062F \u067E\u0646\u062C\u0631\u0647 \u0642\u0627\u0628\u0644 \u0627\u0646\u062F\u0627\u0632\u0647 \u0628\u0646\u062F\u06CC \u0645\u062C\u062F\u062F", -popup_dependent:"\u0648\u0627\u0628\u0633\u062A\u0647 (\u0641\u0642\u0637 Mozilla/Firefox)", -popup_size:"\u0627\u0646\u062F\u0627\u0632\u0647", -popup_position:"\u0645\u0648\u0642\u0639\u06CC\u062A (X/Y)", -id:"\u0634\u0646\u0627\u0633\u0647", -style:"\u0627\u0633\u062A\u06CC\u0644", -classes:"\u06A9\u0644\u0627\u0633 \u0647\u0627", -target_name:"\u0646\u0627\u0645 \u0645\u0642\u0635\u062F (Target)", -langdir:"\u062C\u0647\u062A \u0632\u0628\u0627\u0646", -target_langcode:"\u0632\u0628\u0627\u0646 \u0645\u0642\u0635\u062F (Target)", -langcode:"\u06A9\u062F \u0632\u0628\u0627\u0646", -encoding:"\u0631\u0645\u0632\u06AF\u0630\u0627\u0631\u06CC \u06A9\u0627\u0631\u0627\u06A9\u062A\u0631 \u0645\u0642\u0635\u062F (Target)", -mime:"\u0646\u0648\u0639 MIME \u0645\u0642\u0635\u062F (Target)", -rel:"\u0631\u0627\u0628\u0637\u0647 \u0635\u0641\u062D\u0647 \u0628\u0627 \u0645\u0642\u0635\u062F (Target)", -rev:"\u0631\u0627\u0628\u0637\u0647 \u0645\u0642\u0635\u062F (Target) \u0628\u0627 \u0635\u0641\u062D\u0647", -tabindex:"Tabindex", -accesskey:"Accesskey", -ltr:"\u0686\u067E \u0628\u0647 \u0631\u0627\u0633\u062A", -rtl:"\u0631\u0627\u0633\u062A \u0628\u0647 \u0686\u067E", -link_list:"\u0644\u06CC\u0633\u062A \u0644\u06CC\u0646\u06A9" +tinyMCE.addI18n('fa.advlink_dlg',{ +title:"\u062F\u0631\u062C/\u0648\u06CC\u0631\u0627\u06CC\u0634 \u0644\u06CC\u0646\u06A9", +url:"URL \u0644\u06CC\u0646\u06A9", +target:"\u0645\u0642\u0635\u062F (Target)", +titlefield:"\u0639\u0646\u0648\u0627\u0646", +is_email:"URL \u06CC \u06A9\u0647 \u0648\u0627\u0631\u062F \u06A9\u0631\u062F\u0647 \u0627\u06CC\u062F \u0628\u0647 \u0646\u0638\u0631 \u0645\u06CC \u0622\u06CC\u062F \u06A9\u0647 \u06CC\u06A9 \u0622\u062F\u0631\u0633 \u0627\u06CC\u0645\u06CC\u0644 \u0645\u06CC \u0628\u0627\u0634\u062F \u060C \u0622\u06CC\u0627 \u0645\u0627\u06CC\u0644\u06CC\u062F \u062A\u0627 \u067E\u06CC\u0634\u0648\u0646\u062F \u0644\u0627\u0632\u0645\u0647 :mailto \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u0646\u0645\u0627\u0626\u06CC\u062F\u061F", +is_external:"URL \u06CC \u06A9\u0647 \u0648\u0627\u0631\u062F \u06A9\u0631\u062F\u0647 \u0627\u06CC\u062F \u0628\u0647 \u0646\u0638\u0631 \u0645\u06CC \u0622\u06CC\u062F \u06A9\u0647 \u06CC\u06A9 \u0644\u06CC\u0646\u06A9 \u062E\u0627\u0631\u062C\u06CC \u0645\u06CC \u0628\u0627\u0634\u062F \u060C \u0622\u06CC\u0627 \u0645\u0627\u06CC\u0644\u06CC\u062F \u062A\u0627 \u067E\u06CC\u0634\u0648\u0646\u062F \u0644\u0627\u0632\u0645\u0647 //:http \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u0646\u0645\u0627\u0626\u06CC\u062F\u061F", +list:"\u0644\u06CC\u0633\u062A \u0644\u06CC\u0646\u06A9", +general_tab:"\u0639\u0645\u0648\u0645\u06CC", +popup_tab:"\u067E\u0646\u062C\u0631\u0647 \u0628\u0627\u0632\u0634\u0648 (Popup)", +events_tab:"\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627", +advanced_tab:"\u067E\u06CC\u0634\u0631\u0641\u062A\u0647", +general_props:"\u0645\u0634\u062E\u0635\u0627\u062A \u0639\u0645\u0648\u0645\u06CC", +popup_props:"\u0645\u0634\u062E\u0635\u0627\u062A \u067E\u0646\u062C\u0631\u0647 \u0628\u0627\u0632\u0634\u0648 (Popup)", +event_props:"\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627", +advanced_props:"\u0645\u0634\u062E\u0635\u0627\u062A \u067E\u06CC\u0634\u0631\u0641\u062A\u0647", +popup_opts:"\u06AF\u0632\u06CC\u0646\u0647 \u0647\u0627", +anchor_names:"\u0644\u0646\u06AF\u0631\u0647\u0627 (Anchor)", +target_same:"\u0628\u0627\u0632\u0634\u062F\u0646 \u062F\u0631 \u0627\u06CC\u0646 \u067E\u0646\u062C\u0631\u0647 / \u0642\u0627\u0628 (Frame)", +target_parent:"\u0628\u0627\u0632\u0634\u062F\u0646 \u062F\u0631 \u067E\u0646\u062C\u0631\u0647 / \u0642\u0627\u0628 \u0648\u0627\u0644\u062F (Parent Frame)", +target_top:"\u0628\u0627\u0632\u0634\u062F\u0646 \u062F\u0631 \u0642\u0627\u0628 \u0628\u0627\u0644\u0627 (Top Frame) (\u062A\u0645\u0627\u0645\u06CC \u0642\u0627\u0628 \u0647\u0627 \u0631\u0627 \u062A\u0639\u0648\u06CC\u0636 \u0645\u06CC \u06A9\u0646\u062F)", +target_blank:"\u0628\u0627\u0632\u0634\u062F\u0646 \u062F\u0631 \u067E\u0646\u062C\u0631\u0647 \u062C\u062F\u06CC\u062F", +popup:"\u067E\u0646\u062C\u0631\u0647 \u0628\u0627\u0632\u0634\u0648\u06CC Javascript", +popup_url:"URL \u067E\u0646\u062C\u0631\u0647 \u0628\u0627\u0632\u0634\u0648 (Popup)", +popup_name:"\u0646\u0627\u0645 \u067E\u0646\u062C\u0631\u0647", +popup_return:"\u062F\u0631\u062C 'return false'", +popup_scrollbars:"\u0646\u0645\u0627\u06CC\u0634 \u0646\u0648\u0627\u0631 \u067E\u06CC\u0645\u0627\u06CC\u0634 \u0647\u0627", +popup_statusbar:"\u0646\u0645\u0627\u06CC\u0634 \u0646\u0648\u0627\u0631 \u0648\u0636\u0639\u06CC\u062A", +popup_toolbar:"\u0646\u0645\u0627\u06CC\u0634 \u0646\u0648\u0627\u0631 \u0627\u0628\u0632\u0627\u0631", +popup_menubar:"\u0646\u0645\u0627\u06CC\u0634 \u0646\u0648\u0627\u0631 \u0645\u0646\u0648", +popup_location:"\u0646\u0645\u0627\u06CC\u0634 \u0646\u0648\u0627\u0631 \u0645\u06A9\u0627\u0646", +popup_resizable:"\u0627\u06CC\u062C\u0627\u062F \u067E\u0646\u062C\u0631\u0647 \u0642\u0627\u0628\u0644 \u0627\u0646\u062F\u0627\u0632\u0647 \u0628\u0646\u062F\u06CC \u0645\u062C\u062F\u062F", +popup_dependent:"\u0648\u0627\u0628\u0633\u062A\u0647 (\u0641\u0642\u0637 Mozilla/Firefox)", +popup_size:"\u0627\u0646\u062F\u0627\u0632\u0647", +popup_position:"\u0645\u0648\u0642\u0639\u06CC\u062A (X/Y)", +id:"\u0634\u0646\u0627\u0633\u0647", +style:"\u0627\u0633\u062A\u06CC\u0644", +classes:"\u06A9\u0644\u0627\u0633 \u0647\u0627", +target_name:"\u0646\u0627\u0645 \u0645\u0642\u0635\u062F (Target)", +langdir:"\u062C\u0647\u062A \u0632\u0628\u0627\u0646", +target_langcode:"\u0632\u0628\u0627\u0646 \u0645\u0642\u0635\u062F (Target)", +langcode:"\u06A9\u062F \u0632\u0628\u0627\u0646", +encoding:"\u0631\u0645\u0632\u06AF\u0630\u0627\u0631\u06CC \u06A9\u0627\u0631\u0627\u06A9\u062A\u0631 \u0645\u0642\u0635\u062F (Target)", +mime:"\u0646\u0648\u0639 MIME \u0645\u0642\u0635\u062F (Target)", +rel:"\u0631\u0627\u0628\u0637\u0647 \u0635\u0641\u062D\u0647 \u0628\u0627 \u0645\u0642\u0635\u062F (Target)", +rev:"\u0631\u0627\u0628\u0637\u0647 \u0645\u0642\u0635\u062F (Target) \u0628\u0627 \u0635\u0641\u062D\u0647", +tabindex:"Tabindex", +accesskey:"Accesskey", +ltr:"\u0686\u067E \u0628\u0647 \u0631\u0627\u0633\u062A", +rtl:"\u0631\u0627\u0633\u062A \u0628\u0647 \u0686\u067E", +link_list:"\u0644\u06CC\u0633\u062A \u0644\u06CC\u0646\u06A9" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fi_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fi_dlg.js old mode 100644 new mode 100755 index 9cf87a4ce7..57fcf550cc --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fi_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fi_dlg.js @@ -1,52 +1,52 @@ -tinyMCE.addI18n('fi.advlink_dlg',{ -title:"Lis\u00E4\u00E4/muokkaa linkki\u00E4", -url:"Linkin URL", -target:"Kohde (target)", -titlefield:"Otsikko", -is_email:"Sy\u00F6tt\u00E4m\u00E4si URL n\u00E4ytt\u00E4\u00E4 olevan s\u00E4hk\u00F6postiosoite, haluatko lis\u00E4t\u00E4 mailto:-etuliitteen?", -is_external:"Sy\u00F6tt\u00E4m\u00E4si URL n\u00E4ytt\u00E4\u00E4 olevan sivuston ulkoinen osoite, haluatko lis\u00E4t\u00E4 http://-etuliitteen?", -list:"Linkkilista", -general_tab:"Yleiset", -popup_tab:"Ponnahdusikkuna", -events_tab:"Tapahtumat", -advanced_tab:"Edistynyt", -general_props:"Yleiset asetukset", -popup_props:"Ponnahdusikkunan asetukset", -event_props:"Tapahtumat (events)", -advanced_props:"Edistyneet asetukset", -popup_opts:"Valinta", -anchor_names:"Ankkurit", -target_same:"Avaa t\u00E4ss\u00E4 ikkunassa", -target_parent:"Avaa ylemm\u00E4ss\u00E4 ikkunassa", -target_top:"Avaa ylimm\u00E4ss\u00E4 ruudussa (korvaa kaikki ruudut)", -target_blank:"Avaa uudessa ikkunassa", -popup:"Javascript ponnahdusikkuna", -popup_url:"Ponnahdusikkunan URL", -popup_name:"Ikkunan nimi", -popup_return:"Lis\u00E4\u00E4 'return false'", -popup_scrollbars:"N\u00E4yt\u00E4 vierityspalkit", -popup_statusbar:"N\u00E4yt\u00E4 tilapalkki", -popup_toolbar:"N\u00E4yt\u00E4 ty\u00F6kalut", -popup_menubar:"N\u00E4yt\u00E4 valikkopalkki", -popup_location:"N\u00E4yt\u00E4 sijaintipalkki", -popup_resizable:"Tee ikkunan koko muokattavaksi", -popup_dependent:"Riippuvainen (vain Mozilla/Firefox)", -popup_size:"Koko", -popup_position:"Sijainti (X/Y)", -id:"Id", -style:"Tyyli", -classes:"Luokat", -target_name:"Kohteen nimi", -langdir:"Kielen suunta", -target_langcode:"Kohteen kieli", -langcode:"Kielen koodi", -encoding:"Kohteen merkist\u00F6koodaus", -mime:"Kohteen MIME-tyyppi", -rel:"Sivun suhde kohteeseen", -rev:"Kohteen suhde sivuun", -tabindex:"Tabulaattori-indeksi", -accesskey:"Pikan\u00E4pp\u00E4in", -ltr:"Vasemmalta oikealle", -rtl:"Oikealta vasemmalle", -link_list:"Linkkilista" +tinyMCE.addI18n('fi.advlink_dlg',{ +title:"Lis\u00E4\u00E4/muokkaa linkki\u00E4", +url:"Linkin URL", +target:"Kohde (target)", +titlefield:"Otsikko", +is_email:"Sy\u00F6tt\u00E4m\u00E4si URL n\u00E4ytt\u00E4\u00E4 olevan s\u00E4hk\u00F6postiosoite, haluatko lis\u00E4t\u00E4 mailto:-etuliitteen?", +is_external:"Sy\u00F6tt\u00E4m\u00E4si URL n\u00E4ytt\u00E4\u00E4 olevan sivuston ulkoinen osoite, haluatko lis\u00E4t\u00E4 http://-etuliitteen?", +list:"Linkkilista", +general_tab:"Yleiset", +popup_tab:"Ponnahdusikkuna", +events_tab:"Tapahtumat", +advanced_tab:"Edistynyt", +general_props:"Yleiset asetukset", +popup_props:"Ponnahdusikkunan asetukset", +event_props:"Tapahtumat (events)", +advanced_props:"Edistyneet asetukset", +popup_opts:"Valinta", +anchor_names:"Ankkurit", +target_same:"Avaa t\u00E4ss\u00E4 ikkunassa", +target_parent:"Avaa ylemm\u00E4ss\u00E4 ikkunassa", +target_top:"Avaa ylimm\u00E4ss\u00E4 ruudussa (korvaa kaikki ruudut)", +target_blank:"Avaa uudessa ikkunassa", +popup:"Javascript ponnahdusikkuna", +popup_url:"Ponnahdusikkunan URL", +popup_name:"Ikkunan nimi", +popup_return:"Lis\u00E4\u00E4 'return false'", +popup_scrollbars:"N\u00E4yt\u00E4 vierityspalkit", +popup_statusbar:"N\u00E4yt\u00E4 tilapalkki", +popup_toolbar:"N\u00E4yt\u00E4 ty\u00F6kalut", +popup_menubar:"N\u00E4yt\u00E4 valikkopalkki", +popup_location:"N\u00E4yt\u00E4 sijaintipalkki", +popup_resizable:"Tee ikkunan koko muokattavaksi", +popup_dependent:"Riippuvainen (vain Mozilla/Firefox)", +popup_size:"Koko", +popup_position:"Sijainti (X/Y)", +id:"Id", +style:"Tyyli", +classes:"Luokat", +target_name:"Kohteen nimi", +langdir:"Kielen suunta", +target_langcode:"Kohteen kieli", +langcode:"Kielen koodi", +encoding:"Kohteen merkist\u00F6koodaus", +mime:"Kohteen MIME-tyyppi", +rel:"Sivun suhde kohteeseen", +rev:"Kohteen suhde sivuun", +tabindex:"Tabulaattori-indeksi", +accesskey:"Pikan\u00E4pp\u00E4in", +ltr:"Vasemmalta oikealle", +rtl:"Oikealta vasemmalle", +link_list:"Linkkilista" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fr_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fr_dlg.js old mode 100644 new mode 100755 index a17db8f15c..17adf455ae --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fr_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fr_dlg.js @@ -1,52 +1,52 @@ -tinyMCE.addI18n('fr.advlink_dlg',{ -title:"Ins\u00E9rer / \u00E9diter un lien", -url:"URL du lien", -target:"Cible", -titlefield:"Titre", -is_email:"L'URL que vous avez saisie semble \u00EAtre une adresse e-mail, souhaitez-vous ajouter le pr\u00E9fixe \u00AB mailto: \u00BB ?", -is_external:"L'URL que vous avez saisie semble \u00EAtre une adresse web externe. Souhaitez-vous ajouter le pr\u00E9fixe \u00AB http:// \u00BB ?", -list:"Liste de liens", -general_tab:"G\u00E9n\u00E9ral", -popup_tab:"Popup", -events_tab:"\u00C9v\u00E8nements", -advanced_tab:"Avanc\u00E9", -general_props:"Propri\u00E9t\u00E9s g\u00E9n\u00E9rales", -popup_props:"Propri\u00E9t\u00E9s de la popup", -event_props:"\u00C9v\u00E8nements", -advanced_props:"Propri\u00E9t\u00E9s avanc\u00E9es", -popup_opts:"Options", -anchor_names:"Ancres", -target_same:"Ouvrir dans cette fen\u00EAtre / dans ce cadre", -target_parent:"Ouvrir dans la fen\u00EAtre / le cadre parent", -target_top:"Ouvrir dans le cadre principal (remplace tous les cadres)", -target_blank:"Ouvrir dans une nouvelle fen\u00EAtre", -popup:"Popup Javascript", -popup_url:"URL de la popup", -popup_name:"Nom de la fen\u00EAtre", -popup_return:"Ins\u00E9rer 'return false'", -popup_scrollbars:"Afficher les ascenseurs", -popup_statusbar:"Afficher la barre d'\u00E9tat", -popup_toolbar:"Afficher la barre d'outils", -popup_menubar:"Afficher la barre de menu", -popup_location:"Afficher la barre d'adresse", -popup_resizable:"Autoriser le redimensionnement de la fen\u00EAtre", -popup_dependent:"D\u00E9pendante (seulement sous Mozilla/Firefox)", -popup_size:"Taille", -popup_position:"Position (X/Y)", -id:"Id", -style:"Style", -classes:"Classes", -target_name:"Nom de la cible", -langdir:"Sens de lecture", -target_langcode:"Langue de la cible", -langcode:"Code de la langue", -encoding:"Encodage de la cible", -mime:"Type MIME de la cible", -rel:"Relation de la page \u00E0 la cible", -rev:"Relation de la cible \u00E0 la page", -tabindex:"Tabindex", -accesskey:"Touche d'acc\u00E8s rapide", -ltr:"Gauche \u00E0 droite", -rtl:"Droite \u00E0 gauche", -link_list:"Liste des liens" +tinyMCE.addI18n('fr.advlink_dlg',{ +title:"Ins\u00E9rer / \u00E9diter un lien", +url:"URL du lien", +target:"Cible", +titlefield:"Titre", +is_email:"L'URL que vous avez saisie semble \u00EAtre une adresse e-mail, souhaitez-vous ajouter le pr\u00E9fixe \u00AB mailto: \u00BB ?", +is_external:"L'URL que vous avez saisie semble \u00EAtre une adresse web externe. Souhaitez-vous ajouter le pr\u00E9fixe \u00AB http:// \u00BB ?", +list:"Liste de liens", +general_tab:"G\u00E9n\u00E9ral", +popup_tab:"Popup", +events_tab:"\u00C9v\u00E8nements", +advanced_tab:"Avanc\u00E9", +general_props:"Propri\u00E9t\u00E9s g\u00E9n\u00E9rales", +popup_props:"Propri\u00E9t\u00E9s de la popup", +event_props:"\u00C9v\u00E8nements", +advanced_props:"Propri\u00E9t\u00E9s avanc\u00E9es", +popup_opts:"Options", +anchor_names:"Ancres", +target_same:"Ouvrir dans cette fen\u00EAtre / dans ce cadre", +target_parent:"Ouvrir dans la fen\u00EAtre / le cadre parent", +target_top:"Ouvrir dans le cadre principal (remplace tous les cadres)", +target_blank:"Ouvrir dans une nouvelle fen\u00EAtre", +popup:"Popup Javascript", +popup_url:"URL de la popup", +popup_name:"Nom de la fen\u00EAtre", +popup_return:"Ins\u00E9rer 'return false'", +popup_scrollbars:"Afficher les ascenseurs", +popup_statusbar:"Afficher la barre d'\u00E9tat", +popup_toolbar:"Afficher la barre d'outils", +popup_menubar:"Afficher la barre de menu", +popup_location:"Afficher la barre d'adresse", +popup_resizable:"Autoriser le redimensionnement de la fen\u00EAtre", +popup_dependent:"D\u00E9pendante (seulement sous Mozilla/Firefox)", +popup_size:"Taille", +popup_position:"Position (X/Y)", +id:"Id", +style:"Style", +classes:"Classes", +target_name:"Nom de la cible", +langdir:"Sens de lecture", +target_langcode:"Langue de la cible", +langcode:"Code de la langue", +encoding:"Encodage de la cible", +mime:"Type MIME de la cible", +rel:"Relation de la page \u00E0 la cible", +rev:"Relation de la cible \u00E0 la page", +tabindex:"Tabindex", +accesskey:"Touche d'acc\u00E8s rapide", +ltr:"Gauche \u00E0 droite", +rtl:"Droite \u00E0 gauche", +link_list:"Liste des liens" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/he_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/he_dlg.js old mode 100644 new mode 100755 index 602dc9f6c2..b91e4af796 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/he_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/he_dlg.js @@ -1,52 +1,52 @@ -tinyMCE.addI18n('he.advlink_dlg',{ -title:"\u05D4\u05D5\u05E1\u05E4\u05D4/\u05E2\u05E8\u05D9\u05DB\u05EA \u05E7\u05D9\u05E9\u05D5\u05E8", -url:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D4\u05E7\u05D9\u05E9\u05D5\u05E8", -target:"\u05D9\u05E2\u05D3", -titlefield:"\u05DB\u05D5\u05EA\u05E8\u05EA \u05D4\u05E7\u05D9\u05E9\u05D5\u05E8", -is_email:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D4-URL \u05E9\u05D4\u05D5\u05DB\u05E0\u05E1\u05D4 \u05D4\u05D9\u05D0 \u05DB\u05DB\u05DC \u05D4\u05E0\u05E8\u05D0\u05D4 \u05DB\u05EA\u05D5\u05D1\u05EA \u05DE\u05D9\u05D9\u05DC \u05D4\u05D0\u05DD \u05D1\u05E8\u05E6\u05D5\u05E0\u05DA \u05DC\u05D4\u05D5\u05E1\u05D9\u05E3 \u05D0\u05EA \u05D4\u05E7\u05D9\u05D3\u05D5\u05DE\u05EA MAILTO \u05D4\u05E0\u05D3\u05E8\u05E9\u05EA?", -is_external:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D4-URL \u05E9\u05D4\u05D5\u05DB\u05E0\u05E1\u05D4 \u05D4\u05D9\u05D0 \u05DB\u05DB\u05DC \u05D4\u05E0\u05E8\u05D0\u05D4 \u05E7\u05D9\u05E9\u05D5\u05E8 \u05D7\u05D9\u05E6\u05D5\u05E0\u05D9 \u05D4\u05D0\u05DD \u05D1\u05E8\u05E6\u05D5\u05E0\u05DA \u05DC\u05D4\u05D5\u05E1\u05D9\u05E3 \u05D0\u05EA \u05D4\u05E7\u05D9\u05D3\u05D5\u05DE\u05EA http:// \u05D4\u05E0\u05D3\u05E8\u05E9\u05EA?", -list:"\u05E8\u05E9\u05D9\u05DE\u05EA \u05E7\u05D9\u05E9\u05D5\u05E8\u05D9\u05DD", -general_tab:"\u05DB\u05DC\u05DC\u05D9", -popup_tab:"\u05D7\u05DC\u05D5\u05DF \u05DE\u05D5\u05E7\u05E4\u05E5", -events_tab:"\u05D0\u05E8\u05D5\u05E2\u05D9\u05DD", -advanced_tab:"\u05DE\u05EA\u05E7\u05D3\u05DD", -general_props:"\u05EA\u05DB\u05D5\u05E0\u05D5\u05EA \u05DB\u05DC\u05DC\u05D9\u05D5\u05EA", -popup_props:"\u05EA\u05DB\u05D5\u05E0\u05D5\u05EA \u05D7\u05DC\u05D5\u05DF \u05DE\u05D5\u05E7\u05E4\u05E5", -event_props:"\u05DE\u05D0\u05D5\u05E8\u05E2\u05D5\u05EA", -advanced_props:"\u05EA\u05DB\u05D5\u05E0\u05D5\u05EA \u05DE\u05EA\u05E7\u05D3\u05DE\u05D5\u05EA", -popup_opts:"\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA", -anchor_names:"\u05E7\u05D9\u05E9\u05D5\u05E8 \u05DC\u05E1\u05D9\u05DE\u05E0\u05D9\u05D4", -target_same:"\u05E4\u05EA\u05D9\u05D7\u05D4 \u05D1\u05D7\u05DC\u05D5\u05DF \u05D7\u05D3\u05E9/\u05D7\u05DC\u05D5\u05DF \u05D1\u05DF", -target_parent:"\u05E4\u05EA\u05D9\u05D7\u05D4 \u05D1\u05DC\u05D5\u05DF \u05D4\u05D0\u05D1\u05D0/\u05D7\u05DC\u05D5\u05DF \u05D1\u05DF", -target_top:"\u05E4\u05EA\u05D9\u05D7\u05D4 \u05D1\u05D7\u05DC\u05D5\u05DF \u05D4\u05D1\u05DF \u05D4\u05E8\u05D0\u05E9\u05D9(\u05DE\u05D7\u05DC\u05D9\u05E3 \u05D0\u05EA \u05DB\u05DC \u05D7\u05DC\u05D5\u05E0\u05D5\u05EA \u05D4\u05D1\u05E0\u05D9\u05DD)", -target_blank:"\u05E4\u05EA\u05D9\u05D7\u05D4 \u05D1\u05D7\u05DC\u05D5\u05DF \u05D7\u05D3\u05E9", -popup:"\u05D7\u05DC\u05D5\u05DF \u05DE\u05D5\u05E7\u05E4\u05E5 javascript", -popup_url:"\u05D7\u05DC\u05D5\u05DF \u05DE\u05D5\u05E7\u05E4\u05E5 URL", -popup_name:"\u05E9\u05DD \u05D4\u05D7\u05DC\u05D5\u05DF", -popup_return:"\u05D9\u05E9 \u05DC\u05D4\u05DB\u05E0\u05D9\u05E1 'return false'", -popup_scrollbars:"\u05D4\u05E6\u05D2\u05EA \u05E4\u05E1 \u05D2\u05DC\u05D9\u05DC\u05D4", -popup_statusbar:"\u05D4\u05E6\u05D2\u05EA \u05E9\u05D5\u05E8\u05EA \u05E1\u05D8\u05D0\u05D8\u05D5\u05E1", -popup_toolbar:"\u05D4\u05E6\u05D2\u05EA \u05E1\u05E8\u05D2\u05DC\u05D9 \u05DB\u05DC\u05D9\u05DD", -popup_menubar:"\u05D4\u05E6\u05D2\u05EA \u05EA\u05E4\u05E8\u05D9\u05D8", -popup_location:"\u05D4\u05E6\u05D2\u05EA location bar ", -popup_resizable:"\u05D7\u05DC\u05D5\u05DF \u05D3\u05D9\u05E0\u05D0\u05DE\u05D9(resizable)", -popup_dependent:"Dependent (Mozilla/Firefox only)", -popup_size:"\u05D2\u05D5\u05D3\u05DC", -popup_position:"\u05DE\u05D9\u05E7\u05D5\u05DD (X/Y)", -id:"\u05DE\u05E1\u05E4\u05E8 \u05E1\u05D9\u05D3\u05D5\u05E8\u05D9", -style:"\u05E1\u05D2\u05E0\u05D5\u05DF", -classes:"Classes", -target_name:"Target name", -langdir:"\u05DB\u05D9\u05D5\u05D5\u05DF \u05D4\u05E9\u05E4\u05D4", -target_langcode:"Target language", -langcode:"\u05E7\u05D5\u05D3 \u05D4\u05E9\u05E4\u05D4", -encoding:"Target character encoding", -mime:"Target MIME type", -rel:"Relationship page to target", -rev:"Relationship target to page", -tabindex:"Tabindex", -accesskey:"Accesskey", -ltr:"\u05DE\u05E9\u05DE\u05D0\u05DC \u05DC\u05D9\u05DE\u05D9\u05DF", -rtl:"\u05DE\u05D9\u05DE\u05D9\u05DF \u05DC\u05E9\u05DE\u05D0\u05DC", -link_list:"\u05E8\u05E9\u05D9\u05DE\u05EA \u05E7\u05D9\u05E9\u05D5\u05E8\u05D9\u05DD" +tinyMCE.addI18n('he.advlink_dlg',{ +title:"\u05D4\u05D5\u05E1\u05E4\u05D4/\u05E2\u05E8\u05D9\u05DB\u05EA \u05E7\u05D9\u05E9\u05D5\u05E8", +url:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D4\u05E7\u05D9\u05E9\u05D5\u05E8", +target:"\u05D9\u05E2\u05D3", +titlefield:"\u05DB\u05D5\u05EA\u05E8\u05EA \u05D4\u05E7\u05D9\u05E9\u05D5\u05E8", +is_email:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D4-URL \u05E9\u05D4\u05D5\u05DB\u05E0\u05E1\u05D4 \u05D4\u05D9\u05D0 \u05DB\u05DB\u05DC \u05D4\u05E0\u05E8\u05D0\u05D4 \u05DB\u05EA\u05D5\u05D1\u05EA \u05DE\u05D9\u05D9\u05DC \u05D4\u05D0\u05DD \u05D1\u05E8\u05E6\u05D5\u05E0\u05DA \u05DC\u05D4\u05D5\u05E1\u05D9\u05E3 \u05D0\u05EA \u05D4\u05E7\u05D9\u05D3\u05D5\u05DE\u05EA MAILTO \u05D4\u05E0\u05D3\u05E8\u05E9\u05EA?", +is_external:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D4-URL \u05E9\u05D4\u05D5\u05DB\u05E0\u05E1\u05D4 \u05D4\u05D9\u05D0 \u05DB\u05DB\u05DC \u05D4\u05E0\u05E8\u05D0\u05D4 \u05E7\u05D9\u05E9\u05D5\u05E8 \u05D7\u05D9\u05E6\u05D5\u05E0\u05D9 \u05D4\u05D0\u05DD \u05D1\u05E8\u05E6\u05D5\u05E0\u05DA \u05DC\u05D4\u05D5\u05E1\u05D9\u05E3 \u05D0\u05EA \u05D4\u05E7\u05D9\u05D3\u05D5\u05DE\u05EA http:// \u05D4\u05E0\u05D3\u05E8\u05E9\u05EA?", +list:"\u05E8\u05E9\u05D9\u05DE\u05EA \u05E7\u05D9\u05E9\u05D5\u05E8\u05D9\u05DD", +general_tab:"\u05DB\u05DC\u05DC\u05D9", +popup_tab:"\u05D7\u05DC\u05D5\u05DF \u05DE\u05D5\u05E7\u05E4\u05E5", +events_tab:"\u05D0\u05E8\u05D5\u05E2\u05D9\u05DD", +advanced_tab:"\u05DE\u05EA\u05E7\u05D3\u05DD", +general_props:"\u05EA\u05DB\u05D5\u05E0\u05D5\u05EA \u05DB\u05DC\u05DC\u05D9\u05D5\u05EA", +popup_props:"\u05EA\u05DB\u05D5\u05E0\u05D5\u05EA \u05D7\u05DC\u05D5\u05DF \u05DE\u05D5\u05E7\u05E4\u05E5", +event_props:"\u05DE\u05D0\u05D5\u05E8\u05E2\u05D5\u05EA", +advanced_props:"\u05EA\u05DB\u05D5\u05E0\u05D5\u05EA \u05DE\u05EA\u05E7\u05D3\u05DE\u05D5\u05EA", +popup_opts:"\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA", +anchor_names:"\u05E7\u05D9\u05E9\u05D5\u05E8 \u05DC\u05E1\u05D9\u05DE\u05E0\u05D9\u05D4", +target_same:"\u05E4\u05EA\u05D9\u05D7\u05D4 \u05D1\u05D7\u05DC\u05D5\u05DF \u05D7\u05D3\u05E9/\u05D7\u05DC\u05D5\u05DF \u05D1\u05DF", +target_parent:"\u05E4\u05EA\u05D9\u05D7\u05D4 \u05D1\u05DC\u05D5\u05DF \u05D4\u05D0\u05D1\u05D0/\u05D7\u05DC\u05D5\u05DF \u05D1\u05DF", +target_top:"\u05E4\u05EA\u05D9\u05D7\u05D4 \u05D1\u05D7\u05DC\u05D5\u05DF \u05D4\u05D1\u05DF \u05D4\u05E8\u05D0\u05E9\u05D9(\u05DE\u05D7\u05DC\u05D9\u05E3 \u05D0\u05EA \u05DB\u05DC \u05D7\u05DC\u05D5\u05E0\u05D5\u05EA \u05D4\u05D1\u05E0\u05D9\u05DD)", +target_blank:"\u05E4\u05EA\u05D9\u05D7\u05D4 \u05D1\u05D7\u05DC\u05D5\u05DF \u05D7\u05D3\u05E9", +popup:"\u05D7\u05DC\u05D5\u05DF \u05DE\u05D5\u05E7\u05E4\u05E5 javascript", +popup_url:"\u05D7\u05DC\u05D5\u05DF \u05DE\u05D5\u05E7\u05E4\u05E5 URL", +popup_name:"\u05E9\u05DD \u05D4\u05D7\u05DC\u05D5\u05DF", +popup_return:"\u05D9\u05E9 \u05DC\u05D4\u05DB\u05E0\u05D9\u05E1 'return false'", +popup_scrollbars:"\u05D4\u05E6\u05D2\u05EA \u05E4\u05E1 \u05D2\u05DC\u05D9\u05DC\u05D4", +popup_statusbar:"\u05D4\u05E6\u05D2\u05EA \u05E9\u05D5\u05E8\u05EA \u05E1\u05D8\u05D0\u05D8\u05D5\u05E1", +popup_toolbar:"\u05D4\u05E6\u05D2\u05EA \u05E1\u05E8\u05D2\u05DC\u05D9 \u05DB\u05DC\u05D9\u05DD", +popup_menubar:"\u05D4\u05E6\u05D2\u05EA \u05EA\u05E4\u05E8\u05D9\u05D8", +popup_location:"\u05D4\u05E6\u05D2\u05EA location bar ", +popup_resizable:"\u05D7\u05DC\u05D5\u05DF \u05D3\u05D9\u05E0\u05D0\u05DE\u05D9(resizable)", +popup_dependent:"Dependent (Mozilla/Firefox only)", +popup_size:"\u05D2\u05D5\u05D3\u05DC", +popup_position:"\u05DE\u05D9\u05E7\u05D5\u05DD (X/Y)", +id:"\u05DE\u05E1\u05E4\u05E8 \u05E1\u05D9\u05D3\u05D5\u05E8\u05D9", +style:"\u05E1\u05D2\u05E0\u05D5\u05DF", +classes:"Classes", +target_name:"Target name", +langdir:"\u05DB\u05D9\u05D5\u05D5\u05DF \u05D4\u05E9\u05E4\u05D4", +target_langcode:"Target language", +langcode:"\u05E7\u05D5\u05D3 \u05D4\u05E9\u05E4\u05D4", +encoding:"Target character encoding", +mime:"Target MIME type", +rel:"Relationship page to target", +rev:"Relationship target to page", +tabindex:"Tabindex", +accesskey:"Accesskey", +ltr:"\u05DE\u05E9\u05DE\u05D0\u05DC \u05DC\u05D9\u05DE\u05D9\u05DF", +rtl:"\u05DE\u05D9\u05DE\u05D9\u05DF \u05DC\u05E9\u05DE\u05D0\u05DC", +link_list:"\u05E8\u05E9\u05D9\u05DE\u05EA \u05E7\u05D9\u05E9\u05D5\u05E8\u05D9\u05DD" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/it_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/it_dlg.js old mode 100644 new mode 100755 index aa1c25abf0..ba1ff31a17 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/it_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/it_dlg.js @@ -1,52 +1,52 @@ -tinyMCE.addI18n('it.advlink_dlg',{ -title:"Inserisci/modifica link", -url:"URL collegamento", -target:"Target", -titlefield:"Titolo", -is_email:"L'URL inserito sembra essere un indirizzo email. Aggiungere il necessario prefisso mailto: ?", -is_external:"L'URL inserito sembra essere un link esterno. Aggiungere il necessario prefisso http:// ?", -list:"Lista collegamenti", -general_tab:"Generale", -popup_tab:"Popup", -events_tab:"Eventi", -advanced_tab:"Avanzate", -general_props:"Propriet\u00E0 generali", -popup_props:"Propriet\u00E0 popup", -event_props:"Eventi", -advanced_props:"Propriet\u00E0 avanzate", -popup_opts:"Opzioni", -anchor_names:"Ancore", -target_same:"Apri in questa finestra / cornice", -target_parent:"Apri nella finestra / cornice genitore", -target_top:"Apri nella cornice superiore (sostituisce tutte le cornici)", -target_blank:"Apri in una nuova finestra", -popup:"Popup Javascript", -popup_url:"URL Popup", -popup_name:"Nome finestra", -popup_return:"Inserisci 'return false'", -popup_scrollbars:"Mostra barre di scorrimento", -popup_statusbar:"Mostra barra di stato", -popup_toolbar:"Mostra barre strumenti", -popup_menubar:"Mostra barra menu", -popup_location:"Mostra barra navigazione", -popup_resizable:"Rendi la finestra ridimensionabile", -popup_dependent:"Dipendente (Solo in Mozilla/Firefox)", -popup_size:"Dimensioni", -popup_position:"Posizione (X/Y)", -id:"Id", -style:"Stile", -classes:"Classe", -target_name:"Nome target", -langdir:"Direzione del testo", -target_langcode:"Lingua del target", -langcode:"Lingua", -encoding:"Codifica carattere del target", -mime:"Tipo MIME del target", -rel:"Relazione da pagina a target", -rev:"Relazione da target a pagina", -tabindex:"Indice tabulazione", -accesskey:"Carattere di accesso", -ltr:"Sinistra verso destra", -rtl:"Destra verso sinistra", -link_list:"Lista collegamenti" +tinyMCE.addI18n('it.advlink_dlg',{ +title:"Inserisci/modifica link", +url:"URL collegamento", +target:"Target", +titlefield:"Titolo", +is_email:"L'URL inserito sembra essere un indirizzo email. Aggiungere il necessario prefisso mailto: ?", +is_external:"L'URL inserito sembra essere un link esterno. Aggiungere il necessario prefisso http:// ?", +list:"Lista collegamenti", +general_tab:"Generale", +popup_tab:"Popup", +events_tab:"Eventi", +advanced_tab:"Avanzate", +general_props:"Propriet\u00E0 generali", +popup_props:"Propriet\u00E0 popup", +event_props:"Eventi", +advanced_props:"Propriet\u00E0 avanzate", +popup_opts:"Opzioni", +anchor_names:"Ancore", +target_same:"Apri in questa finestra / cornice", +target_parent:"Apri nella finestra / cornice genitore", +target_top:"Apri nella cornice superiore (sostituisce tutte le cornici)", +target_blank:"Apri in una nuova finestra", +popup:"Popup Javascript", +popup_url:"URL Popup", +popup_name:"Nome finestra", +popup_return:"Inserisci 'return false'", +popup_scrollbars:"Mostra barre di scorrimento", +popup_statusbar:"Mostra barra di stato", +popup_toolbar:"Mostra barre strumenti", +popup_menubar:"Mostra barra menu", +popup_location:"Mostra barra navigazione", +popup_resizable:"Rendi la finestra ridimensionabile", +popup_dependent:"Dipendente (Solo in Mozilla/Firefox)", +popup_size:"Dimensioni", +popup_position:"Posizione (X/Y)", +id:"Id", +style:"Stile", +classes:"Classe", +target_name:"Nome target", +langdir:"Direzione del testo", +target_langcode:"Lingua del target", +langcode:"Lingua", +encoding:"Codifica carattere del target", +mime:"Tipo MIME del target", +rel:"Relazione da pagina a target", +rev:"Relazione da target a pagina", +tabindex:"Indice tabulazione", +accesskey:"Carattere di accesso", +ltr:"Sinistra verso destra", +rtl:"Destra verso sinistra", +link_list:"Lista collegamenti" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/ja_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/ja_dlg.js old mode 100644 new mode 100755 index 5c97ec6e72..a87cfd4f9d --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/ja_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/ja_dlg.js @@ -1,52 +1,52 @@ -tinyMCE.addI18n('ja.advlink_dlg',{ -title:"\u30EA\u30F3\u30AF\u306E\u633F\u5165/\u7DE8\u96C6", -url:"\u30EA\u30F3\u30AFURL", -target:"\u30BF\u30FC\u30B2\u30C3\u30C8", -titlefield:"\u30BF\u30A4\u30C8\u30EB", -is_email:"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F\u3002\u30EA\u30F3\u30AF\u306Bmailto:\u3092\u4ED8\u52A0\u3057\u307E\u3059\u304B\uFF1F", -is_external:"\u30EA\u30F3\u30AF\u306Bhttp://\u3092\u4ED8\u52A0\u3057\u307E\u3059\u304B\uFF1F", -list:"\u4E00\u89A7\u304B\u3089\u9078\u3076", -general_tab:"\u4E00\u822C", -popup_tab:"\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7", -events_tab:"\u30A4\u30D9\u30F3\u30C8", -advanced_tab:"\u4E0A\u7D1A\u8005\u5411\u3051", -general_props:"\u4E00\u822C", -popup_props:"\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7", -event_props:"\u30A4\u30D9\u30F3\u30C8", -advanced_props:"\u4E0A\u7D1A\u8005\u5411\u3051", -popup_opts:"\u30AA\u30D7\u30B7\u30E7\u30F3", -anchor_names:"\u30A2\u30F3\u30AB\u30FC", -target_same:"\u3053\u306E\u30A6\u30A4\u30F3\u30C9\u30A6/\u30D5\u30EC\u30FC\u30E0\u3067\u958B\u304F", -target_parent:"\u89AA\u30A6\u30A4\u30F3\u30C9\u30A6/\u89AA\u30D5\u30EC\u30FC\u30E0\u3067\u958B\u304F", -target_top:"\u30C8\u30C3\u30D7\u306E\u30D5\u30EC\u30FC\u30E0\u3067\u958B\u304F", -target_blank:"\u65B0\u3057\u3044\u30A6\u30A4\u30F3\u30C9\u30A6\u3067\u958B\u304F", -popup:"Javascript\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7", -popup_url:"\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7URL", -popup_name:"\u30A6\u30A4\u30F3\u30C9\u30A6\u540D", -popup_return:"'return false'\u3092\u633F\u5165\u3059\u308B", -popup_scrollbars:"\u30B9\u30AF\u30ED\u30FC\u30EB\u30D0\u30FC\u3092\u8868\u793A", -popup_statusbar:"\u30B9\u30C6\u30FC\u30BF\u30B9\u30D0\u30FC\u3092\u8868\u793A", -popup_toolbar:"\u30C4\u30FC\u30EB\u30D0\u30FC\u3092\u8868\u793A", -popup_menubar:"\u30E1\u30CB\u30E5\u30FC\u30D0\u30FC\u3092\u8868\u793A", -popup_location:"\u30A2\u30C9\u30EC\u30B9\u30D0\u30FC\u3092\u8868\u793A", -popup_resizable:"\u30A6\u30A4\u30F3\u30C9\u30A6\u306E\u30B5\u30A4\u30BA\u5909\u66F4\u3092\u8A31\u53EF\u3059\u308B", -popup_dependent:"Dependent (Mozilla/Firefox\u306E\u307F)", -popup_size:"\u30B5\u30A4\u30BA", -popup_position:"\u4F4D\u7F6E (X/Y)", -id:"ID\u5C5E\u6027", -style:"style\u5C5E\u6027", -classes:"class\u5C5E\u6027", -target_name:"\u30BF\u30FC\u30B2\u30C3\u30C8", -langdir:"\u6587\u7AE0\u306E\u65B9\u5411", -target_langcode:"\u30BF\u30FC\u30B2\u30C3\u30C8\u306E\u8A00\u8A9E", -langcode:"\u8A00\u8A9E\u30B3\u30FC\u30C9", -encoding:"\u30BF\u30FC\u30B2\u30C3\u30C8\u306E\u30A8\u30F3\u30B3\u30FC\u30C9", -mime:"\u30BF\u30FC\u30B2\u30C3\u30C8\u306EMIME\u30BF\u30A4\u30D7", -rel:"rel\u5C5E\u6027", -rev:"rev\u5C5E\u6027", -tabindex:"\u30BF\u30D6\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9", -accesskey:"\u30A2\u30AF\u30BB\u30B9\u30AD\u30FC", -ltr:"\u5DE6\u304B\u3089\u53F3", -rtl:"\u53F3\u304B\u3089\u5DE6", -link_list:"\u4E00\u89A7\u304B\u3089\u9078\u3076" +tinyMCE.addI18n('ja.advlink_dlg',{ +title:"\u30EA\u30F3\u30AF\u306E\u633F\u5165/\u7DE8\u96C6", +url:"\u30EA\u30F3\u30AFURL", +target:"\u30BF\u30FC\u30B2\u30C3\u30C8", +titlefield:"\u30BF\u30A4\u30C8\u30EB", +is_email:"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F\u3002\u30EA\u30F3\u30AF\u306Bmailto:\u3092\u4ED8\u52A0\u3057\u307E\u3059\u304B\uFF1F", +is_external:"\u30EA\u30F3\u30AF\u306Bhttp://\u3092\u4ED8\u52A0\u3057\u307E\u3059\u304B\uFF1F", +list:"\u4E00\u89A7\u304B\u3089\u9078\u3076", +general_tab:"\u4E00\u822C", +popup_tab:"\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7", +events_tab:"\u30A4\u30D9\u30F3\u30C8", +advanced_tab:"\u4E0A\u7D1A\u8005\u5411\u3051", +general_props:"\u4E00\u822C", +popup_props:"\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7", +event_props:"\u30A4\u30D9\u30F3\u30C8", +advanced_props:"\u4E0A\u7D1A\u8005\u5411\u3051", +popup_opts:"\u30AA\u30D7\u30B7\u30E7\u30F3", +anchor_names:"\u30A2\u30F3\u30AB\u30FC", +target_same:"\u3053\u306E\u30A6\u30A4\u30F3\u30C9\u30A6/\u30D5\u30EC\u30FC\u30E0\u3067\u958B\u304F", +target_parent:"\u89AA\u30A6\u30A4\u30F3\u30C9\u30A6/\u89AA\u30D5\u30EC\u30FC\u30E0\u3067\u958B\u304F", +target_top:"\u30C8\u30C3\u30D7\u306E\u30D5\u30EC\u30FC\u30E0\u3067\u958B\u304F", +target_blank:"\u65B0\u3057\u3044\u30A6\u30A4\u30F3\u30C9\u30A6\u3067\u958B\u304F", +popup:"Javascript\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7", +popup_url:"\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7URL", +popup_name:"\u30A6\u30A4\u30F3\u30C9\u30A6\u540D", +popup_return:"'return false'\u3092\u633F\u5165\u3059\u308B", +popup_scrollbars:"\u30B9\u30AF\u30ED\u30FC\u30EB\u30D0\u30FC\u3092\u8868\u793A", +popup_statusbar:"\u30B9\u30C6\u30FC\u30BF\u30B9\u30D0\u30FC\u3092\u8868\u793A", +popup_toolbar:"\u30C4\u30FC\u30EB\u30D0\u30FC\u3092\u8868\u793A", +popup_menubar:"\u30E1\u30CB\u30E5\u30FC\u30D0\u30FC\u3092\u8868\u793A", +popup_location:"\u30A2\u30C9\u30EC\u30B9\u30D0\u30FC\u3092\u8868\u793A", +popup_resizable:"\u30A6\u30A4\u30F3\u30C9\u30A6\u306E\u30B5\u30A4\u30BA\u5909\u66F4\u3092\u8A31\u53EF\u3059\u308B", +popup_dependent:"Dependent (Mozilla/Firefox\u306E\u307F)", +popup_size:"\u30B5\u30A4\u30BA", +popup_position:"\u4F4D\u7F6E (X/Y)", +id:"ID\u5C5E\u6027", +style:"style\u5C5E\u6027", +classes:"class\u5C5E\u6027", +target_name:"\u30BF\u30FC\u30B2\u30C3\u30C8", +langdir:"\u6587\u7AE0\u306E\u65B9\u5411", +target_langcode:"\u30BF\u30FC\u30B2\u30C3\u30C8\u306E\u8A00\u8A9E", +langcode:"\u8A00\u8A9E\u30B3\u30FC\u30C9", +encoding:"\u30BF\u30FC\u30B2\u30C3\u30C8\u306E\u30A8\u30F3\u30B3\u30FC\u30C9", +mime:"\u30BF\u30FC\u30B2\u30C3\u30C8\u306EMIME\u30BF\u30A4\u30D7", +rel:"rel\u5C5E\u6027", +rev:"rev\u5C5E\u6027", +tabindex:"\u30BF\u30D6\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9", +accesskey:"\u30A2\u30AF\u30BB\u30B9\u30AD\u30FC", +ltr:"\u5DE6\u304B\u3089\u53F3", +rtl:"\u53F3\u304B\u3089\u5DE6", +link_list:"\u4E00\u89A7\u304B\u3089\u9078\u3076" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/nl_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/nl_dlg.js old mode 100644 new mode 100755 index e8f2fd608a..23642ba9ba --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/nl_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/nl_dlg.js @@ -1,52 +1,52 @@ -tinyMCE.addI18n('nl.advlink_dlg',{ -title:"Link invoegen/bewerken", -url:"URL", -target:"Doel", -titlefield:"Titel", -is_email:"De ingevoerde URL lijkt op een e-mailadres. Wilt u de vereiste mailto: tekst voorvoegen?", -is_external:"De ingevoerde URL lijkt op een externe link. Wilt u de vereiste http:// tekst voorvoegen?", -list:"Lijst", -general_tab:"Algemeen", -popup_tab:"Popup", -events_tab:"Gebeurtenissen", -advanced_tab:"Geavanceerd", -general_props:"Algemene eigenschappen", -popup_props:"Popup eigenschappen", -event_props:"Gebeurtenissen", -advanced_props:"Geavanceerde eigenschappen", -popup_opts:"Opties", -anchor_names:"Ankers", -target_same:"In dit venster / frame openen", -target_parent:"In bovenliggend venster / frame openen", -target_top:"In bovenste frame openen (vervangt gehele pagina)", -target_blank:"In nieuw venster openen", -popup:"Javascript popup", -popup_url:"Popup URL", -popup_name:"Venstertitel", -popup_return:"'return false' invoegen", -popup_scrollbars:"Scrollbalken weergeven", -popup_statusbar:"Statusbalk weergeven", -popup_toolbar:"Werkbalk weergeven", -popup_menubar:"Menubalk weergeven", -popup_location:"Lokatiebalk weergeven", -popup_resizable:"Aanpasbaar venster", -popup_dependent:"Afhankelijk (Alleen Mozilla/Firefox)", -popup_size:"Grootte", -popup_position:"Positie (X/Y)", -id:"Id", -style:"Stijl", -classes:"Klassen", -target_name:"Doel", -langdir:"Taalrichting", -target_langcode:"Taal", -langcode:"Taalcode", -encoding:"Taalcodering", -mime:"MIME type", -rel:"Relatie van pagina tot doel", -rev:"Relatie van doel tot pagina", -tabindex:"Tabvolgorde", -accesskey:"Toegangstoets", -ltr:"Van links naar rechts", -rtl:"Van rechts naar links", -link_list:"Lijst" +tinyMCE.addI18n('nl.advlink_dlg',{ +title:"Link invoegen/bewerken", +url:"URL", +target:"Doel", +titlefield:"Titel", +is_email:"De ingevoerde URL lijkt op een e-mailadres. Wilt u de vereiste mailto: tekst voorvoegen?", +is_external:"De ingevoerde URL lijkt op een externe link. Wilt u de vereiste http:// tekst voorvoegen?", +list:"Lijst", +general_tab:"Algemeen", +popup_tab:"Popup", +events_tab:"Gebeurtenissen", +advanced_tab:"Geavanceerd", +general_props:"Algemene eigenschappen", +popup_props:"Popup eigenschappen", +event_props:"Gebeurtenissen", +advanced_props:"Geavanceerde eigenschappen", +popup_opts:"Opties", +anchor_names:"Ankers", +target_same:"In dit venster / frame openen", +target_parent:"In bovenliggend venster / frame openen", +target_top:"In bovenste frame openen (vervangt gehele pagina)", +target_blank:"In nieuw venster openen", +popup:"Javascript popup", +popup_url:"Popup URL", +popup_name:"Venstertitel", +popup_return:"'return false' invoegen", +popup_scrollbars:"Scrollbalken weergeven", +popup_statusbar:"Statusbalk weergeven", +popup_toolbar:"Werkbalk weergeven", +popup_menubar:"Menubalk weergeven", +popup_location:"Lokatiebalk weergeven", +popup_resizable:"Aanpasbaar venster", +popup_dependent:"Afhankelijk (Alleen Mozilla/Firefox)", +popup_size:"Grootte", +popup_position:"Positie (X/Y)", +id:"Id", +style:"Stijl", +classes:"Klassen", +target_name:"Doel", +langdir:"Taalrichting", +target_langcode:"Taal", +langcode:"Taalcode", +encoding:"Taalcodering", +mime:"MIME type", +rel:"Relatie van pagina tot doel", +rev:"Relatie van doel tot pagina", +tabindex:"Tabvolgorde", +accesskey:"Toegangstoets", +ltr:"Van links naar rechts", +rtl:"Van rechts naar links", +link_list:"Lijst" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/nn_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/nn_dlg.js old mode 100644 new mode 100755 index c1d18ea4b5..da68ae75ea --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/nn_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/nn_dlg.js @@ -1,52 +1,52 @@ -tinyMCE.addI18n('nn.advlink_dlg',{ -title:"Set inn / rediger lenkje", -url:"Lenkje-URL", -target:"M\u00E5l", -titlefield:"Tittel", -is_email:"URL-en du skreiv inn ser ut til \u00E5 vere ei e-postadresse. \u00D8nskjer du \u00E5 leggje til det obligatoriske mailto:-prefikset?", -is_external:"URL-en du skreiv inn ser ut til \u00E5 vere ei eksern lenkje. \u00D8nskjer du \u00E5 leggje til det obligatoriske http://-prefikset?", -list:"Lenkjeliste", -general_tab:"Generelt", -popup_tab:"Popup", -events_tab:"Hendingar", -advanced_tab:"Avansert", -general_props:"Generelt", -popup_props:"Popup-eigenskapar", -event_props:"Hendingar", -advanced_props:"Generelle eigenskapar", -popup_opts:"Innstillingar", -anchor_names:"Anker", -target_same:"Opne i same vindauge/ramme", -target_parent:"Opne i overordna vindauge/ramme", -target_top:"Opne i toppvindauge (erstattar alle rammer)", -target_blank:"Opne i nytt vindauge", -popup:"Javascript-popup", -popup_url:"Popup URL", -popup_name:"Namn p\u00E5 vindauge", -popup_return:"Set inn \'return false\'", -popup_scrollbars:"Vis rullefelt", -popup_statusbar:"Vis statusline", -popup_toolbar:"Vis verktyliner", -popup_menubar:"Vis menyline", -popup_location:"Vis plasseringsline", -popup_resizable:"Gjer vindauget skalerbart", -popup_dependent:"Avhengig vindu (berre i Mozilla/Firefox)", -popup_size:"Storleik", -popup_position:"Posisjon (X/Y)", -id:"Id", -style:"Stil", -classes:"Klasser", -target_name:"M\u00E5lnamn", -langdir:"Skriftretning", -target_langcode:"M\u00E5lspr\u00E5k", -langcode:"Spr\u00E5kkode", -encoding:"Teiknkonvertering", -mime:"M\u00E5let sin MIME-type", -rel:"Sida sitt forhold til m\u00E5let", -rev:"M\u00E5let sitt forhold til sida", -tabindex:"Tabulatorindeks", -accesskey:"Hurtigtast", -ltr:"Venstre mot h\u00F8gre", -rtl:"H\u00F8gre mot venstre", -link_list:"Lenkjeliste" +tinyMCE.addI18n('nn.advlink_dlg',{ +title:"Set inn / rediger lenkje", +url:"Lenkje-URL", +target:"M\u00E5l", +titlefield:"Tittel", +is_email:"URL-en du skreiv inn ser ut til \u00E5 vere ei e-postadresse. \u00D8nskjer du \u00E5 leggje til det obligatoriske mailto:-prefikset?", +is_external:"URL-en du skreiv inn ser ut til \u00E5 vere ei eksern lenkje. \u00D8nskjer du \u00E5 leggje til det obligatoriske http://-prefikset?", +list:"Lenkjeliste", +general_tab:"Generelt", +popup_tab:"Popup", +events_tab:"Hendingar", +advanced_tab:"Avansert", +general_props:"Generelt", +popup_props:"Popup-eigenskapar", +event_props:"Hendingar", +advanced_props:"Generelle eigenskapar", +popup_opts:"Innstillingar", +anchor_names:"Anker", +target_same:"Opne i same vindauge/ramme", +target_parent:"Opne i overordna vindauge/ramme", +target_top:"Opne i toppvindauge (erstattar alle rammer)", +target_blank:"Opne i nytt vindauge", +popup:"Javascript-popup", +popup_url:"Popup URL", +popup_name:"Namn p\u00E5 vindauge", +popup_return:"Set inn \'return false\'", +popup_scrollbars:"Vis rullefelt", +popup_statusbar:"Vis statusline", +popup_toolbar:"Vis verktyliner", +popup_menubar:"Vis menyline", +popup_location:"Vis plasseringsline", +popup_resizable:"Gjer vindauget skalerbart", +popup_dependent:"Avhengig vindu (berre i Mozilla/Firefox)", +popup_size:"Storleik", +popup_position:"Posisjon (X/Y)", +id:"Id", +style:"Stil", +classes:"Klasser", +target_name:"M\u00E5lnamn", +langdir:"Skriftretning", +target_langcode:"M\u00E5lspr\u00E5k", +langcode:"Spr\u00E5kkode", +encoding:"Teiknkonvertering", +mime:"M\u00E5let sin MIME-type", +rel:"Sida sitt forhold til m\u00E5let", +rev:"M\u00E5let sitt forhold til sida", +tabindex:"Tabulatorindeks", +accesskey:"Hurtigtast", +ltr:"Venstre mot h\u00F8gre", +rtl:"H\u00F8gre mot venstre", +link_list:"Lenkjeliste" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/pl_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/pl_dlg.js old mode 100644 new mode 100755 index f067c3642e..24cdaa65cf --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/pl_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/pl_dlg.js @@ -1,52 +1,52 @@ -tinyMCE.addI18n('pl.advlink_dlg',{ -title:"Wstaw/edytuj link", -url:"Link URL", -target:"Cel", -titlefield:"Tytu\u0142", -is_email:"Podany adres wydaje si\u0119 by\u0107 adresem emailowym, czy chcesz doda\u0107 wymagany prefix mailto: ?", -is_external:"Podany adres wydaje si\u0119 by\u0107 zewn\u0119trznym linkiem, czy chcesz doda\u0107 wymagany prefix http:// ?", -list:"Lista link\u00F3w", -general_tab:"Og\u00F3lny", -popup_tab:"Popup", -events_tab:"Wydarzenia", -advanced_tab:"Zaawansowany", -general_props:"Og\u00F3lne w\u0142a\u015Bciwo\u015Bci", -popup_props:"Popup w\u0142a\u015Bciwo\u015Bci", -event_props:"Wydarzenia", -advanced_props:"Zaawansowae w\u0142a\u015Bciwo\u015Bci", -popup_opts:"Opcje", -anchor_names:"Kotwice", -target_same:"Otw\u00F3rz w tym oknie / ramce", -target_parent:"Otw\u00F3rz w nadrz\u0119dnej oknie / ramce", -target_top:"Otw\u00F3rz w g\u00F3rnej ramce (zamie\u0144 wszystkie ramki)", -target_blank:"Otw\u00F3rz w nowym oknie", -popup:"Wyskakuj\u0105ce okienko", -popup_url:"URL okienka", -popup_name:"Nazwa okiena", -popup_return:"Wklej 'return false'", -popup_scrollbars:"Poka\u017C paski przewijania", -popup_statusbar:"Poka\u017C pasek statusu", -popup_toolbar:"Poka\u017C narz\u0119dzia", -popup_menubar:"Poka\u017C pasek menu", -popup_location:"Poka\u017C pasek adresu", -popup_resizable:"Stw\u00F3rz okno z w\u0142a\u015Bciwo\u015Bciami zmiany rozmiaru", -popup_dependent:"Podleg\u0142y (Mozilla/Firefox wy\u0142\u0105cznie)", -popup_size:"Rozmiar", -popup_position:"Pozycja (X/Y)", -id:"Id", -style:"Wz\u00F3r", -classes:"Klasy", -target_name:"Cel", -langdir:"Kierunek czytania tekstu", -target_langcode:"Docelowy kod j\u0119zyka", -langcode:"Kod j\u0119zyka", -encoding:"Kodowanie znak\u00F3w celu", -mime:"Cel MIME type", -rel:"Relacje strony do celu", -rev:"Relacje celu do strony", -tabindex:"Tabindex", -accesskey:"Klawisz skr\u00F3tu", -ltr:"Kierunek z lewej do prawej", -rtl:"Kierunek z prawej do lewej", -link_list:"Lista odno\u015Bnik\u00F3w" +tinyMCE.addI18n('pl.advlink_dlg',{ +title:"Wstaw/edytuj link", +url:"Link URL", +target:"Cel", +titlefield:"Tytu\u0142", +is_email:"Podany adres wydaje si\u0119 by\u0107 adresem emailowym, czy chcesz doda\u0107 wymagany prefix mailto: ?", +is_external:"Podany adres wydaje si\u0119 by\u0107 zewn\u0119trznym linkiem, czy chcesz doda\u0107 wymagany prefix http:// ?", +list:"Lista link\u00F3w", +general_tab:"Og\u00F3lny", +popup_tab:"Popup", +events_tab:"Wydarzenia", +advanced_tab:"Zaawansowany", +general_props:"Og\u00F3lne w\u0142a\u015Bciwo\u015Bci", +popup_props:"Popup w\u0142a\u015Bciwo\u015Bci", +event_props:"Wydarzenia", +advanced_props:"Zaawansowae w\u0142a\u015Bciwo\u015Bci", +popup_opts:"Opcje", +anchor_names:"Kotwice", +target_same:"Otw\u00F3rz w tym oknie / ramce", +target_parent:"Otw\u00F3rz w nadrz\u0119dnej oknie / ramce", +target_top:"Otw\u00F3rz w g\u00F3rnej ramce (zamie\u0144 wszystkie ramki)", +target_blank:"Otw\u00F3rz w nowym oknie", +popup:"Wyskakuj\u0105ce okienko", +popup_url:"URL okienka", +popup_name:"Nazwa okiena", +popup_return:"Wklej 'return false'", +popup_scrollbars:"Poka\u017C paski przewijania", +popup_statusbar:"Poka\u017C pasek statusu", +popup_toolbar:"Poka\u017C narz\u0119dzia", +popup_menubar:"Poka\u017C pasek menu", +popup_location:"Poka\u017C pasek adresu", +popup_resizable:"Stw\u00F3rz okno z w\u0142a\u015Bciwo\u015Bciami zmiany rozmiaru", +popup_dependent:"Podleg\u0142y (Mozilla/Firefox wy\u0142\u0105cznie)", +popup_size:"Rozmiar", +popup_position:"Pozycja (X/Y)", +id:"Id", +style:"Wz\u00F3r", +classes:"Klasy", +target_name:"Cel", +langdir:"Kierunek czytania tekstu", +target_langcode:"Docelowy kod j\u0119zyka", +langcode:"Kod j\u0119zyka", +encoding:"Kodowanie znak\u00F3w celu", +mime:"Cel MIME type", +rel:"Relacje strony do celu", +rev:"Relacje celu do strony", +tabindex:"Tabindex", +accesskey:"Klawisz skr\u00F3tu", +ltr:"Kierunek z lewej do prawej", +rtl:"Kierunek z prawej do lewej", +link_list:"Lista odno\u015Bnik\u00F3w" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/pt_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/pt_dlg.js old mode 100644 new mode 100755 index aa4a08cfae..b98b6fe9b7 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/pt_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/pt_dlg.js @@ -1,52 +1,52 @@ -tinyMCE.addI18n('pt.advlink_dlg',{ -title:"Inserir/editar hyperlink", -url:"URL do hyperlink", -target:"Alvo", -titlefield:"T\u00EDtulo", -is_email:"A URL digitada parece ser um endere\u00E7o de e-mail. Deseja acrescentar o prefixo necess\u00E1rio mailto:?", -is_external:"A URL digitada parece conduzir a um link externo. Deseja acrescentar o prefixo necess\u00E1rio http://?", -list:"Lista de hyperlinks", -general_tab:"Geral", -popup_tab:"Popup", -events_tab:"Eventos", -advanced_tab:"Avan\u00E7ado", -general_props:"Propriedades gerais", -popup_props:"Propriedades de popup", -event_props:"Eventos", -advanced_props:"Propriedades avan\u00E7adas", -popup_opts:"Op\u00E7\u00F5es", -anchor_names:"\u00C2ncoras", -target_same:"Abrir nesta janela/quadro", -target_parent:"Abrir na janela/quadro pai", -target_top:"Abrir na p\u00E1gina inteira (substitui todos os quadros)", -target_blank:"Abrir numa nova janela", -popup:"Popup javascript", -popup_url:"URL do popup", -popup_name:"Nome da janela", -popup_return:"Inserir \"return false\"", -popup_scrollbars:"Mostrar as barras de scroll", -popup_statusbar:"Mostrar a barra de status", -popup_toolbar:"Mostrar a barra de ferramentas", -popup_menubar:"Mostrar a barra de menu", -popup_location:"Mostrar a barra de endere\u00E7os", -popup_resizable:"Permitir altera\u00E7\u00E3o do tamanho da janela", -popup_dependent:"Dependente (Mozilla/Firefox apenas)", -popup_size:"Tamanho", -popup_position:"Posi\u00E7\u00E3o (X/Y)", -id:"Id", -style:"Estilo", -classes:"Classes", -target_name:"Nome do alvo", -langdir:"Dire\u00E7\u00E3o do texto", -target_langcode:"Idioma alvo", -langcode:"C\u00F3digo do idioma", -encoding:"Codifica\u00E7\u00E3o de caracteres", -mime:"Tipo MIME alvo", -rel:"Rela\u00E7\u00E3o p\u00E1gina/alvo", -rev:"Rela\u00E7\u00E3o alvo/p\u00E1gina", -tabindex:"Tabindex", -accesskey:"Chave de acesso", -ltr:"Da esquerda para a direita", -rtl:"Da direita para a esquerda", -link_list:"Lista de hyperlinks" +tinyMCE.addI18n('pt.advlink_dlg',{ +title:"Inserir/editar hyperlink", +url:"URL do hyperlink", +target:"Alvo", +titlefield:"T\u00EDtulo", +is_email:"A URL digitada parece ser um endere\u00E7o de e-mail. Deseja acrescentar o prefixo necess\u00E1rio mailto:?", +is_external:"A URL digitada parece conduzir a um link externo. Deseja acrescentar o prefixo necess\u00E1rio http://?", +list:"Lista de hyperlinks", +general_tab:"Geral", +popup_tab:"Popup", +events_tab:"Eventos", +advanced_tab:"Avan\u00E7ado", +general_props:"Propriedades gerais", +popup_props:"Propriedades de popup", +event_props:"Eventos", +advanced_props:"Propriedades avan\u00E7adas", +popup_opts:"Op\u00E7\u00F5es", +anchor_names:"\u00C2ncoras", +target_same:"Abrir nesta janela/quadro", +target_parent:"Abrir na janela/quadro pai", +target_top:"Abrir na p\u00E1gina inteira (substitui todos os quadros)", +target_blank:"Abrir numa nova janela", +popup:"Popup javascript", +popup_url:"URL do popup", +popup_name:"Nome da janela", +popup_return:"Inserir \"return false\"", +popup_scrollbars:"Mostrar as barras de scroll", +popup_statusbar:"Mostrar a barra de status", +popup_toolbar:"Mostrar a barra de ferramentas", +popup_menubar:"Mostrar a barra de menu", +popup_location:"Mostrar a barra de endere\u00E7os", +popup_resizable:"Permitir altera\u00E7\u00E3o do tamanho da janela", +popup_dependent:"Dependente (Mozilla/Firefox apenas)", +popup_size:"Tamanho", +popup_position:"Posi\u00E7\u00E3o (X/Y)", +id:"Id", +style:"Estilo", +classes:"Classes", +target_name:"Nome do alvo", +langdir:"Dire\u00E7\u00E3o do texto", +target_langcode:"Idioma alvo", +langcode:"C\u00F3digo do idioma", +encoding:"Codifica\u00E7\u00E3o de caracteres", +mime:"Tipo MIME alvo", +rel:"Rela\u00E7\u00E3o p\u00E1gina/alvo", +rev:"Rela\u00E7\u00E3o alvo/p\u00E1gina", +tabindex:"Tabindex", +accesskey:"Chave de acesso", +ltr:"Da esquerda para a direita", +rtl:"Da direita para a esquerda", +link_list:"Lista de hyperlinks" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/ru_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/ru_dlg.js old mode 100644 new mode 100755 index 420e14e6b3..b2112acc0c --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/ru_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/ru_dlg.js @@ -1,52 +1,52 @@ -tinyMCE.addI18n('ru.advlink_dlg',{ -title:"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0441\u0441\u044B\u043B\u043A\u0438", -url:"\u0410\u0434\u0440\u0435\u0441", -target:"\u0426\u0435\u043B\u044C", -titlefield:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A", -is_email:"\u0412\u0432\u0435\u0434\u0435\u043D\u043D\u044B\u0439 \u0430\u0434\u0440\u0435\u0441 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u0435\u0442 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0443\u044E \u043F\u043E\u0447\u0442\u0443, \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u0440\u0435\u0444\u0438\u043A\u0441 mailto:?", -is_external:"\u0412\u0432\u0435\u0434\u0435\u043D\u043D\u044B\u0439 \u0430\u0434\u0440\u0435\u0441 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u0435\u0442 \u0432\u043D\u0435\u0448\u043D\u044E\u044E \u0441\u0441\u044B\u043B\u043A\u0443, \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u0440\u0435\u0444\u0438\u043A\u0441 http://?", -list:"\u0421\u043F\u0438\u0441\u043E\u043A", -general_tab:"\u041E\u0431\u0449\u0435\u0435", -popup_tab:"\u0420\u0430\u0437\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u0435", -events_tab:"\u0421\u043E\u0431\u044B\u0442\u0438\u044F", -advanced_tab:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u043E", -general_props:"\u041E\u0431\u0449\u0438\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B", -popup_props:"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u044F", -event_props:"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0441\u043E\u0431\u044B\u0442\u0438\u0439", -advanced_props:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B", -popup_opts:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430", -anchor_names:"\u042F\u043A\u043E\u0440\u044F", -target_same:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u044D\u0442\u043E\u043C \u043E\u043A\u043D\u0435/\u043A\u0430\u0434\u0440\u0435", -target_parent:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u043C \u043E\u043A\u043D\u0435/\u043A\u0430\u0434\u0440\u0435", -target_top:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u0432\u0435\u0440\u0445\u043D\u0435\u043C \u043A\u0430\u0434\u0440\u0435 (\u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0441\u0435 \u043A\u0430\u0434\u0440\u044B)", -target_blank:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u043D\u043E\u0432\u043E\u043C \u043E\u043A\u043D\u0435", -popup:"\u0420\u0430\u0437\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u0435 \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C Java", -popup_url:"\u0410\u0434\u0440\u0435\u0441", -popup_name:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043E\u043A\u043D\u0430", -popup_return:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C 'return false'", -popup_scrollbars:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043F\u043E\u043B\u043E\u0441\u044B \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0438", -popup_statusbar:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F", -popup_toolbar:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u0438 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432", -popup_menubar:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043C\u0435\u043D\u044E", -popup_location:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u044F", -popup_resizable:"\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u044F\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440", -popup_dependent:"\u0417\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u044C (\u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F Firefox)", -popup_size:"\u0420\u0430\u0437\u043C\u0435\u0440", -popup_position:"\u041F\u043E\u0437\u0438\u0446\u0438\u044F (X/Y)", -id:"\u0418\u043C\u044F", -style:"\u0421\u0442\u0438\u043B\u044C", -classes:"\u041A\u043B\u0430\u0441\u0441\u044B", -target_name:"\u0418\u043C\u044F \u0446\u0435\u043B\u0438", -langdir:"\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0430", -target_langcode:"\u042F\u0437\u044B\u043A \u0446\u0435\u043B\u0438", -langcode:"\u041A\u043E\u0434 \u044F\u0437\u044B\u043A\u0430", -encoding:"\u041A\u043E\u0434\u0438\u0440\u043E\u0432\u043A\u0430 \u0446\u0435\u043B\u0438", -mime:"MIME \u0442\u0438\u043F \u0446\u0435\u043B\u0438", -rel:"\u041E\u0442\u043D\u043E\u0448\u0435\u043D\u0438\u0435 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u043A \u0446\u0435\u043B\u0438", -rev:"\u041E\u0442\u043D\u043E\u0448\u0435\u043D\u0438\u0435 \u0446\u0435\u043B\u0438 \u043A \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0435", -tabindex:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A", -accesskey:"\u041A\u043B\u044E\u0447 \u0434\u043E\u0441\u0442\u0443\u043F\u0430", -ltr:"\u0421\u043B\u0435\u0432\u0430 \u043D\u0430\u043F\u0440\u0430\u0432\u043E", -rtl:"\u0421\u043F\u0440\u0430\u0432\u0430 \u043D\u0430\u043B\u0435\u0432\u043E", -link_list:"\u0421\u043F\u0438\u0441\u043E\u043A \u0441\u0441\u044B\u043B\u043E\u043A" +tinyMCE.addI18n('ru.advlink_dlg',{ +title:"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0441\u0441\u044B\u043B\u043A\u0438", +url:"\u0410\u0434\u0440\u0435\u0441", +target:"\u0426\u0435\u043B\u044C", +titlefield:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A", +is_email:"\u0412\u0432\u0435\u0434\u0435\u043D\u043D\u044B\u0439 \u0430\u0434\u0440\u0435\u0441 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u0435\u0442 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0443\u044E \u043F\u043E\u0447\u0442\u0443, \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u0440\u0435\u0444\u0438\u043A\u0441 mailto:?", +is_external:"\u0412\u0432\u0435\u0434\u0435\u043D\u043D\u044B\u0439 \u0430\u0434\u0440\u0435\u0441 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u0435\u0442 \u0432\u043D\u0435\u0448\u043D\u044E\u044E \u0441\u0441\u044B\u043B\u043A\u0443, \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u0440\u0435\u0444\u0438\u043A\u0441 http://?", +list:"\u0421\u043F\u0438\u0441\u043E\u043A", +general_tab:"\u041E\u0431\u0449\u0435\u0435", +popup_tab:"\u0420\u0430\u0437\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u0435", +events_tab:"\u0421\u043E\u0431\u044B\u0442\u0438\u044F", +advanced_tab:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u043E", +general_props:"\u041E\u0431\u0449\u0438\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B", +popup_props:"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u044F", +event_props:"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0441\u043E\u0431\u044B\u0442\u0438\u0439", +advanced_props:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B", +popup_opts:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430", +anchor_names:"\u042F\u043A\u043E\u0440\u044F", +target_same:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u044D\u0442\u043E\u043C \u043E\u043A\u043D\u0435/\u043A\u0430\u0434\u0440\u0435", +target_parent:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u043C \u043E\u043A\u043D\u0435/\u043A\u0430\u0434\u0440\u0435", +target_top:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u0432\u0435\u0440\u0445\u043D\u0435\u043C \u043A\u0430\u0434\u0440\u0435 (\u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0441\u0435 \u043A\u0430\u0434\u0440\u044B)", +target_blank:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u043D\u043E\u0432\u043E\u043C \u043E\u043A\u043D\u0435", +popup:"\u0420\u0430\u0437\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u0435 \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C Java", +popup_url:"\u0410\u0434\u0440\u0435\u0441", +popup_name:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043E\u043A\u043D\u0430", +popup_return:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C 'return false'", +popup_scrollbars:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043F\u043E\u043B\u043E\u0441\u044B \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0438", +popup_statusbar:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F", +popup_toolbar:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u0438 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432", +popup_menubar:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043C\u0435\u043D\u044E", +popup_location:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u044F", +popup_resizable:"\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u044F\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440", +popup_dependent:"\u0417\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u044C (\u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F Firefox)", +popup_size:"\u0420\u0430\u0437\u043C\u0435\u0440", +popup_position:"\u041F\u043E\u0437\u0438\u0446\u0438\u044F (X/Y)", +id:"\u0418\u043C\u044F", +style:"\u0421\u0442\u0438\u043B\u044C", +classes:"\u041A\u043B\u0430\u0441\u0441\u044B", +target_name:"\u0418\u043C\u044F \u0446\u0435\u043B\u0438", +langdir:"\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0430", +target_langcode:"\u042F\u0437\u044B\u043A \u0446\u0435\u043B\u0438", +langcode:"\u041A\u043E\u0434 \u044F\u0437\u044B\u043A\u0430", +encoding:"\u041A\u043E\u0434\u0438\u0440\u043E\u0432\u043A\u0430 \u0446\u0435\u043B\u0438", +mime:"MIME \u0442\u0438\u043F \u0446\u0435\u043B\u0438", +rel:"\u041E\u0442\u043D\u043E\u0448\u0435\u043D\u0438\u0435 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u043A \u0446\u0435\u043B\u0438", +rev:"\u041E\u0442\u043D\u043E\u0448\u0435\u043D\u0438\u0435 \u0446\u0435\u043B\u0438 \u043A \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0435", +tabindex:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A", +accesskey:"\u041A\u043B\u044E\u0447 \u0434\u043E\u0441\u0442\u0443\u043F\u0430", +ltr:"\u0421\u043B\u0435\u0432\u0430 \u043D\u0430\u043F\u0440\u0430\u0432\u043E", +rtl:"\u0421\u043F\u0440\u0430\u0432\u0430 \u043D\u0430\u043B\u0435\u0432\u043E", +link_list:"\u0421\u043F\u0438\u0441\u043E\u043A \u0441\u0441\u044B\u043B\u043E\u043A" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/sv_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/sv_dlg.js old mode 100644 new mode 100755 index 06f6b0a1ab..9538073c5a --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/sv_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/sv_dlg.js @@ -1,52 +1,52 @@ -tinyMCE.addI18n('sv.advlink_dlg',{ -title:"Infoga/redigera l\u00E4nk", -url:"L\u00E4nkens URL", -target:"M\u00E5l", -titlefield:"Titel", -is_email:"L\u00E4nken du angav verkar vara en e-post adress. Vill du infoga mailto: prefixet p\u00E5 l\u00E4nken?", -is_external:"L\u00E4nken du angav verkar vara en extern adress. Vill du infoga http:// prefixet p\u00E5 l\u00E4nken?", -list:"L\u00E4nklista", -general_tab:"Generellt", -popup_tab:"Popup", -events_tab:"H\u00E4ndelser", -advanced_tab:"Avancerat", -general_props:"Generella inst\u00E4llningar", -popup_props:"Popup-inst\u00E4llningar", -event_props:"H\u00E4ndelser", -advanced_props:"Avancerade inst\u00E4llningar", -popup_opts:"Inst\u00E4llningar", -anchor_names:"Bokm\u00E4rken", -target_same:"\u00D6ppna i detta f\u00F6nster/ram", -target_parent:"\u00D6ppna i \u00F6verliggande f\u00F6nster/ram", -target_top:"\u00D6ppna i toppramen (ers\u00E4tter alla ramar)", -target_blank:"\u00D6ppna i nytt f\u00F6nster", -popup:"Javascript popup", -popup_url:"Popup URL", -popup_name:"F\u00F6nsternamn", -popup_return:"Infoga 'return false'", -popup_scrollbars:"Rullningslister", -popup_statusbar:"Statusf\u00E4lt", -popup_toolbar:"Verktygsf\u00E4lt", -popup_menubar:"Menyrad", -popup_location:"Adressraden", -popup_resizable:"Skalbart f\u00F6nster", -popup_dependent:"Beroende av (Mozilla/Firefox enbart)", -popup_size:"Storlek", -popup_position:"Position (x/y)", -id:"Id", -style:"Stil", -classes:"Klasser", -target_name:"M\u00E5lnamn", -langdir:"Skriftriktning", -target_langcode:"M\u00E5lspr\u00E5k", -langcode:"Spr\u00E5kkod", -encoding:"Teckenformattering", -mime:"MIME type", -rel:"Relation (rel attribut)", -rev:"Omv\u00E4nd relation (rev)", -tabindex:"Tabbindex", -accesskey:"Snabbtangent", -ltr:"V\u00E4nster till h\u00F6ger", -rtl:"H\u00F6ger till v\u00E4nster", -link_list:"L\u00E4nklista" +tinyMCE.addI18n('sv.advlink_dlg',{ +title:"Infoga/redigera l\u00E4nk", +url:"L\u00E4nkens URL", +target:"M\u00E5l", +titlefield:"Titel", +is_email:"L\u00E4nken du angav verkar vara en e-post adress. Vill du infoga mailto: prefixet p\u00E5 l\u00E4nken?", +is_external:"L\u00E4nken du angav verkar vara en extern adress. Vill du infoga http:// prefixet p\u00E5 l\u00E4nken?", +list:"L\u00E4nklista", +general_tab:"Generellt", +popup_tab:"Popup", +events_tab:"H\u00E4ndelser", +advanced_tab:"Avancerat", +general_props:"Generella inst\u00E4llningar", +popup_props:"Popup-inst\u00E4llningar", +event_props:"H\u00E4ndelser", +advanced_props:"Avancerade inst\u00E4llningar", +popup_opts:"Inst\u00E4llningar", +anchor_names:"Bokm\u00E4rken", +target_same:"\u00D6ppna i detta f\u00F6nster/ram", +target_parent:"\u00D6ppna i \u00F6verliggande f\u00F6nster/ram", +target_top:"\u00D6ppna i toppramen (ers\u00E4tter alla ramar)", +target_blank:"\u00D6ppna i nytt f\u00F6nster", +popup:"Javascript popup", +popup_url:"Popup URL", +popup_name:"F\u00F6nsternamn", +popup_return:"Infoga 'return false'", +popup_scrollbars:"Rullningslister", +popup_statusbar:"Statusf\u00E4lt", +popup_toolbar:"Verktygsf\u00E4lt", +popup_menubar:"Menyrad", +popup_location:"Adressraden", +popup_resizable:"Skalbart f\u00F6nster", +popup_dependent:"Beroende av (Mozilla/Firefox enbart)", +popup_size:"Storlek", +popup_position:"Position (x/y)", +id:"Id", +style:"Stil", +classes:"Klasser", +target_name:"M\u00E5lnamn", +langdir:"Skriftriktning", +target_langcode:"M\u00E5lspr\u00E5k", +langcode:"Spr\u00E5kkod", +encoding:"Teckenformattering", +mime:"MIME type", +rel:"Relation (rel attribut)", +rev:"Omv\u00E4nd relation (rev)", +tabindex:"Tabbindex", +accesskey:"Snabbtangent", +ltr:"V\u00E4nster till h\u00F6ger", +rtl:"H\u00F6ger till v\u00E4nster", +link_list:"L\u00E4nklista" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/zh_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/zh_dlg.js old mode 100644 new mode 100755 index a156410326..7e5d08e207 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/zh_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/langs/zh_dlg.js @@ -1,52 +1,52 @@ -tinyMCE.addI18n('zh.advlink_dlg',{ -title:"\u63D2\u5165/\u7DE8\u8F2F\u8D85\u9023\u7D50", -url:"\u8D85\u9023\u7D50URL", -target:"\u76EE\u6A19", -titlefield:"\u6A19\u984C", -is_email:"\u60A8\u8F38\u5165\u7684\u4F3C\u4E4E\u662F\u96FB\u5B50\u90F5\u4EF6\u5730\u5740,\u662F\u5426\u9700\u8981\u52A0 mailto:\uFF1F", -is_external:"\u60A8\u8F38\u5165\u7684 URL \u4F3C\u4E4E\u70BA\u5916\u90E8\u8D85\u9023\u7D50\uFF0C\u662F\u5426\u8981\u52A0\u4E0A \"http://\" \uFF1F", -list:"\u8D85\u9023\u7D50\u6E05\u55AE", -general_tab:"\u4E00\u822C", -popup_tab:"\u5F48\u51FA\u8996\u7A97", -events_tab:"\u4E8B\u4EF6", -advanced_tab:"\u9AD8\u7D1A\u5C6C\u6027", -general_props:"\u4E00\u822C\u5C6C\u6027", -popup_props:"\u5F48\u51FA\u8996\u7A97\u5C6C\u6027", -event_props:"\u4E8B\u4EF6", -advanced_props:"\u9AD8\u7D1A\u5C6C\u6027", -popup_opts:"\u9078\u9805", -anchor_names:"\u66F8\u7C3D", -target_same:"\u5728\u76EE\u524D\u8996\u7A97\u6253\u958B\u8D85\u9023\u7D50", -target_parent:"\u5728\u7236\u8996\u7A97\u6253\u958B\u8D85\u9023\u7D50", -target_top:"\u5728\u9802\u90E8\u8996\u7A97\u6253\u958B\u8D85\u9023\u7D50", -target_blank:"\u5728\u65B0\u8996\u7A97\u6253\u958B\u8D85\u9023\u7D50", -popup:"JavaScript \u5F48\u51FA\u8996\u7A97", -popup_url:"\u5F48\u51FA\u8996\u7A97URL", -popup_name:"\u8996\u7A97\u540D\u7A31", -popup_return:"\u63D2\u5165 \"return false\"", -popup_scrollbars:"\u986F\u793A\u6EFE\u52D5\u689D", -popup_statusbar:"\u986F\u793A\u72C0\u614B\u5217", -popup_toolbar:"\u986F\u793A\u5DE5\u5177\u5217", -popup_menubar:"\u986F\u793A\u83DC\u55AE\u5217", -popup_location:"\u986F\u793A\u5730\u5740\u6B04", -popup_resizable:"\u5F48\u7A97\u53EF\u8ABF\u6574\u5927\u5C0F", -popup_dependent:"\u700F\u89BD\u5668\u9650\u5236(\u50C5\u652F\u63F4 Mozilla/Firefox)", -popup_size:"\u5927\u5C0F", -popup_position:"\u4F4D\u7F6E(X/Y)", -id:"ID", -style:"\u6A23\u5F0F", -classes:"\u985E\u5225", -target_name:"\u76EE\u6A19\u540D\u7A31", -langdir:"\u8A9E\u8A00\u66F8\u5BEB\u65B9\u5411", -target_langcode:"\u76EE\u6A19\u8A9E\u8A00", -langcode:"\u8A9E\u8A00\u7DE8\u78BC", -encoding:"\u76EE\u6A19\u8A9E\u8A00\u7DE8\u78BC", -mime:"\u76EE\u6A19MIME\u985E\u578B", -rel:"\u7DB2\u9801\u5230\u76EE\u6A19\u7684\u95DC\u7CFB", -rev:"\u76EE\u6A19\u5230\u7DB2\u9801\u7684\u95DC\u7CFB", -tabindex:"Tab\u7D22\u5F15", -accesskey:"\u5FEB\u901F\u9375", -ltr:"\u5F9E\u5DE6\u5230\u53F3", -rtl:"\u5F9E\u53F3\u5230\u5DE6", -link_list:"\u8D85\u9023\u7D50\u6E05\u55AE" +tinyMCE.addI18n('zh.advlink_dlg',{ +title:"\u63D2\u5165/\u7DE8\u8F2F\u8D85\u9023\u7D50", +url:"\u8D85\u9023\u7D50URL", +target:"\u76EE\u6A19", +titlefield:"\u6A19\u984C", +is_email:"\u60A8\u8F38\u5165\u7684\u4F3C\u4E4E\u662F\u96FB\u5B50\u90F5\u4EF6\u5730\u5740,\u662F\u5426\u9700\u8981\u52A0 mailto:\uFF1F", +is_external:"\u60A8\u8F38\u5165\u7684 URL \u4F3C\u4E4E\u70BA\u5916\u90E8\u8D85\u9023\u7D50\uFF0C\u662F\u5426\u8981\u52A0\u4E0A \"http://\" \uFF1F", +list:"\u8D85\u9023\u7D50\u6E05\u55AE", +general_tab:"\u4E00\u822C", +popup_tab:"\u5F48\u51FA\u8996\u7A97", +events_tab:"\u4E8B\u4EF6", +advanced_tab:"\u9AD8\u7D1A\u5C6C\u6027", +general_props:"\u4E00\u822C\u5C6C\u6027", +popup_props:"\u5F48\u51FA\u8996\u7A97\u5C6C\u6027", +event_props:"\u4E8B\u4EF6", +advanced_props:"\u9AD8\u7D1A\u5C6C\u6027", +popup_opts:"\u9078\u9805", +anchor_names:"\u66F8\u7C3D", +target_same:"\u5728\u76EE\u524D\u8996\u7A97\u6253\u958B\u8D85\u9023\u7D50", +target_parent:"\u5728\u7236\u8996\u7A97\u6253\u958B\u8D85\u9023\u7D50", +target_top:"\u5728\u9802\u90E8\u8996\u7A97\u6253\u958B\u8D85\u9023\u7D50", +target_blank:"\u5728\u65B0\u8996\u7A97\u6253\u958B\u8D85\u9023\u7D50", +popup:"JavaScript \u5F48\u51FA\u8996\u7A97", +popup_url:"\u5F48\u51FA\u8996\u7A97URL", +popup_name:"\u8996\u7A97\u540D\u7A31", +popup_return:"\u63D2\u5165 \"return false\"", +popup_scrollbars:"\u986F\u793A\u6EFE\u52D5\u689D", +popup_statusbar:"\u986F\u793A\u72C0\u614B\u5217", +popup_toolbar:"\u986F\u793A\u5DE5\u5177\u5217", +popup_menubar:"\u986F\u793A\u83DC\u55AE\u5217", +popup_location:"\u986F\u793A\u5730\u5740\u6B04", +popup_resizable:"\u5F48\u7A97\u53EF\u8ABF\u6574\u5927\u5C0F", +popup_dependent:"\u700F\u89BD\u5668\u9650\u5236(\u50C5\u652F\u63F4 Mozilla/Firefox)", +popup_size:"\u5927\u5C0F", +popup_position:"\u4F4D\u7F6E(X/Y)", +id:"ID", +style:"\u6A23\u5F0F", +classes:"\u985E\u5225", +target_name:"\u76EE\u6A19\u540D\u7A31", +langdir:"\u8A9E\u8A00\u66F8\u5BEB\u65B9\u5411", +target_langcode:"\u76EE\u6A19\u8A9E\u8A00", +langcode:"\u8A9E\u8A00\u7DE8\u78BC", +encoding:"\u76EE\u6A19\u8A9E\u8A00\u7DE8\u78BC", +mime:"\u76EE\u6A19MIME\u985E\u578B", +rel:"\u7DB2\u9801\u5230\u76EE\u6A19\u7684\u95DC\u7CFB", +rev:"\u76EE\u6A19\u5230\u7DB2\u9801\u7684\u95DC\u7CFB", +tabindex:"Tab\u7D22\u5F15", +accesskey:"\u5FEB\u901F\u9375", +ltr:"\u5F9E\u5DE6\u5230\u53F3", +rtl:"\u5F9E\u53F3\u5230\u5DE6", +link_list:"\u8D85\u9023\u7D50\u6E05\u55AE" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm old mode 100644 new mode 100755 index 876669c6b3..0b0e0bcd33 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm @@ -1,333 +1,333 @@ - - - - {#advlink_dlg.title} - - - - - - - - -
    - - -
    -
    -
    - {#advlink_dlg.general_props} - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
     
    - -
    -
    -
    - - - -
    -
    - {#advlink_dlg.advanced_props} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - -
    -
    -
    -
    -
    - -
    -
    - {#advlink_dlg.event_props} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    -
    - -
    - - -
    -
    - - + + + + {#advlink_dlg.title} + + + + + + + + +
    + + +
    +
    +
    + {#advlink_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
     
    + +
    +
    +
    + + + +
    +
    + {#advlink_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    +
    +
    +
    +
    + +
    +
    + {#advlink_dlg.event_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    + + +
    +
    + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/bg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/bg.js old mode 100644 new mode 100755 index 2f9b2a000b..4e8a4ab9ce --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/bg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/bg.js @@ -1,4 +1,4 @@ -tinyMCE.addI18n('bg.autosave',{ -restore_content: "Restore auto-saved content", -warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +tinyMCE.addI18n('bg.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/cs.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/cs.js old mode 100644 new mode 100755 index a69b8554c1..b4125045c9 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/cs.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/cs.js @@ -1,4 +1,4 @@ -tinyMCE.addI18n(cs.autosave',{ -restore_content: "Restore auto-saved content", -warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +tinyMCE.addI18n(cs.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/da.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/da.js old mode 100644 new mode 100755 index c4296bd5ed..897d88a8df --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/da.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/da.js @@ -1,4 +1,4 @@ -tinyMCE.addI18n('da.autosave',{ -restore_content: "Restore auto-saved content", -warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +tinyMCE.addI18n('da.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/de.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/de.js old mode 100644 new mode 100755 index afbee1377d..07c3281401 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/de.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/de.js @@ -1,4 +1,4 @@ -tinyMCE.addI18n('de.autosave',{ -restore_content: "Restore auto-saved content", -warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +tinyMCE.addI18n('de.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js old mode 100644 new mode 100755 index fce6bd3e1f..219f769ac4 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js @@ -1,4 +1,4 @@ -tinyMCE.addI18n('en.autosave',{ -restore_content: "Restore auto-saved content", -warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +tinyMCE.addI18n('en.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/es.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/es.js old mode 100644 new mode 100755 index 2451237e5b..f67d608651 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/es.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/es.js @@ -1,4 +1,4 @@ -tinyMCE.addI18n('es.autosave',{ -restore_content: "Restore auto-saved content", -warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +tinyMCE.addI18n('es.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/fa.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/fa.js old mode 100644 new mode 100755 index 5071392868..95bfbb6d40 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/fa.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/fa.js @@ -1,4 +1,4 @@ -tinyMCE.addI18n('fa.autosave',{ -restore_content: "Restore auto-saved content", -warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +tinyMCE.addI18n('fa.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/fi.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/fi.js old mode 100644 new mode 100755 index 8e7f53805b..4eb628cc63 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/fi.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/fi.js @@ -1,4 +1,4 @@ -tinyMCE.addI18n('fi.autosave',{ -restore_content: "Restore auto-saved content", -warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +tinyMCE.addI18n('fi.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/fr.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/fr.js old mode 100644 new mode 100755 index 66688c4e0c..c0f6cc791d --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/fr.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/fr.js @@ -1,4 +1,4 @@ -tinyMCE.addI18n('fr.autosave',{ -restore_content: "Restore auto-saved content", -warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +tinyMCE.addI18n('fr.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/he.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/he.js old mode 100644 new mode 100755 index c4420aba8f..f6281af2a9 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/he.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/he.js @@ -1,4 +1,4 @@ -tinyMCE.addI18n('he.autosave',{ -restore_content: "Restore auto-saved content", -warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +tinyMCE.addI18n('he.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/it.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/it.js old mode 100644 new mode 100755 index 4521b78036..8dea3d644f --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/it.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/it.js @@ -1,4 +1,4 @@ -tinyMCE.addI18n('it.autosave',{ -restore_content: "Restore auto-saved content", -warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +tinyMCE.addI18n('it.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/ja.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/ja.js old mode 100644 new mode 100755 index c593dbefaf..095b7042f9 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/ja.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/ja.js @@ -1,4 +1,4 @@ -tinyMCE.addI18n('ja.autosave',{ -restore_content: "Restore auto-saved content", -warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +tinyMCE.addI18n('ja.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/nl.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/nl.js old mode 100644 new mode 100755 index 2f37162277..24e42dff33 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/nl.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/nl.js @@ -1,4 +1,4 @@ -tinyMCE.addI18n('nl.autosave',{ -restore_content: "Restore auto-saved content", -warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +tinyMCE.addI18n('nl.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/nn.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/nn.js old mode 100644 new mode 100755 index 480d8d34cf..6bdec3382b --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/nn.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/nn.js @@ -1,4 +1,4 @@ -tinyMCE.addI18n('nn.autosave',{ -restore_content: "Restore auto-saved content", -warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +tinyMCE.addI18n('nn.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/pl.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/pl.js old mode 100644 new mode 100755 index cd1c95ed84..49efc66967 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/pl.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/pl.js @@ -1,4 +1,4 @@ -tinyMCE.addI18n('pl.autosave',{ -restore_content: "Restore auto-saved content", -warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +tinyMCE.addI18n('pl.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/pt.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/pt.js old mode 100644 new mode 100755 index 64927e6fbd..28e314d08b --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/pt.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/pt.js @@ -1,4 +1,4 @@ -tinyMCE.addI18n('pt.autosave',{ -restore_content: "Restore auto-saved content", -warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +tinyMCE.addI18n('pt.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/ru.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/ru.js old mode 100644 new mode 100755 index 944df6d747..b9b15e3940 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/ru.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/ru.js @@ -1,4 +1,4 @@ -tinyMCE.addI18n('ru.autosave',{ -restore_content: "Restore auto-saved content", -warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +tinyMCE.addI18n('ru.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/sv.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/sv.js old mode 100644 new mode 100755 index e2ba58f297..d0a8574c65 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/sv.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/sv.js @@ -1,4 +1,4 @@ -tinyMCE.addI18n('sv.autosave',{ -restore_content: "Restore auto-saved content", -warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +tinyMCE.addI18n('sv.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/zh.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/zh.js old mode 100644 new mode 100755 index d9fbab72c0..bb597af704 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/zh.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/autosave/langs/zh.js @@ -1,4 +1,4 @@ -tinyMCE.addI18n('zh.autosave',{ -restore_content: "Restore auto-saved content", -warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +tinyMCE.addI18n('zh.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/bg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/bg.js old mode 100644 new mode 100755 index 091bb9569d..9788919499 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/bg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/bg.js @@ -1,5 +1,5 @@ -// UK lang variables - -tinyMCE.addI18n('bg.clearfloat', { - button_desc : 'Flow below floated elements' -}); +// UK lang variables + +tinyMCE.addI18n('bg.clearfloat', { + button_desc : 'Flow below floated elements' +}); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/cs.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/cs.js old mode 100644 new mode 100755 index fb5d979932..aeddb1c233 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/cs.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/cs.js @@ -1,5 +1,5 @@ -// UK lang variables - -tinyMCE.addI18n('cs.clearfloat', { - button_desc : 'Flow below floated elements' -}); +// UK lang variables + +tinyMCE.addI18n('cs.clearfloat', { + button_desc : 'Flow below floated elements' +}); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/da.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/da.js old mode 100644 new mode 100755 index 0000ab86f7..6f4eb450aa --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/da.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/da.js @@ -1,5 +1,5 @@ -// UK lang variables - -tinyMCE.addI18n('da.clearfloat', { - button_desc : 'Flow below floated elements' -}); +// UK lang variables + +tinyMCE.addI18n('da.clearfloat', { + button_desc : 'Flow below floated elements' +}); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/de.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/de.js old mode 100644 new mode 100755 index 6df3c84a12..dab80eb3eb --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/de.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/de.js @@ -1,5 +1,5 @@ -// UK lang variables - -tinyMCE.addI18n('de.clearfloat', { - button_desc : 'Flow below floated elements' -}); +// UK lang variables + +tinyMCE.addI18n('de.clearfloat', { + button_desc : 'Flow below floated elements' +}); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/en.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/en.js old mode 100644 new mode 100755 index 6a627c8232..7fbc62c77d --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/en.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/en.js @@ -1,5 +1,5 @@ -// UK lang variables - -tinyMCE.addI18n('en.clearfloat', { - button_desc : 'Flow below floated elements' -}); +// UK lang variables + +tinyMCE.addI18n('en.clearfloat', { + button_desc : 'Flow below floated elements' +}); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/es.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/es.js old mode 100644 new mode 100755 index 28ed01178e..2a073e02bd --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/es.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/es.js @@ -1,5 +1,5 @@ -// UK lang variables - -tinyMCE.addI18n('es.clearfloat', { - button_desc : 'Flow below floated elements' -}); +// UK lang variables + +tinyMCE.addI18n('es.clearfloat', { + button_desc : 'Flow below floated elements' +}); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/fa.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/fa.js old mode 100644 new mode 100755 index c57ca728c4..d8c7ae6c8a --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/fa.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/fa.js @@ -1,5 +1,5 @@ -// UK lang variables - -tinyMCE.addI18n('fa.clearfloat', { - button_desc : 'Flow below floated elements' -}); +// UK lang variables + +tinyMCE.addI18n('fa.clearfloat', { + button_desc : 'Flow below floated elements' +}); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/fi.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/fi.js old mode 100644 new mode 100755 index 4692c8ec9b..1f6ab1a72e --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/fi.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/fi.js @@ -1,5 +1,5 @@ -// UK lang variables - -tinyMCE.addI18n('fi.clearfloat', { - button_desc : 'Flow below floated elements' -}); +// UK lang variables + +tinyMCE.addI18n('fi.clearfloat', { + button_desc : 'Flow below floated elements' +}); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/fr.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/fr.js old mode 100644 new mode 100755 index 5295d25dbc..e7a7a525c3 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/fr.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/fr.js @@ -1,5 +1,5 @@ -// UK lang variables - -tinyMCE.addI18n('fr.clearfloat', { - button_desc : 'Flow below floated elements' -}); +// UK lang variables + +tinyMCE.addI18n('fr.clearfloat', { + button_desc : 'Flow below floated elements' +}); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/he.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/he.js old mode 100644 new mode 100755 index 730f1d54f9..014fdd8fc6 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/he.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/he.js @@ -1,5 +1,5 @@ -// UK lang variables - -tinyMCE.addI18n('he.clearfloat', { - button_desc : 'Flow below floated elements' -}); +// UK lang variables + +tinyMCE.addI18n('he.clearfloat', { + button_desc : 'Flow below floated elements' +}); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/it.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/it.js old mode 100644 new mode 100755 index 15246b48b2..b25d5d010a --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/it.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/it.js @@ -1,5 +1,5 @@ -// UK lang variables - -tinyMCE.addI18n('it.clearfloat', { - button_desc : 'Flow below floated elements' -}); +// UK lang variables + +tinyMCE.addI18n('it.clearfloat', { + button_desc : 'Flow below floated elements' +}); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/ja.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/ja.js old mode 100644 new mode 100755 index 3e921236da..40105a498d --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/ja.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/ja.js @@ -1,5 +1,5 @@ -// UK lang variables - -tinyMCE.addI18n('ja.clearfloat', { - button_desc : 'Flow below floated elements' -}); +// UK lang variables + +tinyMCE.addI18n('ja.clearfloat', { + button_desc : 'Flow below floated elements' +}); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/nl.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/nl.js old mode 100644 new mode 100755 index 76d903b524..7f385cb280 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/nl.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/nl.js @@ -1,5 +1,5 @@ -// UK lang variables - -tinyMCE.addI18n('nl.clearfloat', { - button_desc : 'Flow below floated elements' -}); +// UK lang variables + +tinyMCE.addI18n('nl.clearfloat', { + button_desc : 'Flow below floated elements' +}); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/nn.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/nn.js old mode 100644 new mode 100755 index 765b696254..cbf861d32c --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/nn.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/nn.js @@ -1,5 +1,5 @@ -// UK lang variables - -tinyMCE.addI18n('nn.clearfloat', { - button_desc : 'Flow below floated elements' -}); +// UK lang variables + +tinyMCE.addI18n('nn.clearfloat', { + button_desc : 'Flow below floated elements' +}); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/pl.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/pl.js old mode 100644 new mode 100755 index 32995edba3..5837c64faa --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/pl.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/pl.js @@ -1,5 +1,5 @@ -// UK lang variables - -tinyMCE.addI18n('pl.clearfloat', { - button_desc : 'Flow below floated elements' -}); +// UK lang variables + +tinyMCE.addI18n('pl.clearfloat', { + button_desc : 'Flow below floated elements' +}); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/pt.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/pt.js old mode 100644 new mode 100755 index 35b32470aa..85f4c07c37 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/pt.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/pt.js @@ -1,5 +1,5 @@ -// UK lang variables - -tinyMCE.addI18n('pt.clearfloat', { - button_desc : 'Flow below floated elements' -}); +// UK lang variables + +tinyMCE.addI18n('pt.clearfloat', { + button_desc : 'Flow below floated elements' +}); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/ru.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/ru.js old mode 100644 new mode 100755 index 05ef20f5cd..97d6cec530 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/ru.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/ru.js @@ -1,5 +1,5 @@ -// UK lang variables - -tinyMCE.addI18n('ru.clearfloat', { - button_desc : 'Flow below floated elements' -}); +// UK lang variables + +tinyMCE.addI18n('ru.clearfloat', { + button_desc : 'Flow below floated elements' +}); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/sv.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/sv.js old mode 100644 new mode 100755 index 82578aacc3..4c1f38691a --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/sv.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/sv.js @@ -1,5 +1,5 @@ -// UK lang variables - -tinyMCE.addI18n('sv.clearfloat', { - button_desc : 'Flow below floated elements' -}); +// UK lang variables + +tinyMCE.addI18n('sv.clearfloat', { + button_desc : 'Flow below floated elements' +}); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/zh.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/zh.js old mode 100644 new mode 100755 index c7222f54b8..b76bb5ee5e --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/zh.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/clearfloat/langs/zh.js @@ -1,5 +1,5 @@ -// UK lang variables - -tinyMCE.addI18n('zh.clearfloat', { - button_desc : 'Flow below floated elements' -}); +// UK lang variables + +tinyMCE.addI18n('zh.clearfloat', { + button_desc : 'Flow below floated elements' +}); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm old mode 100644 new mode 100755 index 55a1d72fa7..5927b6039b --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm @@ -1,40 +1,40 @@ - - - - {#emotions_dlg.title} - - - - -
    -
    {#emotions_dlg.title}:

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    {#emotions_dlg.cool}{#emotions_dlg.cry}{#emotions_dlg.embarassed}{#emotions_dlg.foot_in_mouth}
    {#emotions_dlg.frown}{#emotions_dlg.innocent}{#emotions_dlg.kiss}{#emotions_dlg.laughing}
    {#emotions_dlg.money_mouth}{#emotions_dlg.sealed}{#emotions_dlg.smile}{#emotions_dlg.surprised}
    {#emotions_dlg.tongue-out}{#emotions_dlg.undecided}{#emotions_dlg.wink}{#emotions_dlg.yell}
    -
    - - + + + + {#emotions_dlg.title} + + + + +
    +
    {#emotions_dlg.title}:

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {#emotions_dlg.cool}{#emotions_dlg.cry}{#emotions_dlg.embarassed}{#emotions_dlg.foot_in_mouth}
    {#emotions_dlg.frown}{#emotions_dlg.innocent}{#emotions_dlg.kiss}{#emotions_dlg.laughing}
    {#emotions_dlg.money_mouth}{#emotions_dlg.sealed}{#emotions_dlg.smile}{#emotions_dlg.surprised}
    {#emotions_dlg.tongue-out}{#emotions_dlg.undecided}{#emotions_dlg.wink}{#emotions_dlg.yell}
    +
    + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/js/emotions.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/js/emotions.js old mode 100644 new mode 100755 index c549367096..e5c950fc44 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/js/emotions.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/js/emotions.js @@ -1,22 +1,22 @@ -tinyMCEPopup.requireLangPack(); - -var EmotionsDialog = { - init : function(ed) { - tinyMCEPopup.resizeToInnerSize(); - }, - - insert : function(file, title) { - var ed = tinyMCEPopup.editor, dom = ed.dom; - - tinyMCEPopup.execCommand('mceInsertContent', false, dom.createHTML('img', { - src : tinyMCEPopup.getWindowArg('plugin_url') + '/img/' + file, - alt : ed.getLang(title), - title : ed.getLang(title), - border : 0 - })); - - tinyMCEPopup.close(); - } -}; - -tinyMCEPopup.onInit.add(EmotionsDialog.init, EmotionsDialog); +tinyMCEPopup.requireLangPack(); + +var EmotionsDialog = { + init : function(ed) { + tinyMCEPopup.resizeToInnerSize(); + }, + + insert : function(file, title) { + var ed = tinyMCEPopup.editor, dom = ed.dom; + + tinyMCEPopup.execCommand('mceInsertContent', false, dom.createHTML('img', { + src : tinyMCEPopup.getWindowArg('plugin_url') + '/img/' + file, + alt : ed.getLang(title), + title : ed.getLang(title), + border : 0 + })); + + tinyMCEPopup.close(); + } +}; + +tinyMCEPopup.onInit.add(EmotionsDialog.init, EmotionsDialog); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/bg_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/bg_dlg.js old mode 100644 new mode 100755 index b612cbc24a..7ce8f617ae --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/bg_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/bg_dlg.js @@ -1,20 +1,20 @@ -tinyMCE.addI18n('bg.emotions_dlg',{ -title:"\u0412\u043C\u044A\u043A\u043D\u0438 \u0435\u043C\u043E\u0442\u0438\u043A\u043E\u043D", -desc:"\u0415\u043C\u043E\u0442\u0438\u043A\u043E\u043D\u0438", -cool:"Cool", -cry:"Cry", -embarassed:"Embarassed", -foot_in_mouth:"Foot in mouth", -frown:"Frown", -innocent:"Innocent", -kiss:"Kiss", -laughing:"Laughing", -money_mouth:"Money mouth", -sealed:"Sealed", -smile:"Smile", -surprised:"Surprised", -tongue_out:"Tongue out", -undecided:"Undecided", -wink:"Wink", -yell:"Yell" +tinyMCE.addI18n('bg.emotions_dlg',{ +title:"\u0412\u043C\u044A\u043A\u043D\u0438 \u0435\u043C\u043E\u0442\u0438\u043A\u043E\u043D", +desc:"\u0415\u043C\u043E\u0442\u0438\u043A\u043E\u043D\u0438", +cool:"Cool", +cry:"Cry", +embarassed:"Embarassed", +foot_in_mouth:"Foot in mouth", +frown:"Frown", +innocent:"Innocent", +kiss:"Kiss", +laughing:"Laughing", +money_mouth:"Money mouth", +sealed:"Sealed", +smile:"Smile", +surprised:"Surprised", +tongue_out:"Tongue out", +undecided:"Undecided", +wink:"Wink", +yell:"Yell" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/cs_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/cs_dlg.js old mode 100644 new mode 100755 index 71bc620e33..8c7116be30 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/cs_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/cs_dlg.js @@ -1,20 +1,20 @@ -tinyMCE.addI18n('cs.emotions_dlg',{ -title:"Vlo\u017Eit emotikonu", -desc:"Emotikony", -cool:"\u00DA\u017Easn\u00FD", -cry:"Pla\u010D\u00EDc\u00ED", -embarassed:"Rozpa\u010Dit\u00FD", -foot_in_mouth:"\u0160l\u00E1pnul vedle", -frown:"Zamra\u010Den\u00FD", -innocent:"Nevinn\u00FD", -kiss:"L\u00EDbaj\u00EDc\u00ED", -laughing:"Sm\u011Bj\u00EDc\u00ED se", -money_mouth:"Je na prachy", -sealed:"Ml\u010D\u00EDc\u00ED", -smile:"Usm\u00EDvaj\u00EDc\u00ED se", -surprised:"P\u0159ekvapen\u00FD", -tongue_out:"S vyplazen\u00FDm jazykem", -undecided:"Nerozhodn\u00FD", -wink:"Mrkaj\u00EDc\u00ED", -yell:"K\u0159i\u010D\u00EDc\u00ED" +tinyMCE.addI18n('cs.emotions_dlg',{ +title:"Vlo\u017Eit emotikonu", +desc:"Emotikony", +cool:"\u00DA\u017Easn\u00FD", +cry:"Pla\u010D\u00EDc\u00ED", +embarassed:"Rozpa\u010Dit\u00FD", +foot_in_mouth:"\u0160l\u00E1pnul vedle", +frown:"Zamra\u010Den\u00FD", +innocent:"Nevinn\u00FD", +kiss:"L\u00EDbaj\u00EDc\u00ED", +laughing:"Sm\u011Bj\u00EDc\u00ED se", +money_mouth:"Je na prachy", +sealed:"Ml\u010D\u00EDc\u00ED", +smile:"Usm\u00EDvaj\u00EDc\u00ED se", +surprised:"P\u0159ekvapen\u00FD", +tongue_out:"S vyplazen\u00FDm jazykem", +undecided:"Nerozhodn\u00FD", +wink:"Mrkaj\u00EDc\u00ED", +yell:"K\u0159i\u010D\u00EDc\u00ED" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/da_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/da_dlg.js old mode 100644 new mode 100755 index 0e37b795e2..5d1e56538e --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/da_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/da_dlg.js @@ -1,20 +1,20 @@ -tinyMCE.addI18n('da.emotions_dlg',{ -title:"Inds\u00E6t hum\u00F8rikon", -desc:"Hum\u00F8rikoner", -cool:"Cool", -cry:"Gr\u00E6de", -embarassed:"Flov", -foot_in_mouth:"Fod i munden", -frown:"Forskr\u00E6kket", -innocent:"Uskyldig", -kiss:"Kys", -laughing:"Grine", -money_mouth:"Pengemund", -sealed:"Lukket", -smile:"Smil", -surprised:"Overrasket", -tongue_out:"Tunge ud", -undecided:"Ubeslutsom", -wink:"Vink", -yell:"R\u00E5be" +tinyMCE.addI18n('da.emotions_dlg',{ +title:"Inds\u00E6t hum\u00F8rikon", +desc:"Hum\u00F8rikoner", +cool:"Cool", +cry:"Gr\u00E6de", +embarassed:"Flov", +foot_in_mouth:"Fod i munden", +frown:"Forskr\u00E6kket", +innocent:"Uskyldig", +kiss:"Kys", +laughing:"Grine", +money_mouth:"Pengemund", +sealed:"Lukket", +smile:"Smil", +surprised:"Overrasket", +tongue_out:"Tunge ud", +undecided:"Ubeslutsom", +wink:"Vink", +yell:"R\u00E5be" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/de_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/de_dlg.js old mode 100644 new mode 100755 index 3940a2a54b..7463ee0b52 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/de_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/de_dlg.js @@ -1,20 +1,20 @@ -tinyMCE.addI18n('de.emotions_dlg',{ -title:"Smiley einf\u00FCgen", -desc:"Smilies", -cool:"Cool", -cry:"Weinend", -embarassed:"Verlegen", -foot_in_mouth:"Reingefallen", -frown:"Stirnrunzelnd", -innocent:"Unschuldig", -kiss:"K\u00FCssend", -laughing:"Lachend", -money_mouth:"Geld", -sealed:"Verschlossen", -smile:"L\u00E4chelnd", -surprised:"\u00DCberrascht", -tongue_out:"Zunge raus", -undecided:"Unentschlossen", -wink:"Zwinkernd", -yell:"Br\u00FCllend" +tinyMCE.addI18n('de.emotions_dlg',{ +title:"Smiley einf\u00FCgen", +desc:"Smilies", +cool:"Cool", +cry:"Weinend", +embarassed:"Verlegen", +foot_in_mouth:"Reingefallen", +frown:"Stirnrunzelnd", +innocent:"Unschuldig", +kiss:"K\u00FCssend", +laughing:"Lachend", +money_mouth:"Geld", +sealed:"Verschlossen", +smile:"L\u00E4chelnd", +surprised:"\u00DCberrascht", +tongue_out:"Zunge raus", +undecided:"Unentschlossen", +wink:"Zwinkernd", +yell:"Br\u00FCllend" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js old mode 100644 new mode 100755 index 3b57ad9e3c..f6d5f4ba89 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js @@ -1,20 +1,20 @@ -tinyMCE.addI18n('en.emotions_dlg',{ -title:"Insert emotion", -desc:"Emotions", -cool:"Cool", -cry:"Cry", -embarassed:"Embarassed", -foot_in_mouth:"Foot in mouth", -frown:"Frown", -innocent:"Innocent", -kiss:"Kiss", -laughing:"Laughing", -money_mouth:"Money mouth", -sealed:"Sealed", -smile:"Smile", -surprised:"Surprised", -tongue_out:"Tongue out", -undecided:"Undecided", -wink:"Wink", -yell:"Yell" +tinyMCE.addI18n('en.emotions_dlg',{ +title:"Insert emotion", +desc:"Emotions", +cool:"Cool", +cry:"Cry", +embarassed:"Embarassed", +foot_in_mouth:"Foot in mouth", +frown:"Frown", +innocent:"Innocent", +kiss:"Kiss", +laughing:"Laughing", +money_mouth:"Money mouth", +sealed:"Sealed", +smile:"Smile", +surprised:"Surprised", +tongue_out:"Tongue out", +undecided:"Undecided", +wink:"Wink", +yell:"Yell" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/es_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/es_dlg.js old mode 100644 new mode 100755 index 0d95db55d0..9a6699410e --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/es_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/es_dlg.js @@ -1,20 +1,20 @@ -tinyMCE.addI18n('es.emotions_dlg',{ -title:"Insertar emoticon", -desc:"Emoticones", -cool:"Todo bien", -cry:"Llora", -embarassed:"Verg\u00FCenza", -foot_in_mouth:"Pie en la boca", -frown:"Triste", -innocent:"Inocente", -kiss:"Beso", -laughing:"Risa", -money_mouth:"Dinero boca", -sealed:"Sellado", -smile:"Sonrisa", -surprised:"Sorprendido", -tongue_out:"Lengua fuera", -undecided:"Indeciso", -wink:"Gui\u00F1o", -yell:"Enfadado" +tinyMCE.addI18n('es.emotions_dlg',{ +title:"Insertar emoticon", +desc:"Emoticones", +cool:"Todo bien", +cry:"Llora", +embarassed:"Verg\u00FCenza", +foot_in_mouth:"Pie en la boca", +frown:"Triste", +innocent:"Inocente", +kiss:"Beso", +laughing:"Risa", +money_mouth:"Dinero boca", +sealed:"Sellado", +smile:"Sonrisa", +surprised:"Sorprendido", +tongue_out:"Lengua fuera", +undecided:"Indeciso", +wink:"Gui\u00F1o", +yell:"Enfadado" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fa_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fa_dlg.js old mode 100644 new mode 100755 index 0380b044f0..4b48473957 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fa_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fa_dlg.js @@ -1,20 +1,20 @@ -tinyMCE.addI18n('fa.emotions_dlg',{ -title:"\u062F\u0631\u062C \u0634\u06A9\u0644\u06A9", -desc:"\u0634\u06A9\u0644\u06A9 \u0647\u0627", -cool:"\u0622\u0631\u0627\u0645", -cry:"\u06AF\u0631\u06CC\u0647", -embarassed:"\u062E\u062C\u0627\u0644\u062A\u06CC", -foot_in_mouth:"\u067E\u0627 \u062F\u0631 \u062F\u0647\u0627\u0646", -frown:"\u0627\u062E\u0645", -innocent:"\u0628\u06CC \u062A\u0642\u0635\u06CC\u0631", -kiss:"\u0628\u0648\u0633\u0647", -laughing:"\u062E\u0646\u062F\u0647", -money_mouth:"\u067E\u0648\u0644 \u062F\u0631 \u062F\u0647\u0627\u0646", -sealed:"\u0645\u0647\u0631 \u0634\u062F\u0647", -smile:"\u0644\u0628\u062E\u0646\u062F", -surprised:"\u0645\u062A\u0639\u062C\u0628", -tongue_out:"\u0632\u0628\u0627\u0646 \u062F\u0631\u0627\u0632\u06CC", -undecided:"\u0645\u0631\u062F\u062F", -wink:"\u0686\u0634\u0645\u06A9", -yell:"\u0641\u0631\u06CC\u0627\u062F" +tinyMCE.addI18n('fa.emotions_dlg',{ +title:"\u062F\u0631\u062C \u0634\u06A9\u0644\u06A9", +desc:"\u0634\u06A9\u0644\u06A9 \u0647\u0627", +cool:"\u0622\u0631\u0627\u0645", +cry:"\u06AF\u0631\u06CC\u0647", +embarassed:"\u062E\u062C\u0627\u0644\u062A\u06CC", +foot_in_mouth:"\u067E\u0627 \u062F\u0631 \u062F\u0647\u0627\u0646", +frown:"\u0627\u062E\u0645", +innocent:"\u0628\u06CC \u062A\u0642\u0635\u06CC\u0631", +kiss:"\u0628\u0648\u0633\u0647", +laughing:"\u062E\u0646\u062F\u0647", +money_mouth:"\u067E\u0648\u0644 \u062F\u0631 \u062F\u0647\u0627\u0646", +sealed:"\u0645\u0647\u0631 \u0634\u062F\u0647", +smile:"\u0644\u0628\u062E\u0646\u062F", +surprised:"\u0645\u062A\u0639\u062C\u0628", +tongue_out:"\u0632\u0628\u0627\u0646 \u062F\u0631\u0627\u0632\u06CC", +undecided:"\u0645\u0631\u062F\u062F", +wink:"\u0686\u0634\u0645\u06A9", +yell:"\u0641\u0631\u06CC\u0627\u062F" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fi_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fi_dlg.js old mode 100644 new mode 100755 index b34fe0df30..0af540228f --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fi_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fi_dlg.js @@ -1,20 +1,20 @@ -tinyMCE.addI18n('fi.emotions_dlg',{ -title:"Lis\u00E4\u00E4 hymi\u00F6", -desc:"Hymi\u00F6t", -cool:"Cool", -cry:"Itku", -embarassed:"Nolostunut", -foot_in_mouth:"Jalka suussa", -frown:"Otsan rypistys", -innocent:"Viaton", -kiss:"Pusu", -laughing:"Nauru", -money_mouth:"Klink Klink (raha)", -sealed:"Tukittu", -smile:"Hymy", -surprised:"Yll\u00E4ttynyt", -tongue_out:"Kieli ulkona", -undecided:"P\u00E4\u00E4tt\u00E4m\u00E4t\u00F6n", -wink:"Silm\u00E4nisku", -yell:"Huuto" +tinyMCE.addI18n('fi.emotions_dlg',{ +title:"Lis\u00E4\u00E4 hymi\u00F6", +desc:"Hymi\u00F6t", +cool:"Cool", +cry:"Itku", +embarassed:"Nolostunut", +foot_in_mouth:"Jalka suussa", +frown:"Otsan rypistys", +innocent:"Viaton", +kiss:"Pusu", +laughing:"Nauru", +money_mouth:"Klink Klink (raha)", +sealed:"Tukittu", +smile:"Hymy", +surprised:"Yll\u00E4ttynyt", +tongue_out:"Kieli ulkona", +undecided:"P\u00E4\u00E4tt\u00E4m\u00E4t\u00F6n", +wink:"Silm\u00E4nisku", +yell:"Huuto" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fr_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fr_dlg.js old mode 100644 new mode 100755 index e9ba93d8c9..49534624a9 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fr_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fr_dlg.js @@ -1,20 +1,20 @@ -tinyMCE.addI18n('fr.emotions_dlg',{ -title:"Ins\u00E9rer une \u00E9motic\u00F4ne", -desc:"\u00C9motic\u00F4nes", -cool:"Cool", -cry:"En pleurs", -embarassed:"Embarrass\u00E9", -foot_in_mouth:"Pied de nez", -frown:"D\u00E9\u00E7u", -innocent:"Innocent", -kiss:"Bisou", -laughing:"Rigolant", -money_mouth:"Avare", -sealed:"Bouche cousue", -smile:"Sourire", -surprised:"Surpris", -tongue_out:"Langue tir\u00E9e", -undecided:"Incertain", -wink:"Clin d'\u0153il", -yell:"Criant" +tinyMCE.addI18n('fr.emotions_dlg',{ +title:"Ins\u00E9rer une \u00E9motic\u00F4ne", +desc:"\u00C9motic\u00F4nes", +cool:"Cool", +cry:"En pleurs", +embarassed:"Embarrass\u00E9", +foot_in_mouth:"Pied de nez", +frown:"D\u00E9\u00E7u", +innocent:"Innocent", +kiss:"Bisou", +laughing:"Rigolant", +money_mouth:"Avare", +sealed:"Bouche cousue", +smile:"Sourire", +surprised:"Surpris", +tongue_out:"Langue tir\u00E9e", +undecided:"Incertain", +wink:"Clin d'\u0153il", +yell:"Criant" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/he_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/he_dlg.js old mode 100644 new mode 100755 index 061473f04f..a838e7cb91 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/he_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/he_dlg.js @@ -1,20 +1,20 @@ -tinyMCE.addI18n('he.emotions_dlg',{ -title:"\u05D4\u05D5\u05E1\u05E4\u05EA \u05E1\u05DE\u05D9\u05D9\u05DC\u05D9", -desc:"\u05E1\u05DE\u05D9\u05D9\u05DC\u05D9\u05DD", -cool:"\u05DE\u05D2\u05E0\u05D9\u05D1", -cry:"\u05D1\u05D5\u05DB\u05D4", -embarassed:"\u05E0\u05D1\u05D5\u05DA", -foot_in_mouth:"\u05E8\u05D2\u05DC \u05D1\u05E4\u05D4", -frown:"\u05DE\u05D6\u05E2\u05D9\u05E3 \u05D0\u05EA \u05D4\u05E4\u05D4", -innocent:"\u05EA\u05DE\u05D9\u05DD", -kiss:"\u05E0\u05E9\u05D9\u05E7\u05D4", -laughing:"\u05E6\u05D5\u05D7\u05E7", -money_mouth:"\u05DB\u05E1\u05E3", -sealed:"\u05D0\u05D8\u05D5\u05DD", -smile:"\u05D7\u05D9\u05D5\u05DA", -surprised:"\u05DE\u05D5\u05E4\u05EA\u05E2", -tongue_out:"\u05DC\u05E9\u05D5\u05DF \u05D1\u05D7\u05D5\u05E5", -undecided:"\u05D4\u05E1\u05E0\u05E0\u05D9", -wink:"\u05E7\u05E8\u05D9\u05E6\u05D4", -yell:"\u05E6\u05E2\u05E7\u05D4" +tinyMCE.addI18n('he.emotions_dlg',{ +title:"\u05D4\u05D5\u05E1\u05E4\u05EA \u05E1\u05DE\u05D9\u05D9\u05DC\u05D9", +desc:"\u05E1\u05DE\u05D9\u05D9\u05DC\u05D9\u05DD", +cool:"\u05DE\u05D2\u05E0\u05D9\u05D1", +cry:"\u05D1\u05D5\u05DB\u05D4", +embarassed:"\u05E0\u05D1\u05D5\u05DA", +foot_in_mouth:"\u05E8\u05D2\u05DC \u05D1\u05E4\u05D4", +frown:"\u05DE\u05D6\u05E2\u05D9\u05E3 \u05D0\u05EA \u05D4\u05E4\u05D4", +innocent:"\u05EA\u05DE\u05D9\u05DD", +kiss:"\u05E0\u05E9\u05D9\u05E7\u05D4", +laughing:"\u05E6\u05D5\u05D7\u05E7", +money_mouth:"\u05DB\u05E1\u05E3", +sealed:"\u05D0\u05D8\u05D5\u05DD", +smile:"\u05D7\u05D9\u05D5\u05DA", +surprised:"\u05DE\u05D5\u05E4\u05EA\u05E2", +tongue_out:"\u05DC\u05E9\u05D5\u05DF \u05D1\u05D7\u05D5\u05E5", +undecided:"\u05D4\u05E1\u05E0\u05E0\u05D9", +wink:"\u05E7\u05E8\u05D9\u05E6\u05D4", +yell:"\u05E6\u05E2\u05E7\u05D4" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/it_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/it_dlg.js old mode 100644 new mode 100755 index 8b9efb7849..2785165023 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/it_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/it_dlg.js @@ -1,20 +1,20 @@ -tinyMCE.addI18n('it.emotions_dlg',{ -title:"Inserisci faccina", -desc:"Faccina", -cool:"Fico", -cry:"Piango", -embarassed:"Imbarazzato", -foot_in_mouth:"Piede in bocca", -frown:"Triste", -innocent:"Santarellino", -kiss:"Bacio", -laughing:"Risatona", -money_mouth:"Bocca danarosa", -sealed:"Bocca sigillata", -smile:"Sorridente", -surprised:"Sorpreso", -tongue_out:"Linguaccia", -undecided:"Indeciso", -wink:"Occhiolino", -yell:"Arrabbiato" +tinyMCE.addI18n('it.emotions_dlg',{ +title:"Inserisci faccina", +desc:"Faccina", +cool:"Fico", +cry:"Piango", +embarassed:"Imbarazzato", +foot_in_mouth:"Piede in bocca", +frown:"Triste", +innocent:"Santarellino", +kiss:"Bacio", +laughing:"Risatona", +money_mouth:"Bocca danarosa", +sealed:"Bocca sigillata", +smile:"Sorridente", +surprised:"Sorpreso", +tongue_out:"Linguaccia", +undecided:"Indeciso", +wink:"Occhiolino", +yell:"Arrabbiato" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/ja_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/ja_dlg.js old mode 100644 new mode 100755 index cf988a7fed..53f816e804 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/ja_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/ja_dlg.js @@ -1,20 +1,20 @@ -tinyMCE.addI18n('ja.emotions_dlg',{ -title:"\u8868\u60C5\u30A2\u30A4\u30B3\u30F3\u306E\u633F\u5165", -desc:"\u8868\u60C5\u30A2\u30A4\u30B3\u30F3", -cool:"Cool", -cry:"Cry", -embarassed:"Embarassed", -foot_in_mouth:"Foot in mouth", -frown:"Frown", -innocent:"Innocent", -kiss:"Kiss", -laughing:"Laughing", -money_mouth:"Money mouth", -sealed:"Sealed", -smile:"Smile", -surprised:"Surprised", -tongue_out:"Tongue out", -undecided:"Undecided", -wink:"Wink", -yell:"Yell" +tinyMCE.addI18n('ja.emotions_dlg',{ +title:"\u8868\u60C5\u30A2\u30A4\u30B3\u30F3\u306E\u633F\u5165", +desc:"\u8868\u60C5\u30A2\u30A4\u30B3\u30F3", +cool:"Cool", +cry:"Cry", +embarassed:"Embarassed", +foot_in_mouth:"Foot in mouth", +frown:"Frown", +innocent:"Innocent", +kiss:"Kiss", +laughing:"Laughing", +money_mouth:"Money mouth", +sealed:"Sealed", +smile:"Smile", +surprised:"Surprised", +tongue_out:"Tongue out", +undecided:"Undecided", +wink:"Wink", +yell:"Yell" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/nl_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/nl_dlg.js old mode 100644 new mode 100755 index 39f797d943..d40b863375 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/nl_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/nl_dlg.js @@ -1,20 +1,20 @@ -tinyMCE.addI18n('nl.emotions_dlg',{ -title:"Emotie invoegen", -desc:"Emoties", -cool:"Stoer", -cry:"Huilen", -embarassed:"Schamen", -foot_in_mouth:"Verstomd", -frown:"Wenkbrauw ophalen", -innocent:"Onschuldig", -kiss:"Zoenen", -laughing:"Lachen", -money_mouth:"Hebberig", -sealed:"Afgesloten", -smile:"Lachen", -surprised:"Verrast", -tongue_out:"Tong uitsteken", -undecided:"Onbeslist", -wink:"Knipogen", -yell:"Roepen" +tinyMCE.addI18n('nl.emotions_dlg',{ +title:"Emotie invoegen", +desc:"Emoties", +cool:"Stoer", +cry:"Huilen", +embarassed:"Schamen", +foot_in_mouth:"Verstomd", +frown:"Wenkbrauw ophalen", +innocent:"Onschuldig", +kiss:"Zoenen", +laughing:"Lachen", +money_mouth:"Hebberig", +sealed:"Afgesloten", +smile:"Lachen", +surprised:"Verrast", +tongue_out:"Tong uitsteken", +undecided:"Onbeslist", +wink:"Knipogen", +yell:"Roepen" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/nn_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/nn_dlg.js old mode 100644 new mode 100755 index 3967fbc998..718b3fa8ac --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/nn_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/nn_dlg.js @@ -1,20 +1,20 @@ -tinyMCE.addI18n('nn.emotions_dlg',{ -title:"Set inn hum\u00F8rfjes", -desc:"Hum\u00F8rfjes", -cool:"Cool", -cry:"Gret", -embarassed:"Flau", -foot_in_mouth:"Fot i munnen", -frown:"Skuffa", -innocent:"Uskyldig", -kiss:"Kyss", -laughing:"Ler", -money_mouth:"Pengar i munnen", -sealed:"Hemmeleg", -smile:"Glad", -surprised:"Overraska", -tongue_out:"Rekkje tunge", -undecided:"Skeptisk", -wink:"Blunke", -yell:"Skri" +tinyMCE.addI18n('nn.emotions_dlg',{ +title:"Set inn hum\u00F8rfjes", +desc:"Hum\u00F8rfjes", +cool:"Cool", +cry:"Gret", +embarassed:"Flau", +foot_in_mouth:"Fot i munnen", +frown:"Skuffa", +innocent:"Uskyldig", +kiss:"Kyss", +laughing:"Ler", +money_mouth:"Pengar i munnen", +sealed:"Hemmeleg", +smile:"Glad", +surprised:"Overraska", +tongue_out:"Rekkje tunge", +undecided:"Skeptisk", +wink:"Blunke", +yell:"Skri" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/pl_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/pl_dlg.js old mode 100644 new mode 100755 index e34861e2d7..c69bf3512b --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/pl_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/pl_dlg.js @@ -1,20 +1,20 @@ -tinyMCE.addI18n('pl.emotions_dlg',{ -title:"Wstaw emotikon\u0119", -desc:"Emotikony", -cool:"Cool", -cry:"Cry", -embarassed:"Embarassed", -foot_in_mouth:"Foot in mouth", -frown:"Frown", -innocent:"Innocent", -kiss:"Kiss", -laughing:"Laughing", -money_mouth:"Money mouth", -sealed:"Sealed", -smile:"Smile", -surprised:"Surprised", -tongue_out:"Tongue out", -undecided:"Undecided", -wink:"Wink", -yell:"Yell" +tinyMCE.addI18n('pl.emotions_dlg',{ +title:"Wstaw emotikon\u0119", +desc:"Emotikony", +cool:"Cool", +cry:"Cry", +embarassed:"Embarassed", +foot_in_mouth:"Foot in mouth", +frown:"Frown", +innocent:"Innocent", +kiss:"Kiss", +laughing:"Laughing", +money_mouth:"Money mouth", +sealed:"Sealed", +smile:"Smile", +surprised:"Surprised", +tongue_out:"Tongue out", +undecided:"Undecided", +wink:"Wink", +yell:"Yell" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/pt_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/pt_dlg.js old mode 100644 new mode 100755 index c79cec8e4d..a590a295e1 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/pt_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/pt_dlg.js @@ -1,20 +1,20 @@ -tinyMCE.addI18n('pt.emotions_dlg',{ -title:"Inserir emoticon", -desc:"Emoticons", -cool:"Fixe", -cry:"Chor\u00E3o", -embarassed:"Embara\u00E7ado", -foot_in_mouth:"Disse asneira", -frown:"Decep\u00E7\u00E3o", -innocent:"Inocente", -kiss:"Beijo", -laughing:"Riso", -money_mouth:"Avarez", -sealed:"Boca Fechada", -smile:"Sorriso", -surprised:"Surpresa", -tongue_out:"L\u00EDngua de fora", -undecided:"Indeciso", -wink:"Piscadela", -yell:"Irado" +tinyMCE.addI18n('pt.emotions_dlg',{ +title:"Inserir emoticon", +desc:"Emoticons", +cool:"Fixe", +cry:"Chor\u00E3o", +embarassed:"Embara\u00E7ado", +foot_in_mouth:"Disse asneira", +frown:"Decep\u00E7\u00E3o", +innocent:"Inocente", +kiss:"Beijo", +laughing:"Riso", +money_mouth:"Avarez", +sealed:"Boca Fechada", +smile:"Sorriso", +surprised:"Surpresa", +tongue_out:"L\u00EDngua de fora", +undecided:"Indeciso", +wink:"Piscadela", +yell:"Irado" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/ru_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/ru_dlg.js old mode 100644 new mode 100755 index 5186e0a351..0d43887e4d --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/ru_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/ru_dlg.js @@ -1,20 +1,20 @@ -tinyMCE.addI18n('ru.emotions_dlg',{ -title:"\u0412\u044B\u0431\u043E\u0440 \u0441\u043C\u0430\u0439\u043B\u0430", -desc:"\u0421\u043C\u0430\u0439\u043B\u044B", -cool:"Cool", -cry:"Cry", -embarassed:"Embarassed", -foot_in_mouth:"Foot in mouth", -frown:"Frown", -innocent:"Innocent", -kiss:"Kiss", -laughing:"Laughing", -money_mouth:"Money mouth", -sealed:"Sealed", -smile:"Smile", -surprised:"Surprised", -tongue_out:"Tongue out", -undecided:"Undecided", -wink:"Wink", -yell:"Yell" +tinyMCE.addI18n('ru.emotions_dlg',{ +title:"\u0412\u044B\u0431\u043E\u0440 \u0441\u043C\u0430\u0439\u043B\u0430", +desc:"\u0421\u043C\u0430\u0439\u043B\u044B", +cool:"Cool", +cry:"Cry", +embarassed:"Embarassed", +foot_in_mouth:"Foot in mouth", +frown:"Frown", +innocent:"Innocent", +kiss:"Kiss", +laughing:"Laughing", +money_mouth:"Money mouth", +sealed:"Sealed", +smile:"Smile", +surprised:"Surprised", +tongue_out:"Tongue out", +undecided:"Undecided", +wink:"Wink", +yell:"Yell" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/sv_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/sv_dlg.js old mode 100644 new mode 100755 index cc6c35687b..f75b798298 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/sv_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/sv_dlg.js @@ -1,20 +1,20 @@ -tinyMCE.addI18n('sv.emotions_dlg',{ -title:"Infoga smiley", -desc:"Smileys", -cool:"Cool", -cry:"Gr\u00E5ter", -embarassed:"Sk\u00E4ms", -foot_in_mouth:"Foten i munnen", -frown:"Rynkar p\u00E5 n\u00E4san", -innocent:"Oskyldig", -kiss:"Kyss", -laughing:"Skrattande", -money_mouth:"Guld i mun", -sealed:"Tyst", -smile:"Glad", -surprised:"F\u00F6rv\u00E5nad", -tongue_out:"Tungan ute", -undecided:"Obest\u00E4md", -wink:"Fl\u00F6rt", -yell:"Skrikandes" +tinyMCE.addI18n('sv.emotions_dlg',{ +title:"Infoga smiley", +desc:"Smileys", +cool:"Cool", +cry:"Gr\u00E5ter", +embarassed:"Sk\u00E4ms", +foot_in_mouth:"Foten i munnen", +frown:"Rynkar p\u00E5 n\u00E4san", +innocent:"Oskyldig", +kiss:"Kyss", +laughing:"Skrattande", +money_mouth:"Guld i mun", +sealed:"Tyst", +smile:"Glad", +surprised:"F\u00F6rv\u00E5nad", +tongue_out:"Tungan ute", +undecided:"Obest\u00E4md", +wink:"Fl\u00F6rt", +yell:"Skrikandes" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/zh_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/zh_dlg.js old mode 100644 new mode 100755 index de869692fb..e0175f9e0d --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/zh_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/emotions/langs/zh_dlg.js @@ -1,20 +1,20 @@ -tinyMCE.addI18n('zh.emotions_dlg',{ -title:"\u63D2\u5165\u8868\u60C5", -desc:"\u8868\u60C5\u5217\u8868", -cool:"\u9177", -cry:"\u54ED\u6CE3", -embarassed:"\u5C37\u5C2C", -foot_in_mouth:"\u54A7\u5634", -frown:"\u76BA\u7709", -innocent:"\u5929\u771F", -kiss:"\u543B", -laughing:"\u5927\u7B11", -money_mouth:"\u767C\u8CA1", -sealed:"\u4FDD\u5BC6", -smile:"\u5FAE\u7B11", -surprised:"\u9A5A\u8A1D", -tongue_out:"\u5410\u820C\u982D", -undecided:"\u601D\u8003", -wink:"\u7728\u773C", -yell:"\u5927\u53EB" +tinyMCE.addI18n('zh.emotions_dlg',{ +title:"\u63D2\u5165\u8868\u60C5", +desc:"\u8868\u60C5\u5217\u8868", +cool:"\u9177", +cry:"\u54ED\u6CE3", +embarassed:"\u5C37\u5C2C", +foot_in_mouth:"\u54A7\u5634", +frown:"\u76BA\u7709", +innocent:"\u5929\u771F", +kiss:"\u543B", +laughing:"\u5927\u7B11", +money_mouth:"\u767C\u8CA1", +sealed:"\u4FDD\u5BC6", +smile:"\u5FAE\u7B11", +surprised:"\u9A5A\u8A1D", +tongue_out:"\u5410\u820C\u982D", +undecided:"\u601D\u8003", +wink:"\u7728\u773C", +yell:"\u5927\u53EB" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css old mode 100644 new mode 100755 index 7a3334f08d..1854eca942 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css @@ -1,182 +1,182 @@ -/* Hide the advanced tab */ -#advanced_tab { - display: none; -} - -#metatitle, #metakeywords, #metadescription, #metaauthor, #metacopyright { - width: 280px; -} - -#doctype, #docencoding { - width: 200px; -} - -#langcode { - width: 30px; -} - -#bgimage { - width: 220px; -} - -#fontface { - width: 240px; -} - -#leftmargin, #rightmargin, #topmargin, #bottommargin { - width: 50px; -} - -.panel_wrapper div.current { - height: 400px; -} - -#stylesheet, #style { - width: 240px; -} - -/* Head list classes */ - -.headlistwrapper { - width: 100%; -} - -.addbutton, .removebutton, .moveupbutton, .movedownbutton { - border-top: 1px solid; - border-left: 1px solid; - border-bottom: 1px solid; - border-right: 1px solid; - border-color: #F0F0EE; - cursor: default; - display: block; - width: 20px; - height: 20px; -} - -#doctypes { - width: 200px; -} - -.addbutton:hover, .removebutton:hover, .moveupbutton:hover, .movedownbutton:hover { - border: 1px solid #0A246A; - background-color: #B6BDD2; -} - -.addbutton { - background-image: url('../images/add.gif'); - float: left; - margin-right: 3px; -} - -.removebutton { - background-image: url('../images/remove.gif'); - float: left; -} - -.moveupbutton { - background-image: url('../images/move_up.gif'); - float: left; - margin-right: 3px; -} - -.movedownbutton { - background-image: url('../images/move_down.gif'); - float: left; -} - -.selected { - border: 1px solid #0A246A; - background-color: #B6BDD2; -} - -.toolbar { - width: 100%; -} - -#headlist { - width: 100%; - margin-top: 3px; - font-size: 11px; -} - -#info, #title_element, #meta_element, #script_element, #style_element, #base_element, #link_element, #comment_element, #unknown_element { - display: none; -} - -#addmenu { - position: absolute; - border: 1px solid gray; - display: none; - z-index: 100; - background-color: white; -} - -#addmenu a { - display: block; - width: 100%; - line-height: 20px; - text-decoration: none; - background-color: white; -} - -#addmenu a:hover { - background-color: #B6BDD2; - color: black; -} - -#addmenu span { - padding-left: 10px; - padding-right: 10px; -} - -#updateElementPanel { - display: none; -} - -#script_element .panel_wrapper div.current { - height: 108px; -} - -#style_element .panel_wrapper div.current { - height: 108px; -} - -#link_element .panel_wrapper div.current { - height: 140px; -} - -#element_script_value { - width: 100%; - height: 100px; -} - -#element_comment_value { - width: 100%; - height: 120px; -} - -#element_style_value { - width: 100%; - height: 100px; -} - -#element_title, #element_script_src, #element_meta_name, #element_meta_content, #element_base_href, #element_link_href, #element_link_title { - width: 250px; -} - -.updateElementButton { - margin-top: 3px; -} - -/* MSIE specific styles */ - -* html .addbutton, * html .removebutton, * html .moveupbutton, * html .movedownbutton { - width: 22px; - height: 22px; -} - -textarea { - height: 55px; -} - +/* Hide the advanced tab */ +#advanced_tab { + display: none; +} + +#metatitle, #metakeywords, #metadescription, #metaauthor, #metacopyright { + width: 280px; +} + +#doctype, #docencoding { + width: 200px; +} + +#langcode { + width: 30px; +} + +#bgimage { + width: 220px; +} + +#fontface { + width: 240px; +} + +#leftmargin, #rightmargin, #topmargin, #bottommargin { + width: 50px; +} + +.panel_wrapper div.current { + height: 400px; +} + +#stylesheet, #style { + width: 240px; +} + +/* Head list classes */ + +.headlistwrapper { + width: 100%; +} + +.addbutton, .removebutton, .moveupbutton, .movedownbutton { + border-top: 1px solid; + border-left: 1px solid; + border-bottom: 1px solid; + border-right: 1px solid; + border-color: #F0F0EE; + cursor: default; + display: block; + width: 20px; + height: 20px; +} + +#doctypes { + width: 200px; +} + +.addbutton:hover, .removebutton:hover, .moveupbutton:hover, .movedownbutton:hover { + border: 1px solid #0A246A; + background-color: #B6BDD2; +} + +.addbutton { + background-image: url('../images/add.gif'); + float: left; + margin-right: 3px; +} + +.removebutton { + background-image: url('../images/remove.gif'); + float: left; +} + +.moveupbutton { + background-image: url('../images/move_up.gif'); + float: left; + margin-right: 3px; +} + +.movedownbutton { + background-image: url('../images/move_down.gif'); + float: left; +} + +.selected { + border: 1px solid #0A246A; + background-color: #B6BDD2; +} + +.toolbar { + width: 100%; +} + +#headlist { + width: 100%; + margin-top: 3px; + font-size: 11px; +} + +#info, #title_element, #meta_element, #script_element, #style_element, #base_element, #link_element, #comment_element, #unknown_element { + display: none; +} + +#addmenu { + position: absolute; + border: 1px solid gray; + display: none; + z-index: 100; + background-color: white; +} + +#addmenu a { + display: block; + width: 100%; + line-height: 20px; + text-decoration: none; + background-color: white; +} + +#addmenu a:hover { + background-color: #B6BDD2; + color: black; +} + +#addmenu span { + padding-left: 10px; + padding-right: 10px; +} + +#updateElementPanel { + display: none; +} + +#script_element .panel_wrapper div.current { + height: 108px; +} + +#style_element .panel_wrapper div.current { + height: 108px; +} + +#link_element .panel_wrapper div.current { + height: 140px; +} + +#element_script_value { + width: 100%; + height: 100px; +} + +#element_comment_value { + width: 100%; + height: 120px; +} + +#element_style_value { + width: 100%; + height: 100px; +} + +#element_title, #element_script_src, #element_meta_name, #element_meta_content, #element_base_href, #element_link_href, #element_link_title { + width: 250px; +} + +.updateElementButton { + margin-top: 3px; +} + +/* MSIE specific styles */ + +* html .addbutton, * html .removebutton, * html .moveupbutton, * html .movedownbutton { + width: 22px; + height: 22px; +} + +textarea { + height: 55px; +} + .panel_wrapper div.current {height:420px;} \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm old mode 100644 new mode 100755 index c32afaf2d9..d8e62fb3fe --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm @@ -1,571 +1,571 @@ - - - - {#fullpage_dlg.title} - - - - - - - -
    - - -
    -
    -
    - {#fullpage_dlg.meta_props} - - - - - - - - - - - - - - - - - - - - - - - - - - -
     
     
     
     
     
      - -
    -
    - -
    - {#fullpage_dlg.langprops} - - - - - - - - - - - - - - - - - - - - - - -
    - -
      - -
     
    - -
     
    -
    -
    - -
    -
    - {#fullpage_dlg.appearance_textprops} - - - - - - - - - - - - - - - - -
    - -
    - -
    - - - - - -
     
    -
    -
    - -
    - {#fullpage_dlg.appearance_bgprops} - - - - - - - - - - -
    - - - - - -
     
    -
    - - - - - -
     
    -
    -
    - -
    - {#fullpage_dlg.appearance_marginprops} - - - - - - - - - - - - - - -
    -
    - -
    - {#fullpage_dlg.appearance_linkprops} - - - - - - - - - - - - - - - - - - - -
    - - - - - -
    -
    - - - - - -
     
    -
    - - - - - -
     
    -
      
    -
    - -
    - {#fullpage_dlg.appearance_style} - - - - - - - - - - -
    - - - - -
     
    -
    -
    - -
    - - -
    - {#fullpage_dlg.head_elements} - -
    -
    -
    - - -
    -
    - - -
    -
    -
    - -
    -
    - -
    - {#fullpage_dlg.meta_element} - - - - - - - - - - - - - - -
    - - -
    - -
    - {#fullpage_dlg.title_element} - - - - - - -
    - - -
    - -
    - {#fullpage_dlg.script_element} - - - -
    - -
    -
    - - - - - - - - - - - - - - - - - -
    - - - - -
     
    -
    - -
    - -
    -
    - - -
    - -
    - {#fullpage_dlg.style_element} - - - -
    - -
    -
    - - - - - - - - - -
    -
    - -
    - -
    -
    - - -
    - -
    - {#fullpage_dlg.base_element} - - - - - - - - - - -
    - - -
    - - - -
    - {#fullpage_dlg.comment_element} - - - - -
    -
    -
    - -
    - - -
    -
    - - + + + + {#fullpage_dlg.title} + + + + + + + +
    + + +
    +
    +
    + {#fullpage_dlg.meta_props} + + + + + + + + + + + + + + + + + + + + + + + + + + +
     
     
     
     
     
      + +
    +
    + +
    + {#fullpage_dlg.langprops} + + + + + + + + + + + + + + + + + + + + + + +
    + +
      + +
     
    + +
     
    +
    +
    + +
    +
    + {#fullpage_dlg.appearance_textprops} + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + + +
     
    +
    +
    + +
    + {#fullpage_dlg.appearance_bgprops} + + + + + + + + + + +
    + + + + + +
     
    +
    + + + + + +
     
    +
    +
    + +
    + {#fullpage_dlg.appearance_marginprops} + + + + + + + + + + + + + + +
    +
    + +
    + {#fullpage_dlg.appearance_linkprops} + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    + + + + + +
     
    +
    + + + + + +
     
    +
      
    +
    + +
    + {#fullpage_dlg.appearance_style} + + + + + + + + + + +
    + + + + +
     
    +
    +
    + +
    + + +
    + {#fullpage_dlg.head_elements} + +
    +
    +
    + + +
    +
    + + +
    +
    +
    + +
    +
    + +
    + {#fullpage_dlg.meta_element} + + + + + + + + + + + + + + +
    + + +
    + +
    + {#fullpage_dlg.title_element} + + + + + + +
    + + +
    + +
    + {#fullpage_dlg.script_element} + + + +
    + +
    +
    + + + + + + + + + + + + + + + + + +
    + + + + +
     
    +
    + +
    + +
    +
    + + +
    + +
    + {#fullpage_dlg.style_element} + + + +
    + +
    +
    + + + + + + + + + +
    +
    + +
    + +
    +
    + + +
    + +
    + {#fullpage_dlg.base_element} + + + + + + + + + + +
    + + +
    + + + +
    + {#fullpage_dlg.comment_element} + + + + +
    +
    +
    + +
    + + +
    +
    + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js old mode 100644 new mode 100755 index a1bb719a38..7a80fcd23e --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js @@ -1,471 +1,471 @@ -/** - * fullpage.js - * - * Copyright 2009, Moxiecode Systems AB - * Released under LGPL License. - * - * License: http://tinymce.moxiecode.com/license - * Contributing: http://tinymce.moxiecode.com/contributing - */ - -tinyMCEPopup.requireLangPack(); - -var doc; - -var defaultDocTypes = - 'XHTML 1.0 Transitional=,' + - 'XHTML 1.0 Frameset=,' + - 'XHTML 1.0 Strict=,' + - 'XHTML 1.1=,' + - 'HTML 4.01 Transitional=,' + - 'HTML 4.01 Strict=,' + - 'HTML 4.01 Frameset='; - -var defaultEncodings = - 'Western european (iso-8859-1)=iso-8859-1,' + - 'Central European (iso-8859-2)=iso-8859-2,' + - 'Unicode (UTF-8)=utf-8,' + - 'Chinese traditional (Big5)=big5,' + - 'Cyrillic (iso-8859-5)=iso-8859-5,' + - 'Japanese (iso-2022-jp)=iso-2022-jp,' + - 'Greek (iso-8859-7)=iso-8859-7,' + - 'Korean (iso-2022-kr)=iso-2022-kr,' + - 'ASCII (us-ascii)=us-ascii'; - -var defaultMediaTypes = - 'all=all,' + - 'screen=screen,' + - 'print=print,' + - 'tty=tty,' + - 'tv=tv,' + - 'projection=projection,' + - 'handheld=handheld,' + - 'braille=braille,' + - 'aural=aural'; - -var defaultFontNames = 'Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings'; -var defaultFontSizes = '10px,11px,12px,13px,14px,15px,16px'; - -function init() { - var f = document.forms['fullpage'], el = f.elements, e, i, p, doctypes, encodings, mediaTypes, fonts, ed = tinyMCEPopup.editor, dom = tinyMCEPopup.dom, style; - - // Setup doctype select box - doctypes = ed.getParam("fullpage_doctypes", defaultDocTypes).split(','); - for (i=0; i 1) - addSelectValue(f, 'doctypes', p[0], p[1]); - } - - // Setup fonts select box - fonts = ed.getParam("fullpage_fonts", defaultFontNames).split(';'); - for (i=0; i 1) - addSelectValue(f, 'fontface', p[0], p[1]); - } - - // Setup fontsize select box - fonts = ed.getParam("fullpage_fontsizes", defaultFontSizes).split(','); - for (i=0; i 1) { - addSelectValue(f, 'element_style_media', p[0], p[1]); - addSelectValue(f, 'element_link_media', p[0], p[1]); - } - } - - // Setup encodings select box - encodings = ed.getParam("fullpage_encodings", defaultEncodings).split(','); - for (i=0; i 1) { - addSelectValue(f, 'docencoding', p[0], p[1]); - addSelectValue(f, 'element_script_charset', p[0], p[1]); - addSelectValue(f, 'element_link_charset', p[0], p[1]); - } - } - - document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); - document.getElementById('link_color_pickcontainer').innerHTML = getColorPickerHTML('link_color_pick','link_color'); - //document.getElementById('hover_color_pickcontainer').innerHTML = getColorPickerHTML('hover_color_pick','hover_color'); - document.getElementById('visited_color_pickcontainer').innerHTML = getColorPickerHTML('visited_color_pick','visited_color'); - document.getElementById('active_color_pickcontainer').innerHTML = getColorPickerHTML('active_color_pick','active_color'); - document.getElementById('textcolor_pickcontainer').innerHTML = getColorPickerHTML('textcolor_pick','textcolor'); - document.getElementById('stylesheet_browsercontainer').innerHTML = getBrowserHTML('stylesheetbrowser','stylesheet','file','fullpage'); - document.getElementById('link_href_pickcontainer').innerHTML = getBrowserHTML('link_href_browser','element_link_href','file','fullpage'); - document.getElementById('script_src_pickcontainer').innerHTML = getBrowserHTML('script_src_browser','element_script_src','file','fullpage'); - document.getElementById('bgimage_pickcontainer').innerHTML = getBrowserHTML('bgimage_browser','bgimage','image','fullpage'); - - // Resize some elements - if (isVisible('stylesheetbrowser')) - document.getElementById('stylesheet').style.width = '220px'; - - if (isVisible('link_href_browser')) - document.getElementById('element_link_href').style.width = '230px'; - - if (isVisible('bgimage_browser')) - document.getElementById('bgimage').style.width = '210px'; - - // Add iframe - dom.add(document.body, 'iframe', {id : 'documentIframe', src : 'javascript:""', style : {display : 'none'}}); - doc = dom.get('documentIframe').contentWindow.document; - h = tinyMCEPopup.getWindowArg('head_html'); - - // Preprocess the HTML disable scripts and urls - h = h.replace(/ - - - -
    - -
    - - - - - + + + + + + + + +
    + +
    + + + + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm old mode 100644 new mode 100755 index f9ec64219d..c98fe41a67 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm @@ -1,387 +1,387 @@ - - - -Template for dialogs - - - - -
    -
    -
    -
    -
    -
    -
    - Blured -
    - -
    -
    - Content -
    -
    - -
    -
    -
    -
    - Statusbar text. -
    - - - - - - - - - - - - - - -
    -
    - -
    -
    -
    -
    -
    -
    - Focused -
    - -
    -
    - Content -
    -
    - -
    -
    -
    -
    - Statusbar text. -
    - - - - - - - - - - - - - - -
    -
    - -
    -
    -
    -
    -
    -
    - Statusbar -
    - -
    -
    - Content -
    -
    - -
    -
    -
    -
    - Statusbar text. -
    - - - - - - - - - - - - - - -
    -
    - -
    -
    -
    -
    -
    -
    - Statusbar, Resizable -
    - -
    -
    - Content -
    -
    - -
    -
    -
    -
    - Statusbar text. -
    - - - - - - - - - - - - - - -
    -
    - -
    -
    -
    -
    -
    -
    - Resizable, Maximizable -
    - -
    -
    - Content -
    -
    - -
    -
    -
    -
    - Statusbar text. -
    - - - - - - - - - - - - - - -
    -
    - -
    -
    -
    -
    -
    -
    - Blurred, Maximizable, Statusbar, Resizable -
    - -
    -
    - Content -
    -
    - -
    -
    -
    -
    - Statusbar text. -
    - - - - - - - - - - - - - - -
    -
    - -
    -
    -
    -
    -
    -
    - Maximized, Maximizable, Minimizable -
    - -
    -
    - Content -
    -
    - -
    -
    -
    -
    - Statusbar text. -
    - - - - - - - - - - - - - - -
    -
    - -
    -
    -
    -
    -
    -
    - Blured -
    - -
    -
    - Content -
    -
    - -
    -
    -
    -
    - Statusbar text. -
    - - - - - - - - - - - - - - -
    -
    - -
    -
    -
    -
    -
    -
    - Alert -
    - -
    -
    - - This is a very long error message. This is a very long error message. - This is a very long error message. This is a very long error message. - This is a very long error message. This is a very long error message. - This is a very long error message. This is a very long error message. - This is a very long error message. This is a very long error message. - This is a very long error message. This is a very long error message. - -
    -
    -
    - -
    -
    -
    -
    -
    - - - Ok - -
    -
    - -
    -
    -
    -
    -
    -
    - Confirm -
    - -
    -
    - - This is a very long error message. This is a very long error message. - This is a very long error message. This is a very long error message. - This is a very long error message. This is a very long error message. - This is a very long error message. This is a very long error message. - This is a very long error message. This is a very long error message. - This is a very long error message. This is a very long error message. - -
    -
    -
    - -
    -
    -
    -
    -
    - - - Ok - Cancel - -
    -
    -
    - - - + + + +Template for dialogs + + + + +
    +
    +
    +
    +
    +
    +
    + Blured +
    + +
    +
    + Content +
    +
    + +
    +
    +
    +
    + Statusbar text. +
    + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    + Focused +
    + +
    +
    + Content +
    +
    + +
    +
    +
    +
    + Statusbar text. +
    + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    + Statusbar +
    + +
    +
    + Content +
    +
    + +
    +
    +
    +
    + Statusbar text. +
    + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    + Statusbar, Resizable +
    + +
    +
    + Content +
    +
    + +
    +
    +
    +
    + Statusbar text. +
    + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    + Resizable, Maximizable +
    + +
    +
    + Content +
    +
    + +
    +
    +
    +
    + Statusbar text. +
    + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    + Blurred, Maximizable, Statusbar, Resizable +
    + +
    +
    + Content +
    +
    + +
    +
    +
    +
    + Statusbar text. +
    + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    + Maximized, Maximizable, Minimizable +
    + +
    +
    + Content +
    +
    + +
    +
    +
    +
    + Statusbar text. +
    + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    + Blured +
    + +
    +
    + Content +
    +
    + +
    +
    +
    +
    + Statusbar text. +
    + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    + Alert +
    + +
    +
    + + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + +
    +
    +
    + +
    +
    +
    +
    +
    + + + Ok + +
    +
    + +
    +
    +
    +
    +
    +
    + Confirm +
    + +
    +
    + + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + +
    +
    +
    + +
    +
    +
    +
    +
    + + + Ok + Cancel + +
    +
    +
    + + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/css/content.css b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/css/content.css old mode 100644 new mode 100755 index 1bf6a75869..7739381da5 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/css/content.css +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/css/content.css @@ -1,6 +1,6 @@ -.mceItemFlash, .mceItemShockWave, .mceItemQuickTime, .mceItemWindowsMedia, .mceItemRealMedia {border:1px dotted #cc0000; background-position:center; background-repeat:no-repeat; background-color:#ffffcc;} -.mceItemShockWave {background-image: url(../img/shockwave.gif);} -.mceItemFlash {background-image:url(../img/flash.gif);} -.mceItemQuickTime {background-image:url(../img/quicktime.gif);} -.mceItemWindowsMedia {background-image:url(../img/windowsmedia.gif);} -.mceItemRealMedia {background-image:url(../img/realmedia.gif);} +.mceItemFlash, .mceItemShockWave, .mceItemQuickTime, .mceItemWindowsMedia, .mceItemRealMedia {border:1px dotted #cc0000; background-position:center; background-repeat:no-repeat; background-color:#ffffcc;} +.mceItemShockWave {background-image: url(../img/shockwave.gif);} +.mceItemFlash {background-image:url(../img/flash.gif);} +.mceItemQuickTime {background-image:url(../img/quicktime.gif);} +.mceItemWindowsMedia {background-image:url(../img/windowsmedia.gif);} +.mceItemRealMedia {background-image:url(../img/realmedia.gif);} diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/css/media.css b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/css/media.css old mode 100644 new mode 100755 index 2d087944de..7b2253ba3d --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/css/media.css +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/css/media.css @@ -1,16 +1,16 @@ -#id, #name, #hspace, #vspace, #class_name, #align { width: 100px } -#hspace, #vspace { width: 50px } -#flash_quality, #flash_align, #flash_scale, #flash_salign, #flash_wmode { width: 100px } -#flash_base, #flash_flashvars { width: 240px } -#width, #height { width: 40px } -#src, #media_type { width: 250px } -#class { width: 120px } -#prev { margin: 0; border: 1px solid black; width: 380px; height: 230px; overflow: auto } -.panel_wrapper div.current { height: 390px; overflow: auto } -#flash_options, #shockwave_options, #qt_options, #wmp_options, #rmp_options { display: none } -.mceAddSelectValue { background-color: #DDDDDD } -#qt_starttime, #qt_endtime, #qt_fov, #qt_href, #qt_moveid, #qt_moviename, #qt_node, #qt_pan, #qt_qtsrc, #qt_qtsrcchokespeed, #qt_target, #qt_tilt, #qt_urlsubstituten, #qt_volume { width: 70px } -#wmp_balance, #wmp_baseurl, #wmp_captioningid, #wmp_currentmarker, #wmp_currentposition, #wmp_defaultframe, #wmp_playcount, #wmp_rate, #wmp_uimode, #wmp_volume { width: 70px } -#rmp_console, #rmp_numloop, #rmp_controls, #rmp_scriptcallbacks { width: 70px } -#shockwave_swvolume, #shockwave_swframe, #shockwave_swurl, #shockwave_swstretchvalign, #shockwave_swstretchhalign, #shockwave_swstretchstyle { width: 90px } -#qt_qtsrc { width: 200px } +#id, #name, #hspace, #vspace, #class_name, #align { width: 100px } +#hspace, #vspace { width: 50px } +#flash_quality, #flash_align, #flash_scale, #flash_salign, #flash_wmode { width: 100px } +#flash_base, #flash_flashvars { width: 240px } +#width, #height { width: 40px } +#src, #media_type { width: 250px } +#class { width: 120px } +#prev { margin: 0; border: 1px solid black; width: 380px; height: 230px; overflow: auto } +.panel_wrapper div.current { height: 390px; overflow: auto } +#flash_options, #shockwave_options, #qt_options, #wmp_options, #rmp_options { display: none } +.mceAddSelectValue { background-color: #DDDDDD } +#qt_starttime, #qt_endtime, #qt_fov, #qt_href, #qt_moveid, #qt_moviename, #qt_node, #qt_pan, #qt_qtsrc, #qt_qtsrcchokespeed, #qt_target, #qt_tilt, #qt_urlsubstituten, #qt_volume { width: 70px } +#wmp_balance, #wmp_baseurl, #wmp_captioningid, #wmp_currentmarker, #wmp_currentposition, #wmp_defaultframe, #wmp_playcount, #wmp_rate, #wmp_uimode, #wmp_volume { width: 70px } +#rmp_console, #rmp_numloop, #rmp_controls, #rmp_scriptcallbacks { width: 70px } +#shockwave_swvolume, #shockwave_swframe, #shockwave_swurl, #shockwave_swstretchvalign, #shockwave_swstretchhalign, #shockwave_swstretchstyle { width: 90px } +#qt_qtsrc { width: 200px } diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/js/embed.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/js/embed.js old mode 100644 new mode 100755 index f8dc810527..6fe25de090 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/js/embed.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/media/js/embed.js @@ -1,73 +1,73 @@ -/** - * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose. - */ - -function writeFlash(p) { - writeEmbed( - 'D27CDB6E-AE6D-11cf-96B8-444553540000', - 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', - 'application/x-shockwave-flash', - p - ); -} - -function writeShockWave(p) { - writeEmbed( - '166B1BCA-3F9C-11CF-8075-444553540000', - 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0', - 'application/x-director', - p - ); -} - -function writeQuickTime(p) { - writeEmbed( - '02BF25D5-8C17-4B23-BC80-D3488ABDDC6B', - 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0', - 'video/quicktime', - p - ); -} - -function writeRealMedia(p) { - writeEmbed( - 'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA', - 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', - 'audio/x-pn-realaudio-plugin', - p - ); -} - -function writeWindowsMedia(p) { - p.url = p.src; - writeEmbed( - '6BF52A52-394A-11D3-B153-00C04F79FAA6', - 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701', - 'application/x-mplayer2', - p - ); -} - -function writeEmbed(cls, cb, mt, p) { - var h = '', n; - - h += ''; - - h += ''; + + h += ''); - -function init() { - var pl = "", f, val; - var type = "flash", fe, i; - - ed = tinyMCEPopup.editor; - - tinyMCEPopup.resizeToInnerSize(); - f = document.forms[0] - - fe = ed.selection.getNode(); - if (/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(ed.dom.getAttrib(fe, 'class'))) { - pl = fe.title; - - switch (ed.dom.getAttrib(fe, 'class')) { - case 'mceItemFlash': - type = 'flash'; - break; - - case 'mceItemFlashVideo': - type = 'flv'; - break; - - case 'mceItemShockWave': - type = 'shockwave'; - break; - - case 'mceItemWindowsMedia': - type = 'wmp'; - break; - - case 'mceItemQuickTime': - type = 'qt'; - break; - - case 'mceItemRealMedia': - type = 'rmp'; - break; - } - - document.forms[0].insert.value = ed.getLang('update', 'Insert', true); - } - - document.getElementById('filebrowsercontainer').innerHTML = getBrowserHTML('filebrowser','src','media','media'); - document.getElementById('qtsrcfilebrowsercontainer').innerHTML = getBrowserHTML('qtsrcfilebrowser','qt_qtsrc','media','media'); - document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); - - var html = getMediaListHTML('medialist','src','media','media'); - if (html == "") - document.getElementById("linklistrow").style.display = 'none'; - else - document.getElementById("linklistcontainer").innerHTML = html; - - // Resize some elements - if (isVisible('filebrowser')) - document.getElementById('src').style.width = '230px'; - - // Setup form - if (pl != "") { - pl = tinyMCEPopup.editor.plugins.media._parse(pl); - - switch (type) { - case "flash": - setBool(pl, 'flash', 'play'); - setBool(pl, 'flash', 'loop'); - setBool(pl, 'flash', 'menu'); - setBool(pl, 'flash', 'swliveconnect'); - setStr(pl, 'flash', 'quality'); - setStr(pl, 'flash', 'scale'); - setStr(pl, 'flash', 'salign'); - setStr(pl, 'flash', 'wmode'); - setStr(pl, 'flash', 'base'); - setStr(pl, 'flash', 'flashvars'); - break; - - case "qt": - setBool(pl, 'qt', 'loop'); - setBool(pl, 'qt', 'autoplay'); - setBool(pl, 'qt', 'cache'); - setBool(pl, 'qt', 'controller'); - setBool(pl, 'qt', 'correction'); - setBool(pl, 'qt', 'enablejavascript'); - setBool(pl, 'qt', 'kioskmode'); - setBool(pl, 'qt', 'autohref'); - setBool(pl, 'qt', 'playeveryframe'); - setBool(pl, 'qt', 'tarsetcache'); - setStr(pl, 'qt', 'scale'); - setStr(pl, 'qt', 'starttime'); - setStr(pl, 'qt', 'endtime'); - setStr(pl, 'qt', 'tarset'); - setStr(pl, 'qt', 'qtsrcchokespeed'); - setStr(pl, 'qt', 'volume'); - setStr(pl, 'qt', 'qtsrc'); - break; - - case "shockwave": - setBool(pl, 'shockwave', 'sound'); - setBool(pl, 'shockwave', 'progress'); - setBool(pl, 'shockwave', 'autostart'); - setBool(pl, 'shockwave', 'swliveconnect'); - setStr(pl, 'shockwave', 'swvolume'); - setStr(pl, 'shockwave', 'swstretchstyle'); - setStr(pl, 'shockwave', 'swstretchhalign'); - setStr(pl, 'shockwave', 'swstretchvalign'); - break; - - case "wmp": - setBool(pl, 'wmp', 'autostart'); - setBool(pl, 'wmp', 'enabled'); - setBool(pl, 'wmp', 'enablecontextmenu'); - setBool(pl, 'wmp', 'fullscreen'); - setBool(pl, 'wmp', 'invokeurls'); - setBool(pl, 'wmp', 'mute'); - setBool(pl, 'wmp', 'stretchtofit'); - setBool(pl, 'wmp', 'windowlessvideo'); - setStr(pl, 'wmp', 'balance'); - setStr(pl, 'wmp', 'baseurl'); - setStr(pl, 'wmp', 'captioningid'); - setStr(pl, 'wmp', 'currentmarker'); - setStr(pl, 'wmp', 'currentposition'); - setStr(pl, 'wmp', 'defaultframe'); - setStr(pl, 'wmp', 'playcount'); - setStr(pl, 'wmp', 'rate'); - setStr(pl, 'wmp', 'uimode'); - setStr(pl, 'wmp', 'volume'); - break; - - case "rmp": - setBool(pl, 'rmp', 'autostart'); - setBool(pl, 'rmp', 'loop'); - setBool(pl, 'rmp', 'autogotourl'); - setBool(pl, 'rmp', 'center'); - setBool(pl, 'rmp', 'imagestatus'); - setBool(pl, 'rmp', 'maintainaspect'); - setBool(pl, 'rmp', 'nojava'); - setBool(pl, 'rmp', 'prefetch'); - setBool(pl, 'rmp', 'shuffle'); - setStr(pl, 'rmp', 'console'); - setStr(pl, 'rmp', 'controls'); - setStr(pl, 'rmp', 'numloop'); - setStr(pl, 'rmp', 'scriptcallbacks'); - break; - } - - setStr(pl, null, 'src'); - setStr(pl, null, 'id'); - setStr(pl, null, 'name'); - setStr(pl, null, 'vspace'); - setStr(pl, null, 'hspace'); - setStr(pl, null, 'bgcolor'); - setStr(pl, null, 'align'); - setStr(pl, null, 'width'); - setStr(pl, null, 'height'); - - if ((val = ed.dom.getAttrib(fe, "width")) != "") - pl.width = f.width.value = val; - - if ((val = ed.dom.getAttrib(fe, "height")) != "") - pl.height = f.height.value = val; - - oldWidth = pl.width ? parseInt(pl.width) : 0; - oldHeight = pl.height ? parseInt(pl.height) : 0; - } else - oldWidth = oldHeight = 0; - - selectByValue(f, 'media_type', type); - changedType(type); - updateColor('bgcolor_pick', 'bgcolor'); - - TinyMCE_EditableSelects.init(); - generatePreview(); -} - -function insertMedia() { - var fe, f = document.forms[0], h; - - tinyMCEPopup.restoreSelection(); - - if (!AutoValidator.validate(f)) { - tinyMCEPopup.alert(ed.getLang('invalid_data')); - return false; - } - - f.width.value = f.width.value == "" ? 100 : f.width.value; - f.height.value = f.height.value == "" ? 100 : f.height.value; - - fe = ed.selection.getNode(); - if (fe != null && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(ed.dom.getAttrib(fe, 'class'))) { - switch (f.media_type.options[f.media_type.selectedIndex].value) { - case "flash": - fe.className = "mceItemFlash"; - break; - - case "flv": - fe.className = "mceItemFlashVideo"; - break; - - case "shockwave": - fe.className = "mceItemShockWave"; - break; - - case "qt": - fe.className = "mceItemQuickTime"; - break; - - case "wmp": - fe.className = "mceItemWindowsMedia"; - break; - - case "rmp": - fe.className = "mceItemRealMedia"; - break; - } - - if (fe.width != f.width.value || fe.height != f.height.value) - ed.execCommand('mceRepaint'); - - fe.title = serializeParameters(); - fe.width = f.width.value; - fe.height = f.height.value; - fe.style.width = f.width.value + (f.width.value.indexOf('%') == -1 ? 'px' : ''); - fe.style.height = f.height.value + (f.height.value.indexOf('%') == -1 ? 'px' : ''); - fe.align = f.align.options[f.align.selectedIndex].value; - } else { - h = ' 0) { - var html = ""; - - html += ''; - - return html; - } - - return ""; -} - -function getType(v) { - var fo, i, c, el, x, f = document.forms[0]; - - fo = ed.getParam("media_types", "flash=swf;flv=flv;shockwave=dcr;qt=mov,qt,mpg,mp3,mp4,mpeg;shockwave=dcr;wmp=avi,wmv,wm,asf,asx,wmx,wvx;rmp=rm,ra,ram").split(';'); - - // YouTube - if (v.match(/watch\?v=(.+)(.*)/)) { - f.width.value = '425'; - f.height.value = '350'; - f.src.value = 'http://www.youtube.com/v/' + v.match(/v=(.*)(.*)/)[0].split('=')[1]; - return 'flash'; - } - - // Google video - if (v.indexOf('http://video.google.com/videoplay?docid=') == 0) { - f.width.value = '425'; - f.height.value = '326'; - f.src.value = 'http://video.google.com/googleplayer.swf?docId=' + v.substring('http://video.google.com/videoplay?docid='.length) + '&hl=en'; - return 'flash'; - } - - for (i=0; i 0 ? s.substring(0, s.length - 1) : s; - - return s; -} - -function setBool(pl, p, n) { - if (typeof(pl[n]) == "undefined") - return; - - document.forms[0].elements[p + "_" + n].checked = pl[n] != 'false'; -} - -function setStr(pl, p, n) { - var f = document.forms[0], e = f.elements[(p != null ? p + "_" : '') + n]; - - if (typeof(pl[n]) == "undefined") - return; - - if (e.type == "text") - e.value = pl[n]; - else - selectByValue(f, (p != null ? p + "_" : '') + n, pl[n]); -} - -function getBool(p, n, d, tv, fv) { - var v = document.forms[0].elements[p + "_" + n].checked; - - tv = typeof(tv) == 'undefined' ? 'true' : "'" + jsEncode(tv) + "'"; - fv = typeof(fv) == 'undefined' ? 'false' : "'" + jsEncode(fv) + "'"; - - return (v == d) ? '' : n + (v ? ':' + tv + ',' : ":\'" + fv + "\',"); -} - -function getStr(p, n, d) { - var e = document.forms[0].elements[(p != null ? p + "_" : "") + n]; - var v = e.type == "text" ? e.value : e.options[e.selectedIndex].value; - - if (n == 'src') - v = tinyMCEPopup.editor.convertURL(v, 'src', null); - - return ((n == d || v == '') ? '' : n + ":'" + jsEncode(v) + "',"); -} - -function getInt(p, n, d) { - var e = document.forms[0].elements[(p != null ? p + "_" : "") + n]; - var v = e.type == "text" ? e.value : e.options[e.selectedIndex].value; - - return ((n == d || v == '') ? '' : n + ":" + v.replace(/[^0-9]+/g, '') + ","); -} - -function jsEncode(s) { - s = s.replace(new RegExp('\\\\', 'g'), '\\\\'); - s = s.replace(new RegExp('"', 'g'), '\\"'); - s = s.replace(new RegExp("'", 'g'), "\\'"); - - return s; -} - -function generatePreview(c) { - var f = document.forms[0], p = document.getElementById('prev'), h = '', cls, pl, n, type, codebase, wp, hp, nw, nh; - - p.innerHTML = ''; - - nw = parseInt(f.width.value); - nh = parseInt(f.height.value); - - if (f.width.value != "" && f.height.value != "") { - if (f.constrain.checked) { - if (c == 'width' && oldWidth != 0) { - wp = nw / oldWidth; - nh = Math.round(wp * nh); - f.height.value = nh; - } else if (c == 'height' && oldHeight != 0) { - hp = nh / oldHeight; - nw = Math.round(hp * nw); - f.width.value = nw; - } - } - } - - if (f.width.value != "") - oldWidth = nw; - - if (f.height.value != "") - oldHeight = nh; - - // After constrain - pl = serializeParameters(); - - switch (f.media_type.options[f.media_type.selectedIndex].value) { - case "flash": - cls = 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'; - codebase = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0'; - type = 'application/x-shockwave-flash'; - break; - - case "shockwave": - cls = 'clsid:166B1BCA-3F9C-11CF-8075-444553540000'; - codebase = 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0'; - type = 'application/x-director'; - break; - - case "qt": - cls = 'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B'; - codebase = 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0'; - type = 'video/quicktime'; - break; - - case "wmp": - cls = ed.getParam('media_wmp6_compatible') ? 'clsid:05589FA1-C356-11CE-BF01-00AA0055595A' : 'clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6'; - codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701'; - type = 'application/x-mplayer2'; - break; - - case "rmp": - cls = 'clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA'; - codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701'; - type = 'audio/x-pn-realaudio-plugin'; - break; - } - - if (pl == '') { - p.innerHTML = ''; - return; - } - - pl = tinyMCEPopup.editor.plugins.media._parse(pl); - - if (!pl.src) { - p.innerHTML = ''; - return; - } - - pl.src = tinyMCEPopup.editor.documentBaseURI.toAbsolute(pl.src); - pl.width = !pl.width ? 100 : pl.width; - pl.height = !pl.height ? 100 : pl.height; - pl.id = !pl.id ? 'obj' : pl.id; - pl.name = !pl.name ? 'eobj' : pl.name; - pl.align = !pl.align ? '' : pl.align; - - // Avoid annoying warning about insecure items - if (!tinymce.isIE || document.location.protocol != 'https:') { - h += ''; - - for (n in pl) { - h += ''; - - // Add extra url parameter if it's an absolute URL - if (n == 'src' && pl[n].indexOf('://') != -1) - h += ''; - } - } - - h += ''); + +function init() { + var pl = "", f, val; + var type = "flash", fe, i; + + ed = tinyMCEPopup.editor; + + tinyMCEPopup.resizeToInnerSize(); + f = document.forms[0] + + fe = ed.selection.getNode(); + if (/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(ed.dom.getAttrib(fe, 'class'))) { + pl = fe.title; + + switch (ed.dom.getAttrib(fe, 'class')) { + case 'mceItemFlash': + type = 'flash'; + break; + + case 'mceItemFlashVideo': + type = 'flv'; + break; + + case 'mceItemShockWave': + type = 'shockwave'; + break; + + case 'mceItemWindowsMedia': + type = 'wmp'; + break; + + case 'mceItemQuickTime': + type = 'qt'; + break; + + case 'mceItemRealMedia': + type = 'rmp'; + break; + } + + document.forms[0].insert.value = ed.getLang('update', 'Insert', true); + } + + document.getElementById('filebrowsercontainer').innerHTML = getBrowserHTML('filebrowser','src','media','media'); + document.getElementById('qtsrcfilebrowsercontainer').innerHTML = getBrowserHTML('qtsrcfilebrowser','qt_qtsrc','media','media'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + + var html = getMediaListHTML('medialist','src','media','media'); + if (html == "") + document.getElementById("linklistrow").style.display = 'none'; + else + document.getElementById("linklistcontainer").innerHTML = html; + + // Resize some elements + if (isVisible('filebrowser')) + document.getElementById('src').style.width = '230px'; + + // Setup form + if (pl != "") { + pl = tinyMCEPopup.editor.plugins.media._parse(pl); + + switch (type) { + case "flash": + setBool(pl, 'flash', 'play'); + setBool(pl, 'flash', 'loop'); + setBool(pl, 'flash', 'menu'); + setBool(pl, 'flash', 'swliveconnect'); + setStr(pl, 'flash', 'quality'); + setStr(pl, 'flash', 'scale'); + setStr(pl, 'flash', 'salign'); + setStr(pl, 'flash', 'wmode'); + setStr(pl, 'flash', 'base'); + setStr(pl, 'flash', 'flashvars'); + break; + + case "qt": + setBool(pl, 'qt', 'loop'); + setBool(pl, 'qt', 'autoplay'); + setBool(pl, 'qt', 'cache'); + setBool(pl, 'qt', 'controller'); + setBool(pl, 'qt', 'correction'); + setBool(pl, 'qt', 'enablejavascript'); + setBool(pl, 'qt', 'kioskmode'); + setBool(pl, 'qt', 'autohref'); + setBool(pl, 'qt', 'playeveryframe'); + setBool(pl, 'qt', 'tarsetcache'); + setStr(pl, 'qt', 'scale'); + setStr(pl, 'qt', 'starttime'); + setStr(pl, 'qt', 'endtime'); + setStr(pl, 'qt', 'tarset'); + setStr(pl, 'qt', 'qtsrcchokespeed'); + setStr(pl, 'qt', 'volume'); + setStr(pl, 'qt', 'qtsrc'); + break; + + case "shockwave": + setBool(pl, 'shockwave', 'sound'); + setBool(pl, 'shockwave', 'progress'); + setBool(pl, 'shockwave', 'autostart'); + setBool(pl, 'shockwave', 'swliveconnect'); + setStr(pl, 'shockwave', 'swvolume'); + setStr(pl, 'shockwave', 'swstretchstyle'); + setStr(pl, 'shockwave', 'swstretchhalign'); + setStr(pl, 'shockwave', 'swstretchvalign'); + break; + + case "wmp": + setBool(pl, 'wmp', 'autostart'); + setBool(pl, 'wmp', 'enabled'); + setBool(pl, 'wmp', 'enablecontextmenu'); + setBool(pl, 'wmp', 'fullscreen'); + setBool(pl, 'wmp', 'invokeurls'); + setBool(pl, 'wmp', 'mute'); + setBool(pl, 'wmp', 'stretchtofit'); + setBool(pl, 'wmp', 'windowlessvideo'); + setStr(pl, 'wmp', 'balance'); + setStr(pl, 'wmp', 'baseurl'); + setStr(pl, 'wmp', 'captioningid'); + setStr(pl, 'wmp', 'currentmarker'); + setStr(pl, 'wmp', 'currentposition'); + setStr(pl, 'wmp', 'defaultframe'); + setStr(pl, 'wmp', 'playcount'); + setStr(pl, 'wmp', 'rate'); + setStr(pl, 'wmp', 'uimode'); + setStr(pl, 'wmp', 'volume'); + break; + + case "rmp": + setBool(pl, 'rmp', 'autostart'); + setBool(pl, 'rmp', 'loop'); + setBool(pl, 'rmp', 'autogotourl'); + setBool(pl, 'rmp', 'center'); + setBool(pl, 'rmp', 'imagestatus'); + setBool(pl, 'rmp', 'maintainaspect'); + setBool(pl, 'rmp', 'nojava'); + setBool(pl, 'rmp', 'prefetch'); + setBool(pl, 'rmp', 'shuffle'); + setStr(pl, 'rmp', 'console'); + setStr(pl, 'rmp', 'controls'); + setStr(pl, 'rmp', 'numloop'); + setStr(pl, 'rmp', 'scriptcallbacks'); + break; + } + + setStr(pl, null, 'src'); + setStr(pl, null, 'id'); + setStr(pl, null, 'name'); + setStr(pl, null, 'vspace'); + setStr(pl, null, 'hspace'); + setStr(pl, null, 'bgcolor'); + setStr(pl, null, 'align'); + setStr(pl, null, 'width'); + setStr(pl, null, 'height'); + + if ((val = ed.dom.getAttrib(fe, "width")) != "") + pl.width = f.width.value = val; + + if ((val = ed.dom.getAttrib(fe, "height")) != "") + pl.height = f.height.value = val; + + oldWidth = pl.width ? parseInt(pl.width) : 0; + oldHeight = pl.height ? parseInt(pl.height) : 0; + } else + oldWidth = oldHeight = 0; + + selectByValue(f, 'media_type', type); + changedType(type); + updateColor('bgcolor_pick', 'bgcolor'); + + TinyMCE_EditableSelects.init(); + generatePreview(); +} + +function insertMedia() { + var fe, f = document.forms[0], h; + + tinyMCEPopup.restoreSelection(); + + if (!AutoValidator.validate(f)) { + tinyMCEPopup.alert(ed.getLang('invalid_data')); + return false; + } + + f.width.value = f.width.value == "" ? 100 : f.width.value; + f.height.value = f.height.value == "" ? 100 : f.height.value; + + fe = ed.selection.getNode(); + if (fe != null && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(ed.dom.getAttrib(fe, 'class'))) { + switch (f.media_type.options[f.media_type.selectedIndex].value) { + case "flash": + fe.className = "mceItemFlash"; + break; + + case "flv": + fe.className = "mceItemFlashVideo"; + break; + + case "shockwave": + fe.className = "mceItemShockWave"; + break; + + case "qt": + fe.className = "mceItemQuickTime"; + break; + + case "wmp": + fe.className = "mceItemWindowsMedia"; + break; + + case "rmp": + fe.className = "mceItemRealMedia"; + break; + } + + if (fe.width != f.width.value || fe.height != f.height.value) + ed.execCommand('mceRepaint'); + + fe.title = serializeParameters(); + fe.width = f.width.value; + fe.height = f.height.value; + fe.style.width = f.width.value + (f.width.value.indexOf('%') == -1 ? 'px' : ''); + fe.style.height = f.height.value + (f.height.value.indexOf('%') == -1 ? 'px' : ''); + fe.align = f.align.options[f.align.selectedIndex].value; + } else { + h = ' 0) { + var html = ""; + + html += ''; + + return html; + } + + return ""; +} + +function getType(v) { + var fo, i, c, el, x, f = document.forms[0]; + + fo = ed.getParam("media_types", "flash=swf;flv=flv;shockwave=dcr;qt=mov,qt,mpg,mp3,mp4,mpeg;shockwave=dcr;wmp=avi,wmv,wm,asf,asx,wmx,wvx;rmp=rm,ra,ram").split(';'); + + // YouTube + if (v.match(/watch\?v=(.+)(.*)/)) { + f.width.value = '425'; + f.height.value = '350'; + f.src.value = 'http://www.youtube.com/v/' + v.match(/v=(.*)(.*)/)[0].split('=')[1]; + return 'flash'; + } + + // Google video + if (v.indexOf('http://video.google.com/videoplay?docid=') == 0) { + f.width.value = '425'; + f.height.value = '326'; + f.src.value = 'http://video.google.com/googleplayer.swf?docId=' + v.substring('http://video.google.com/videoplay?docid='.length) + '&hl=en'; + return 'flash'; + } + + for (i=0; i 0 ? s.substring(0, s.length - 1) : s; + + return s; +} + +function setBool(pl, p, n) { + if (typeof(pl[n]) == "undefined") + return; + + document.forms[0].elements[p + "_" + n].checked = pl[n] != 'false'; +} + +function setStr(pl, p, n) { + var f = document.forms[0], e = f.elements[(p != null ? p + "_" : '') + n]; + + if (typeof(pl[n]) == "undefined") + return; + + if (e.type == "text") + e.value = pl[n]; + else + selectByValue(f, (p != null ? p + "_" : '') + n, pl[n]); +} + +function getBool(p, n, d, tv, fv) { + var v = document.forms[0].elements[p + "_" + n].checked; + + tv = typeof(tv) == 'undefined' ? 'true' : "'" + jsEncode(tv) + "'"; + fv = typeof(fv) == 'undefined' ? 'false' : "'" + jsEncode(fv) + "'"; + + return (v == d) ? '' : n + (v ? ':' + tv + ',' : ":\'" + fv + "\',"); +} + +function getStr(p, n, d) { + var e = document.forms[0].elements[(p != null ? p + "_" : "") + n]; + var v = e.type == "text" ? e.value : e.options[e.selectedIndex].value; + + if (n == 'src') + v = tinyMCEPopup.editor.convertURL(v, 'src', null); + + return ((n == d || v == '') ? '' : n + ":'" + jsEncode(v) + "',"); +} + +function getInt(p, n, d) { + var e = document.forms[0].elements[(p != null ? p + "_" : "") + n]; + var v = e.type == "text" ? e.value : e.options[e.selectedIndex].value; + + return ((n == d || v == '') ? '' : n + ":" + v.replace(/[^0-9]+/g, '') + ","); +} + +function jsEncode(s) { + s = s.replace(new RegExp('\\\\', 'g'), '\\\\'); + s = s.replace(new RegExp('"', 'g'), '\\"'); + s = s.replace(new RegExp("'", 'g'), "\\'"); + + return s; +} + +function generatePreview(c) { + var f = document.forms[0], p = document.getElementById('prev'), h = '', cls, pl, n, type, codebase, wp, hp, nw, nh; + + p.innerHTML = ''; + + nw = parseInt(f.width.value); + nh = parseInt(f.height.value); + + if (f.width.value != "" && f.height.value != "") { + if (f.constrain.checked) { + if (c == 'width' && oldWidth != 0) { + wp = nw / oldWidth; + nh = Math.round(wp * nh); + f.height.value = nh; + } else if (c == 'height' && oldHeight != 0) { + hp = nh / oldHeight; + nw = Math.round(hp * nw); + f.width.value = nw; + } + } + } + + if (f.width.value != "") + oldWidth = nw; + + if (f.height.value != "") + oldHeight = nh; + + // After constrain + pl = serializeParameters(); + + switch (f.media_type.options[f.media_type.selectedIndex].value) { + case "flash": + cls = 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'; + codebase = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0'; + type = 'application/x-shockwave-flash'; + break; + + case "shockwave": + cls = 'clsid:166B1BCA-3F9C-11CF-8075-444553540000'; + codebase = 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0'; + type = 'application/x-director'; + break; + + case "qt": + cls = 'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B'; + codebase = 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0'; + type = 'video/quicktime'; + break; + + case "wmp": + cls = ed.getParam('media_wmp6_compatible') ? 'clsid:05589FA1-C356-11CE-BF01-00AA0055595A' : 'clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6'; + codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701'; + type = 'application/x-mplayer2'; + break; + + case "rmp": + cls = 'clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA'; + codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701'; + type = 'audio/x-pn-realaudio-plugin'; + break; + } + + if (pl == '') { + p.innerHTML = ''; + return; + } + + pl = tinyMCEPopup.editor.plugins.media._parse(pl); + + if (!pl.src) { + p.innerHTML = ''; + return; + } + + pl.src = tinyMCEPopup.editor.documentBaseURI.toAbsolute(pl.src); + pl.width = !pl.width ? 100 : pl.width; + pl.height = !pl.height ? 100 : pl.height; + pl.id = !pl.id ? 'obj' : pl.id; + pl.name = !pl.name ? 'eobj' : pl.name; + pl.align = !pl.align ? '' : pl.align; + + // Avoid annoying warning about insecure items + if (!tinymce.isIE || document.location.protocol != 'https:') { + h += ''; + + for (n in pl) { + h += ''; + + // Add extra url parameter if it's an absolute URL + if (n == 'src' && pl[n].indexOf('://') != -1) + h += ''; + } + } + + h += ' - - - {#media_dlg.title} - - - - - - - - - -
    - - -
    -
    -
    - {#media_dlg.general} - - - - - - - - - - - - - - - - - - -
    - -
    - - - - - -
     
    -
    - - - - - - -
    x   
    -
    -
    - -
    - {#media_dlg.preview} - -
    -
    - -
    -
    - {#media_dlg.advanced} - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - -
     
    -
    -
    - -
    - {#media_dlg.flash_options} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -
    - - - -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - - - - - - - -
    -
    - -
    - {#media_dlg.flv_options} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    -
    - -
    - {#media_dlg.qt_options} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    -  
    - - - - - -
     
    -
    -
    - -
    - {#media_dlg.wmp_options} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    -
    - -
    - {#media_dlg.rmp_options} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    -   -
    -
    - -
    - {#media_dlg.shockwave_options} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    - - - - - -
    -
    -
    -
    -
    - -
    - - -
    -
    - - + + + + {#media_dlg.title} + + + + + + + + + +
    + + +
    +
    +
    + {#media_dlg.general} + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + +
     
    +
    + + + + + + +
    x   
    +
    +
    + +
    + {#media_dlg.preview} + +
    +
    + +
    +
    + {#media_dlg.advanced} + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + +
     
    +
    +
    + +
    + {#media_dlg.flash_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + + + + + + + +
    +
    + +
    + {#media_dlg.flv_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    +
    + +
    + {#media_dlg.qt_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    +  
    + + + + + +
     
    +
    +
    + +
    + {#media_dlg.wmp_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    +
    + +
    + {#media_dlg.rmp_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    +   +
    +
    + +
    + {#media_dlg.shockwave_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    +
    +
    +
    + +
    + + +
    +
    + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/js/pastetext.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/js/pastetext.js old mode 100644 new mode 100755 index c524f9eb03..81b1d6a01e --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/js/pastetext.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/js/pastetext.js @@ -1,36 +1,36 @@ -tinyMCEPopup.requireLangPack(); - -var PasteTextDialog = { - init : function() { - this.resize(); - }, - - insert : function() { - var h = tinyMCEPopup.dom.encode(document.getElementById('content').value), lines; - - // Convert linebreaks into paragraphs - if (document.getElementById('linebreaks').checked) { - lines = h.split(/\r?\n/); - if (lines.length > 1) { - h = ''; - tinymce.each(lines, function(row) { - h += '

    ' + row + '

    '; - }); - } - } - - tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h}); - tinyMCEPopup.close(); - }, - - resize : function() { - var vp = tinyMCEPopup.dom.getViewPort(window), el; - - el = document.getElementById('content'); - - el.style.width = (vp.w - 20) + 'px'; - el.style.height = (vp.h - 90) + 'px'; - } -}; - -tinyMCEPopup.onInit.add(PasteTextDialog.init, PasteTextDialog); +tinyMCEPopup.requireLangPack(); + +var PasteTextDialog = { + init : function() { + this.resize(); + }, + + insert : function() { + var h = tinyMCEPopup.dom.encode(document.getElementById('content').value), lines; + + // Convert linebreaks into paragraphs + if (document.getElementById('linebreaks').checked) { + lines = h.split(/\r?\n/); + if (lines.length > 1) { + h = ''; + tinymce.each(lines, function(row) { + h += '

    ' + row + '

    '; + }); + } + } + + tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h}); + tinyMCEPopup.close(); + }, + + resize : function() { + var vp = tinyMCEPopup.dom.getViewPort(window), el; + + el = document.getElementById('content'); + + el.style.width = (vp.w - 20) + 'px'; + el.style.height = (vp.h - 90) + 'px'; + } +}; + +tinyMCEPopup.onInit.add(PasteTextDialog.init, PasteTextDialog); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/js/pasteword.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/js/pasteword.js old mode 100644 new mode 100755 index a52731c368..959bf3992d --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/js/pasteword.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/js/pasteword.js @@ -1,51 +1,51 @@ -tinyMCEPopup.requireLangPack(); - -var PasteWordDialog = { - init : function() { - var ed = tinyMCEPopup.editor, el = document.getElementById('iframecontainer'), ifr, doc, css, cssHTML = ''; - - // Create iframe - el.innerHTML = ''; - ifr = document.getElementById('iframe'); - doc = ifr.contentWindow.document; - - // Force absolute CSS urls - css = [ed.baseURI.toAbsolute("themes/" + ed.settings.theme + "/skins/" + ed.settings.skin + "/content.css")]; - css = css.concat(tinymce.explode(ed.settings.content_css) || []); - tinymce.each(css, function(u) { - cssHTML += ''; - }); - - // Write content into iframe - doc.open(); - doc.write('' + cssHTML + ''); - doc.close(); - - doc.designMode = 'on'; - this.resize(); - - window.setTimeout(function() { - ifr.contentWindow.focus(); - }, 10); - }, - - insert : function() { - var h = document.getElementById('iframe').contentWindow.document.body.innerHTML; - - tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h, wordContent : true}); - tinyMCEPopup.close(); - }, - - resize : function() { - var vp = tinyMCEPopup.dom.getViewPort(window), el; - - el = document.getElementById('iframe'); - - if (el) { - el.style.width = (vp.w - 20) + 'px'; - el.style.height = (vp.h - 90) + 'px'; - } - } -}; - -tinyMCEPopup.onInit.add(PasteWordDialog.init, PasteWordDialog); +tinyMCEPopup.requireLangPack(); + +var PasteWordDialog = { + init : function() { + var ed = tinyMCEPopup.editor, el = document.getElementById('iframecontainer'), ifr, doc, css, cssHTML = ''; + + // Create iframe + el.innerHTML = ''; + ifr = document.getElementById('iframe'); + doc = ifr.contentWindow.document; + + // Force absolute CSS urls + css = [ed.baseURI.toAbsolute("themes/" + ed.settings.theme + "/skins/" + ed.settings.skin + "/content.css")]; + css = css.concat(tinymce.explode(ed.settings.content_css) || []); + tinymce.each(css, function(u) { + cssHTML += ''; + }); + + // Write content into iframe + doc.open(); + doc.write('' + cssHTML + ''); + doc.close(); + + doc.designMode = 'on'; + this.resize(); + + window.setTimeout(function() { + ifr.contentWindow.focus(); + }, 10); + }, + + insert : function() { + var h = document.getElementById('iframe').contentWindow.document.body.innerHTML; + + tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h, wordContent : true}); + tinyMCEPopup.close(); + }, + + resize : function() { + var vp = tinyMCEPopup.dom.getViewPort(window), el; + + el = document.getElementById('iframe'); + + if (el) { + el.style.width = (vp.w - 20) + 'px'; + el.style.height = (vp.h - 90) + 'px'; + } + } +}; + +tinyMCEPopup.onInit.add(PasteWordDialog.init, PasteWordDialog); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/bg_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/bg_dlg.js old mode 100644 new mode 100755 index e45991c696..937221178a --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/bg_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/bg_dlg.js @@ -1,5 +1,5 @@ -tinyMCE.addI18n('bg.paste_dlg',{ -text_title:"\u0418\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0439\u0442\u0435 CTRL+V \u043D\u0430 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0430\u0442\u0430 \u0437\u0430 \u0434\u0430 \u043F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u0435 \u0442\u0435\u043A\u0441\u0442\u0430 \u0432 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446\u0430.", -text_linebreaks:"\u0417\u0430\u043F\u0430\u0437\u0438 \u043D\u043E\u0432\u0438\u0442\u0435 \u0440\u0435\u0434\u043E\u0432\u0435", -word_title:"\u0418\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0439\u0442\u0435 CTRL+V \u043D\u0430 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0430\u0442\u0430 \u0437\u0430 \u0434\u0430 \u043F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u0435 \u0442\u0435\u043A\u0441\u0442\u0430 \u0432 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446\u0430." +tinyMCE.addI18n('bg.paste_dlg',{ +text_title:"\u0418\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0439\u0442\u0435 CTRL+V \u043D\u0430 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0430\u0442\u0430 \u0437\u0430 \u0434\u0430 \u043F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u0435 \u0442\u0435\u043A\u0441\u0442\u0430 \u0432 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446\u0430.", +text_linebreaks:"\u0417\u0430\u043F\u0430\u0437\u0438 \u043D\u043E\u0432\u0438\u0442\u0435 \u0440\u0435\u0434\u043E\u0432\u0435", +word_title:"\u0418\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0439\u0442\u0435 CTRL+V \u043D\u0430 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0430\u0442\u0430 \u0437\u0430 \u0434\u0430 \u043F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u0435 \u0442\u0435\u043A\u0441\u0442\u0430 \u0432 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446\u0430." }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/cs_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/cs_dlg.js old mode 100644 new mode 100755 index e87cc38faf..ee68cbeb31 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/cs_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/cs_dlg.js @@ -1,5 +1,5 @@ -tinyMCE.addI18n('cs.paste_dlg',{ -text_title:"Pou\u017Eijte CTRL+V pro vlo\u017Een\u00ED textu do okna.", -text_linebreaks:"Zachovat zalamov\u00E1n\u00ED \u0159\u00E1dk\u016F", -word_title:"Pou\u017Eijte CTRL+V pro vlo\u017Een\u00ED textu do okna." +tinyMCE.addI18n('cs.paste_dlg',{ +text_title:"Pou\u017Eijte CTRL+V pro vlo\u017Een\u00ED textu do okna.", +text_linebreaks:"Zachovat zalamov\u00E1n\u00ED \u0159\u00E1dk\u016F", +word_title:"Pou\u017Eijte CTRL+V pro vlo\u017Een\u00ED textu do okna." }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/da_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/da_dlg.js old mode 100644 new mode 100755 index 22abfe4516..ba13fc0a39 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/da_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/da_dlg.js @@ -1,5 +1,5 @@ -tinyMCE.addI18n('da.paste_dlg',{ -text_title:"Anvend CTRL+V p\u00E5 tastaturet for at inds\u00E6tte teksten.", -text_linebreaks:"Bevar linieskift", -word_title:"Anvend CTRL+V p\u00E5 tastaturet for at inds\u00E6tte teksten." +tinyMCE.addI18n('da.paste_dlg',{ +text_title:"Anvend CTRL+V p\u00E5 tastaturet for at inds\u00E6tte teksten.", +text_linebreaks:"Bevar linieskift", +word_title:"Anvend CTRL+V p\u00E5 tastaturet for at inds\u00E6tte teksten." }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/de_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/de_dlg.js old mode 100644 new mode 100755 index 5a3f5e8c60..ab0bd6b7b0 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/de_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/de_dlg.js @@ -1,5 +1,5 @@ -tinyMCE.addI18n('de.paste_dlg',{ -text_title:"Dr\u00FCcken Sie auf Ihrer Tastatur Strg+V, um den Text einzuf\u00FCgen.", -text_linebreaks:"Zeilenumbr\u00FCche beibehalten", -word_title:"Dr\u00FCcken Sie auf Ihrer Tastatur Strg+V, um den Text einzuf\u00FCgen." +tinyMCE.addI18n('de.paste_dlg',{ +text_title:"Dr\u00FCcken Sie auf Ihrer Tastatur Strg+V, um den Text einzuf\u00FCgen.", +text_linebreaks:"Zeilenumbr\u00FCche beibehalten", +word_title:"Dr\u00FCcken Sie auf Ihrer Tastatur Strg+V, um den Text einzuf\u00FCgen." }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js old mode 100644 new mode 100755 index eeac778960..823eb16a75 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js @@ -1,5 +1,5 @@ -tinyMCE.addI18n('en.paste_dlg',{ -text_title:"Use CTRL+V on your keyboard to paste the text into the window.", -text_linebreaks:"Keep linebreaks", -word_title:"Use CTRL+V on your keyboard to paste the text into the window." +tinyMCE.addI18n('en.paste_dlg',{ +text_title:"Use CTRL+V on your keyboard to paste the text into the window.", +text_linebreaks:"Keep linebreaks", +word_title:"Use CTRL+V on your keyboard to paste the text into the window." }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/es_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/es_dlg.js old mode 100644 new mode 100755 index d5edb6912e..c2f4c797e4 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/es_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/es_dlg.js @@ -1,5 +1,5 @@ -tinyMCE.addI18n('es.paste_dlg',{ -text_title:"Use CTRL+V en su teclado para pegar el texto en la ventana.", -text_linebreaks:"Keep linebreaks", -word_title:"Use CTRL+V en su teclado para pegar el texto en la ventana." +tinyMCE.addI18n('es.paste_dlg',{ +text_title:"Use CTRL+V en su teclado para pegar el texto en la ventana.", +text_linebreaks:"Keep linebreaks", +word_title:"Use CTRL+V en su teclado para pegar el texto en la ventana." }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/fa_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/fa_dlg.js old mode 100644 new mode 100755 index ced6c9b4b6..ed76e845f6 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/fa_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/fa_dlg.js @@ -1,5 +1,5 @@ -tinyMCE.addI18n('fa.paste_dlg',{ -text_title:"\u062C\u0647\u062A \u0686\u0633\u0628\u0627\u0646\u062F\u0646 \u0645\u062A\u0646 \u062F\u0631 \u067E\u0646\u062C\u0631\u0647 \u0627\u0632 CTRL+V \u0628\u0631 \u0631\u0648\u06CC \u0635\u0641\u062D\u0647 \u06A9\u0644\u06CC\u062F \u062E\u0648\u062F \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0646\u0645\u0627\u0626\u06CC\u062F.", -text_linebreaks:"\u062D\u0641\u0638 \u0642\u0637\u0639 \u062E\u0637\u0648\u0637", -word_title:"\u062C\u0647\u062A \u0686\u0633\u0628\u0627\u0646\u062F\u0646 \u0645\u062A\u0646 \u062F\u0631 \u067E\u0646\u062C\u0631\u0647 \u0627\u0632 CTRL+V \u0628\u0631 \u0631\u0648\u06CC \u0635\u0641\u062D\u0647 \u06A9\u0644\u06CC\u062F \u062E\u0648\u062F \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0646\u0645\u0627\u0626\u06CC\u062F." +tinyMCE.addI18n('fa.paste_dlg',{ +text_title:"\u062C\u0647\u062A \u0686\u0633\u0628\u0627\u0646\u062F\u0646 \u0645\u062A\u0646 \u062F\u0631 \u067E\u0646\u062C\u0631\u0647 \u0627\u0632 CTRL+V \u0628\u0631 \u0631\u0648\u06CC \u0635\u0641\u062D\u0647 \u06A9\u0644\u06CC\u062F \u062E\u0648\u062F \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0646\u0645\u0627\u0626\u06CC\u062F.", +text_linebreaks:"\u062D\u0641\u0638 \u0642\u0637\u0639 \u062E\u0637\u0648\u0637", +word_title:"\u062C\u0647\u062A \u0686\u0633\u0628\u0627\u0646\u062F\u0646 \u0645\u062A\u0646 \u062F\u0631 \u067E\u0646\u062C\u0631\u0647 \u0627\u0632 CTRL+V \u0628\u0631 \u0631\u0648\u06CC \u0635\u0641\u062D\u0647 \u06A9\u0644\u06CC\u062F \u062E\u0648\u062F \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0646\u0645\u0627\u0626\u06CC\u062F." }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/fi_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/fi_dlg.js old mode 100644 new mode 100755 index e8cde9598c..f19d85f06a --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/fi_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/fi_dlg.js @@ -1,5 +1,5 @@ -tinyMCE.addI18n('fi.paste_dlg',{ -text_title:"Paina CTRL+V liitt\u00E4\u00E4ksesi sis\u00E4ll\u00F6n ikkunaan.", -text_linebreaks:"S\u00E4ilyt\u00E4 rivinvaihdot", -word_title:"Paina CTRL+V liitt\u00E4\u00E4ksesi sis\u00E4ll\u00F6n ikkunaan." +tinyMCE.addI18n('fi.paste_dlg',{ +text_title:"Paina CTRL+V liitt\u00E4\u00E4ksesi sis\u00E4ll\u00F6n ikkunaan.", +text_linebreaks:"S\u00E4ilyt\u00E4 rivinvaihdot", +word_title:"Paina CTRL+V liitt\u00E4\u00E4ksesi sis\u00E4ll\u00F6n ikkunaan." }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/fr_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/fr_dlg.js old mode 100644 new mode 100755 index c4d43ea1fb..844bb49fc6 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/fr_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/fr_dlg.js @@ -1,5 +1,5 @@ -tinyMCE.addI18n('fr.paste_dlg',{ -text_title:"Utilisez CTRL+V sur votre clavier pour coller le texte dans la fen\u00EAtre.", -text_linebreaks:"Conserver les retours \u00E0 la ligne", -word_title:"Utilisez CTRL+V sur votre clavier pour coller le texte dans la fen\u00EAtre." +tinyMCE.addI18n('fr.paste_dlg',{ +text_title:"Utilisez CTRL+V sur votre clavier pour coller le texte dans la fen\u00EAtre.", +text_linebreaks:"Conserver les retours \u00E0 la ligne", +word_title:"Utilisez CTRL+V sur votre clavier pour coller le texte dans la fen\u00EAtre." }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/he_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/he_dlg.js old mode 100644 new mode 100755 index 6465ddedfe..7be8aa437d --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/he_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/he_dlg.js @@ -1,5 +1,5 @@ -tinyMCE.addI18n('he.paste_dlg',{ -text_title:"\u05D4\u05D3\u05D1\u05D9\u05E7\u05D5 \u05D1\u05D7\u05DC\u05D5\u05DF \u05D6\u05D4 \u05D0\u05EA \u05D4\u05D8\u05E7\u05E1\u05D8 \u05D1\u05D0\u05DE\u05E6\u05E2\u05D5\u05EA \u05D4\u05DE\u05E7\u05E9\u05D9\u05DD CTRL+V.", -text_linebreaks:"\u05D4\u05E9\u05D0\u05E8 \u05D0\u05EA \u05E9\u05D5\u05E8\u05D5\u05EA \u05D4\u05E8\u05D5\u05D5\u05D7", -word_title:"\u05D4\u05D3\u05D1\u05D9\u05E7\u05D5 \u05D1\u05D7\u05DC\u05D5\u05DF \u05D6\u05D4 \u05D0\u05EA \u05D4\u05D8\u05E7\u05E1\u05D8 \u05D1\u05D0\u05DE\u05E6\u05E2\u05D5\u05EA \u05D4\u05DE\u05E7\u05E9\u05D9\u05DD CTRL+V." +tinyMCE.addI18n('he.paste_dlg',{ +text_title:"\u05D4\u05D3\u05D1\u05D9\u05E7\u05D5 \u05D1\u05D7\u05DC\u05D5\u05DF \u05D6\u05D4 \u05D0\u05EA \u05D4\u05D8\u05E7\u05E1\u05D8 \u05D1\u05D0\u05DE\u05E6\u05E2\u05D5\u05EA \u05D4\u05DE\u05E7\u05E9\u05D9\u05DD CTRL+V.", +text_linebreaks:"\u05D4\u05E9\u05D0\u05E8 \u05D0\u05EA \u05E9\u05D5\u05E8\u05D5\u05EA \u05D4\u05E8\u05D5\u05D5\u05D7", +word_title:"\u05D4\u05D3\u05D1\u05D9\u05E7\u05D5 \u05D1\u05D7\u05DC\u05D5\u05DF \u05D6\u05D4 \u05D0\u05EA \u05D4\u05D8\u05E7\u05E1\u05D8 \u05D1\u05D0\u05DE\u05E6\u05E2\u05D5\u05EA \u05D4\u05DE\u05E7\u05E9\u05D9\u05DD CTRL+V." }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/it_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/it_dlg.js old mode 100644 new mode 100755 index 98543942af..b7875a1845 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/it_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/it_dlg.js @@ -1,5 +1,5 @@ -tinyMCE.addI18n('it.paste_dlg',{ -text_title:"Premere CTRL+V sulla tastiera per incollare il testo nella finestra.", -text_linebreaks:"Mantieni interruzioni di riga", -word_title:"Premere CTRL+V sulla tastiera per incollare il testo nella finestra." +tinyMCE.addI18n('it.paste_dlg',{ +text_title:"Premere CTRL+V sulla tastiera per incollare il testo nella finestra.", +text_linebreaks:"Mantieni interruzioni di riga", +word_title:"Premere CTRL+V sulla tastiera per incollare il testo nella finestra." }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/ja_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/ja_dlg.js old mode 100644 new mode 100755 index e233cde76f..b5d818ca65 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/ja_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/ja_dlg.js @@ -1,5 +1,5 @@ -tinyMCE.addI18n('ja.paste_dlg',{ -text_title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u3067CTRL+V\u3092\u62BC\u3057\u3066\u30C6\u30AD\u30B9\u30C8\u3092\u8CBC\u308A\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002", -text_linebreaks:"\u6539\u884C\u3092\u4FDD\u6301\u3059\u308B", -word_title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u3067CTRL+V\u3092\u62BC\u3057\u3066\u30C6\u30AD\u30B9\u30C8\u3092\u8CBC\u308A\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002" +tinyMCE.addI18n('ja.paste_dlg',{ +text_title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u3067CTRL+V\u3092\u62BC\u3057\u3066\u30C6\u30AD\u30B9\u30C8\u3092\u8CBC\u308A\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002", +text_linebreaks:"\u6539\u884C\u3092\u4FDD\u6301\u3059\u308B", +word_title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u3067CTRL+V\u3092\u62BC\u3057\u3066\u30C6\u30AD\u30B9\u30C8\u3092\u8CBC\u308A\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/nl_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/nl_dlg.js old mode 100644 new mode 100755 index 99e604fe5b..d48e0b8082 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/nl_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/nl_dlg.js @@ -1,5 +1,5 @@ -tinyMCE.addI18n('nl.paste_dlg',{ -text_title:"Gebruik Ctrl+V om tekst in het venster te plakken.", -text_linebreaks:"Regelafbreking bewaren", -word_title:"Gebruik Ctrl+V om tekst in het venster te plakken." +tinyMCE.addI18n('nl.paste_dlg',{ +text_title:"Gebruik Ctrl+V om tekst in het venster te plakken.", +text_linebreaks:"Regelafbreking bewaren", +word_title:"Gebruik Ctrl+V om tekst in het venster te plakken." }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/nn_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/nn_dlg.js old mode 100644 new mode 100755 index 2231de3058..ce65b83e38 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/nn_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/nn_dlg.js @@ -1,5 +1,5 @@ -tinyMCE.addI18n('nn.paste_dlg',{ -text_title:"Bruk CTRL+V p\u00E5 tastaturet for \u00E5 lime inn i dette vindauget.", -text_linebreaks:"Behald tekstbryting", -word_title:"Bruk CTRL+V p\u00E5 tastaturet for \u00E5 lime inn i dette vindauget." +tinyMCE.addI18n('nn.paste_dlg',{ +text_title:"Bruk CTRL+V p\u00E5 tastaturet for \u00E5 lime inn i dette vindauget.", +text_linebreaks:"Behald tekstbryting", +word_title:"Bruk CTRL+V p\u00E5 tastaturet for \u00E5 lime inn i dette vindauget." }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/pl_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/pl_dlg.js old mode 100644 new mode 100755 index 110be659d6..be0a6404a2 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/pl_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/pl_dlg.js @@ -1,5 +1,5 @@ -tinyMCE.addI18n('pl.paste_dlg',{ -text_title:"U\u017Cyj CTRL+V na swojej klawiaturze \u017Ceby wklei\u0107 tekst do okna.", -text_linebreaks:"Zachowaj ko\u0144ce linii.", -word_title:"U\u017Cyj CTRL+V na swojej klawiaturze \u017Ceby wklei\u0107 tekst do okna." +tinyMCE.addI18n('pl.paste_dlg',{ +text_title:"U\u017Cyj CTRL+V na swojej klawiaturze \u017Ceby wklei\u0107 tekst do okna.", +text_linebreaks:"Zachowaj ko\u0144ce linii.", +word_title:"U\u017Cyj CTRL+V na swojej klawiaturze \u017Ceby wklei\u0107 tekst do okna." }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/pt_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/pt_dlg.js old mode 100644 new mode 100755 index db361f3a5c..4bbab9bd3a --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/pt_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/pt_dlg.js @@ -1,5 +1,5 @@ -tinyMCE.addI18n('pt.paste_dlg',{ -text_title:"Use CTRL+V para colar o texto na janela.", -text_linebreaks:"Manter quebras de linha", -word_title:"Use CTRL+V para colar o texto na janela." +tinyMCE.addI18n('pt.paste_dlg',{ +text_title:"Use CTRL+V para colar o texto na janela.", +text_linebreaks:"Manter quebras de linha", +word_title:"Use CTRL+V para colar o texto na janela." }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/ru_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/ru_dlg.js old mode 100644 new mode 100755 index 91f4a40130..68ebeba2ea --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/ru_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/ru_dlg.js @@ -1,5 +1,5 @@ -tinyMCE.addI18n('ru.paste_dlg',{ -text_title:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 CTRL+V \u0434\u043B\u044F \u0432\u0441\u0442\u0430\u0432\u043A\u0438 \u0442\u0435\u043A\u0441\u0442\u0430 \u0432 \u043E\u043A\u043D\u043E.", -text_linebreaks:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043F\u0435\u0440\u0435\u043D\u043E\u0441\u044B \u0441\u0442\u0440\u043E\u043A", -word_title:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 CTRL+V \u0434\u043B\u044F \u0432\u0441\u0442\u0430\u0432\u043A\u0438 \u0442\u0435\u043A\u0441\u0442\u0430 \u0432 \u043E\u043A\u043D\u043E." +tinyMCE.addI18n('ru.paste_dlg',{ +text_title:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 CTRL+V \u0434\u043B\u044F \u0432\u0441\u0442\u0430\u0432\u043A\u0438 \u0442\u0435\u043A\u0441\u0442\u0430 \u0432 \u043E\u043A\u043D\u043E.", +text_linebreaks:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043F\u0435\u0440\u0435\u043D\u043E\u0441\u044B \u0441\u0442\u0440\u043E\u043A", +word_title:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 CTRL+V \u0434\u043B\u044F \u0432\u0441\u0442\u0430\u0432\u043A\u0438 \u0442\u0435\u043A\u0441\u0442\u0430 \u0432 \u043E\u043A\u043D\u043E." }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/sv_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/sv_dlg.js old mode 100644 new mode 100755 index 4cea4b221f..d32ba3f19d --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/sv_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/sv_dlg.js @@ -1,5 +1,5 @@ -tinyMCE.addI18n('sv.paste_dlg',{ -text_title:"Anv\u00E4nd ctrl-v p\u00E5 ditt tangentbord f\u00F6r att klistra in i detta f\u00F6nster.", -text_linebreaks:"Spara radbrytningar", -word_title:"Anv\u00E4nd ctrl-v p\u00E5 ditt tangentbord f\u00F6r att klistra in i detta f\u00F6nster." +tinyMCE.addI18n('sv.paste_dlg',{ +text_title:"Anv\u00E4nd ctrl-v p\u00E5 ditt tangentbord f\u00F6r att klistra in i detta f\u00F6nster.", +text_linebreaks:"Spara radbrytningar", +word_title:"Anv\u00E4nd ctrl-v p\u00E5 ditt tangentbord f\u00F6r att klistra in i detta f\u00F6nster." }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/zh_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/zh_dlg.js old mode 100644 new mode 100755 index 1fdc593139..7da3d6fdcd --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/zh_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/langs/zh_dlg.js @@ -1,5 +1,5 @@ -tinyMCE.addI18n('zh.paste_dlg',{ -text_title:"\u7528 Ctrl+V \u5C07\u5167\u5BB9\u8CBC\u4E0A\u3002", -text_linebreaks:"\u4FDD\u7559\u5206\u884C\u7B26\u865F", -word_title:"\u7528 Ctrl+V \u5C07\u5167\u5BB9\u8CBC\u4E0A\u3002" +tinyMCE.addI18n('zh.paste_dlg',{ +text_title:"\u7528 Ctrl+V \u5C07\u5167\u5BB9\u8CBC\u4E0A\u3002", +text_linebreaks:"\u4FDD\u7559\u5206\u884C\u7B26\u865F", +word_title:"\u7528 Ctrl+V \u5C07\u5167\u5BB9\u8CBC\u4E0A\u3002" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm old mode 100644 new mode 100755 index b655945476..8ccfbb970f --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm @@ -1,27 +1,27 @@ - - - {#paste.paste_text_desc} - - - - -
    -
    {#paste.paste_text_desc}
    - -
    - -
    - -
    - -
    {#paste_dlg.text_title}
    - - - -
    - - -
    -
    - + + + {#paste.paste_text_desc} + + + + +
    +
    {#paste.paste_text_desc}
    + +
    + +
    + +
    + +
    {#paste_dlg.text_title}
    + + + +
    + + +
    +
    + \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm old mode 100644 new mode 100755 index 0f6bb41210..7731f39c48 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm @@ -1,21 +1,21 @@ - - - {#paste.paste_word_desc} - - - - -
    -
    {#paste.paste_word_desc}
    - -
    {#paste_dlg.word_title}
    - -
    - -
    - - -
    -
    - - + + + {#paste.paste_word_desc} + + + + +
    +
    {#paste.paste_word_desc}
    + +
    {#paste_dlg.word_title}
    + +
    + +
    + + +
    +
    + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/preview/example.html b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/preview/example.html old mode 100644 new mode 100755 index b2c3d90ce0..48202224dd --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/preview/example.html +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/preview/example.html @@ -1,28 +1,28 @@ - - - - - -Example of a custom preview page - - - -Editor contents:
    -
    - -
    - - - + + + + + +Example of a custom preview page + + + +Editor contents:
    +
    + +
    + + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js old mode 100644 new mode 100755 index f8dc810527..6fe25de090 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js @@ -1,73 +1,73 @@ -/** - * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose. - */ - -function writeFlash(p) { - writeEmbed( - 'D27CDB6E-AE6D-11cf-96B8-444553540000', - 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', - 'application/x-shockwave-flash', - p - ); -} - -function writeShockWave(p) { - writeEmbed( - '166B1BCA-3F9C-11CF-8075-444553540000', - 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0', - 'application/x-director', - p - ); -} - -function writeQuickTime(p) { - writeEmbed( - '02BF25D5-8C17-4B23-BC80-D3488ABDDC6B', - 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0', - 'video/quicktime', - p - ); -} - -function writeRealMedia(p) { - writeEmbed( - 'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA', - 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', - 'audio/x-pn-realaudio-plugin', - p - ); -} - -function writeWindowsMedia(p) { - p.url = p.src; - writeEmbed( - '6BF52A52-394A-11D3-B153-00C04F79FAA6', - 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701', - 'application/x-mplayer2', - p - ); -} - -function writeEmbed(cls, cb, mt, p) { - var h = '', n; - - h += ''; - - h += ''; + + h += ' - - - - - -{#preview.preview_desc} - - - - - + + + + + + +{#preview.preview_desc} + + + + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css old mode 100644 new mode 100755 index ecdf58c7b5..3e2eaf34b3 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css @@ -1,6 +1,6 @@ -.panel_wrapper {height:85px;} -.panel_wrapper div.current {height:85px;} - -/* IE */ -* html .panel_wrapper {height:100px;} -* html .panel_wrapper div.current {height:100px;} +.panel_wrapper {height:85px;} +.panel_wrapper div.current {height:85px;} + +/* IE */ +* html .panel_wrapper {height:100px;} +* html .panel_wrapper div.current {height:100px;} diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js old mode 100644 new mode 100755 index 0137ba0fdd..9571633232 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js @@ -1,138 +1,138 @@ -tinyMCEPopup.requireLangPack(); - -var SearchReplaceDialog = { - init : function(ed) { - var f = document.forms[0], m = tinyMCEPopup.getWindowArg("mode"); - - this.switchMode(m); - - f[m + '_panel_searchstring'].value = tinyMCEPopup.getWindowArg("search_string"); - - // Focus input field - f[m + '_panel_searchstring'].focus(); - }, - - switchMode : function(m) { - var f, lm = this.lastMode; - - if (lm != m) { - f = document.forms[0]; - - if (lm) { - f[m + '_panel_searchstring'].value = f[lm + '_panel_searchstring'].value; - f[m + '_panel_backwardsu'].checked = f[lm + '_panel_backwardsu'].checked; - f[m + '_panel_backwardsd'].checked = f[lm + '_panel_backwardsd'].checked; - f[m + '_panel_casesensitivebox'].checked = f[lm + '_panel_casesensitivebox'].checked; - } - - mcTabs.displayTab(m + '_tab', m + '_panel'); - document.getElementById("replaceBtn").style.display = (m == "replace") ? "inline" : "none"; - document.getElementById("replaceAllBtn").style.display = (m == "replace") ? "inline" : "none"; - this.lastMode = m; - } - }, - - searchNext : function(a) { - var ed = tinyMCEPopup.editor, se = ed.selection, r = se.getRng(), f, m = this.lastMode, s, b, fl = 0, w = ed.getWin(), wm = ed.windowManager, fo = 0; - - // Get input - f = document.forms[0]; - s = f[m + '_panel_searchstring'].value; - b = f[m + '_panel_backwardsu'].checked; - ca = f[m + '_panel_casesensitivebox'].checked; - rs = f['replace_panel_replacestring'].value; - - if (tinymce.isIE) { - r = ed.getDoc().selection.createRange(); - } - - if (s == '') - return; - - function fix() { - // Correct Firefox graphics glitches - r = se.getRng().cloneRange(); - ed.getDoc().execCommand('SelectAll', false, null); - se.setRng(r); - }; - - function replace() { - if (tinymce.isIE) - ed.selection.getRng().duplicate().pasteHTML(rs); // Needs to be duplicated due to selection bug in IE - else - ed.getDoc().execCommand('InsertHTML', false, rs); - }; - - // IE flags - if (ca) - fl = fl | 4; - - switch (a) { - case 'all': - // Move caret to beginning of text - ed.execCommand('SelectAll'); - ed.selection.collapse(true); - - if (tinymce.isIE) { - while (r.findText(s, b ? -1 : 1, fl)) { - r.scrollIntoView(); - r.select(); - replace(); - fo = 1; - - if (b) { - r.moveEnd("character", -(rs.length)); // Otherwise will loop forever - } - } - - tinyMCEPopup.storeSelection(); - } else { - while (w.find(s, ca, b, false, false, false, false)) { - replace(); - fo = 1; - } - } - - if (fo) - tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.allreplaced')); - else - tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound')); - - return; - - case 'current': - if (!ed.selection.isCollapsed()) - replace(); - - break; - } - - se.collapse(b); - r = se.getRng(); - - if (tinymce.isIE) { - r = ed.getDoc().selection.createRange(); - } - - // Whats the point - if (!s) - return; - - if (tinymce.isIE) { - if (r.findText(s, b ? -1 : 1, fl)) { - r.scrollIntoView(); - r.select(); - } else - tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound')); - - tinyMCEPopup.storeSelection(); - } else { - if (!w.find(s, ca, b, false, false, false, false)) - tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound')); - else - fix(); - } - } -}; - -tinyMCEPopup.onInit.add(SearchReplaceDialog.init, SearchReplaceDialog); +tinyMCEPopup.requireLangPack(); + +var SearchReplaceDialog = { + init : function(ed) { + var f = document.forms[0], m = tinyMCEPopup.getWindowArg("mode"); + + this.switchMode(m); + + f[m + '_panel_searchstring'].value = tinyMCEPopup.getWindowArg("search_string"); + + // Focus input field + f[m + '_panel_searchstring'].focus(); + }, + + switchMode : function(m) { + var f, lm = this.lastMode; + + if (lm != m) { + f = document.forms[0]; + + if (lm) { + f[m + '_panel_searchstring'].value = f[lm + '_panel_searchstring'].value; + f[m + '_panel_backwardsu'].checked = f[lm + '_panel_backwardsu'].checked; + f[m + '_panel_backwardsd'].checked = f[lm + '_panel_backwardsd'].checked; + f[m + '_panel_casesensitivebox'].checked = f[lm + '_panel_casesensitivebox'].checked; + } + + mcTabs.displayTab(m + '_tab', m + '_panel'); + document.getElementById("replaceBtn").style.display = (m == "replace") ? "inline" : "none"; + document.getElementById("replaceAllBtn").style.display = (m == "replace") ? "inline" : "none"; + this.lastMode = m; + } + }, + + searchNext : function(a) { + var ed = tinyMCEPopup.editor, se = ed.selection, r = se.getRng(), f, m = this.lastMode, s, b, fl = 0, w = ed.getWin(), wm = ed.windowManager, fo = 0; + + // Get input + f = document.forms[0]; + s = f[m + '_panel_searchstring'].value; + b = f[m + '_panel_backwardsu'].checked; + ca = f[m + '_panel_casesensitivebox'].checked; + rs = f['replace_panel_replacestring'].value; + + if (tinymce.isIE) { + r = ed.getDoc().selection.createRange(); + } + + if (s == '') + return; + + function fix() { + // Correct Firefox graphics glitches + r = se.getRng().cloneRange(); + ed.getDoc().execCommand('SelectAll', false, null); + se.setRng(r); + }; + + function replace() { + if (tinymce.isIE) + ed.selection.getRng().duplicate().pasteHTML(rs); // Needs to be duplicated due to selection bug in IE + else + ed.getDoc().execCommand('InsertHTML', false, rs); + }; + + // IE flags + if (ca) + fl = fl | 4; + + switch (a) { + case 'all': + // Move caret to beginning of text + ed.execCommand('SelectAll'); + ed.selection.collapse(true); + + if (tinymce.isIE) { + while (r.findText(s, b ? -1 : 1, fl)) { + r.scrollIntoView(); + r.select(); + replace(); + fo = 1; + + if (b) { + r.moveEnd("character", -(rs.length)); // Otherwise will loop forever + } + } + + tinyMCEPopup.storeSelection(); + } else { + while (w.find(s, ca, b, false, false, false, false)) { + replace(); + fo = 1; + } + } + + if (fo) + tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.allreplaced')); + else + tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound')); + + return; + + case 'current': + if (!ed.selection.isCollapsed()) + replace(); + + break; + } + + se.collapse(b); + r = se.getRng(); + + if (tinymce.isIE) { + r = ed.getDoc().selection.createRange(); + } + + // Whats the point + if (!s) + return; + + if (tinymce.isIE) { + if (r.findText(s, b ? -1 : 1, fl)) { + r.scrollIntoView(); + r.select(); + } else + tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound')); + + tinyMCEPopup.storeSelection(); + } else { + if (!w.find(s, ca, b, false, false, false, false)) + tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound')); + else + fix(); + } + } +}; + +tinyMCEPopup.onInit.add(SearchReplaceDialog.init, SearchReplaceDialog); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/bg_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/bg_dlg.js old mode 100644 new mode 100755 index 7347d3340d..8d08e686a2 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/bg_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/bg_dlg.js @@ -1,16 +1,16 @@ -tinyMCE.addI18n('bg.searchreplace_dlg',{ -searchnext_desc:"\u0422\u044A\u0440\u0441\u0438 \u043E\u0442\u043D\u043E\u0432\u043E", -notfound:"\u0422\u044A\u0440\u0441\u0435\u043D\u0435\u0442\u043E \u0437\u0430\u0432\u044A\u0440\u0448\u0438. \u0422\u044A\u0440\u0441\u0435\u043D\u0438\u0442\u0435 \u0434\u0443\u043C\u0438 \u043D\u0435 \u0431\u044F\u0445\u0430 \u043E\u0442\u043A\u0440\u0438\u0442\u0438.", -search_title:"\u0422\u044A\u0440\u0441\u0438", -replace_title:"\u0422\u044A\u0440\u0441\u0438/\u0417\u0430\u043C\u0435\u0441\u0442\u0438", -allreplaced:"\u0412\u0441\u0438\u0447\u043A\u0438 \u043D\u0430\u043C\u0435\u0440\u0435\u043D\u0438 \u0434\u0443\u043C\u0438 \u0431\u044F\u0445\u0430 \u0437\u0430\u043C\u0435\u0441\u0442\u0435\u043D\u0438.", -findwhat:"\u0422\u044A\u0440\u0441\u0438", -replacewith:"\u0417\u0430\u043C\u0435\u0441\u0442\u0438 \u0441", -direction:"\u041F\u043E\u0441\u043E\u043A\u0430", -up:"\u041D\u0430\u0433\u043E\u0440\u0435", -down:"\u041D\u0430\u0434\u043E\u043B\u0443", -mcase:"\u0421\u044A\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0435 \u043D\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u044A\u0440\u0430", -findnext:"\u0422\u044A\u0440\u0441\u0438 \u0441\u043B\u0435\u0434\u0432\u0430\u0449\u0438", -replace:"\u0417\u0430\u043C\u0435\u0441\u0442\u0438", -replaceall:"\u0417\u0430\u043C\u0435\u0441\u0442\u0438 \u0432\u0441\u0438\u0447\u043A\u0438" +tinyMCE.addI18n('bg.searchreplace_dlg',{ +searchnext_desc:"\u0422\u044A\u0440\u0441\u0438 \u043E\u0442\u043D\u043E\u0432\u043E", +notfound:"\u0422\u044A\u0440\u0441\u0435\u043D\u0435\u0442\u043E \u0437\u0430\u0432\u044A\u0440\u0448\u0438. \u0422\u044A\u0440\u0441\u0435\u043D\u0438\u0442\u0435 \u0434\u0443\u043C\u0438 \u043D\u0435 \u0431\u044F\u0445\u0430 \u043E\u0442\u043A\u0440\u0438\u0442\u0438.", +search_title:"\u0422\u044A\u0440\u0441\u0438", +replace_title:"\u0422\u044A\u0440\u0441\u0438/\u0417\u0430\u043C\u0435\u0441\u0442\u0438", +allreplaced:"\u0412\u0441\u0438\u0447\u043A\u0438 \u043D\u0430\u043C\u0435\u0440\u0435\u043D\u0438 \u0434\u0443\u043C\u0438 \u0431\u044F\u0445\u0430 \u0437\u0430\u043C\u0435\u0441\u0442\u0435\u043D\u0438.", +findwhat:"\u0422\u044A\u0440\u0441\u0438", +replacewith:"\u0417\u0430\u043C\u0435\u0441\u0442\u0438 \u0441", +direction:"\u041F\u043E\u0441\u043E\u043A\u0430", +up:"\u041D\u0430\u0433\u043E\u0440\u0435", +down:"\u041D\u0430\u0434\u043E\u043B\u0443", +mcase:"\u0421\u044A\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0435 \u043D\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u044A\u0440\u0430", +findnext:"\u0422\u044A\u0440\u0441\u0438 \u0441\u043B\u0435\u0434\u0432\u0430\u0449\u0438", +replace:"\u0417\u0430\u043C\u0435\u0441\u0442\u0438", +replaceall:"\u0417\u0430\u043C\u0435\u0441\u0442\u0438 \u0432\u0441\u0438\u0447\u043A\u0438" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/cs_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/cs_dlg.js old mode 100644 new mode 100755 index a1928789af..54deecfd49 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/cs_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/cs_dlg.js @@ -1,16 +1,16 @@ -tinyMCE.addI18n('cs.searchreplace_dlg',{ -searchnext_desc:"Naj\u00EDt dal\u0161\u00ED", -notfound:"Hled\u00E1n\u00ED bylo dokon\u010Deno. Hledan\u00FD text nebyl nalezen.", -search_title:"Naj\u00EDt", -replace_title:"Naj\u00EDt/nahradit", -allreplaced:"V\u0161echny v\u00FDskyty byly nahrazeny.", -findwhat:"Co hledat", -replacewith:"\u010C\u00EDm nahradit", -direction:"Sm\u011Br", -up:"Nahoru", -down:"Dol\u016F", -mcase:"Rozli\u0161ovat velikost", -findnext:"Naj\u00EDt dal\u0161\u00ED", -replace:"Nahradit", -replaceall:"Nahradit v\u0161e" +tinyMCE.addI18n('cs.searchreplace_dlg',{ +searchnext_desc:"Naj\u00EDt dal\u0161\u00ED", +notfound:"Hled\u00E1n\u00ED bylo dokon\u010Deno. Hledan\u00FD text nebyl nalezen.", +search_title:"Naj\u00EDt", +replace_title:"Naj\u00EDt/nahradit", +allreplaced:"V\u0161echny v\u00FDskyty byly nahrazeny.", +findwhat:"Co hledat", +replacewith:"\u010C\u00EDm nahradit", +direction:"Sm\u011Br", +up:"Nahoru", +down:"Dol\u016F", +mcase:"Rozli\u0161ovat velikost", +findnext:"Naj\u00EDt dal\u0161\u00ED", +replace:"Nahradit", +replaceall:"Nahradit v\u0161e" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/da_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/da_dlg.js old mode 100644 new mode 100755 index 9c49354df3..5f20235e10 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/da_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/da_dlg.js @@ -1,16 +1,16 @@ -tinyMCE.addI18n('da.searchreplace_dlg',{ -searchnext_desc:"S\u00F8g igen", -notfound:"S\u00F8gningen gav intet resultat.", -search_title:"S\u00F8g", -replace_title:"S\u00F8g / erstat", -allreplaced:"Alle forekomster af s\u00F8gestrengen er erstattet.", -findwhat:"S\u00F8g efter", -replacewith:"Erstat med", -direction:"Retning", -up:"Op", -down:"Ned", -mcase:"Forskel p\u00E5 store og sm\u00E5 bogstaver", -findnext:"Find n\u00E6ste", -replace:"Erstat", -replaceall:"Erstat alle" +tinyMCE.addI18n('da.searchreplace_dlg',{ +searchnext_desc:"S\u00F8g igen", +notfound:"S\u00F8gningen gav intet resultat.", +search_title:"S\u00F8g", +replace_title:"S\u00F8g / erstat", +allreplaced:"Alle forekomster af s\u00F8gestrengen er erstattet.", +findwhat:"S\u00F8g efter", +replacewith:"Erstat med", +direction:"Retning", +up:"Op", +down:"Ned", +mcase:"Forskel p\u00E5 store og sm\u00E5 bogstaver", +findnext:"Find n\u00E6ste", +replace:"Erstat", +replaceall:"Erstat alle" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/de_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/de_dlg.js old mode 100644 new mode 100755 index 52c0b0625c..6bb60d6ee5 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/de_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/de_dlg.js @@ -1,16 +1,16 @@ -tinyMCE.addI18n('de.searchreplace_dlg',{ -searchnext_desc:"Weitersuchen", -notfound:"Die Suche ist am Ende angelangt. Die Zeichenkette konnte nicht gefunden werden.", -search_title:"Suchen", -replace_title:"Suchen/Ersetzen", -allreplaced:"Alle Vorkommen der Zeichenkette wurden ersetzt.", -findwhat:"Zu suchender Text", -replacewith:"Ersetzen durch", -direction:"Suchrichtung", -up:"Aufw\u00E4rts", -down:"Abw\u00E4rts", -mcase:"Gro\u00DF-/Kleinschreibung beachten", -findnext:"Weitersuchen", -replace:"Ersetzen", -replaceall:"Alle ersetzen" +tinyMCE.addI18n('de.searchreplace_dlg',{ +searchnext_desc:"Weitersuchen", +notfound:"Die Suche ist am Ende angelangt. Die Zeichenkette konnte nicht gefunden werden.", +search_title:"Suchen", +replace_title:"Suchen/Ersetzen", +allreplaced:"Alle Vorkommen der Zeichenkette wurden ersetzt.", +findwhat:"Zu suchender Text", +replacewith:"Ersetzen durch", +direction:"Suchrichtung", +up:"Aufw\u00E4rts", +down:"Abw\u00E4rts", +mcase:"Gro\u00DF-/Kleinschreibung beachten", +findnext:"Weitersuchen", +replace:"Ersetzen", +replaceall:"Alle ersetzen" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js old mode 100644 new mode 100755 index 370959afa3..3dd3453dc9 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js @@ -1,16 +1,16 @@ -tinyMCE.addI18n('en.searchreplace_dlg',{ -searchnext_desc:"Find again", -notfound:"The search has been completed. The search string could not be found.", -search_title:"Find", -replace_title:"Find/Replace", -allreplaced:"All occurrences of the search string were replaced.", -findwhat:"Find what", -replacewith:"Replace with", -direction:"Direction", -up:"Up", -down:"Down", -mcase:"Match case", -findnext:"Find next", -replace:"Replace", -replaceall:"Replace all" +tinyMCE.addI18n('en.searchreplace_dlg',{ +searchnext_desc:"Find again", +notfound:"The search has been completed. The search string could not be found.", +search_title:"Find", +replace_title:"Find/Replace", +allreplaced:"All occurrences of the search string were replaced.", +findwhat:"Find what", +replacewith:"Replace with", +direction:"Direction", +up:"Up", +down:"Down", +mcase:"Match case", +findnext:"Find next", +replace:"Replace", +replaceall:"Replace all" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/es_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/es_dlg.js old mode 100644 new mode 100755 index b54c74bb24..e4cd3a98f4 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/es_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/es_dlg.js @@ -1,16 +1,16 @@ -tinyMCE.addI18n('es.searchreplace_dlg',{ -searchnext_desc:"Buscar de nuevo", -notfound:"La b\u00FAsqueda se ha completado. No se encontr\u00F3 el texto introducido.", -search_title:"Buscar", -replace_title:"Buscar/Reemplazar", -allreplaced:"Se ha reemplazado el texto.", -findwhat:"Qu\u00E9 buscar", -replacewith:"Reemplazar por", -direction:"Direcci\u00F3n", -up:"Arriba", -down:"Abajo", -mcase:"Min\u00FAs./May\u00FAs.", -findnext:"Buscar siguiente", -replace:"Reemplazar", -replaceall:"Reemplazar todo" +tinyMCE.addI18n('es.searchreplace_dlg',{ +searchnext_desc:"Buscar de nuevo", +notfound:"La b\u00FAsqueda se ha completado. No se encontr\u00F3 el texto introducido.", +search_title:"Buscar", +replace_title:"Buscar/Reemplazar", +allreplaced:"Se ha reemplazado el texto.", +findwhat:"Qu\u00E9 buscar", +replacewith:"Reemplazar por", +direction:"Direcci\u00F3n", +up:"Arriba", +down:"Abajo", +mcase:"Min\u00FAs./May\u00FAs.", +findnext:"Buscar siguiente", +replace:"Reemplazar", +replaceall:"Reemplazar todo" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fa_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fa_dlg.js old mode 100644 new mode 100755 index cc0ea9abb8..13a245f77b --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fa_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fa_dlg.js @@ -1,16 +1,16 @@ -tinyMCE.addI18n('fa.searchreplace_dlg',{ -searchnext_desc:"\u062C\u0633\u062A\u062C\u0648\u06CC \u0645\u062C\u062F\u062F", -notfound:"\u062C\u0633\u062A\u062C\u0648 \u06A9\u0627\u0645\u0644 \u0634\u062F. \u06A9\u0644\u0645\u0647 \u062C\u0633\u062A\u062C\u0648 \u0634\u062F\u0647 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", -search_title:"\u062C\u0633\u062A\u062C\u0648", -replace_title:"\u062C\u0633\u062A\u062C\u0648/\u062A\u0639\u0648\u06CC\u0636", -allreplaced:"\u062A\u0645\u0627\u0645\u06CC \u06A9\u0644\u0645\u0627\u062A \u06CC\u0627\u0641\u062A \u0634\u062F\u0647 \u062A\u063A\u06CC\u06CC\u0631 \u06CC\u0627\u0641\u062A\u0646\u062F", -findwhat:"\u062C\u0633\u062A\u062C\u0648\u06CC \u0686\u0647 \u0686\u06CC\u0632\u06CC", -replacewith:"\u062A\u0639\u0648\u06CC\u0636 \u0628\u0627", -direction:"\u062C\u0647\u062A", -up:"\u0628\u0627\u0644\u0627", -down:"\u067E\u0627\u06CC\u06CC\u0646", -mcase:"\u0647\u0645\u0633\u0627\u0646 \u0628\u0648\u062F\u0646 \u062D\u0631\u0648\u0641", -findnext:"\u062C\u0633\u062A\u062C\u0648\u06CC \u0628\u0639\u062F\u06CC", -replace:"\u062A\u0639\u0648\u06CC\u0636", -replaceall:"\u062A\u0639\u0648\u06CC\u0636 \u0647\u0645\u0647" +tinyMCE.addI18n('fa.searchreplace_dlg',{ +searchnext_desc:"\u062C\u0633\u062A\u062C\u0648\u06CC \u0645\u062C\u062F\u062F", +notfound:"\u062C\u0633\u062A\u062C\u0648 \u06A9\u0627\u0645\u0644 \u0634\u062F. \u06A9\u0644\u0645\u0647 \u062C\u0633\u062A\u062C\u0648 \u0634\u062F\u0647 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", +search_title:"\u062C\u0633\u062A\u062C\u0648", +replace_title:"\u062C\u0633\u062A\u062C\u0648/\u062A\u0639\u0648\u06CC\u0636", +allreplaced:"\u062A\u0645\u0627\u0645\u06CC \u06A9\u0644\u0645\u0627\u062A \u06CC\u0627\u0641\u062A \u0634\u062F\u0647 \u062A\u063A\u06CC\u06CC\u0631 \u06CC\u0627\u0641\u062A\u0646\u062F", +findwhat:"\u062C\u0633\u062A\u062C\u0648\u06CC \u0686\u0647 \u0686\u06CC\u0632\u06CC", +replacewith:"\u062A\u0639\u0648\u06CC\u0636 \u0628\u0627", +direction:"\u062C\u0647\u062A", +up:"\u0628\u0627\u0644\u0627", +down:"\u067E\u0627\u06CC\u06CC\u0646", +mcase:"\u0647\u0645\u0633\u0627\u0646 \u0628\u0648\u062F\u0646 \u062D\u0631\u0648\u0641", +findnext:"\u062C\u0633\u062A\u062C\u0648\u06CC \u0628\u0639\u062F\u06CC", +replace:"\u062A\u0639\u0648\u06CC\u0636", +replaceall:"\u062A\u0639\u0648\u06CC\u0636 \u0647\u0645\u0647" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fi_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fi_dlg.js old mode 100644 new mode 100755 index 370125048a..f796ac6264 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fi_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fi_dlg.js @@ -1,16 +1,16 @@ -tinyMCE.addI18n('fi.searchreplace_dlg',{ -searchnext_desc:"Etsi uudestaan", -notfound:"Haku on valmis. Haettua teksti\u00E4 ei l\u00F6ytynyt.", -search_title:"Haku", -replace_title:"Etsi ja korvaa", -allreplaced:"Kaikki l\u00F6ydetyt merkkijonot korvattiin.", -findwhat:"Etsit\u00E4\u00E4n", -replacewith:"Korvataan", -direction:"Suunta", -up:"Yl\u00F6s", -down:"Alas", -mcase:"Huomioi isot ja pienet kirjaimet", -findnext:"Etsi seuraavaa", -replace:"Korvaa", -replaceall:"Korvaa kaikki" +tinyMCE.addI18n('fi.searchreplace_dlg',{ +searchnext_desc:"Etsi uudestaan", +notfound:"Haku on valmis. Haettua teksti\u00E4 ei l\u00F6ytynyt.", +search_title:"Haku", +replace_title:"Etsi ja korvaa", +allreplaced:"Kaikki l\u00F6ydetyt merkkijonot korvattiin.", +findwhat:"Etsit\u00E4\u00E4n", +replacewith:"Korvataan", +direction:"Suunta", +up:"Yl\u00F6s", +down:"Alas", +mcase:"Huomioi isot ja pienet kirjaimet", +findnext:"Etsi seuraavaa", +replace:"Korvaa", +replaceall:"Korvaa kaikki" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fr_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fr_dlg.js old mode 100644 new mode 100755 index a151c6c394..2905ed0fb4 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fr_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fr_dlg.js @@ -1,16 +1,16 @@ -tinyMCE.addI18n('fr.searchreplace_dlg',{ -searchnext_desc:"Suivant", -notfound:"La recherche est termin\u00E9e. La cha\u00EEne recherch\u00E9e n'a pas \u00E9t\u00E9 trouv\u00E9e.", -search_title:"Rechercher", -replace_title:"Rechercher / remplacer", -allreplaced:"Toutes les occurrences de la cha\u00EEne recherch\u00E9e ont \u00E9t\u00E9 remplac\u00E9es.", -findwhat:"Rechercher ceci", -replacewith:"Remplacer par", -direction:"Direction", -up:"Vers le haut", -down:"Vers le bas", -mcase:"Sensible \u00E0 la casse", -findnext:"Rechercher le suivant", -replace:"Remplacer", -replaceall:"Tout remplacer" +tinyMCE.addI18n('fr.searchreplace_dlg',{ +searchnext_desc:"Suivant", +notfound:"La recherche est termin\u00E9e. La cha\u00EEne recherch\u00E9e n'a pas \u00E9t\u00E9 trouv\u00E9e.", +search_title:"Rechercher", +replace_title:"Rechercher / remplacer", +allreplaced:"Toutes les occurrences de la cha\u00EEne recherch\u00E9e ont \u00E9t\u00E9 remplac\u00E9es.", +findwhat:"Rechercher ceci", +replacewith:"Remplacer par", +direction:"Direction", +up:"Vers le haut", +down:"Vers le bas", +mcase:"Sensible \u00E0 la casse", +findnext:"Rechercher le suivant", +replace:"Remplacer", +replaceall:"Tout remplacer" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/he_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/he_dlg.js old mode 100644 new mode 100755 index 475ee84833..43b068c15b --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/he_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/he_dlg.js @@ -1,16 +1,16 @@ -tinyMCE.addI18n('he.searchreplace_dlg',{ -searchnext_desc:"\u05D7\u05D9\u05E4\u05D5\u05E9 \u05D4\u05D1\u05D0", -notfound:"\u05D4\u05D7\u05D9\u05E4\u05D5\u05E9 \u05D4\u05E1\u05EA\u05D9\u05D9\u05DD. \u05E4\u05E8\u05D9\u05D8 \u05D4\u05D7\u05D9\u05E4\u05D5\u05E9 \u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0.", -search_title:"\u05D7\u05D9\u05E4\u05D5\u05E9", -replace_title:"\u05D7\u05D9\u05E4\u05D5\u05E9 \u05D5\u05D4\u05D7\u05DC\u05E4\u05D4", -allreplaced:"\u05DB\u05DC \u05E4\u05E8\u05D9\u05D8\u05D9 \u05D4\u05D7\u05D9\u05E4\u05D5\u05E9 \u05D4\u05D5\u05D7\u05DC\u05E4\u05D5", -findwhat:"\u05DC\u05D7\u05E4\u05E9 \u05D0\u05EA", -replacewith:"\u05DC\u05D4\u05D7\u05DC\u05D9\u05E3 \u05D1", -direction:"\u05DB\u05D9\u05D5\u05D5\u05DF", -up:"\u05DC\u05DE\u05E2\u05DC\u05D4", -down:"\u05DC\u05DE\u05D8\u05D4", -mcase:"\u05D4\u05EA\u05D0\u05DD \u05D0\u05D5\u05EA\u05D9\u05D5\u05EA \u05E8\u05D9\u05E9\u05D9\u05D5\u05EA", -findnext:"\u05D7\u05E4\u05E9 \u05D0\u05EA \u05D4\u05D1\u05D0", -replace:"\u05D4\u05D7\u05DC\u05E4\u05D4", -replaceall:"\u05D4\u05D7\u05DC\u05E4\u05EA \u05D4\u05DB\u05DC" +tinyMCE.addI18n('he.searchreplace_dlg',{ +searchnext_desc:"\u05D7\u05D9\u05E4\u05D5\u05E9 \u05D4\u05D1\u05D0", +notfound:"\u05D4\u05D7\u05D9\u05E4\u05D5\u05E9 \u05D4\u05E1\u05EA\u05D9\u05D9\u05DD. \u05E4\u05E8\u05D9\u05D8 \u05D4\u05D7\u05D9\u05E4\u05D5\u05E9 \u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0.", +search_title:"\u05D7\u05D9\u05E4\u05D5\u05E9", +replace_title:"\u05D7\u05D9\u05E4\u05D5\u05E9 \u05D5\u05D4\u05D7\u05DC\u05E4\u05D4", +allreplaced:"\u05DB\u05DC \u05E4\u05E8\u05D9\u05D8\u05D9 \u05D4\u05D7\u05D9\u05E4\u05D5\u05E9 \u05D4\u05D5\u05D7\u05DC\u05E4\u05D5", +findwhat:"\u05DC\u05D7\u05E4\u05E9 \u05D0\u05EA", +replacewith:"\u05DC\u05D4\u05D7\u05DC\u05D9\u05E3 \u05D1", +direction:"\u05DB\u05D9\u05D5\u05D5\u05DF", +up:"\u05DC\u05DE\u05E2\u05DC\u05D4", +down:"\u05DC\u05DE\u05D8\u05D4", +mcase:"\u05D4\u05EA\u05D0\u05DD \u05D0\u05D5\u05EA\u05D9\u05D5\u05EA \u05E8\u05D9\u05E9\u05D9\u05D5\u05EA", +findnext:"\u05D7\u05E4\u05E9 \u05D0\u05EA \u05D4\u05D1\u05D0", +replace:"\u05D4\u05D7\u05DC\u05E4\u05D4", +replaceall:"\u05D4\u05D7\u05DC\u05E4\u05EA \u05D4\u05DB\u05DC" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/it_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/it_dlg.js old mode 100644 new mode 100755 index cbaf13ab20..9f1f8fc06d --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/it_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/it_dlg.js @@ -1,16 +1,16 @@ -tinyMCE.addI18n('it.searchreplace_dlg',{ -searchnext_desc:"Trova successivo", -notfound:"Ricerca completata. Nessun risultato trovato.", -search_title:"Trova", -replace_title:"Trova/Sostituisci", -allreplaced:"Tutte le occorrenze del criterio di ricerca sono state sostituite.", -findwhat:"Trova:", -replacewith:"Sostituisci con:", -direction:"Direzione", -up:"Avanti", -down:"Indietro", -mcase:"Maiuscole/minuscole", -findnext:"Trova succ.", -replace:"Sostituisci", -replaceall:"Sost. tutto" +tinyMCE.addI18n('it.searchreplace_dlg',{ +searchnext_desc:"Trova successivo", +notfound:"Ricerca completata. Nessun risultato trovato.", +search_title:"Trova", +replace_title:"Trova/Sostituisci", +allreplaced:"Tutte le occorrenze del criterio di ricerca sono state sostituite.", +findwhat:"Trova:", +replacewith:"Sostituisci con:", +direction:"Direzione", +up:"Avanti", +down:"Indietro", +mcase:"Maiuscole/minuscole", +findnext:"Trova succ.", +replace:"Sostituisci", +replaceall:"Sost. tutto" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/ja_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/ja_dlg.js old mode 100644 new mode 100755 index 926a6766b0..a1011edff7 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/ja_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/ja_dlg.js @@ -1,16 +1,16 @@ -tinyMCE.addI18n('ja.searchreplace_dlg',{ -searchnext_desc:"\u518D\u691C\u7D22", -notfound:"\u6700\u5F8C\u307E\u3067\u691C\u7D22\u3057\u307E\u3057\u305F\u304C\u3001\u691C\u7D22\u6587\u5B57\u5217\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002", -search_title:"\u691C\u7D22", -replace_title:"\u691C\u7D22/\u7F6E\u63DB", -allreplaced:"\u5168\u3066\u7F6E\u63DB\u3055\u308C\u307E\u3057\u305F\u3002", -findwhat:"\u691C\u7D22\u6587\u5B57\u5217", -replacewith:"\u7F6E\u63DB\u6587\u5B57\u5217", -direction:"\u65B9\u5411", -up:"\u4E0A\u3078", -down:"\u4E0B\u3078", -mcase:"\u5927\u6587\u5B57/\u5C0F\u6587\u5B57\u3092\u533A\u5225\u3059\u308B", -findnext:"\u6B21\u3078", -replace:"\u7F6E\u63DB", -replaceall:"\u5168\u3066\u7F6E\u63DB" +tinyMCE.addI18n('ja.searchreplace_dlg',{ +searchnext_desc:"\u518D\u691C\u7D22", +notfound:"\u6700\u5F8C\u307E\u3067\u691C\u7D22\u3057\u307E\u3057\u305F\u304C\u3001\u691C\u7D22\u6587\u5B57\u5217\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002", +search_title:"\u691C\u7D22", +replace_title:"\u691C\u7D22/\u7F6E\u63DB", +allreplaced:"\u5168\u3066\u7F6E\u63DB\u3055\u308C\u307E\u3057\u305F\u3002", +findwhat:"\u691C\u7D22\u6587\u5B57\u5217", +replacewith:"\u7F6E\u63DB\u6587\u5B57\u5217", +direction:"\u65B9\u5411", +up:"\u4E0A\u3078", +down:"\u4E0B\u3078", +mcase:"\u5927\u6587\u5B57/\u5C0F\u6587\u5B57\u3092\u533A\u5225\u3059\u308B", +findnext:"\u6B21\u3078", +replace:"\u7F6E\u63DB", +replaceall:"\u5168\u3066\u7F6E\u63DB" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/nl_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/nl_dlg.js old mode 100644 new mode 100755 index 6ad59dbfe8..00866e4ffb --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/nl_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/nl_dlg.js @@ -1,16 +1,16 @@ -tinyMCE.addI18n('nl.searchreplace_dlg',{ -searchnext_desc:"Opnieuw zoeken", -notfound:"Het doorzoeken is voltooid. De zoekterm kon niet meer worden gevonden.", -search_title:"Zoeken", -replace_title:"Zoeken/Vervangen", -allreplaced:"Alle instanties van de zoekterm zijn vervangen.", -findwhat:"Zoeken naar", -replacewith:"Vervangen door", -direction:"Richting", -up:"Omhoog", -down:"Omlaag", -mcase:"Identieke hoofdletters/kleine letters", -findnext:"Zoeken", -replace:"Vervangen", -replaceall:"Alles verv." +tinyMCE.addI18n('nl.searchreplace_dlg',{ +searchnext_desc:"Opnieuw zoeken", +notfound:"Het doorzoeken is voltooid. De zoekterm kon niet meer worden gevonden.", +search_title:"Zoeken", +replace_title:"Zoeken/Vervangen", +allreplaced:"Alle instanties van de zoekterm zijn vervangen.", +findwhat:"Zoeken naar", +replacewith:"Vervangen door", +direction:"Richting", +up:"Omhoog", +down:"Omlaag", +mcase:"Identieke hoofdletters/kleine letters", +findnext:"Zoeken", +replace:"Vervangen", +replaceall:"Alles verv." }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/nn_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/nn_dlg.js old mode 100644 new mode 100755 index 3bb232d3f6..6896f6adb8 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/nn_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/nn_dlg.js @@ -1,16 +1,16 @@ -tinyMCE.addI18n('nn.searchreplace_dlg',{ -searchnext_desc:"S\u00F8k igjen", -notfound:"S\u00F8ket avslutta. Fann ikkje s\u00F8kjestrengen.", -search_title:"S\u00F8k", -replace_title:"S\u00F8k/Erstatt", -allreplaced:"Alle f\u00F8rekomstar av s\u00F8kjestrengen er erstatta.", -findwhat:"Finn kva", -replacewith:"Erstatt med", -direction:"Retning", -up:"Oppover", -down:"Nedover", -mcase:"Skill mellom store og sm\u00E5 teikn", -findnext:"Finn neste", -replace:"Erstatt", -replaceall:"Erstatt alt" +tinyMCE.addI18n('nn.searchreplace_dlg',{ +searchnext_desc:"S\u00F8k igjen", +notfound:"S\u00F8ket avslutta. Fann ikkje s\u00F8kjestrengen.", +search_title:"S\u00F8k", +replace_title:"S\u00F8k/Erstatt", +allreplaced:"Alle f\u00F8rekomstar av s\u00F8kjestrengen er erstatta.", +findwhat:"Finn kva", +replacewith:"Erstatt med", +direction:"Retning", +up:"Oppover", +down:"Nedover", +mcase:"Skill mellom store og sm\u00E5 teikn", +findnext:"Finn neste", +replace:"Erstatt", +replaceall:"Erstatt alt" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/pl_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/pl_dlg.js old mode 100644 new mode 100755 index f220fc2210..cdab6a3391 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/pl_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/pl_dlg.js @@ -1,16 +1,16 @@ -tinyMCE.addI18n('pl.searchreplace_dlg',{ -searchnext_desc:"Znajd\u017A ponownie", -notfound:"Wyszukiwanie zako\u0144czone. Poszukiwany fragment nie zosta\u0142 znaleziony.", -search_title:"Znajd\u017A", -replace_title:"Znajd\u017A/Zamie\u0144", -allreplaced:"Wszystkie wyst\u0105pienia szukanego fragmentu zosta\u0142y zast\u0105pione.", -findwhat:"Znajd\u017A...", -replacewith:"Zamie\u0144 z...", -direction:"Kierunek", -up:"W g\u00F3r\u0119", -down:"W d\u00F3\u0142", -mcase:"Dopasuj wielko\u015B\u0107 liter", -findnext:"Znajd\u017A nast\u0119pny", -replace:"Zamie\u0144", -replaceall:"Zamien wszystko" +tinyMCE.addI18n('pl.searchreplace_dlg',{ +searchnext_desc:"Znajd\u017A ponownie", +notfound:"Wyszukiwanie zako\u0144czone. Poszukiwany fragment nie zosta\u0142 znaleziony.", +search_title:"Znajd\u017A", +replace_title:"Znajd\u017A/Zamie\u0144", +allreplaced:"Wszystkie wyst\u0105pienia szukanego fragmentu zosta\u0142y zast\u0105pione.", +findwhat:"Znajd\u017A...", +replacewith:"Zamie\u0144 z...", +direction:"Kierunek", +up:"W g\u00F3r\u0119", +down:"W d\u00F3\u0142", +mcase:"Dopasuj wielko\u015B\u0107 liter", +findnext:"Znajd\u017A nast\u0119pny", +replace:"Zamie\u0144", +replaceall:"Zamien wszystko" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/pt_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/pt_dlg.js old mode 100644 new mode 100755 index df9c0297ae..8de81d1e05 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/pt_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/pt_dlg.js @@ -1,16 +1,16 @@ -tinyMCE.addI18n('pt.searchreplace_dlg',{ -searchnext_desc:"Localizar novamente", -notfound:"A pesquisa foi conclu\u00EDda sem resultados.", -search_title:"Localizar", -replace_title:"Localizar/substituir", -allreplaced:"Todas as substitui\u00E7\u00F5es foram efetuadas.", -findwhat:"Localizar", -replacewith:"Substituir com", -direction:"Dire\u00E7\u00E3o", -up:"Acima", -down:"Abaixo", -mcase:"Diferenciar mai\u00FAsculas", -findnext:"Localizar pr\u00F3ximo", -replace:"Substituir", -replaceall:"Substituir todos" +tinyMCE.addI18n('pt.searchreplace_dlg',{ +searchnext_desc:"Localizar novamente", +notfound:"A pesquisa foi conclu\u00EDda sem resultados.", +search_title:"Localizar", +replace_title:"Localizar/substituir", +allreplaced:"Todas as substitui\u00E7\u00F5es foram efetuadas.", +findwhat:"Localizar", +replacewith:"Substituir com", +direction:"Dire\u00E7\u00E3o", +up:"Acima", +down:"Abaixo", +mcase:"Diferenciar mai\u00FAsculas", +findnext:"Localizar pr\u00F3ximo", +replace:"Substituir", +replaceall:"Substituir todos" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/ru_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/ru_dlg.js old mode 100644 new mode 100755 index b2ec4402c5..86527fbf23 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/ru_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/ru_dlg.js @@ -1,16 +1,16 @@ -tinyMCE.addI18n('ru.searchreplace_dlg',{ -searchnext_desc:"\u041D\u0430\u0439\u0442\u0438 \u0435\u0449\u0435", -notfound:"\u041F\u043E\u0438\u0441\u043A \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D. \u0421\u043E\u043E\u0442\u0432\u0435\u0441\u0442\u0432\u0438\u0439 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E.", -search_title:"\u041F\u043E\u0438\u0441\u043A", -replace_title:"\u041F\u043E\u0438\u0441\u043A \u0438 \u0437\u0430\u043C\u0435\u043D\u0430", -allreplaced:"\u0412\u0441\u0435 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044F \u043F\u043E\u0438\u0441\u043A\u0430 \u0431\u044B\u043B\u0438 \u0437\u0430\u043C\u0435\u043D\u0435\u043D\u044B.", -findwhat:"\u041F\u043E\u0438\u0441\u043A", -replacewith:"\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430", -direction:"\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435", -up:"\u0412\u0432\u0435\u0440\u0445 ", -down:"\u0412\u043D\u0438\u0437", -mcase:"\u0423\u0447\u0438\u0442\u044B\u0432\u0430\u0442\u044C \u0440\u0435\u0433\u0438\u0441\u0442\u0440", -findnext:"\u041D\u0430\u0439\u0442\u0438 \u0434\u0430\u043B\u0435\u0435", -replace:"\u0417\u0430\u043C\u0435\u043D\u0430", -replaceall:"\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0441\u0435" +tinyMCE.addI18n('ru.searchreplace_dlg',{ +searchnext_desc:"\u041D\u0430\u0439\u0442\u0438 \u0435\u0449\u0435", +notfound:"\u041F\u043E\u0438\u0441\u043A \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D. \u0421\u043E\u043E\u0442\u0432\u0435\u0441\u0442\u0432\u0438\u0439 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E.", +search_title:"\u041F\u043E\u0438\u0441\u043A", +replace_title:"\u041F\u043E\u0438\u0441\u043A \u0438 \u0437\u0430\u043C\u0435\u043D\u0430", +allreplaced:"\u0412\u0441\u0435 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044F \u043F\u043E\u0438\u0441\u043A\u0430 \u0431\u044B\u043B\u0438 \u0437\u0430\u043C\u0435\u043D\u0435\u043D\u044B.", +findwhat:"\u041F\u043E\u0438\u0441\u043A", +replacewith:"\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430", +direction:"\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435", +up:"\u0412\u0432\u0435\u0440\u0445 ", +down:"\u0412\u043D\u0438\u0437", +mcase:"\u0423\u0447\u0438\u0442\u044B\u0432\u0430\u0442\u044C \u0440\u0435\u0433\u0438\u0441\u0442\u0440", +findnext:"\u041D\u0430\u0439\u0442\u0438 \u0434\u0430\u043B\u0435\u0435", +replace:"\u0417\u0430\u043C\u0435\u043D\u0430", +replaceall:"\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0441\u0435" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/sv_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/sv_dlg.js old mode 100644 new mode 100755 index a3f6f196af..657a820aa1 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/sv_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/sv_dlg.js @@ -1,16 +1,16 @@ -tinyMCE.addI18n('sv.searchreplace_dlg',{ -searchnext_desc:"S\u00F6k igen", -notfound:"S\u00F6kningen har slutf\u00F6rts. S\u00F6kstr\u00E4ngen kunde inte hittas.", -search_title:"S\u00F6k", -replace_title:"S\u00F6k/ers\u00E4tt", -allreplaced:"Alla st\u00E4llen d\u00E4r s\u00F6kstr\u00E4ngen kunde hittas har ersatts.", -findwhat:"Hitta vad", -replacewith:"Ers\u00E4tt med", -direction:"Riktning", -up:"Upp\u00E5t", -down:"Ner\u00E5t", -mcase:"Matcha gemener/versaler", -findnext:"Hitta n\u00E4sta", -replace:"Ers\u00E4tt", -replaceall:"Ers\u00E4tt alla" +tinyMCE.addI18n('sv.searchreplace_dlg',{ +searchnext_desc:"S\u00F6k igen", +notfound:"S\u00F6kningen har slutf\u00F6rts. S\u00F6kstr\u00E4ngen kunde inte hittas.", +search_title:"S\u00F6k", +replace_title:"S\u00F6k/ers\u00E4tt", +allreplaced:"Alla st\u00E4llen d\u00E4r s\u00F6kstr\u00E4ngen kunde hittas har ersatts.", +findwhat:"Hitta vad", +replacewith:"Ers\u00E4tt med", +direction:"Riktning", +up:"Upp\u00E5t", +down:"Ner\u00E5t", +mcase:"Matcha gemener/versaler", +findnext:"Hitta n\u00E4sta", +replace:"Ers\u00E4tt", +replaceall:"Ers\u00E4tt alla" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/zh_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/zh_dlg.js old mode 100644 new mode 100755 index 9a4ddfcfe7..56b4592ca5 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/zh_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/zh_dlg.js @@ -1,16 +1,16 @@ -tinyMCE.addI18n('zh.searchreplace_dlg',{ -searchnext_desc:"\u7E7C\u7E8C\u641C\u5C0B", -notfound:"\u641C\u5C0B\u5B8C\u7562\uFF0C\u6C92\u6709\u627E\u5230\u7B26\u5408\u7684\u5B57\u7B26\u4E32\u3002", -search_title:"\u641C\u5C0B", -replace_title:"\u641C\u5C0B/\u53D6\u4EE3", -allreplaced:"\u6240\u6709\u7B26\u5408\u7684\u5B57\u7B26\u4E32\u5747\u5DF2\u53D6\u4EE3\u3002", -findwhat:"\u641C\u5C0B\u76EE\u6A19", -replacewith:"\u53D6\u4EE3\u70BA", -direction:"\u65B9\u5411", -up:"\u5411\u4E0A", -down:"\u5411\u4E0B", -mcase:"\u5340\u5206\u5927\u5C0F\u5BEB", -findnext:"\u5C0B\u627E\u4E0B\u4E00\u500B", -replace:"\u53D6\u4EE3", -replaceall:"\u5168\u90E8\u53D6\u4EE3" +tinyMCE.addI18n('zh.searchreplace_dlg',{ +searchnext_desc:"\u7E7C\u7E8C\u641C\u5C0B", +notfound:"\u641C\u5C0B\u5B8C\u7562\uFF0C\u6C92\u6709\u627E\u5230\u7B26\u5408\u7684\u5B57\u7B26\u4E32\u3002", +search_title:"\u641C\u5C0B", +replace_title:"\u641C\u5C0B/\u53D6\u4EE3", +allreplaced:"\u6240\u6709\u7B26\u5408\u7684\u5B57\u7B26\u4E32\u5747\u5DF2\u53D6\u4EE3\u3002", +findwhat:"\u641C\u5C0B\u76EE\u6A19", +replacewith:"\u53D6\u4EE3\u70BA", +direction:"\u65B9\u5411", +up:"\u5411\u4E0A", +down:"\u5411\u4E0B", +mcase:"\u5340\u5206\u5927\u5C0F\u5BEB", +findnext:"\u5C0B\u627E\u4E0B\u4E00\u500B", +replace:"\u53D6\u4EE3", +replaceall:"\u5168\u90E8\u53D6\u4EE3" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm old mode 100644 new mode 100755 index d0424cfc9b..243a4bc2fd --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm @@ -1,99 +1,99 @@ - - - - {#searchreplace_dlg.replace_title} - - - - - - - -
    - - -
    -
    - - - - - - - - - - - -
    - - - - - - - - -
    -
    - - - - - -
    -
    -
    - -
    - - - - - - - - - - - - - - - -
    - - - - - - - - -
    -
    - - - - - -
    -
    -
    - -
    - -
    - - - - -
    -
    - - + + + + {#searchreplace_dlg.replace_title} + + + + + + + +
    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + +
    +
    + + + + + +
    +
    +
    + +
    + + + + + + + + + + + + + + + +
    + + + + + + + + +
    +
    + + + + + +
    +
    +
    + +
    + +
    + + + + +
    +
    + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css old mode 100644 new mode 100755 index 24efa02170..656ce1eee6 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css @@ -1 +1 @@ -.mceItemHiddenSpellWord {background:url(../img/wline.gif) repeat-x bottom left; cursor:default;} +.mceItemHiddenSpellWord {background:url(../img/wline.gif) repeat-x bottom left; cursor:default;} diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js old mode 100644 new mode 100755 index a9ec3b9cf0..e3d03b5c47 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js @@ -1 +1 @@ -(function(){var a=tinymce.util.JSONRequest,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.SpellcheckerPlugin",{getInfo:function(){return{longname:"Spellchecker",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker",version:tinymce.majorVersion+"."+tinymce.minorVersion}},init:function(e,f){var g=this,d;g.url=f;g.editor=e;g.rpcUrl=e.getParam("spellchecker_rpc_url","{backend}");if(g.rpcUrl=="{backend}"){if(tinymce.isIE){return}g.hasSupport=true;e.onContextMenu.addToTop(function(h,i){if(g.active){return false}})}e.addCommand("mceSpellCheck",function(){if(g.rpcUrl=="{backend}"){g.editor.getBody().spellcheck=g.active=!g.active;return}if(!g.active){e.setProgressState(1);g._sendRPC("checkWords",[g.selectedLang,g._getWords()],function(h){if(h.length>0){g.active=1;g._markWords(h);e.setProgressState(0);e.nodeChanged()}else{e.setProgressState(0);if(e.getParam("spellchecker_report_no_misspellings",true)){e.windowManager.alert("spellchecker.no_mpell")}}})}else{g._done()}});e.onInit.add(function(){if(e.settings.content_css!==false){e.dom.loadCSS(f+"/css/content.css")}});e.onClick.add(g._showMenu,g);e.onContextMenu.add(g._showMenu,g);e.onBeforeGetContent.add(function(){if(g.active){g._removeWords()}});e.onNodeChange.add(function(i,h){h.setActive("spellchecker",g.active)});e.onSetContent.add(function(){g._done()});e.onBeforeGetContent.add(function(){g._done()});e.onBeforeExecCommand.add(function(h,i){if(i=="mceFullScreen"){g._done()}});g.languages={};c(e.getParam("spellchecker_languages","+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv","hash"),function(i,h){if(h.indexOf("+")===0){h=h.substring(1);g.selectedLang=i}g.languages[h]=i})},createControl:function(h,d){var f=this,g,e=f.editor;if(h=="spellchecker"){if(f.rpcUrl=="{backend}"){if(f.hasSupport){g=d.createButton(h,{title:"spellchecker.desc",cmd:"mceSpellCheck",scope:f})}return g}g=d.createSplitButton(h,{title:"spellchecker.desc",cmd:"mceSpellCheck",scope:f});g.onRenderMenu.add(function(j,i){i.add({title:"spellchecker.langs","class":"mceMenuItemTitle"}).setDisabled(1);c(f.languages,function(n,m){var p={icon:1},l;p.onclick=function(){l.setSelected(1);f.selectedItem.setSelected(0);f.selectedItem=l;f.selectedLang=n};p.title=m;l=i.add(p);l.setSelected(n==f.selectedLang);if(n==f.selectedLang){f.selectedItem=l}})});return g}},_walk:function(i,g){var h=this.editor.getDoc(),e;if(h.createTreeWalker){e=h.createTreeWalker(i,NodeFilter.SHOW_TEXT,null,false);while((i=e.nextNode())!=null){g.call(this,i)}}else{tinymce.walk(i,g,"childNodes")}},_getSeparators:function(){var e="",d,f=this.editor.getParam("spellchecker_word_separator_chars",'\\s!"#$%&()*+,-./:;<=>?@[]^_{|}§©«®±¶·¸»¼½¾¿×÷¤\u201d\u201c');for(d=0;d$1$2');q=q.replace(g,'$1$2');j.replace(j.create("span",{"class":"mceItemHidden"},q),r)}}});l.moveToBookmark(m)},_showMenu:function(h,j){var i=this,h=i.editor,d=i._menu,l,k=h.dom,g=k.getViewPort(h.getWin()),f=j.target;j=0;if(!d){l=b.getPos(h.getContentAreaContainer());d=h.controlManager.createDropMenu("spellcheckermenu",{offset_x:l.x,offset_y:l.y,"class":"mceNoIcons"});i._menu=d}if(k.hasClass(f,"mceItemHiddenSpellWord")){d.removeAll();d.add({title:"spellchecker.wait","class":"mceMenuItemTitle"}).setDisabled(1);i._sendRPC("getSuggestions",[i.selectedLang,k.decode(f.innerHTML)],function(m){var e;d.removeAll();if(m.length>0){d.add({title:"spellchecker.sug","class":"mceMenuItemTitle"}).setDisabled(1);c(m,function(n){d.add({title:n,onclick:function(){k.replace(h.getDoc().createTextNode(n),f);i._checkDone()}})});d.addSeparator()}else{d.add({title:"spellchecker.no_sug","class":"mceMenuItemTitle"}).setDisabled(1)}e=i.editor.getParam("spellchecker_enable_ignore_rpc","");d.add({title:"spellchecker.ignore_word",onclick:function(){var n=f.innerHTML;k.remove(f,1);i._checkDone();if(e){h.setProgressState(1);i._sendRPC("ignoreWord",[i.selectedLang,n],function(o){h.setProgressState(0)})}}});d.add({title:"spellchecker.ignore_words",onclick:function(){var n=f.innerHTML;i._removeWords(k.decode(n));i._checkDone();if(e){h.setProgressState(1);i._sendRPC("ignoreWords",[i.selectedLang,n],function(o){h.setProgressState(0)})}}});if(i.editor.getParam("spellchecker_enable_learn_rpc")){d.add({title:"spellchecker.learn_word",onclick:function(){var n=f.innerHTML;k.remove(f,1);i._checkDone();h.setProgressState(1);i._sendRPC("learnWord",[i.selectedLang,n],function(o){h.setProgressState(0)})}})}d.update()});h.selection.select(f);l=k.getPos(f);d.showMenu(l.x,l.y+f.offsetHeight-g.y);return tinymce.dom.Event.cancel(j)}else{d.hideMenu()}},_checkDone:function(){var e=this,d=e.editor,g=d.dom,f;c(g.select("span"),function(h){if(h&&g.hasClass(h,"mceItemHiddenSpellWord")){f=true;return false}});if(!f){e._done()}},_done:function(){var d=this,e=d.active;if(d.active){d.active=0;d._removeWords();if(d._menu){d._menu.hideMenu()}if(e){d.editor.nodeChanged()}}},_sendRPC:function(e,g,d){var f=this;a.sendRPC({url:f.rpcUrl,method:e,params:g,success:d,error:function(i,h){f.editor.setProgressState(0);f.editor.windowManager.alert(i.errstr||("Error response: "+h.responseText))}})}});tinymce.PluginManager.add("spellchecker",tinymce.plugins.SpellcheckerPlugin)})(); \ No newline at end of file +(function(){var a=tinymce.util.JSONRequest,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.SpellcheckerPlugin",{getInfo:function(){return{longname:"Spellchecker",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker",version:tinymce.majorVersion+"."+tinymce.minorVersion}},init:function(e,f){var g=this,d;g.url=f;g.editor=e;g.rpcUrl=e.getParam("spellchecker_rpc_url","{backend}");if(g.rpcUrl=="{backend}"){if(tinymce.isIE){return}g.hasSupport=true;e.onContextMenu.addToTop(function(h,i){if(g.active){return false}})}e.addCommand("mceSpellCheck",function(){if(g.rpcUrl=="{backend}"){g.editor.getBody().spellcheck=g.active=!g.active;return}if(!g.active){e.setProgressState(1);g._sendRPC("checkWords",[g.selectedLang,g._getWords()],function(h){if(h.length>0){g.active=1;g._markWords(h);e.setProgressState(0);e.nodeChanged()}else{e.setProgressState(0);if(e.getParam("spellchecker_report_no_misspellings",true)){e.windowManager.alert("spellchecker.no_mpell")}}})}else{g._done()}});e.onInit.add(function(){if(e.settings.content_css!==false){e.dom.loadCSS(f+"/css/content.css")}});e.onClick.add(g._showMenu,g);e.onContextMenu.add(g._showMenu,g);e.onBeforeGetContent.add(function(){if(g.active){g._removeWords()}});e.onNodeChange.add(function(i,h){h.setActive("spellchecker",g.active)});e.onSetContent.add(function(){g._done()});e.onBeforeGetContent.add(function(){g._done()});e.onBeforeExecCommand.add(function(h,i){if(i=="mceFullScreen"){g._done()}});g.languages={};c(e.getParam("spellchecker_languages","+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv","hash"),function(i,h){if(h.indexOf("+")===0){h=h.substring(1);g.selectedLang=i}g.languages[h]=i})},createControl:function(h,d){var f=this,g,e=f.editor;if(h=="spellchecker"){if(f.rpcUrl=="{backend}"){if(f.hasSupport){g=d.createButton(h,{title:"spellchecker.desc",cmd:"mceSpellCheck",scope:f})}return g}g=d.createSplitButton(h,{title:"spellchecker.desc",cmd:"mceSpellCheck",scope:f});g.onRenderMenu.add(function(j,i){i.add({title:"spellchecker.langs","class":"mceMenuItemTitle"}).setDisabled(1);c(f.languages,function(n,m){var p={icon:1},l;p.onclick=function(){l.setSelected(1);f.selectedItem.setSelected(0);f.selectedItem=l;f.selectedLang=n};p.title=m;l=i.add(p);l.setSelected(n==f.selectedLang);if(n==f.selectedLang){f.selectedItem=l}})});return g}},_walk:function(i,g){var h=this.editor.getDoc(),e;if(h.createTreeWalker){e=h.createTreeWalker(i,NodeFilter.SHOW_TEXT,null,false);while((i=e.nextNode())!=null){g.call(this,i)}}else{tinymce.walk(i,g,"childNodes")}},_getSeparators:function(){var e="",d,f=this.editor.getParam("spellchecker_word_separator_chars",'\\s!"#$%&()*+,-./:;<=>?@[]^_{|}З・蔚係纂従迅・\u201d\u201c');for(d=0;d$1$2');q=q.replace(g,'$1$2');j.replace(j.create("span",{"class":"mceItemHidden"},q),r)}}});l.moveToBookmark(m)},_showMenu:function(h,j){var i=this,h=i.editor,d=i._menu,l,k=h.dom,g=k.getViewPort(h.getWin()),f=j.target;j=0;if(!d){l=b.getPos(h.getContentAreaContainer());d=h.controlManager.createDropMenu("spellcheckermenu",{offset_x:l.x,offset_y:l.y,"class":"mceNoIcons"});i._menu=d}if(k.hasClass(f,"mceItemHiddenSpellWord")){d.removeAll();d.add({title:"spellchecker.wait","class":"mceMenuItemTitle"}).setDisabled(1);i._sendRPC("getSuggestions",[i.selectedLang,k.decode(f.innerHTML)],function(m){var e;d.removeAll();if(m.length>0){d.add({title:"spellchecker.sug","class":"mceMenuItemTitle"}).setDisabled(1);c(m,function(n){d.add({title:n,onclick:function(){k.replace(h.getDoc().createTextNode(n),f);i._checkDone()}})});d.addSeparator()}else{d.add({title:"spellchecker.no_sug","class":"mceMenuItemTitle"}).setDisabled(1)}e=i.editor.getParam("spellchecker_enable_ignore_rpc","");d.add({title:"spellchecker.ignore_word",onclick:function(){var n=f.innerHTML;k.remove(f,1);i._checkDone();if(e){h.setProgressState(1);i._sendRPC("ignoreWord",[i.selectedLang,n],function(o){h.setProgressState(0)})}}});d.add({title:"spellchecker.ignore_words",onclick:function(){var n=f.innerHTML;i._removeWords(k.decode(n));i._checkDone();if(e){h.setProgressState(1);i._sendRPC("ignoreWords",[i.selectedLang,n],function(o){h.setProgressState(0)})}}});if(i.editor.getParam("spellchecker_enable_learn_rpc")){d.add({title:"spellchecker.learn_word",onclick:function(){var n=f.innerHTML;k.remove(f,1);i._checkDone();h.setProgressState(1);i._sendRPC("learnWord",[i.selectedLang,n],function(o){h.setProgressState(0)})}})}d.update()});h.selection.select(f);l=k.getPos(f);d.showMenu(l.x,l.y+f.offsetHeight-g.y);return tinymce.dom.Event.cancel(j)}else{d.hideMenu()}},_checkDone:function(){var e=this,d=e.editor,g=d.dom,f;c(g.select("span"),function(h){if(h&&g.hasClass(h,"mceItemHiddenSpellWord")){f=true;return false}});if(!f){e._done()}},_done:function(){var d=this,e=d.active;if(d.active){d.active=0;d._removeWords();if(d._menu){d._menu.hideMenu()}if(e){d.editor.nodeChanged()}}},_sendRPC:function(e,g,d){var f=this;a.sendRPC({url:f.rpcUrl,method:e,params:g,success:d,error:function(i,h){f.editor.setProgressState(0);f.editor.windowManager.alert(i.errstr||("Error response: "+h.responseText))}})}});tinymce.PluginManager.add("spellchecker",tinymce.plugins.SpellcheckerPlugin)})(); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js old mode 100644 new mode 100755 index bd501d3d80..55c9631d2a --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js @@ -166,7 +166,7 @@ }, _getSeparators : function() { - var re = '', i, str = this.editor.getParam('spellchecker_word_separator_chars', '\\s!"#$%&()*+,-./:;<=>?@[\]^_{|}§©«®±¶·¸»¼½¾¿×÷¤\u201d\u201c'); + var re = '', i, str = this.editor.getParam('spellchecker_word_separator_chars', '\\s!"#$%&()*+,-./:;<=>?@[\]^_{|}З・蔚係纂従迅・\u201d\u201c'); // Build word separator regexp for (i=0; i 1) - return a[i]; - - return ""; -} - -function setValue(f, n, v) { - if (f.elements[n].type == "text") - f.elements[n].value = v; - else - selectByValue(f, n, v, true, true); -} - -function setupBox(f, ce, fp, pr, sf, b) { - if (typeof(b) == "undefined") - b = ['Top', 'Right', 'Bottom', 'Left']; - - if (isSame(ce, pr, sf, b)) { - f.elements[fp + "_same"].checked = true; - - setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf])); - f.elements[fp + "_top"].disabled = false; - - f.elements[fp + "_right"].value = ""; - f.elements[fp + "_right"].disabled = true; - f.elements[fp + "_bottom"].value = ""; - f.elements[fp + "_bottom"].disabled = true; - f.elements[fp + "_left"].value = ""; - f.elements[fp + "_left"].disabled = true; - - if (f.elements[fp + "_top_measurement"]) { - selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf])); - f.elements[fp + "_left_measurement"].disabled = true; - f.elements[fp + "_bottom_measurement"].disabled = true; - f.elements[fp + "_right_measurement"].disabled = true; - } - } else { - f.elements[fp + "_same"].checked = false; - - setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf])); - f.elements[fp + "_top"].disabled = false; - - setValue(f, fp + "_right", getNum(ce.style[pr + b[1] + sf])); - f.elements[fp + "_right"].disabled = false; - - setValue(f, fp + "_bottom", getNum(ce.style[pr + b[2] + sf])); - f.elements[fp + "_bottom"].disabled = false; - - setValue(f, fp + "_left", getNum(ce.style[pr + b[3] + sf])); - f.elements[fp + "_left"].disabled = false; - - if (f.elements[fp + "_top_measurement"]) { - selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf])); - selectByValue(f, fp + '_right_measurement', getMeasurement(ce.style[pr + b[1] + sf])); - selectByValue(f, fp + '_bottom_measurement', getMeasurement(ce.style[pr + b[2] + sf])); - selectByValue(f, fp + '_left_measurement', getMeasurement(ce.style[pr + b[3] + sf])); - f.elements[fp + "_left_measurement"].disabled = false; - f.elements[fp + "_bottom_measurement"].disabled = false; - f.elements[fp + "_right_measurement"].disabled = false; - } - } -} - -function isSame(e, pr, sf, b) { - var a = [], i, x; - - if (typeof(b) == "undefined") - b = ['Top', 'Right', 'Bottom', 'Left']; - - if (typeof(sf) == "undefined" || sf == null) - sf = ""; - - a[0] = e.style[pr + b[0] + sf]; - a[1] = e.style[pr + b[1] + sf]; - a[2] = e.style[pr + b[2] + sf]; - a[3] = e.style[pr + b[3] + sf]; - - for (i=0; i 0 ? s.substring(1) : s; - - if (f.text_none.checked) - s = "none"; - - ce.style.textDecoration = s; - - // Build background styles - - ce.style.backgroundColor = f.background_color.value; - ce.style.backgroundImage = f.background_image.value != "" ? "url(" + f.background_image.value + ")" : ""; - ce.style.backgroundRepeat = f.background_repeat.value; - ce.style.backgroundAttachment = f.background_attachment.value; - - if (f.background_hpos.value != "") { - s = ""; - s += f.background_hpos.value + (isNum(f.background_hpos.value) ? f.background_hpos_measurement.value : "") + " "; - s += f.background_vpos.value + (isNum(f.background_vpos.value) ? f.background_vpos_measurement.value : ""); - ce.style.backgroundPosition = s; - } - - // Build block styles - - ce.style.wordSpacing = f.block_wordspacing.value + (isNum(f.block_wordspacing.value) ? f.block_wordspacing_measurement.value : ""); - ce.style.letterSpacing = f.block_letterspacing.value + (isNum(f.block_letterspacing.value) ? f.block_letterspacing_measurement.value : ""); - ce.style.verticalAlign = f.block_vertical_alignment.value; - ce.style.textAlign = f.block_text_align.value; - ce.style.textIndent = f.block_text_indent.value + (isNum(f.block_text_indent.value) ? f.block_text_indent_measurement.value : ""); - ce.style.whiteSpace = f.block_whitespace.value; - ce.style.display = f.block_display.value; - - // Build box styles - - ce.style.width = f.box_width.value + (isNum(f.box_width.value) ? f.box_width_measurement.value : ""); - ce.style.height = f.box_height.value + (isNum(f.box_height.value) ? f.box_height_measurement.value : ""); - ce.style.styleFloat = f.box_float.value; - - if (tinymce.isGecko) - ce.style.cssFloat = f.box_float.value; - - ce.style.clear = f.box_clear.value; - - if (!f.box_padding_same.checked) { - ce.style.paddingTop = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : ""); - ce.style.paddingRight = f.box_padding_right.value + (isNum(f.box_padding_right.value) ? f.box_padding_right_measurement.value : ""); - ce.style.paddingBottom = f.box_padding_bottom.value + (isNum(f.box_padding_bottom.value) ? f.box_padding_bottom_measurement.value : ""); - ce.style.paddingLeft = f.box_padding_left.value + (isNum(f.box_padding_left.value) ? f.box_padding_left_measurement.value : ""); - } else - ce.style.padding = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : ""); - - if (!f.box_margin_same.checked) { - ce.style.marginTop = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : ""); - ce.style.marginRight = f.box_margin_right.value + (isNum(f.box_margin_right.value) ? f.box_margin_right_measurement.value : ""); - ce.style.marginBottom = f.box_margin_bottom.value + (isNum(f.box_margin_bottom.value) ? f.box_margin_bottom_measurement.value : ""); - ce.style.marginLeft = f.box_margin_left.value + (isNum(f.box_margin_left.value) ? f.box_margin_left_measurement.value : ""); - } else - ce.style.margin = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : ""); - - // Build border styles - - if (!f.border_style_same.checked) { - ce.style.borderTopStyle = f.border_style_top.value; - ce.style.borderRightStyle = f.border_style_right.value; - ce.style.borderBottomStyle = f.border_style_bottom.value; - ce.style.borderLeftStyle = f.border_style_left.value; - } else - ce.style.borderStyle = f.border_style_top.value; - - if (!f.border_width_same.checked) { - ce.style.borderTopWidth = f.border_width_top.value + (isNum(f.border_width_top.value) ? f.border_width_top_measurement.value : ""); - ce.style.borderRightWidth = f.border_width_right.value + (isNum(f.border_width_right.value) ? f.border_width_right_measurement.value : ""); - ce.style.borderBottomWidth = f.border_width_bottom.value + (isNum(f.border_width_bottom.value) ? f.border_width_bottom_measurement.value : ""); - ce.style.borderLeftWidth = f.border_width_left.value + (isNum(f.border_width_left.value) ? f.border_width_left_measurement.value : ""); - } else - ce.style.borderWidth = f.border_width_top.value + (isNum(f.border_width_top.value) ? f.border_width_top_measurement.value : ""); - - if (!f.border_color_same.checked) { - ce.style.borderTopColor = f.border_color_top.value; - ce.style.borderRightColor = f.border_color_right.value; - ce.style.borderBottomColor = f.border_color_bottom.value; - ce.style.borderLeftColor = f.border_color_left.value; - } else - ce.style.borderColor = f.border_color_top.value; - - // Build list styles - - ce.style.listStyleType = f.list_type.value; - ce.style.listStylePosition = f.list_position.value; - ce.style.listStyleImage = f.list_bullet_image.value != "" ? "url(" + f.list_bullet_image.value + ")" : ""; - - // Build positioning styles - - ce.style.position = f.positioning_type.value; - ce.style.visibility = f.positioning_visibility.value; - - if (ce.style.width == "") - ce.style.width = f.positioning_width.value + (isNum(f.positioning_width.value) ? f.positioning_width_measurement.value : ""); - - if (ce.style.height == "") - ce.style.height = f.positioning_height.value + (isNum(f.positioning_height.value) ? f.positioning_height_measurement.value : ""); - - ce.style.zIndex = f.positioning_zindex.value; - ce.style.overflow = f.positioning_overflow.value; - - if (!f.positioning_placement_same.checked) { - ce.style.top = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : ""); - ce.style.right = f.positioning_placement_right.value + (isNum(f.positioning_placement_right.value) ? f.positioning_placement_right_measurement.value : ""); - ce.style.bottom = f.positioning_placement_bottom.value + (isNum(f.positioning_placement_bottom.value) ? f.positioning_placement_bottom_measurement.value : ""); - ce.style.left = f.positioning_placement_left.value + (isNum(f.positioning_placement_left.value) ? f.positioning_placement_left_measurement.value : ""); - } else { - s = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : ""); - ce.style.top = s; - ce.style.right = s; - ce.style.bottom = s; - ce.style.left = s; - } - - if (!f.positioning_clip_same.checked) { - s = "rect("; - s += (isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto") + " "; - s += (isNum(f.positioning_clip_right.value) ? f.positioning_clip_right.value + f.positioning_clip_right_measurement.value : "auto") + " "; - s += (isNum(f.positioning_clip_bottom.value) ? f.positioning_clip_bottom.value + f.positioning_clip_bottom_measurement.value : "auto") + " "; - s += (isNum(f.positioning_clip_left.value) ? f.positioning_clip_left.value + f.positioning_clip_left_measurement.value : "auto"); - s += ")"; - - if (s != "rect(auto auto auto auto)") - ce.style.clip = s; - } else { - s = "rect("; - t = isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto"; - s += t + " "; - s += t + " "; - s += t + " "; - s += t + ")"; - - if (s != "rect(auto auto auto auto)") - ce.style.clip = s; - } - - ce.style.cssText = ce.style.cssText; -} - -function isNum(s) { - return new RegExp('[0-9]+', 'g').test(s); -} - -function showDisabledControls() { - var f = document.forms, i, a; - - for (i=0; i 1) { - addSelectValue(f, s, p[0], p[1]); - - if (se) - selectByValue(f, s, p[1]); - } else { - addSelectValue(f, s, p[0], p[0]); - - if (se) - selectByValue(f, s, p[0]); - } - } -} - -function toggleSame(ce, pre) { - var el = document.forms[0].elements, i; - - if (ce.checked) { - el[pre + "_top"].disabled = false; - el[pre + "_right"].disabled = true; - el[pre + "_bottom"].disabled = true; - el[pre + "_left"].disabled = true; - - if (el[pre + "_top_measurement"]) { - el[pre + "_top_measurement"].disabled = false; - el[pre + "_right_measurement"].disabled = true; - el[pre + "_bottom_measurement"].disabled = true; - el[pre + "_left_measurement"].disabled = true; - } - } else { - el[pre + "_top"].disabled = false; - el[pre + "_right"].disabled = false; - el[pre + "_bottom"].disabled = false; - el[pre + "_left"].disabled = false; - - if (el[pre + "_top_measurement"]) { - el[pre + "_top_measurement"].disabled = false; - el[pre + "_right_measurement"].disabled = false; - el[pre + "_bottom_measurement"].disabled = false; - el[pre + "_left_measurement"].disabled = false; - } - } - - showDisabledControls(); -} - -function synch(fr, to) { - var f = document.forms[0]; - - f.elements[to].value = f.elements[fr].value; - - if (f.elements[fr + "_measurement"]) - selectByValue(f, to + "_measurement", f.elements[fr + "_measurement"].value); -} - -tinyMCEPopup.onInit.add(init); +tinyMCEPopup.requireLangPack(); + +var defaultFonts = "" + + "Arial, Helvetica, sans-serif=Arial, Helvetica, sans-serif;" + + "Times New Roman, Times, serif=Times New Roman, Times, serif;" + + "Courier New, Courier, mono=Courier New, Courier, mono;" + + "Times New Roman, Times, serif=Times New Roman, Times, serif;" + + "Georgia, Times New Roman, Times, serif=Georgia, Times New Roman, Times, serif;" + + "Verdana, Arial, Helvetica, sans-serif=Verdana, Arial, Helvetica, sans-serif;" + + "Geneva, Arial, Helvetica, sans-serif=Geneva, Arial, Helvetica, sans-serif"; + +var defaultSizes = "9;10;12;14;16;18;24;xx-small;x-small;small;medium;large;x-large;xx-large;smaller;larger"; +var defaultMeasurement = "+pixels=px;points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;ems=em;exs=ex;%"; +var defaultSpacingMeasurement = "pixels=px;points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;+ems=em;exs=ex;%"; +var defaultIndentMeasurement = "pixels=px;+points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;ems=em;exs=ex;%"; +var defaultWeight = "normal;bold;bolder;lighter;100;200;300;400;500;600;700;800;900"; +var defaultTextStyle = "normal;italic;oblique"; +var defaultVariant = "normal;small-caps"; +var defaultLineHeight = "normal"; +var defaultAttachment = "fixed;scroll"; +var defaultRepeat = "no-repeat;repeat;repeat-x;repeat-y"; +var defaultPosH = "left;center;right"; +var defaultPosV = "top;center;bottom"; +var defaultVAlign = "baseline;sub;super;top;text-top;middle;bottom;text-bottom"; +var defaultDisplay = "inline;block;list-item;run-in;compact;marker;table;inline-table;table-row-group;table-header-group;table-footer-group;table-row;table-column-group;table-column;table-cell;table-caption;none"; +var defaultBorderStyle = "none;solid;dashed;dotted;double;groove;ridge;inset;outset"; +var defaultBorderWidth = "thin;medium;thick"; +var defaultListType = "disc;circle;square;decimal;lower-roman;upper-roman;lower-alpha;upper-alpha;none"; + +function init() { + var ce = document.getElementById('container'), h; + + ce.style.cssText = tinyMCEPopup.getWindowArg('style_text'); + + h = getBrowserHTML('background_image_browser','background_image','image','advimage'); + document.getElementById("background_image_browser").innerHTML = h; + + document.getElementById('text_color_pickcontainer').innerHTML = getColorPickerHTML('text_color_pick','text_color'); + document.getElementById('background_color_pickcontainer').innerHTML = getColorPickerHTML('background_color_pick','background_color'); + document.getElementById('border_color_top_pickcontainer').innerHTML = getColorPickerHTML('border_color_top_pick','border_color_top'); + document.getElementById('border_color_right_pickcontainer').innerHTML = getColorPickerHTML('border_color_right_pick','border_color_right'); + document.getElementById('border_color_bottom_pickcontainer').innerHTML = getColorPickerHTML('border_color_bottom_pick','border_color_bottom'); + document.getElementById('border_color_left_pickcontainer').innerHTML = getColorPickerHTML('border_color_left_pick','border_color_left'); + + fillSelect(0, 'text_font', 'style_font', defaultFonts, ';', true); + fillSelect(0, 'text_size', 'style_font_size', defaultSizes, ';', true); + fillSelect(0, 'text_size_measurement', 'style_font_size_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'text_case', 'style_text_case', "capitalize;uppercase;lowercase", ';', true); + fillSelect(0, 'text_weight', 'style_font_weight', defaultWeight, ';', true); + fillSelect(0, 'text_style', 'style_font_style', defaultTextStyle, ';', true); + fillSelect(0, 'text_variant', 'style_font_variant', defaultVariant, ';', true); + fillSelect(0, 'text_lineheight', 'style_font_line_height', defaultLineHeight, ';', true); + fillSelect(0, 'text_lineheight_measurement', 'style_font_line_height_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'background_attachment', 'style_background_attachment', defaultAttachment, ';', true); + fillSelect(0, 'background_repeat', 'style_background_repeat', defaultRepeat, ';', true); + + fillSelect(0, 'background_hpos_measurement', 'style_background_hpos_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'background_vpos_measurement', 'style_background_vpos_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'background_hpos', 'style_background_hpos', defaultPosH, ';', true); + fillSelect(0, 'background_vpos', 'style_background_vpos', defaultPosV, ';', true); + + fillSelect(0, 'block_wordspacing', 'style_wordspacing', 'normal', ';', true); + fillSelect(0, 'block_wordspacing_measurement', 'style_wordspacing_measurement', defaultSpacingMeasurement, ';', true); + fillSelect(0, 'block_letterspacing', 'style_letterspacing', 'normal', ';', true); + fillSelect(0, 'block_letterspacing_measurement', 'style_letterspacing_measurement', defaultSpacingMeasurement, ';', true); + fillSelect(0, 'block_vertical_alignment', 'style_vertical_alignment', defaultVAlign, ';', true); + fillSelect(0, 'block_text_align', 'style_text_align', "left;right;center;justify", ';', true); + fillSelect(0, 'block_whitespace', 'style_whitespace', "normal;pre;nowrap", ';', true); + fillSelect(0, 'block_display', 'style_display', defaultDisplay, ';', true); + fillSelect(0, 'block_text_indent_measurement', 'style_text_indent_measurement', defaultIndentMeasurement, ';', true); + + fillSelect(0, 'box_width_measurement', 'style_box_width_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_height_measurement', 'style_box_height_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_float', 'style_float', 'left;right;none', ';', true); + fillSelect(0, 'box_clear', 'style_clear', 'left;right;both;none', ';', true); + fillSelect(0, 'box_padding_left_measurement', 'style_padding_left_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_padding_top_measurement', 'style_padding_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_padding_bottom_measurement', 'style_padding_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_padding_right_measurement', 'style_padding_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_left_measurement', 'style_margin_left_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_top_measurement', 'style_margin_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_bottom_measurement', 'style_margin_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_right_measurement', 'style_margin_right_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'border_style_top', 'style_border_style_top', defaultBorderStyle, ';', true); + fillSelect(0, 'border_style_right', 'style_border_style_right', defaultBorderStyle, ';', true); + fillSelect(0, 'border_style_bottom', 'style_border_style_bottom', defaultBorderStyle, ';', true); + fillSelect(0, 'border_style_left', 'style_border_style_left', defaultBorderStyle, ';', true); + + fillSelect(0, 'border_width_top', 'style_border_width_top', defaultBorderWidth, ';', true); + fillSelect(0, 'border_width_right', 'style_border_width_right', defaultBorderWidth, ';', true); + fillSelect(0, 'border_width_bottom', 'style_border_width_bottom', defaultBorderWidth, ';', true); + fillSelect(0, 'border_width_left', 'style_border_width_left', defaultBorderWidth, ';', true); + + fillSelect(0, 'border_width_top_measurement', 'style_border_width_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'border_width_right_measurement', 'style_border_width_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'border_width_bottom_measurement', 'style_border_width_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'border_width_left_measurement', 'style_border_width_left_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'list_type', 'style_list_type', defaultListType, ';', true); + fillSelect(0, 'list_position', 'style_list_position', "inside;outside", ';', true); + + fillSelect(0, 'positioning_type', 'style_positioning_type', "absolute;relative;static", ';', true); + fillSelect(0, 'positioning_visibility', 'style_positioning_visibility', "inherit;visible;hidden", ';', true); + + fillSelect(0, 'positioning_width_measurement', 'style_positioning_width_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_height_measurement', 'style_positioning_height_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_overflow', 'style_positioning_overflow', "visible;hidden;scroll;auto", ';', true); + + fillSelect(0, 'positioning_placement_top_measurement', 'style_positioning_placement_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_placement_right_measurement', 'style_positioning_placement_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_placement_bottom_measurement', 'style_positioning_placement_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_placement_left_measurement', 'style_positioning_placement_left_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'positioning_clip_top_measurement', 'style_positioning_clip_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_clip_right_measurement', 'style_positioning_clip_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_clip_bottom_measurement', 'style_positioning_clip_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_clip_left_measurement', 'style_positioning_clip_left_measurement', defaultMeasurement, ';', true); + + TinyMCE_EditableSelects.init(); + setupFormData(); + showDisabledControls(); +} + +function setupFormData() { + var ce = document.getElementById('container'), f = document.forms[0], s, b, i; + + // Setup text fields + + selectByValue(f, 'text_font', ce.style.fontFamily, true, true); + selectByValue(f, 'text_size', getNum(ce.style.fontSize), true, true); + selectByValue(f, 'text_size_measurement', getMeasurement(ce.style.fontSize)); + selectByValue(f, 'text_weight', ce.style.fontWeight, true, true); + selectByValue(f, 'text_style', ce.style.fontStyle, true, true); + selectByValue(f, 'text_lineheight', getNum(ce.style.lineHeight), true, true); + selectByValue(f, 'text_lineheight_measurement', getMeasurement(ce.style.lineHeight)); + selectByValue(f, 'text_case', ce.style.textTransform, true, true); + selectByValue(f, 'text_variant', ce.style.fontVariant, true, true); + f.text_color.value = tinyMCEPopup.editor.dom.toHex(ce.style.color); + updateColor('text_color_pick', 'text_color'); + f.text_underline.checked = inStr(ce.style.textDecoration, 'underline'); + f.text_overline.checked = inStr(ce.style.textDecoration, 'overline'); + f.text_linethrough.checked = inStr(ce.style.textDecoration, 'line-through'); + f.text_blink.checked = inStr(ce.style.textDecoration, 'blink'); + + // Setup background fields + + f.background_color.value = tinyMCEPopup.editor.dom.toHex(ce.style.backgroundColor); + updateColor('background_color_pick', 'background_color'); + f.background_image.value = ce.style.backgroundImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + selectByValue(f, 'background_repeat', ce.style.backgroundRepeat, true, true); + selectByValue(f, 'background_attachment', ce.style.backgroundAttachment, true, true); + selectByValue(f, 'background_hpos', getNum(getVal(ce.style.backgroundPosition, 0)), true, true); + selectByValue(f, 'background_hpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 0))); + selectByValue(f, 'background_vpos', getNum(getVal(ce.style.backgroundPosition, 1)), true, true); + selectByValue(f, 'background_vpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 1))); + + // Setup block fields + + selectByValue(f, 'block_wordspacing', getNum(ce.style.wordSpacing), true, true); + selectByValue(f, 'block_wordspacing_measurement', getMeasurement(ce.style.wordSpacing)); + selectByValue(f, 'block_letterspacing', getNum(ce.style.letterSpacing), true, true); + selectByValue(f, 'block_letterspacing_measurement', getMeasurement(ce.style.letterSpacing)); + selectByValue(f, 'block_vertical_alignment', ce.style.verticalAlign, true, true); + selectByValue(f, 'block_text_align', ce.style.textAlign, true, true); + f.block_text_indent.value = getNum(ce.style.textIndent); + selectByValue(f, 'block_text_indent_measurement', getMeasurement(ce.style.textIndent)); + selectByValue(f, 'block_whitespace', ce.style.whiteSpace, true, true); + selectByValue(f, 'block_display', ce.style.display, true, true); + + // Setup box fields + + f.box_width.value = getNum(ce.style.width); + selectByValue(f, 'box_width_measurement', getMeasurement(ce.style.width)); + + f.box_height.value = getNum(ce.style.height); + selectByValue(f, 'box_height_measurement', getMeasurement(ce.style.height)); + + if (tinymce.isGecko) + selectByValue(f, 'box_float', ce.style.cssFloat, true, true); + else + selectByValue(f, 'box_float', ce.style.styleFloat, true, true); + + selectByValue(f, 'box_clear', ce.style.clear, true, true); + + setupBox(f, ce, 'box_padding', 'padding', ''); + setupBox(f, ce, 'box_margin', 'margin', ''); + + // Setup border fields + + setupBox(f, ce, 'border_style', 'border', 'Style'); + setupBox(f, ce, 'border_width', 'border', 'Width'); + setupBox(f, ce, 'border_color', 'border', 'Color'); + + updateColor('border_color_top_pick', 'border_color_top'); + updateColor('border_color_right_pick', 'border_color_right'); + updateColor('border_color_bottom_pick', 'border_color_bottom'); + updateColor('border_color_left_pick', 'border_color_left'); + + f.elements.border_color_top.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_top.value); + f.elements.border_color_right.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_right.value); + f.elements.border_color_bottom.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_bottom.value); + f.elements.border_color_left.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_left.value); + + // Setup list fields + + selectByValue(f, 'list_type', ce.style.listStyleType, true, true); + selectByValue(f, 'list_position', ce.style.listStylePosition, true, true); + f.list_bullet_image.value = ce.style.listStyleImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + + // Setup box fields + + selectByValue(f, 'positioning_type', ce.style.position, true, true); + selectByValue(f, 'positioning_visibility', ce.style.visibility, true, true); + selectByValue(f, 'positioning_overflow', ce.style.overflow, true, true); + f.positioning_zindex.value = ce.style.zIndex ? ce.style.zIndex : ""; + + f.positioning_width.value = getNum(ce.style.width); + selectByValue(f, 'positioning_width_measurement', getMeasurement(ce.style.width)); + + f.positioning_height.value = getNum(ce.style.height); + selectByValue(f, 'positioning_height_measurement', getMeasurement(ce.style.height)); + + setupBox(f, ce, 'positioning_placement', '', '', ['top', 'right', 'bottom', 'left']); + + s = ce.style.clip.replace(new RegExp("rect\\('?([^']*)'?\\)", 'gi'), "$1"); + s = s.replace(/,/g, ' '); + + if (!hasEqualValues([getVal(s, 0), getVal(s, 1), getVal(s, 2), getVal(s, 3)])) { + f.positioning_clip_top.value = getNum(getVal(s, 0)); + selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0))); + f.positioning_clip_right.value = getNum(getVal(s, 1)); + selectByValue(f, 'positioning_clip_right_measurement', getMeasurement(getVal(s, 1))); + f.positioning_clip_bottom.value = getNum(getVal(s, 2)); + selectByValue(f, 'positioning_clip_bottom_measurement', getMeasurement(getVal(s, 2))); + f.positioning_clip_left.value = getNum(getVal(s, 3)); + selectByValue(f, 'positioning_clip_left_measurement', getMeasurement(getVal(s, 3))); + } else { + f.positioning_clip_top.value = getNum(getVal(s, 0)); + selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0))); + f.positioning_clip_right.value = f.positioning_clip_bottom.value = f.positioning_clip_left.value; + } + +// setupBox(f, ce, '', 'border', 'Color'); +} + +function getMeasurement(s) { + return s.replace(/^([0-9.]+)(.*)$/, "$2"); +} + +function getNum(s) { + if (new RegExp('^(?:[0-9.]+)(?:[a-z%]+)$', 'gi').test(s)) + return s.replace(/[^0-9.]/g, ''); + + return s; +} + +function inStr(s, n) { + return new RegExp(n, 'gi').test(s); +} + +function getVal(s, i) { + var a = s.split(' '); + + if (a.length > 1) + return a[i]; + + return ""; +} + +function setValue(f, n, v) { + if (f.elements[n].type == "text") + f.elements[n].value = v; + else + selectByValue(f, n, v, true, true); +} + +function setupBox(f, ce, fp, pr, sf, b) { + if (typeof(b) == "undefined") + b = ['Top', 'Right', 'Bottom', 'Left']; + + if (isSame(ce, pr, sf, b)) { + f.elements[fp + "_same"].checked = true; + + setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf])); + f.elements[fp + "_top"].disabled = false; + + f.elements[fp + "_right"].value = ""; + f.elements[fp + "_right"].disabled = true; + f.elements[fp + "_bottom"].value = ""; + f.elements[fp + "_bottom"].disabled = true; + f.elements[fp + "_left"].value = ""; + f.elements[fp + "_left"].disabled = true; + + if (f.elements[fp + "_top_measurement"]) { + selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf])); + f.elements[fp + "_left_measurement"].disabled = true; + f.elements[fp + "_bottom_measurement"].disabled = true; + f.elements[fp + "_right_measurement"].disabled = true; + } + } else { + f.elements[fp + "_same"].checked = false; + + setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf])); + f.elements[fp + "_top"].disabled = false; + + setValue(f, fp + "_right", getNum(ce.style[pr + b[1] + sf])); + f.elements[fp + "_right"].disabled = false; + + setValue(f, fp + "_bottom", getNum(ce.style[pr + b[2] + sf])); + f.elements[fp + "_bottom"].disabled = false; + + setValue(f, fp + "_left", getNum(ce.style[pr + b[3] + sf])); + f.elements[fp + "_left"].disabled = false; + + if (f.elements[fp + "_top_measurement"]) { + selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf])); + selectByValue(f, fp + '_right_measurement', getMeasurement(ce.style[pr + b[1] + sf])); + selectByValue(f, fp + '_bottom_measurement', getMeasurement(ce.style[pr + b[2] + sf])); + selectByValue(f, fp + '_left_measurement', getMeasurement(ce.style[pr + b[3] + sf])); + f.elements[fp + "_left_measurement"].disabled = false; + f.elements[fp + "_bottom_measurement"].disabled = false; + f.elements[fp + "_right_measurement"].disabled = false; + } + } +} + +function isSame(e, pr, sf, b) { + var a = [], i, x; + + if (typeof(b) == "undefined") + b = ['Top', 'Right', 'Bottom', 'Left']; + + if (typeof(sf) == "undefined" || sf == null) + sf = ""; + + a[0] = e.style[pr + b[0] + sf]; + a[1] = e.style[pr + b[1] + sf]; + a[2] = e.style[pr + b[2] + sf]; + a[3] = e.style[pr + b[3] + sf]; + + for (i=0; i 0 ? s.substring(1) : s; + + if (f.text_none.checked) + s = "none"; + + ce.style.textDecoration = s; + + // Build background styles + + ce.style.backgroundColor = f.background_color.value; + ce.style.backgroundImage = f.background_image.value != "" ? "url(" + f.background_image.value + ")" : ""; + ce.style.backgroundRepeat = f.background_repeat.value; + ce.style.backgroundAttachment = f.background_attachment.value; + + if (f.background_hpos.value != "") { + s = ""; + s += f.background_hpos.value + (isNum(f.background_hpos.value) ? f.background_hpos_measurement.value : "") + " "; + s += f.background_vpos.value + (isNum(f.background_vpos.value) ? f.background_vpos_measurement.value : ""); + ce.style.backgroundPosition = s; + } + + // Build block styles + + ce.style.wordSpacing = f.block_wordspacing.value + (isNum(f.block_wordspacing.value) ? f.block_wordspacing_measurement.value : ""); + ce.style.letterSpacing = f.block_letterspacing.value + (isNum(f.block_letterspacing.value) ? f.block_letterspacing_measurement.value : ""); + ce.style.verticalAlign = f.block_vertical_alignment.value; + ce.style.textAlign = f.block_text_align.value; + ce.style.textIndent = f.block_text_indent.value + (isNum(f.block_text_indent.value) ? f.block_text_indent_measurement.value : ""); + ce.style.whiteSpace = f.block_whitespace.value; + ce.style.display = f.block_display.value; + + // Build box styles + + ce.style.width = f.box_width.value + (isNum(f.box_width.value) ? f.box_width_measurement.value : ""); + ce.style.height = f.box_height.value + (isNum(f.box_height.value) ? f.box_height_measurement.value : ""); + ce.style.styleFloat = f.box_float.value; + + if (tinymce.isGecko) + ce.style.cssFloat = f.box_float.value; + + ce.style.clear = f.box_clear.value; + + if (!f.box_padding_same.checked) { + ce.style.paddingTop = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : ""); + ce.style.paddingRight = f.box_padding_right.value + (isNum(f.box_padding_right.value) ? f.box_padding_right_measurement.value : ""); + ce.style.paddingBottom = f.box_padding_bottom.value + (isNum(f.box_padding_bottom.value) ? f.box_padding_bottom_measurement.value : ""); + ce.style.paddingLeft = f.box_padding_left.value + (isNum(f.box_padding_left.value) ? f.box_padding_left_measurement.value : ""); + } else + ce.style.padding = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : ""); + + if (!f.box_margin_same.checked) { + ce.style.marginTop = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : ""); + ce.style.marginRight = f.box_margin_right.value + (isNum(f.box_margin_right.value) ? f.box_margin_right_measurement.value : ""); + ce.style.marginBottom = f.box_margin_bottom.value + (isNum(f.box_margin_bottom.value) ? f.box_margin_bottom_measurement.value : ""); + ce.style.marginLeft = f.box_margin_left.value + (isNum(f.box_margin_left.value) ? f.box_margin_left_measurement.value : ""); + } else + ce.style.margin = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : ""); + + // Build border styles + + if (!f.border_style_same.checked) { + ce.style.borderTopStyle = f.border_style_top.value; + ce.style.borderRightStyle = f.border_style_right.value; + ce.style.borderBottomStyle = f.border_style_bottom.value; + ce.style.borderLeftStyle = f.border_style_left.value; + } else + ce.style.borderStyle = f.border_style_top.value; + + if (!f.border_width_same.checked) { + ce.style.borderTopWidth = f.border_width_top.value + (isNum(f.border_width_top.value) ? f.border_width_top_measurement.value : ""); + ce.style.borderRightWidth = f.border_width_right.value + (isNum(f.border_width_right.value) ? f.border_width_right_measurement.value : ""); + ce.style.borderBottomWidth = f.border_width_bottom.value + (isNum(f.border_width_bottom.value) ? f.border_width_bottom_measurement.value : ""); + ce.style.borderLeftWidth = f.border_width_left.value + (isNum(f.border_width_left.value) ? f.border_width_left_measurement.value : ""); + } else + ce.style.borderWidth = f.border_width_top.value + (isNum(f.border_width_top.value) ? f.border_width_top_measurement.value : ""); + + if (!f.border_color_same.checked) { + ce.style.borderTopColor = f.border_color_top.value; + ce.style.borderRightColor = f.border_color_right.value; + ce.style.borderBottomColor = f.border_color_bottom.value; + ce.style.borderLeftColor = f.border_color_left.value; + } else + ce.style.borderColor = f.border_color_top.value; + + // Build list styles + + ce.style.listStyleType = f.list_type.value; + ce.style.listStylePosition = f.list_position.value; + ce.style.listStyleImage = f.list_bullet_image.value != "" ? "url(" + f.list_bullet_image.value + ")" : ""; + + // Build positioning styles + + ce.style.position = f.positioning_type.value; + ce.style.visibility = f.positioning_visibility.value; + + if (ce.style.width == "") + ce.style.width = f.positioning_width.value + (isNum(f.positioning_width.value) ? f.positioning_width_measurement.value : ""); + + if (ce.style.height == "") + ce.style.height = f.positioning_height.value + (isNum(f.positioning_height.value) ? f.positioning_height_measurement.value : ""); + + ce.style.zIndex = f.positioning_zindex.value; + ce.style.overflow = f.positioning_overflow.value; + + if (!f.positioning_placement_same.checked) { + ce.style.top = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : ""); + ce.style.right = f.positioning_placement_right.value + (isNum(f.positioning_placement_right.value) ? f.positioning_placement_right_measurement.value : ""); + ce.style.bottom = f.positioning_placement_bottom.value + (isNum(f.positioning_placement_bottom.value) ? f.positioning_placement_bottom_measurement.value : ""); + ce.style.left = f.positioning_placement_left.value + (isNum(f.positioning_placement_left.value) ? f.positioning_placement_left_measurement.value : ""); + } else { + s = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : ""); + ce.style.top = s; + ce.style.right = s; + ce.style.bottom = s; + ce.style.left = s; + } + + if (!f.positioning_clip_same.checked) { + s = "rect("; + s += (isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto") + " "; + s += (isNum(f.positioning_clip_right.value) ? f.positioning_clip_right.value + f.positioning_clip_right_measurement.value : "auto") + " "; + s += (isNum(f.positioning_clip_bottom.value) ? f.positioning_clip_bottom.value + f.positioning_clip_bottom_measurement.value : "auto") + " "; + s += (isNum(f.positioning_clip_left.value) ? f.positioning_clip_left.value + f.positioning_clip_left_measurement.value : "auto"); + s += ")"; + + if (s != "rect(auto auto auto auto)") + ce.style.clip = s; + } else { + s = "rect("; + t = isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto"; + s += t + " "; + s += t + " "; + s += t + " "; + s += t + ")"; + + if (s != "rect(auto auto auto auto)") + ce.style.clip = s; + } + + ce.style.cssText = ce.style.cssText; +} + +function isNum(s) { + return new RegExp('[0-9]+', 'g').test(s); +} + +function showDisabledControls() { + var f = document.forms, i, a; + + for (i=0; i 1) { + addSelectValue(f, s, p[0], p[1]); + + if (se) + selectByValue(f, s, p[1]); + } else { + addSelectValue(f, s, p[0], p[0]); + + if (se) + selectByValue(f, s, p[0]); + } + } +} + +function toggleSame(ce, pre) { + var el = document.forms[0].elements, i; + + if (ce.checked) { + el[pre + "_top"].disabled = false; + el[pre + "_right"].disabled = true; + el[pre + "_bottom"].disabled = true; + el[pre + "_left"].disabled = true; + + if (el[pre + "_top_measurement"]) { + el[pre + "_top_measurement"].disabled = false; + el[pre + "_right_measurement"].disabled = true; + el[pre + "_bottom_measurement"].disabled = true; + el[pre + "_left_measurement"].disabled = true; + } + } else { + el[pre + "_top"].disabled = false; + el[pre + "_right"].disabled = false; + el[pre + "_bottom"].disabled = false; + el[pre + "_left"].disabled = false; + + if (el[pre + "_top_measurement"]) { + el[pre + "_top_measurement"].disabled = false; + el[pre + "_right_measurement"].disabled = false; + el[pre + "_bottom_measurement"].disabled = false; + el[pre + "_left_measurement"].disabled = false; + } + } + + showDisabledControls(); +} + +function synch(fr, to) { + var f = document.forms[0]; + + f.elements[to].value = f.elements[fr].value; + + if (f.elements[fr + "_measurement"]) + selectByValue(f, to + "_measurement", f.elements[fr + "_measurement"].value); +} + +tinyMCEPopup.onInit.add(init); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/bg_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/bg_dlg.js old mode 100644 new mode 100755 index 4d1271e025..0bb009c723 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/bg_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/bg_dlg.js @@ -1,63 +1,63 @@ -tinyMCE.addI18n('bg.style_dlg',{ -title:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u0439 CSS \u0441\u0442\u0438\u043B", -apply:"\u041F\u043E\u0442\u0432\u044A\u0440\u0434\u0438", -text_tab:"\u0422\u0435\u043A\u0441\u0442", -background_tab:"\u0424\u043E\u043D", -block_tab:"\u0411\u043B\u043E\u043A", -box_tab:"\u041A\u0443\u0442\u0438\u044F", -border_tab:"\u0420\u0430\u043C\u043A\u0430", -list_tab:"\u0421\u043F\u0438\u0441\u044A\u043A", -positioning_tab:"\u041F\u043E\u0437\u0438\u0446\u0438\u043E\u043D\u0438\u0440\u0430\u043D\u0435", -text_props:"\u0422\u0435\u043A\u0441\u0442", -text_font:"\u0428\u0440\u0438\u0444\u0442", -text_size:"\u0420\u0430\u0437\u043C\u0435\u0440", -text_weight:"\u0422\u0435\u0433\u043B\u043E", -text_style:"\u0421\u0442\u0438\u043B", -text_variant:"\u041F\u0440\u043E\u043C\u0435\u043D\u043B\u0438\u0432", -text_lineheight:"\u0412\u0438\u0441\u043E\u0447\u0438\u043D\u0430 \u043D\u0430 \u0440\u0435\u0434\u0430", -text_case:"\u0420\u0435\u0433\u0438\u0441\u0442\u044A\u0440", -text_color:"\u0426\u0432\u044F\u0442", -text_decoration:"\u0414\u0435\u043A\u043E\u0440\u0430\u0446\u0438\u044F", -text_overline:"\u043D\u0430\u0434\u0447\u0435\u0440\u0442\u0430\u043D", -text_underline:"\u043F\u043E\u0434\u0447\u0435\u0440\u0442\u0430\u043D", -text_striketrough:"\u0437\u0430\u0447\u0435\u0440\u0442\u0430\u043D", -text_blink:"\u043C\u0438\u0433\u0430", -text_none:"\u043D\u0438\u0449\u043E", -background_color:"\u0424\u043E\u043D\u0438\u0432 \u0446\u0432\u044F\u0442", -background_image:"\u0424\u043E\u043D\u043E\u0432\u0430 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430", -background_repeat:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438", -background_attachment:"\u041F\u0440\u0438\u043A\u0440\u0435\u043F\u0438", -background_hpos:"\u0425\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u043D\u0430 \u043F\u043E\u0437\u0438\u0446\u0438\u044F", -background_vpos:"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u043D\u0430 \u043F\u043E\u0437\u0438\u0446\u0438\u044F", -block_wordspacing:"\u0420\u0430\u0437\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u043C\u0435\u0436\u0434\u0443 \u0434\u0443\u043C\u0438\u0442\u0435", -block_letterspacing:"\u0420\u0430\u0437\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u043C\u0435\u0436\u0434\u0443 \u0431\u0443\u043A\u0432\u0438\u0442\u0435", -block_vertical_alignment:"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u043D\u043E \u043F\u043E\u0434\u0440\u0430\u0432\u043D\u044F\u0432\u0430\u043D\u0435", -block_text_align:"\u041F\u043E\u0434\u0440\u0430\u0432\u043D\u044F\u0432\u0430\u043D\u0435 \u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0430", -block_text_indent:"\u041E\u0442\u0441\u0442\u044A\u043F \u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0430", -block_whitespace:"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B", -block_display:"\u041F\u043E\u043A\u0430\u0437\u0432\u0430\u043D\u0435", -box_width:"\u0428\u0438\u0440\u0438\u043D\u0430", -box_height:"\u0412\u0438\u0441\u043E\u0447\u0438\u043D\u0430", -box_float:"Float", -box_clear:"\u0418\u0437\u0447\u0438\u0441\u0442\u0438", -padding:"Padding", -same:"\u0417\u0430 \u0432\u0441\u0438\u0447\u043A\u0438", -top:"\u0413\u043E\u0440\u0435", -right:"\u0414\u044F\u0441\u043D\u043E", -bottom:"\u0414\u043E\u043B\u0443", -left:"\u041B\u044F\u0432\u043E", -margin:"Margin", -style:"\u0421\u0442\u0438\u043B", -width:"\u0428\u0438\u0440\u0438\u043D\u0430", -height:"\u0412\u0438\u0441\u043E\u0447\u0438\u043D\u0430", -color:"\u0426\u0432\u044F\u0442", -list_type:"\u0422\u0438\u043F", -bullet_image:"\u0413\u0440\u0430\u0444\u0438\u043A\u0430 \u043D\u0430 \u0432\u043E\u0434\u0430\u0447\u0438\u0442\u0435", -position:"\u041F\u043E\u0437\u0438\u0446\u0438\u044F", -positioning_type:"\u0422\u0438\u043F", -visibility:"\u0412\u0438\u0434\u0438\u043C\u043E\u0441\u0442", -zindex:"Z-index", -overflow:"Overflow", -placement:"\u0420\u0430\u0437\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435", -clip:"\u041E\u0442\u0440\u0435\u0436\u0438" +tinyMCE.addI18n('bg.style_dlg',{ +title:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u0439 CSS \u0441\u0442\u0438\u043B", +apply:"\u041F\u043E\u0442\u0432\u044A\u0440\u0434\u0438", +text_tab:"\u0422\u0435\u043A\u0441\u0442", +background_tab:"\u0424\u043E\u043D", +block_tab:"\u0411\u043B\u043E\u043A", +box_tab:"\u041A\u0443\u0442\u0438\u044F", +border_tab:"\u0420\u0430\u043C\u043A\u0430", +list_tab:"\u0421\u043F\u0438\u0441\u044A\u043A", +positioning_tab:"\u041F\u043E\u0437\u0438\u0446\u0438\u043E\u043D\u0438\u0440\u0430\u043D\u0435", +text_props:"\u0422\u0435\u043A\u0441\u0442", +text_font:"\u0428\u0440\u0438\u0444\u0442", +text_size:"\u0420\u0430\u0437\u043C\u0435\u0440", +text_weight:"\u0422\u0435\u0433\u043B\u043E", +text_style:"\u0421\u0442\u0438\u043B", +text_variant:"\u041F\u0440\u043E\u043C\u0435\u043D\u043B\u0438\u0432", +text_lineheight:"\u0412\u0438\u0441\u043E\u0447\u0438\u043D\u0430 \u043D\u0430 \u0440\u0435\u0434\u0430", +text_case:"\u0420\u0435\u0433\u0438\u0441\u0442\u044A\u0440", +text_color:"\u0426\u0432\u044F\u0442", +text_decoration:"\u0414\u0435\u043A\u043E\u0440\u0430\u0446\u0438\u044F", +text_overline:"\u043D\u0430\u0434\u0447\u0435\u0440\u0442\u0430\u043D", +text_underline:"\u043F\u043E\u0434\u0447\u0435\u0440\u0442\u0430\u043D", +text_striketrough:"\u0437\u0430\u0447\u0435\u0440\u0442\u0430\u043D", +text_blink:"\u043C\u0438\u0433\u0430", +text_none:"\u043D\u0438\u0449\u043E", +background_color:"\u0424\u043E\u043D\u0438\u0432 \u0446\u0432\u044F\u0442", +background_image:"\u0424\u043E\u043D\u043E\u0432\u0430 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430", +background_repeat:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438", +background_attachment:"\u041F\u0440\u0438\u043A\u0440\u0435\u043F\u0438", +background_hpos:"\u0425\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u043D\u0430 \u043F\u043E\u0437\u0438\u0446\u0438\u044F", +background_vpos:"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u043D\u0430 \u043F\u043E\u0437\u0438\u0446\u0438\u044F", +block_wordspacing:"\u0420\u0430\u0437\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u043C\u0435\u0436\u0434\u0443 \u0434\u0443\u043C\u0438\u0442\u0435", +block_letterspacing:"\u0420\u0430\u0437\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u043C\u0435\u0436\u0434\u0443 \u0431\u0443\u043A\u0432\u0438\u0442\u0435", +block_vertical_alignment:"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u043D\u043E \u043F\u043E\u0434\u0440\u0430\u0432\u043D\u044F\u0432\u0430\u043D\u0435", +block_text_align:"\u041F\u043E\u0434\u0440\u0430\u0432\u043D\u044F\u0432\u0430\u043D\u0435 \u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0430", +block_text_indent:"\u041E\u0442\u0441\u0442\u044A\u043F \u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0430", +block_whitespace:"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B", +block_display:"\u041F\u043E\u043A\u0430\u0437\u0432\u0430\u043D\u0435", +box_width:"\u0428\u0438\u0440\u0438\u043D\u0430", +box_height:"\u0412\u0438\u0441\u043E\u0447\u0438\u043D\u0430", +box_float:"Float", +box_clear:"\u0418\u0437\u0447\u0438\u0441\u0442\u0438", +padding:"Padding", +same:"\u0417\u0430 \u0432\u0441\u0438\u0447\u043A\u0438", +top:"\u0413\u043E\u0440\u0435", +right:"\u0414\u044F\u0441\u043D\u043E", +bottom:"\u0414\u043E\u043B\u0443", +left:"\u041B\u044F\u0432\u043E", +margin:"Margin", +style:"\u0421\u0442\u0438\u043B", +width:"\u0428\u0438\u0440\u0438\u043D\u0430", +height:"\u0412\u0438\u0441\u043E\u0447\u0438\u043D\u0430", +color:"\u0426\u0432\u044F\u0442", +list_type:"\u0422\u0438\u043F", +bullet_image:"\u0413\u0440\u0430\u0444\u0438\u043A\u0430 \u043D\u0430 \u0432\u043E\u0434\u0430\u0447\u0438\u0442\u0435", +position:"\u041F\u043E\u0437\u0438\u0446\u0438\u044F", +positioning_type:"\u0422\u0438\u043F", +visibility:"\u0412\u0438\u0434\u0438\u043C\u043E\u0441\u0442", +zindex:"Z-index", +overflow:"Overflow", +placement:"\u0420\u0430\u0437\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435", +clip:"\u041E\u0442\u0440\u0435\u0436\u0438" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/cs_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/cs_dlg.js old mode 100644 new mode 100755 index 0f0a670a28..dff7a05770 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/cs_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/cs_dlg.js @@ -1,63 +1,63 @@ -tinyMCE.addI18n('cs.style_dlg',{ -title:"Upravit CSS styl", -apply:"Pou\u017E\u00EDt", -text_tab:"Text", -background_tab:"Pozad\u00ED", -block_tab:"Blok", -box_tab:"Box", -border_tab:"Ohrani\u010Den\u00ED", -list_tab:"Seznam", -positioning_tab:"Um\u00EDst\u011Bn\u00ED", -text_props:"Text", -text_font:"P\u00EDsmo", -text_size:"Velikost", -text_weight:"Tu\u010Dnost p\u00EDsma", -text_style:"Styl textu", -text_variant:"Varianta", -text_lineheight:"V\u00FD\u0161ka \u0159\u00E1dku", -text_case:"Velk\u00E1 p\u00EDsmena", -text_color:"Barva", -text_decoration:"Dekorace", -text_overline:"nadtr\u017Een\u00ED", -text_underline:"podtr\u017Een\u00ED", -text_striketrough:"p\u0159e\u0161krtnut\u00ED", -text_blink:"blik\u00E1n\u00ED", -text_none:"\u017E\u00E1dn\u00E1", -background_color:"Barva pozad\u00ED", -background_image:"Obr\u00E1zek pozad\u00ED", -background_repeat:"Opakov\u00E1n\u00ED", -background_attachment:"Rolov\u00E1n\u00ED", -background_hpos:"Horizont\u00E1ln\u00ED um\u00EDst\u011Bn\u00ED", -background_vpos:"Vertik\u00E1ln\u00ED um\u00EDst\u011Bn\u00ED", -block_wordspacing:"Rozestup slov", -block_letterspacing:"Rozestup znak\u016F", -block_vertical_alignment:"Vertik\u00E1ln\u00ED zarovn\u00E1n\u00ED", -block_text_align:"Zarovn\u00E1n\u00ED textu", -block_text_indent:"Odsazen\u00ED textu", -block_whitespace:"Zalamov\u00E1n\u00ED textu", -block_display:"Blokov\u00E9 zobrazen\u00ED", -box_width:"\u0160\u00ED\u0159ka", -box_height:"V\u00FD\u0161ka", -box_float:"Plovouc\u00ED", -box_clear:"Vy\u010Distit", -padding:"Odsazen\u00ED (padding)", -same:"Stejn\u00E9 pro v\u0161echny", -top:"Naho\u0159e", -right:"Vpravo", -bottom:"Dole", -left:"Vlevo", -margin:"Okraje (margin)", -style:"Styl", -width:"\u0160\u00ED\u0159ka", -height:"V\u00FD\u0161ka", -color:"Barva", -list_type:"Typ", -bullet_image:"Styl odr\u00E1\u017Eek", -position:"Um\u00EDst\u011Bn\u00ED", -positioning_type:"Typ", -visibility:"Viditelnost", -zindex:"Z-index", -overflow:"P\u0159ete\u010Den\u00ED (overflow)", -placement:"Um\u00EDst\u011Bni", -clip:"O\u0159ez\u00E1n\u00ED (clip)" +tinyMCE.addI18n('cs.style_dlg',{ +title:"Upravit CSS styl", +apply:"Pou\u017E\u00EDt", +text_tab:"Text", +background_tab:"Pozad\u00ED", +block_tab:"Blok", +box_tab:"Box", +border_tab:"Ohrani\u010Den\u00ED", +list_tab:"Seznam", +positioning_tab:"Um\u00EDst\u011Bn\u00ED", +text_props:"Text", +text_font:"P\u00EDsmo", +text_size:"Velikost", +text_weight:"Tu\u010Dnost p\u00EDsma", +text_style:"Styl textu", +text_variant:"Varianta", +text_lineheight:"V\u00FD\u0161ka \u0159\u00E1dku", +text_case:"Velk\u00E1 p\u00EDsmena", +text_color:"Barva", +text_decoration:"Dekorace", +text_overline:"nadtr\u017Een\u00ED", +text_underline:"podtr\u017Een\u00ED", +text_striketrough:"p\u0159e\u0161krtnut\u00ED", +text_blink:"blik\u00E1n\u00ED", +text_none:"\u017E\u00E1dn\u00E1", +background_color:"Barva pozad\u00ED", +background_image:"Obr\u00E1zek pozad\u00ED", +background_repeat:"Opakov\u00E1n\u00ED", +background_attachment:"Rolov\u00E1n\u00ED", +background_hpos:"Horizont\u00E1ln\u00ED um\u00EDst\u011Bn\u00ED", +background_vpos:"Vertik\u00E1ln\u00ED um\u00EDst\u011Bn\u00ED", +block_wordspacing:"Rozestup slov", +block_letterspacing:"Rozestup znak\u016F", +block_vertical_alignment:"Vertik\u00E1ln\u00ED zarovn\u00E1n\u00ED", +block_text_align:"Zarovn\u00E1n\u00ED textu", +block_text_indent:"Odsazen\u00ED textu", +block_whitespace:"Zalamov\u00E1n\u00ED textu", +block_display:"Blokov\u00E9 zobrazen\u00ED", +box_width:"\u0160\u00ED\u0159ka", +box_height:"V\u00FD\u0161ka", +box_float:"Plovouc\u00ED", +box_clear:"Vy\u010Distit", +padding:"Odsazen\u00ED (padding)", +same:"Stejn\u00E9 pro v\u0161echny", +top:"Naho\u0159e", +right:"Vpravo", +bottom:"Dole", +left:"Vlevo", +margin:"Okraje (margin)", +style:"Styl", +width:"\u0160\u00ED\u0159ka", +height:"V\u00FD\u0161ka", +color:"Barva", +list_type:"Typ", +bullet_image:"Styl odr\u00E1\u017Eek", +position:"Um\u00EDst\u011Bn\u00ED", +positioning_type:"Typ", +visibility:"Viditelnost", +zindex:"Z-index", +overflow:"P\u0159ete\u010Den\u00ED (overflow)", +placement:"Um\u00EDst\u011Bni", +clip:"O\u0159ez\u00E1n\u00ED (clip)" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/da_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/da_dlg.js old mode 100644 new mode 100755 index 210a87a526..82d3235029 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/da_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/da_dlg.js @@ -1,63 +1,63 @@ -tinyMCE.addI18n('da.style_dlg',{ -title:"Rediger CSS stil", -apply:"Anvend", -text_tab:"Tekst", -background_tab:"Baggrund", -block_tab:"Blok", -box_tab:"Boks", -border_tab:"Kant", -list_tab:"Liste", -positioning_tab:"Positionering", -text_props:"Tekst", -text_font:"Skrifttype", -text_size:"St\u00F8rrelse", -text_weight:"V\u00E6gt", -text_style:"Stil", -text_variant:"Variant", -text_lineheight:"Linieh\u00F8jde", -text_case:"Vesaltilstand", -text_color:"Farve", -text_decoration:"Dekoration", -text_overline:"overstreget", -text_underline:"understreget", -text_striketrough:"gennemstreget", -text_blink:"blink", -text_none:"ingen", -background_color:"Baggrundsfarve", -background_image:"Baggrundsbillede", -background_repeat:"Gentag", -background_attachment:"Vedh\u00E6ftede fil", -background_hpos:"Horisontal position", -background_vpos:"Vertikal position", -block_wordspacing:"Afstand mellem ord", -block_letterspacing:"Afstand mellem bogstaver", -block_vertical_alignment:"Vertikal justering", -block_text_align:"Tekstjustering", -block_text_indent:"Tekstindrykning", -block_whitespace:"Mellemrum", -block_display:"Vis", -box_width:"Bredde", -box_height:"H\u00F8jde", -box_float:"Flydende", -box_clear:"Ryd", -padding:"Afstand til indhold", -same:"Ens for alle", -top:"Top", -right:"H\u00F8jre", -bottom:"Bund", -left:"Venstre", -margin:"Margin", -style:"Style", -width:"Bredde", -height:"H\u00F8jde", -color:"Farve", -list_type:"Type", -bullet_image:"Punktopstillings-billede", -position:"Position", -positioning_type:"Type", -visibility:"Synlighed", -zindex:"Z-index", -overflow:"Overl\u00F8b", -placement:"Placering", -clip:"Klip" +tinyMCE.addI18n('da.style_dlg',{ +title:"Rediger CSS stil", +apply:"Anvend", +text_tab:"Tekst", +background_tab:"Baggrund", +block_tab:"Blok", +box_tab:"Boks", +border_tab:"Kant", +list_tab:"Liste", +positioning_tab:"Positionering", +text_props:"Tekst", +text_font:"Skrifttype", +text_size:"St\u00F8rrelse", +text_weight:"V\u00E6gt", +text_style:"Stil", +text_variant:"Variant", +text_lineheight:"Linieh\u00F8jde", +text_case:"Vesaltilstand", +text_color:"Farve", +text_decoration:"Dekoration", +text_overline:"overstreget", +text_underline:"understreget", +text_striketrough:"gennemstreget", +text_blink:"blink", +text_none:"ingen", +background_color:"Baggrundsfarve", +background_image:"Baggrundsbillede", +background_repeat:"Gentag", +background_attachment:"Vedh\u00E6ftede fil", +background_hpos:"Horisontal position", +background_vpos:"Vertikal position", +block_wordspacing:"Afstand mellem ord", +block_letterspacing:"Afstand mellem bogstaver", +block_vertical_alignment:"Vertikal justering", +block_text_align:"Tekstjustering", +block_text_indent:"Tekstindrykning", +block_whitespace:"Mellemrum", +block_display:"Vis", +box_width:"Bredde", +box_height:"H\u00F8jde", +box_float:"Flydende", +box_clear:"Ryd", +padding:"Afstand til indhold", +same:"Ens for alle", +top:"Top", +right:"H\u00F8jre", +bottom:"Bund", +left:"Venstre", +margin:"Margin", +style:"Style", +width:"Bredde", +height:"H\u00F8jde", +color:"Farve", +list_type:"Type", +bullet_image:"Punktopstillings-billede", +position:"Position", +positioning_type:"Type", +visibility:"Synlighed", +zindex:"Z-index", +overflow:"Overl\u00F8b", +placement:"Placering", +clip:"Klip" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/de_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/de_dlg.js old mode 100644 new mode 100755 index 57a62ff939..c30de26d37 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/de_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/de_dlg.js @@ -1,63 +1,63 @@ -tinyMCE.addI18n('de.style_dlg',{ -title:"CSS-Styles bearbeiten", -apply:"\u00DCbernehmen", -text_tab:"Text", -background_tab:"Hintergrund", -block_tab:"Block", -box_tab:"Box", -border_tab:"Rahmen", -list_tab:"Liste", -positioning_tab:"Positionierung", -text_props:"Text", -text_font:"Schriftart", -text_size:"Gr\u00F6\u00DFe", -text_weight:"Dicke", -text_style:"Stil", -text_variant:"Variante", -text_lineheight:"Zeilenh\u00F6he", -text_case:"Schreibung", -text_color:"Farbe", -text_decoration:"Gestaltung", -text_overline:"\u00FCberstrichen", -text_underline:"unterstrichen", -text_striketrough:"durchgestrichen", -text_blink:"blinkend", -text_none:"keine", -background_color:"Hintergrundfarbe", -background_image:"Hintergrundbild", -background_repeat:"Wiederholung", -background_attachment:"Wasserzeicheneffekt", -background_hpos:"Position X", -background_vpos:"Position Y", -block_wordspacing:"Wortabstand", -block_letterspacing:"Buchstabenabstand", -block_vertical_alignment:"Vertikale Ausrichtung", -block_text_align:"Ausrichtung", -block_text_indent:"Einr\u00FCckung", -block_whitespace:"Automatischer Umbruch", -block_display:"Umbruchverhalten", -box_width:"Breite", -box_height:"H\u00F6he", -box_float:"Umflie\u00DFung", -box_clear:"Umflie\u00DFung verhindern", -padding:"Innerer Abstand", -same:"Alle gleich", -top:"Oben", -right:"Rechts", -bottom:"Unten", -left:"Links", -margin:"\u00C4u\u00DFerer Abstand", -style:"Format", -width:"Breite", -height:"H\u00F6he", -color:"Textfarbe", -list_type:"Listenpunkt-Art", -bullet_image:"Listenpunkt-Grafik", -position:"Positionierung", -positioning_type:"Art der Positionierung", -visibility:"Sichtbar", -zindex:"Z-Wert", -overflow:"Verhalten bei \u00DCbergr\u00F6\u00DFe", -placement:"Platzierung", -clip:"Ausschnitt" +tinyMCE.addI18n('de.style_dlg',{ +title:"CSS-Styles bearbeiten", +apply:"\u00DCbernehmen", +text_tab:"Text", +background_tab:"Hintergrund", +block_tab:"Block", +box_tab:"Box", +border_tab:"Rahmen", +list_tab:"Liste", +positioning_tab:"Positionierung", +text_props:"Text", +text_font:"Schriftart", +text_size:"Gr\u00F6\u00DFe", +text_weight:"Dicke", +text_style:"Stil", +text_variant:"Variante", +text_lineheight:"Zeilenh\u00F6he", +text_case:"Schreibung", +text_color:"Farbe", +text_decoration:"Gestaltung", +text_overline:"\u00FCberstrichen", +text_underline:"unterstrichen", +text_striketrough:"durchgestrichen", +text_blink:"blinkend", +text_none:"keine", +background_color:"Hintergrundfarbe", +background_image:"Hintergrundbild", +background_repeat:"Wiederholung", +background_attachment:"Wasserzeicheneffekt", +background_hpos:"Position X", +background_vpos:"Position Y", +block_wordspacing:"Wortabstand", +block_letterspacing:"Buchstabenabstand", +block_vertical_alignment:"Vertikale Ausrichtung", +block_text_align:"Ausrichtung", +block_text_indent:"Einr\u00FCckung", +block_whitespace:"Automatischer Umbruch", +block_display:"Umbruchverhalten", +box_width:"Breite", +box_height:"H\u00F6he", +box_float:"Umflie\u00DFung", +box_clear:"Umflie\u00DFung verhindern", +padding:"Innerer Abstand", +same:"Alle gleich", +top:"Oben", +right:"Rechts", +bottom:"Unten", +left:"Links", +margin:"\u00C4u\u00DFerer Abstand", +style:"Format", +width:"Breite", +height:"H\u00F6he", +color:"Textfarbe", +list_type:"Listenpunkt-Art", +bullet_image:"Listenpunkt-Grafik", +position:"Positionierung", +positioning_type:"Art der Positionierung", +visibility:"Sichtbar", +zindex:"Z-Wert", +overflow:"Verhalten bei \u00DCbergr\u00F6\u00DFe", +placement:"Platzierung", +clip:"Ausschnitt" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js old mode 100644 new mode 100755 index 5026313e2e..d9d77627b7 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js @@ -1,63 +1,63 @@ -tinyMCE.addI18n('en.style_dlg',{ -title:"Edit CSS Style", -apply:"Apply", -text_tab:"Text", -background_tab:"Background", -block_tab:"Block", -box_tab:"Box", -border_tab:"Border", -list_tab:"List", -positioning_tab:"Positioning", -text_props:"Text", -text_font:"Font", -text_size:"Size", -text_weight:"Weight", -text_style:"Style", -text_variant:"Variant", -text_lineheight:"Line height", -text_case:"Case", -text_color:"Color", -text_decoration:"Decoration", -text_overline:"overline", -text_underline:"underline", -text_striketrough:"strikethrough", -text_blink:"blink", -text_none:"none", -background_color:"Background color", -background_image:"Background image", -background_repeat:"Repeat", -background_attachment:"Attachment", -background_hpos:"Horizontal position", -background_vpos:"Vertical position", -block_wordspacing:"Word spacing", -block_letterspacing:"Letter spacing", -block_vertical_alignment:"Vertical alignment", -block_text_align:"Text align", -block_text_indent:"Text indent", -block_whitespace:"Whitespace", -block_display:"Display", -box_width:"Width", -box_height:"Height", -box_float:"Float", -box_clear:"Clear", -padding:"Padding", -same:"Same for all", -top:"Top", -right:"Right", -bottom:"Bottom", -left:"Left", -margin:"Margin", -style:"Style", -width:"Width", -height:"Height", -color:"Color", -list_type:"Type", -bullet_image:"Bullet image", -position:"Position", -positioning_type:"Type", -visibility:"Visibility", -zindex:"Z-index", -overflow:"Overflow", -placement:"Placement", -clip:"Clip" +tinyMCE.addI18n('en.style_dlg',{ +title:"Edit CSS Style", +apply:"Apply", +text_tab:"Text", +background_tab:"Background", +block_tab:"Block", +box_tab:"Box", +border_tab:"Border", +list_tab:"List", +positioning_tab:"Positioning", +text_props:"Text", +text_font:"Font", +text_size:"Size", +text_weight:"Weight", +text_style:"Style", +text_variant:"Variant", +text_lineheight:"Line height", +text_case:"Case", +text_color:"Color", +text_decoration:"Decoration", +text_overline:"overline", +text_underline:"underline", +text_striketrough:"strikethrough", +text_blink:"blink", +text_none:"none", +background_color:"Background color", +background_image:"Background image", +background_repeat:"Repeat", +background_attachment:"Attachment", +background_hpos:"Horizontal position", +background_vpos:"Vertical position", +block_wordspacing:"Word spacing", +block_letterspacing:"Letter spacing", +block_vertical_alignment:"Vertical alignment", +block_text_align:"Text align", +block_text_indent:"Text indent", +block_whitespace:"Whitespace", +block_display:"Display", +box_width:"Width", +box_height:"Height", +box_float:"Float", +box_clear:"Clear", +padding:"Padding", +same:"Same for all", +top:"Top", +right:"Right", +bottom:"Bottom", +left:"Left", +margin:"Margin", +style:"Style", +width:"Width", +height:"Height", +color:"Color", +list_type:"Type", +bullet_image:"Bullet image", +position:"Position", +positioning_type:"Type", +visibility:"Visibility", +zindex:"Z-index", +overflow:"Overflow", +placement:"Placement", +clip:"Clip" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/es_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/es_dlg.js old mode 100644 new mode 100755 index abf4b1db3b..5fe8a8beb3 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/es_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/es_dlg.js @@ -1,63 +1,63 @@ -tinyMCE.addI18n('es.style_dlg',{ -title:"Editar Estilo CSS", -apply:"Aplicar", -text_tab:"Texto", -background_tab:"Fondo", -block_tab:"Bloque", -box_tab:"Caja", -border_tab:"Borde", -list_tab:"Lista", -positioning_tab:"Posici\u00F3n", -text_props:"Texto", -text_font:"Fuente", -text_size:"Tama\u00F1o", -text_weight:"Peso", -text_style:"Estilo", -text_variant:"Variante", -text_lineheight:"Ancho de la fila", -text_case:"Min\u00FAs./May\u00FAs.", -text_color:"Color", -text_decoration:"Decorativos", -text_overline:"Subrayado superior", -text_underline:"Subrayado", -text_striketrough:"Tachado", -text_blink:"Parpadeo", -text_none:"Ninguno", -background_color:"Color de fondo", -background_image:"Imagen de fondo", -background_repeat:"Repetici\u00F3n", -background_attachment:"Adjunto", -background_hpos:"Posici\u00F3n horizontal", -background_vpos:"Posici\u00F3n vertical", -block_wordspacing:"Espacio entre palabra", -block_letterspacing:"Espacio entre letra", -block_vertical_alignment:"Alineaci\u00F3n vertical", -block_text_align:"Alineaci\u00F3n del texto", -block_text_indent:"Sangr\u00EDa", -block_whitespace:"Espacio en blanco", -block_display:"Display", -box_width:"Ancho", -box_height:"Alto", -box_float:"Float", -box_clear:"Clear", -padding:"Padding", -same:"Lo mismo en todos", -top:"Arriba", -right:"Derecha", -bottom:"Debajo", -left:"Izquierda", -margin:"Margen", -style:"Estilo", -width:"Ancho", -height:"Alto", -color:"Color", -list_type:"Tipo", -bullet_image:"Imagen de la vi\u00F1eta", -position:"Posici\u00F3n", -positioning_type:"Tipo", -visibility:"Visibilidad", -zindex:"Z-index", -overflow:"Overflow", -placement:"Placement", -clip:"Clip" +tinyMCE.addI18n('es.style_dlg',{ +title:"Editar Estilo CSS", +apply:"Aplicar", +text_tab:"Texto", +background_tab:"Fondo", +block_tab:"Bloque", +box_tab:"Caja", +border_tab:"Borde", +list_tab:"Lista", +positioning_tab:"Posici\u00F3n", +text_props:"Texto", +text_font:"Fuente", +text_size:"Tama\u00F1o", +text_weight:"Peso", +text_style:"Estilo", +text_variant:"Variante", +text_lineheight:"Ancho de la fila", +text_case:"Min\u00FAs./May\u00FAs.", +text_color:"Color", +text_decoration:"Decorativos", +text_overline:"Subrayado superior", +text_underline:"Subrayado", +text_striketrough:"Tachado", +text_blink:"Parpadeo", +text_none:"Ninguno", +background_color:"Color de fondo", +background_image:"Imagen de fondo", +background_repeat:"Repetici\u00F3n", +background_attachment:"Adjunto", +background_hpos:"Posici\u00F3n horizontal", +background_vpos:"Posici\u00F3n vertical", +block_wordspacing:"Espacio entre palabra", +block_letterspacing:"Espacio entre letra", +block_vertical_alignment:"Alineaci\u00F3n vertical", +block_text_align:"Alineaci\u00F3n del texto", +block_text_indent:"Sangr\u00EDa", +block_whitespace:"Espacio en blanco", +block_display:"Display", +box_width:"Ancho", +box_height:"Alto", +box_float:"Float", +box_clear:"Clear", +padding:"Padding", +same:"Lo mismo en todos", +top:"Arriba", +right:"Derecha", +bottom:"Debajo", +left:"Izquierda", +margin:"Margen", +style:"Estilo", +width:"Ancho", +height:"Alto", +color:"Color", +list_type:"Tipo", +bullet_image:"Imagen de la vi\u00F1eta", +position:"Posici\u00F3n", +positioning_type:"Tipo", +visibility:"Visibilidad", +zindex:"Z-index", +overflow:"Overflow", +placement:"Placement", +clip:"Clip" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/fa_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/fa_dlg.js old mode 100644 new mode 100755 index 601bae3ec7..209f2bd2f6 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/fa_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/fa_dlg.js @@ -1,63 +1,63 @@ -tinyMCE.addI18n('fa.style_dlg',{ -title:"\u0648\u06CC\u0631\u0627\u06CC\u0634 \u0627\u0633\u062A\u06CC\u0644 CSS", -apply:"\u0628\u06A9\u0627\u0631\u06AF\u06CC\u0631\u06CC", -text_tab:"\u0645\u062A\u0646", -background_tab:"\u0632\u0645\u06CC\u0646\u0647", -block_tab:"\u0628\u0644\u0648\u06A9", -box_tab:"\u062C\u0639\u0628\u0647", -border_tab:"\u062D\u0627\u0634\u06CC\u0647", -list_tab:"\u0644\u06CC\u0633\u062A", -positioning_tab:"\u0645\u0648\u0642\u0639\u06CC\u062A", -text_props:"\u0645\u062A\u0646", -text_font:"\u0642\u0644\u0645", -text_size:"\u0627\u0646\u062F\u0627\u0632\u0647", -text_weight:"\u062D\u0627\u0644\u062A", -text_style:"\u0627\u0633\u062A\u06CC\u0644", -text_variant:"\u0646\u0648\u0639 \u062A\u063A\u06CC\u06CC\u0631", -text_lineheight:"\u0628\u0644\u0646\u062F\u06CC \u062E\u0637", -text_case:"\u062D\u0627\u0644\u062A", -text_color:"\u0631\u0646\u06AF", -text_decoration:"\u0622\u0631\u0627\u06CC\u0634", -text_overline:"\u0628\u0627\u0644\u0627 \u062E\u0637", -text_underline:"\u0632\u06CC\u0631 \u062E\u0637", -text_striketrough:"\u062E\u0637 \u0648\u0633\u0637", -text_blink:"\u0686\u0634\u0645\u06A9 \u0632\u0646", -text_none:"\u0647\u06CC\u0686 \u06A9\u062F\u0627\u0645", -background_color:"\u0631\u0646\u06AF \u0632\u0645\u06CC\u0646\u0647", -background_image:"\u062A\u0635\u0648\u06CC\u0631 \u0632\u0645\u06CC\u0646\u0647", -background_repeat:"\u062A\u06A9\u0631\u0627\u0631", -background_attachment:"\u0632\u0645\u06CC\u0645\u0647", -background_hpos:"\u0645\u0648\u0642\u0639\u06CC\u062A \u0627\u0641\u0642\u06CC", -background_vpos:"\u0645\u0648\u0642\u0639\u06CC\u062A \u0639\u0645\u0648\u062F\u06CC", -block_wordspacing:"\u0641\u0627\u0635\u0644\u0647 \u06A9\u0644\u0645\u0627\u062A", -block_letterspacing:"\u0641\u0627\u0635\u0644\u0647 \u062D\u0631\u0648\u0641", -block_vertical_alignment:"\u062A\u0631\u0627\u0632 \u0639\u0645\u0648\u062F\u06CC", -block_text_align:"\u062A\u0631\u0627\u0632 \u0645\u062A\u0646", -block_text_indent:"\u062A\u0648\u0631\u0641\u062A\u06AF\u06CC \u0645\u062A\u0646", -block_whitespace:"\u0641\u0627\u0635\u0644\u0647 \u0633\u0641\u06CC\u062F", -block_display:"\u0646\u0645\u0627\u06CC\u0634", -box_width:"\u067E\u0647\u0646\u0627", -box_height:"\u0627\u0631\u062A\u0641\u0627\u0639", -box_float:"\u0634\u0646\u0627\u0648\u0631", -box_clear:"\u067E\u0627\u06A9 \u0633\u0627\u0632\u06CC", -padding:"\u0644\u0627\u06CC\u0647 \u06AF\u0630\u0627\u0631\u06CC", -same:"\u0647\u0645\u0633\u0627\u0646 \u0628\u0631\u0627\u06CC \u0647\u0645\u0647", -top:"\u0628\u0627\u0644\u0627", -right:"\u0631\u0627\u0633\u062A", -bottom:"\u067E\u0627\u06CC\u06CC\u0646", -left:"\u0686\u067E", -margin:"\u062D\u0627\u0634\u06CC\u0647", -style:"\u0627\u0633\u062A\u06CC\u0644", -width:"\u067E\u0647\u0646\u0627", -height:"\u0627\u0631\u062A\u0641\u0627\u0639", -color:"\u0631\u0646\u06AF", -list_type:"\u0646\u0648\u0639", -bullet_image:"\u062A\u0635\u0648\u06CC\u0631 \u06AF\u0644\u0648\u0644\u0647", -position:"\u0645\u0648\u0642\u0639\u06CC\u062A", -positioning_type:"\u0646\u0648\u0639", -visibility:"\u0642\u0627\u0628\u0644\u06CC\u062A \u0631\u0648\u06CC\u062A", -zindex:"\u0645\u062D\u0648\u0631 Z", -overflow:"\u0633\u0631 \u0631\u06CC\u0632", -placement:"\u0645\u0648\u0642\u0639\u06CC\u062A \u0645\u06A9\u0627\u0646\u06CC", -clip:"\u0628\u0631\u0634 (Clip)" +tinyMCE.addI18n('fa.style_dlg',{ +title:"\u0648\u06CC\u0631\u0627\u06CC\u0634 \u0627\u0633\u062A\u06CC\u0644 CSS", +apply:"\u0628\u06A9\u0627\u0631\u06AF\u06CC\u0631\u06CC", +text_tab:"\u0645\u062A\u0646", +background_tab:"\u0632\u0645\u06CC\u0646\u0647", +block_tab:"\u0628\u0644\u0648\u06A9", +box_tab:"\u062C\u0639\u0628\u0647", +border_tab:"\u062D\u0627\u0634\u06CC\u0647", +list_tab:"\u0644\u06CC\u0633\u062A", +positioning_tab:"\u0645\u0648\u0642\u0639\u06CC\u062A", +text_props:"\u0645\u062A\u0646", +text_font:"\u0642\u0644\u0645", +text_size:"\u0627\u0646\u062F\u0627\u0632\u0647", +text_weight:"\u062D\u0627\u0644\u062A", +text_style:"\u0627\u0633\u062A\u06CC\u0644", +text_variant:"\u0646\u0648\u0639 \u062A\u063A\u06CC\u06CC\u0631", +text_lineheight:"\u0628\u0644\u0646\u062F\u06CC \u062E\u0637", +text_case:"\u062D\u0627\u0644\u062A", +text_color:"\u0631\u0646\u06AF", +text_decoration:"\u0622\u0631\u0627\u06CC\u0634", +text_overline:"\u0628\u0627\u0644\u0627 \u062E\u0637", +text_underline:"\u0632\u06CC\u0631 \u062E\u0637", +text_striketrough:"\u062E\u0637 \u0648\u0633\u0637", +text_blink:"\u0686\u0634\u0645\u06A9 \u0632\u0646", +text_none:"\u0647\u06CC\u0686 \u06A9\u062F\u0627\u0645", +background_color:"\u0631\u0646\u06AF \u0632\u0645\u06CC\u0646\u0647", +background_image:"\u062A\u0635\u0648\u06CC\u0631 \u0632\u0645\u06CC\u0646\u0647", +background_repeat:"\u062A\u06A9\u0631\u0627\u0631", +background_attachment:"\u0632\u0645\u06CC\u0645\u0647", +background_hpos:"\u0645\u0648\u0642\u0639\u06CC\u062A \u0627\u0641\u0642\u06CC", +background_vpos:"\u0645\u0648\u0642\u0639\u06CC\u062A \u0639\u0645\u0648\u062F\u06CC", +block_wordspacing:"\u0641\u0627\u0635\u0644\u0647 \u06A9\u0644\u0645\u0627\u062A", +block_letterspacing:"\u0641\u0627\u0635\u0644\u0647 \u062D\u0631\u0648\u0641", +block_vertical_alignment:"\u062A\u0631\u0627\u0632 \u0639\u0645\u0648\u062F\u06CC", +block_text_align:"\u062A\u0631\u0627\u0632 \u0645\u062A\u0646", +block_text_indent:"\u062A\u0648\u0631\u0641\u062A\u06AF\u06CC \u0645\u062A\u0646", +block_whitespace:"\u0641\u0627\u0635\u0644\u0647 \u0633\u0641\u06CC\u062F", +block_display:"\u0646\u0645\u0627\u06CC\u0634", +box_width:"\u067E\u0647\u0646\u0627", +box_height:"\u0627\u0631\u062A\u0641\u0627\u0639", +box_float:"\u0634\u0646\u0627\u0648\u0631", +box_clear:"\u067E\u0627\u06A9 \u0633\u0627\u0632\u06CC", +padding:"\u0644\u0627\u06CC\u0647 \u06AF\u0630\u0627\u0631\u06CC", +same:"\u0647\u0645\u0633\u0627\u0646 \u0628\u0631\u0627\u06CC \u0647\u0645\u0647", +top:"\u0628\u0627\u0644\u0627", +right:"\u0631\u0627\u0633\u062A", +bottom:"\u067E\u0627\u06CC\u06CC\u0646", +left:"\u0686\u067E", +margin:"\u062D\u0627\u0634\u06CC\u0647", +style:"\u0627\u0633\u062A\u06CC\u0644", +width:"\u067E\u0647\u0646\u0627", +height:"\u0627\u0631\u062A\u0641\u0627\u0639", +color:"\u0631\u0646\u06AF", +list_type:"\u0646\u0648\u0639", +bullet_image:"\u062A\u0635\u0648\u06CC\u0631 \u06AF\u0644\u0648\u0644\u0647", +position:"\u0645\u0648\u0642\u0639\u06CC\u062A", +positioning_type:"\u0646\u0648\u0639", +visibility:"\u0642\u0627\u0628\u0644\u06CC\u062A \u0631\u0648\u06CC\u062A", +zindex:"\u0645\u062D\u0648\u0631 Z", +overflow:"\u0633\u0631 \u0631\u06CC\u0632", +placement:"\u0645\u0648\u0642\u0639\u06CC\u062A \u0645\u06A9\u0627\u0646\u06CC", +clip:"\u0628\u0631\u0634 (Clip)" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/fi_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/fi_dlg.js old mode 100644 new mode 100755 index 44d912804e..89f8136101 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/fi_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/fi_dlg.js @@ -1,63 +1,63 @@ -tinyMCE.addI18n('fi.style_dlg',{ -title:"Muokkaa CSS-tyyli\u00E4", -apply:"K\u00E4yt\u00E4", -text_tab:"Teksti", -background_tab:"Tausta", -block_tab:"Palkki", -box_tab:"Laatikko", -border_tab:"Kehys", -list_tab:"Lista", -positioning_tab:"Sijainti", -text_props:"Teksti", -text_font:"Kirjasin", -text_size:"Koko", -text_weight:"Paino", -text_style:"Tyyli", -text_variant:"Variantti", -text_lineheight:"Rivin korkeus", -text_case:"Isot/pienet kirjaimet", -text_color:"V\u00E4ri", -text_decoration:"Koristelu", -text_overline:"Ylleviivattu", -text_underline:"Alleviivattu (Ctrl+U)", -text_striketrough:"Yliviivattu", -text_blink:"V\u00E4l\u00E4hdys", -text_none:"ei mit\u00E4\u00E4n", -background_color:"Taustav\u00E4ri", -background_image:"Taustakuva", -background_repeat:"Toistuvuus", -background_attachment:"Liite", -background_hpos:"Vaaka-asettelu", -background_vpos:"Pystyasettelu", -block_wordspacing:"Sanojen v\u00E4listys", -block_letterspacing:"Kirjainten v\u00E4listys", -block_vertical_alignment:"Pystyasettelu", -block_text_align:"Tekstin asettelu", -block_text_indent:"Tekstin sisennys", -block_whitespace:"Tyhj\u00E4 tila", -block_display:"N\u00E4ytt\u00F6", -box_width:"Leveys", -box_height:"Korkeus", -box_float:"Kellunta", -box_clear:"Nollaus", -padding:"Tyhj\u00E4 tila", -same:"Sama kaikille", -top:"Ylh\u00E4\u00E4ll\u00E4", -right:"Oikealla", -bottom:"Alhaalla", -left:"Vasemmalla", -margin:"Marginaali", -style:"Tyyli", -width:"Leveys", -height:"Korkeus", -color:"V\u00E4ri", -list_type:"Tyyppi", -bullet_image:"Listauskuva", -position:"Sijainti", -positioning_type:"Tyyppi", -visibility:"N\u00E4kyvyys", -zindex:"Z-indeksi", -overflow:"Ylivuoto", -placement:"Sijoittelu", -clip:"Leike" +tinyMCE.addI18n('fi.style_dlg',{ +title:"Muokkaa CSS-tyyli\u00E4", +apply:"K\u00E4yt\u00E4", +text_tab:"Teksti", +background_tab:"Tausta", +block_tab:"Palkki", +box_tab:"Laatikko", +border_tab:"Kehys", +list_tab:"Lista", +positioning_tab:"Sijainti", +text_props:"Teksti", +text_font:"Kirjasin", +text_size:"Koko", +text_weight:"Paino", +text_style:"Tyyli", +text_variant:"Variantti", +text_lineheight:"Rivin korkeus", +text_case:"Isot/pienet kirjaimet", +text_color:"V\u00E4ri", +text_decoration:"Koristelu", +text_overline:"Ylleviivattu", +text_underline:"Alleviivattu (Ctrl+U)", +text_striketrough:"Yliviivattu", +text_blink:"V\u00E4l\u00E4hdys", +text_none:"ei mit\u00E4\u00E4n", +background_color:"Taustav\u00E4ri", +background_image:"Taustakuva", +background_repeat:"Toistuvuus", +background_attachment:"Liite", +background_hpos:"Vaaka-asettelu", +background_vpos:"Pystyasettelu", +block_wordspacing:"Sanojen v\u00E4listys", +block_letterspacing:"Kirjainten v\u00E4listys", +block_vertical_alignment:"Pystyasettelu", +block_text_align:"Tekstin asettelu", +block_text_indent:"Tekstin sisennys", +block_whitespace:"Tyhj\u00E4 tila", +block_display:"N\u00E4ytt\u00F6", +box_width:"Leveys", +box_height:"Korkeus", +box_float:"Kellunta", +box_clear:"Nollaus", +padding:"Tyhj\u00E4 tila", +same:"Sama kaikille", +top:"Ylh\u00E4\u00E4ll\u00E4", +right:"Oikealla", +bottom:"Alhaalla", +left:"Vasemmalla", +margin:"Marginaali", +style:"Tyyli", +width:"Leveys", +height:"Korkeus", +color:"V\u00E4ri", +list_type:"Tyyppi", +bullet_image:"Listauskuva", +position:"Sijainti", +positioning_type:"Tyyppi", +visibility:"N\u00E4kyvyys", +zindex:"Z-indeksi", +overflow:"Ylivuoto", +placement:"Sijoittelu", +clip:"Leike" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/fr_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/fr_dlg.js old mode 100644 new mode 100755 index 28897f866e..ed14dab34b --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/fr_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/fr_dlg.js @@ -1,63 +1,63 @@ -tinyMCE.addI18n('fr.style_dlg',{ -title:"\u00C9diter la feuille de style", -apply:"Appliquer", -text_tab:"Texte", -background_tab:"Fond", -block_tab:"Bloc", -box_tab:"Bo\u00EEte", -border_tab:"Bordure", -list_tab:"Liste", -positioning_tab:"Positionnement", -text_props:"Texte", -text_font:"Police", -text_size:"Taille", -text_weight:"Gras", -text_style:"Style", -text_variant:"Variante", -text_lineheight:"Hauteur de ligne", -text_case:"Casse", -text_color:"Couleur", -text_decoration:"D\u00E9coration", -text_overline:"ligne au-dessus", -text_underline:"soulign\u00E9", -text_striketrough:"barr\u00E9", -text_blink:"clignotant", -text_none:"aucun", -background_color:"Couleur de fond", -background_image:"Image de fond", -background_repeat:"R\u00E9p\u00E9ter", -background_attachment:"Attachement", -background_hpos:"Position horizontale", -background_vpos:"Position verticale", -block_wordspacing:"Espacement des mots ", -block_letterspacing:"Espacement des lettres", -block_vertical_alignment:"Alignement vertical", -block_text_align:"Alignement du texte", -block_text_indent:"Indentation du texte", -block_whitespace:"Fin de ligne", -block_display:"Affichage", -box_width:"Largeur", -box_height:"Hauteur", -box_float:"Flottant", -box_clear:"Vider", -padding:"Espacement", -same:"Identique pour tous", -top:"Haut", -right:"Droit", -bottom:"Bas", -left:"Gauche", -margin:"Marge", -style:"Style", -width:"Largeur", -height:"Hauteur", -color:"Couleur", -list_type:"Type", -bullet_image:"Image de puce", -position:"Position", -positioning_type:"Type", -visibility:"Visibilit\u00E9", -zindex:"Z-index", -overflow:"D\u00E9bordement", -placement:"Placement", -clip:"Clip" +tinyMCE.addI18n('fr.style_dlg',{ +title:"\u00C9diter la feuille de style", +apply:"Appliquer", +text_tab:"Texte", +background_tab:"Fond", +block_tab:"Bloc", +box_tab:"Bo\u00EEte", +border_tab:"Bordure", +list_tab:"Liste", +positioning_tab:"Positionnement", +text_props:"Texte", +text_font:"Police", +text_size:"Taille", +text_weight:"Gras", +text_style:"Style", +text_variant:"Variante", +text_lineheight:"Hauteur de ligne", +text_case:"Casse", +text_color:"Couleur", +text_decoration:"D\u00E9coration", +text_overline:"ligne au-dessus", +text_underline:"soulign\u00E9", +text_striketrough:"barr\u00E9", +text_blink:"clignotant", +text_none:"aucun", +background_color:"Couleur de fond", +background_image:"Image de fond", +background_repeat:"R\u00E9p\u00E9ter", +background_attachment:"Attachement", +background_hpos:"Position horizontale", +background_vpos:"Position verticale", +block_wordspacing:"Espacement des mots ", +block_letterspacing:"Espacement des lettres", +block_vertical_alignment:"Alignement vertical", +block_text_align:"Alignement du texte", +block_text_indent:"Indentation du texte", +block_whitespace:"Fin de ligne", +block_display:"Affichage", +box_width:"Largeur", +box_height:"Hauteur", +box_float:"Flottant", +box_clear:"Vider", +padding:"Espacement", +same:"Identique pour tous", +top:"Haut", +right:"Droit", +bottom:"Bas", +left:"Gauche", +margin:"Marge", +style:"Style", +width:"Largeur", +height:"Hauteur", +color:"Couleur", +list_type:"Type", +bullet_image:"Image de puce", +position:"Position", +positioning_type:"Type", +visibility:"Visibilit\u00E9", +zindex:"Z-index", +overflow:"D\u00E9bordement", +placement:"Placement", +clip:"Clip" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/he_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/he_dlg.js old mode 100644 new mode 100755 index 7aae7597e6..c598e643e0 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/he_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/he_dlg.js @@ -1,63 +1,63 @@ -tinyMCE.addI18n('he.style_dlg',{ -title:"\u05E2\u05D3\u05DB\u05D5\u05DF \u05D4\u05D2\u05D3\u05E8\u05D5\u05EA CSS", -apply:"\u05D4\u05D7\u05DC", -text_tab:"\u05D8\u05E7\u05E1\u05D8", -background_tab:"\u05E8\u05E7\u05E2", -block_tab:"\u05D7\u05E1\u05D5\u05DD", -box_tab:"\u05E7\u05D5\u05E4\u05E1\u05D0", -border_tab:"\u05D2\u05D1\u05D5\u05DC", -list_tab:"\u05E8\u05E9\u05D9\u05DE\u05D4", -positioning_tab:"\u05DE\u05D9\u05E7\u05D5\u05DD", -text_props:"\u05D8\u05E7\u05E1\u05D8", -text_font:"\u05E4\u05D5\u05E0\u05D8", -text_size:"\u05D2\u05D5\u05D3\u05DC", -text_weight:"\u05E2\u05D5\u05D1\u05D9", -text_style:"\u05E1\u05D2\u05E0\u05D5\u05DF", -text_variant:"Variant", -text_lineheight:"\u05D2\u05D5\u05D1\u05D4 \u05E9\u05D5\u05E8\u05D4", -text_case:"Case", -text_color:"\u05E6\u05D1\u05E2", -text_decoration:"\u05E2\u05D9\u05E6\u05D5\u05D1", -text_overline:"\u05E9\u05D5\u05E8\u05D4 \u05DE\u05E2\u05DC", -text_underline:"\u05E9\u05D5\u05E8\u05D4 \u05DE\u05EA\u05D7\u05EA", -text_striketrough:"\u05E7\u05D5 \u05D7\u05D5\u05E6\u05D4", -text_blink:"\u05D4\u05D1\u05D4\u05D5\u05D1", -text_none:"\u05DC\u05DC\u05D0", -background_color:"\u05E6\u05D1\u05E2 \u05E8\u05E7\u05E2", -background_image:"\u05EA\u05DE\u05D5\u05E0\u05EA \u05E8\u05E7\u05E2", -background_repeat:"\u05D7\u05D6\u05D5\u05E8", -background_attachment:"\u05E7\u05D1\u05E6\u05D9\u05DD \u05DE\u05E6\u05D5\u05E8\u05E4\u05D9\u05DD", -background_hpos:"\u05DE\u05D9\u05E7\u05D5\u05DD \u05D0\u05D5\u05E4\u05E7\u05D9", -background_vpos:"\u05DE\u05D9\u05E7\u05D5\u05DD \u05E8\u05D5\u05D7\u05D1\u05D9", -block_wordspacing:"\u05DE\u05E8\u05D7\u05E7 \u05D1\u05D9\u05DF \u05DE\u05D9\u05DC\u05D9\u05DD", -block_letterspacing:"\u05DE\u05E8\u05D7\u05E7 \u05D1\u05D9\u05DF \u05D0\u05D5\u05EA\u05D9\u05D5\u05EA", -block_vertical_alignment:"Vertical alignment", -block_text_align:"\u05DE\u05D9\u05E7\u05D5\u05DD \u05D8\u05E7\u05E1\u05D8", -block_text_indent:"\u05D4\u05D6\u05D7\u05D4", -block_whitespace:"\u05E8\u05D5\u05D5\u05D7", -block_display:"\u05D4\u05E6\u05D2", -box_width:"\u05E8\u05D5\u05D7\u05D1", -box_height:"\u05D2\u05D5\u05D1\u05D4", -box_float:"\u05D4\u05E6\u05E4\u05D4", -box_clear:"\u05E0\u05E7\u05D4", -padding:"\u05E8\u05D9\u05E4\u05D5\u05D3", -same:"\u05D0\u05D5\u05EA\u05D5 \u05D3\u05D1\u05E8 \u05E2\u05D1\u05D5\u05E8 \u05DB\u05D5\u05DC\u05DD", -top:"\u05E2\u05DC\u05D9\u05D5\u05DF", -right:"\u05D9\u05DE\u05D9\u05DF", -bottom:"\u05EA\u05D7\u05EA\u05D9\u05EA", -left:"\u05E9\u05DE\u05D0\u05DC", -margin:"\u05E9\u05D5\u05DC\u05D9\u05D9\u05DD", -style:"\u05E1\u05D2\u05E0\u05D5\u05DF", -width:"\u05E8\u05D5\u05D7\u05D1", -height:"\u05D2\u05D5\u05D1\u05D4", -color:"\u05E6\u05D1\u05E2", -list_type:"\u05E1\u05D5\u05D2", -bullet_image:"Bullet image", -position:"\u05DE\u05D9\u05E7\u05D5\u05DD", -positioning_type:"\u05E1\u05D5\u05D2", -visibility:"\u05E8\u05D0\u05D5\u05EA", -zindex:"Z-index", -overflow:"\u05D2\u05DC\u05D9\u05E9\u05D4", -placement:"\u05DE\u05D9\u05E7\u05D5\u05DD", -clip:"\u05E7\u05DC\u05D9\u05E4" +tinyMCE.addI18n('he.style_dlg',{ +title:"\u05E2\u05D3\u05DB\u05D5\u05DF \u05D4\u05D2\u05D3\u05E8\u05D5\u05EA CSS", +apply:"\u05D4\u05D7\u05DC", +text_tab:"\u05D8\u05E7\u05E1\u05D8", +background_tab:"\u05E8\u05E7\u05E2", +block_tab:"\u05D7\u05E1\u05D5\u05DD", +box_tab:"\u05E7\u05D5\u05E4\u05E1\u05D0", +border_tab:"\u05D2\u05D1\u05D5\u05DC", +list_tab:"\u05E8\u05E9\u05D9\u05DE\u05D4", +positioning_tab:"\u05DE\u05D9\u05E7\u05D5\u05DD", +text_props:"\u05D8\u05E7\u05E1\u05D8", +text_font:"\u05E4\u05D5\u05E0\u05D8", +text_size:"\u05D2\u05D5\u05D3\u05DC", +text_weight:"\u05E2\u05D5\u05D1\u05D9", +text_style:"\u05E1\u05D2\u05E0\u05D5\u05DF", +text_variant:"Variant", +text_lineheight:"\u05D2\u05D5\u05D1\u05D4 \u05E9\u05D5\u05E8\u05D4", +text_case:"Case", +text_color:"\u05E6\u05D1\u05E2", +text_decoration:"\u05E2\u05D9\u05E6\u05D5\u05D1", +text_overline:"\u05E9\u05D5\u05E8\u05D4 \u05DE\u05E2\u05DC", +text_underline:"\u05E9\u05D5\u05E8\u05D4 \u05DE\u05EA\u05D7\u05EA", +text_striketrough:"\u05E7\u05D5 \u05D7\u05D5\u05E6\u05D4", +text_blink:"\u05D4\u05D1\u05D4\u05D5\u05D1", +text_none:"\u05DC\u05DC\u05D0", +background_color:"\u05E6\u05D1\u05E2 \u05E8\u05E7\u05E2", +background_image:"\u05EA\u05DE\u05D5\u05E0\u05EA \u05E8\u05E7\u05E2", +background_repeat:"\u05D7\u05D6\u05D5\u05E8", +background_attachment:"\u05E7\u05D1\u05E6\u05D9\u05DD \u05DE\u05E6\u05D5\u05E8\u05E4\u05D9\u05DD", +background_hpos:"\u05DE\u05D9\u05E7\u05D5\u05DD \u05D0\u05D5\u05E4\u05E7\u05D9", +background_vpos:"\u05DE\u05D9\u05E7\u05D5\u05DD \u05E8\u05D5\u05D7\u05D1\u05D9", +block_wordspacing:"\u05DE\u05E8\u05D7\u05E7 \u05D1\u05D9\u05DF \u05DE\u05D9\u05DC\u05D9\u05DD", +block_letterspacing:"\u05DE\u05E8\u05D7\u05E7 \u05D1\u05D9\u05DF \u05D0\u05D5\u05EA\u05D9\u05D5\u05EA", +block_vertical_alignment:"Vertical alignment", +block_text_align:"\u05DE\u05D9\u05E7\u05D5\u05DD \u05D8\u05E7\u05E1\u05D8", +block_text_indent:"\u05D4\u05D6\u05D7\u05D4", +block_whitespace:"\u05E8\u05D5\u05D5\u05D7", +block_display:"\u05D4\u05E6\u05D2", +box_width:"\u05E8\u05D5\u05D7\u05D1", +box_height:"\u05D2\u05D5\u05D1\u05D4", +box_float:"\u05D4\u05E6\u05E4\u05D4", +box_clear:"\u05E0\u05E7\u05D4", +padding:"\u05E8\u05D9\u05E4\u05D5\u05D3", +same:"\u05D0\u05D5\u05EA\u05D5 \u05D3\u05D1\u05E8 \u05E2\u05D1\u05D5\u05E8 \u05DB\u05D5\u05DC\u05DD", +top:"\u05E2\u05DC\u05D9\u05D5\u05DF", +right:"\u05D9\u05DE\u05D9\u05DF", +bottom:"\u05EA\u05D7\u05EA\u05D9\u05EA", +left:"\u05E9\u05DE\u05D0\u05DC", +margin:"\u05E9\u05D5\u05DC\u05D9\u05D9\u05DD", +style:"\u05E1\u05D2\u05E0\u05D5\u05DF", +width:"\u05E8\u05D5\u05D7\u05D1", +height:"\u05D2\u05D5\u05D1\u05D4", +color:"\u05E6\u05D1\u05E2", +list_type:"\u05E1\u05D5\u05D2", +bullet_image:"Bullet image", +position:"\u05DE\u05D9\u05E7\u05D5\u05DD", +positioning_type:"\u05E1\u05D5\u05D2", +visibility:"\u05E8\u05D0\u05D5\u05EA", +zindex:"Z-index", +overflow:"\u05D2\u05DC\u05D9\u05E9\u05D4", +placement:"\u05DE\u05D9\u05E7\u05D5\u05DD", +clip:"\u05E7\u05DC\u05D9\u05E4" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/it_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/it_dlg.js old mode 100644 new mode 100755 index ab30a19972..a3ec750ce9 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/it_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/it_dlg.js @@ -1,63 +1,63 @@ -tinyMCE.addI18n('it.style_dlg',{ -title:"Modifica stile CSS", -apply:"Applica", -text_tab:"Testo", -background_tab:"Sfondo", -block_tab:"Blocco", -box_tab:"Contenitore", -border_tab:"Bordi", -list_tab:"Liste", -positioning_tab:"Posizionamento", -text_props:"Testo", -text_font:"Carattere", -text_size:"Dimensione", -text_weight:"Spessore", -text_style:"Stile", -text_variant:"Variante", -text_lineheight:"Altezza linea", -text_case:"Tipo", -text_color:"Colore", -text_decoration:"Decorazione", -text_overline:"sopralineato", -text_underline:"sottolineato", -text_striketrough:"barrato", -text_blink:"lampeggiante", -text_none:"nessuna", -background_color:"Colore sfondo", -background_image:"Immagine sfondo", -background_repeat:"Repetizione", -background_attachment:"Allegato", -background_hpos:"Posizione orizzontale", -background_vpos:"Posizione verticale", -block_wordspacing:"Spaziatura parole", -block_letterspacing:"Spaziatura caratteri", -block_vertical_alignment:"Allineamento verticale", -block_text_align:"Allineamento testo", -block_text_indent:"Indentazione testo", -block_whitespace:"Whitespace", -block_display:"Visualizzazione", -box_width:"Larghezza", -box_height:"Altezza", -box_float:"Fluttuante", -box_clear:"Pulito", -padding:"Spazio dal bordo", -same:"Uguale per tutti", -top:"Superiore", -right:"Destro", -bottom:"Inferiore", -left:"Sinistro", -margin:"Margine", -style:"Stile", -width:"Larghezza", -height:"Altezza", -color:"Colore", -list_type:"Tipo", -bullet_image:"Immagine Punto", -position:"Posizione", -positioning_type:"Tipo", -visibility:"Visibilit\u00E0", -zindex:"Z-index", -overflow:"Overflow", -placement:"Piazzamento", -clip:"Clip" +tinyMCE.addI18n('it.style_dlg',{ +title:"Modifica stile CSS", +apply:"Applica", +text_tab:"Testo", +background_tab:"Sfondo", +block_tab:"Blocco", +box_tab:"Contenitore", +border_tab:"Bordi", +list_tab:"Liste", +positioning_tab:"Posizionamento", +text_props:"Testo", +text_font:"Carattere", +text_size:"Dimensione", +text_weight:"Spessore", +text_style:"Stile", +text_variant:"Variante", +text_lineheight:"Altezza linea", +text_case:"Tipo", +text_color:"Colore", +text_decoration:"Decorazione", +text_overline:"sopralineato", +text_underline:"sottolineato", +text_striketrough:"barrato", +text_blink:"lampeggiante", +text_none:"nessuna", +background_color:"Colore sfondo", +background_image:"Immagine sfondo", +background_repeat:"Repetizione", +background_attachment:"Allegato", +background_hpos:"Posizione orizzontale", +background_vpos:"Posizione verticale", +block_wordspacing:"Spaziatura parole", +block_letterspacing:"Spaziatura caratteri", +block_vertical_alignment:"Allineamento verticale", +block_text_align:"Allineamento testo", +block_text_indent:"Indentazione testo", +block_whitespace:"Whitespace", +block_display:"Visualizzazione", +box_width:"Larghezza", +box_height:"Altezza", +box_float:"Fluttuante", +box_clear:"Pulito", +padding:"Spazio dal bordo", +same:"Uguale per tutti", +top:"Superiore", +right:"Destro", +bottom:"Inferiore", +left:"Sinistro", +margin:"Margine", +style:"Stile", +width:"Larghezza", +height:"Altezza", +color:"Colore", +list_type:"Tipo", +bullet_image:"Immagine Punto", +position:"Posizione", +positioning_type:"Tipo", +visibility:"Visibilit\u00E0", +zindex:"Z-index", +overflow:"Overflow", +placement:"Piazzamento", +clip:"Clip" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/ja_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/ja_dlg.js old mode 100644 new mode 100755 index c63624d7f3..c4d2af4973 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/ja_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/ja_dlg.js @@ -1,63 +1,63 @@ -tinyMCE.addI18n('ja.style_dlg',{ -title:"CSS\u7DE8\u96C6", -apply:"\u9069\u7528", -text_tab:"\u6587\u5B57", -background_tab:"\u80CC\u666F", -block_tab:"\u30D6\u30ED\u30C3\u30AF", -box_tab:"\u30DC\u30C3\u30AF\u30B9", -border_tab:"\u67A0\u7DDA", -list_tab:"\u30EA\u30B9\u30C8", -positioning_tab:"\u30DD\u30B8\u30B7\u30E7\u30F3", -text_props:"Text", -text_font:"\u30D5\u30A9\u30F3\u30C8", -text_size:"\u30B5\u30A4\u30BA", -text_weight:"\u592A\u3055", -text_style:"style\u5C5E\u6027", -text_variant:"\u5909\u5F62", -text_lineheight:"\u884C\u9AD8\u3055", -text_case:"\u5927\u6587\u5B57/\u5C0F\u6587\u5B57", -text_color:"\u8272", -text_decoration:"\u88C5\u98FE", -text_overline:"\u4E0A\u7DDA", -text_underline:"\u4E0B\u7DDA", -text_striketrough:"\u6253\u6D88\u3057\u7DDA", -text_blink:"\u70B9\u6EC5", -text_none:"\u306A\u3057", -background_color:"\u80CC\u666F\u8272", -background_image:"\u80CC\u666F\u753B\u50CF", -background_repeat:"\u7E70\u308A\u8FD4\u3057", -background_attachment:"Attachment", -background_hpos:"\u6C34\u5E73\u4F4D\u7F6E", -background_vpos:"\u5782\u76F4\u4F4D\u7F6E", -block_wordspacing:"\u5358\u8A9E\u611F\u899A", -block_letterspacing:"\u6587\u5B57\u9593\u9694", -block_vertical_alignment:"\u5782\u76F4\u914D\u7F6E", -block_text_align:"\u6C34\u5E73\u914D\u7F6E", -block_text_indent:"\u30A4\u30F3\u30C7\u30F3\u30C8", -block_whitespace:"\u7A7A\u767D\u6587\u5B57", -block_display:"\u30C7\u30A3\u30B9\u30D7\u30EC\u30A4", -box_width:"\u5E45", -box_height:"\u9AD8\u3055", -box_float:"\u56DE\u308A\u8FBC\u307F", -box_clear:"\u56DE\u308A\u8FBC\u307F\u89E3\u9664", -padding:"\u30D1\u30C7\u30A3\u30F3\u30B0", -same:"\u5168\u3066\u540C\u3058\u306B\u3059\u308B", -top:"\u4E0A", -right:"\u53F3", -bottom:"\u4E0B", -left:"\u5DE6", -margin:"\u30DE\u30FC\u30B8\u30F3", -style:"style\u5C5E\u6027", -width:"\u5E45", -height:"\u9AD8\u3055", -color:"\u8272", -list_type:"\u30DE\u30FC\u30AB\u30FC\u7A2E\u985E", -bullet_image:"\u30DE\u30FC\u30AB\u30FC\u753B\u50CF", -position:"\u30DE\u30FC\u30AB\u30FC\u8868\u793A\u4F4D\u7F6E", -positioning_type:"\u914D\u7F6E\u65B9\u6CD5", -visibility:"\u8868\u793A", -zindex:"Z-Index", -overflow:"\u30AA\u30FC\u30D0\u30FC\u30D5\u30ED\u30FC", -placement:"\u4F4D\u7F6E", -clip:"\u5207\u308A\u629C\u304D" +tinyMCE.addI18n('ja.style_dlg',{ +title:"CSS\u7DE8\u96C6", +apply:"\u9069\u7528", +text_tab:"\u6587\u5B57", +background_tab:"\u80CC\u666F", +block_tab:"\u30D6\u30ED\u30C3\u30AF", +box_tab:"\u30DC\u30C3\u30AF\u30B9", +border_tab:"\u67A0\u7DDA", +list_tab:"\u30EA\u30B9\u30C8", +positioning_tab:"\u30DD\u30B8\u30B7\u30E7\u30F3", +text_props:"Text", +text_font:"\u30D5\u30A9\u30F3\u30C8", +text_size:"\u30B5\u30A4\u30BA", +text_weight:"\u592A\u3055", +text_style:"style\u5C5E\u6027", +text_variant:"\u5909\u5F62", +text_lineheight:"\u884C\u9AD8\u3055", +text_case:"\u5927\u6587\u5B57/\u5C0F\u6587\u5B57", +text_color:"\u8272", +text_decoration:"\u88C5\u98FE", +text_overline:"\u4E0A\u7DDA", +text_underline:"\u4E0B\u7DDA", +text_striketrough:"\u6253\u6D88\u3057\u7DDA", +text_blink:"\u70B9\u6EC5", +text_none:"\u306A\u3057", +background_color:"\u80CC\u666F\u8272", +background_image:"\u80CC\u666F\u753B\u50CF", +background_repeat:"\u7E70\u308A\u8FD4\u3057", +background_attachment:"Attachment", +background_hpos:"\u6C34\u5E73\u4F4D\u7F6E", +background_vpos:"\u5782\u76F4\u4F4D\u7F6E", +block_wordspacing:"\u5358\u8A9E\u611F\u899A", +block_letterspacing:"\u6587\u5B57\u9593\u9694", +block_vertical_alignment:"\u5782\u76F4\u914D\u7F6E", +block_text_align:"\u6C34\u5E73\u914D\u7F6E", +block_text_indent:"\u30A4\u30F3\u30C7\u30F3\u30C8", +block_whitespace:"\u7A7A\u767D\u6587\u5B57", +block_display:"\u30C7\u30A3\u30B9\u30D7\u30EC\u30A4", +box_width:"\u5E45", +box_height:"\u9AD8\u3055", +box_float:"\u56DE\u308A\u8FBC\u307F", +box_clear:"\u56DE\u308A\u8FBC\u307F\u89E3\u9664", +padding:"\u30D1\u30C7\u30A3\u30F3\u30B0", +same:"\u5168\u3066\u540C\u3058\u306B\u3059\u308B", +top:"\u4E0A", +right:"\u53F3", +bottom:"\u4E0B", +left:"\u5DE6", +margin:"\u30DE\u30FC\u30B8\u30F3", +style:"style\u5C5E\u6027", +width:"\u5E45", +height:"\u9AD8\u3055", +color:"\u8272", +list_type:"\u30DE\u30FC\u30AB\u30FC\u7A2E\u985E", +bullet_image:"\u30DE\u30FC\u30AB\u30FC\u753B\u50CF", +position:"\u30DE\u30FC\u30AB\u30FC\u8868\u793A\u4F4D\u7F6E", +positioning_type:"\u914D\u7F6E\u65B9\u6CD5", +visibility:"\u8868\u793A", +zindex:"Z-Index", +overflow:"\u30AA\u30FC\u30D0\u30FC\u30D5\u30ED\u30FC", +placement:"\u4F4D\u7F6E", +clip:"\u5207\u308A\u629C\u304D" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/nl_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/nl_dlg.js old mode 100644 new mode 100755 index 854a0be082..ffedcc4e8e --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/nl_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/nl_dlg.js @@ -1,63 +1,63 @@ -tinyMCE.addI18n('nl.style_dlg',{ -title:"CSS Stijl bewerken", -apply:"Toepassen", -text_tab:"Tekst", -background_tab:"Achtergrond", -block_tab:"Blok", -box_tab:"Box", -border_tab:"Rand", -list_tab:"Lijst", -positioning_tab:"Positionering", -text_props:"Tekst", -text_font:"Lettertype", -text_size:"Tekengrootte", -text_weight:"Gewicht", -text_style:"Stijl", -text_variant:"Variant", -text_lineheight:"Lijnhoogte", -text_case:"Hoofdlettergebruik", -text_color:"Kleur", -text_decoration:"Decoratie", -text_overline:"Overhalen", -text_underline:"Onderstrepen", -text_striketrough:"Doorhalen", -text_blink:"Knipperen", -text_none:"Niets", -background_color:"Achtergrondkleur", -background_image:"Achtergrondafbeelding", -background_repeat:"Herhalen", -background_attachment:"Bijlage", -background_hpos:"Horizontale positie", -background_vpos:"Verticale positie", -block_wordspacing:"Woordruimte", -block_letterspacing:"Letterruimte", -block_vertical_alignment:"Verticale uitlijning", -block_text_align:"Tekstuitlijning", -block_text_indent:"Inspringen", -block_whitespace:"Witruimte", -block_display:"Weergave", -box_width:"Breedte", -box_height:"Hoogte", -box_float:"Zweven", -box_clear:"Vrijhouden", -padding:"Opening", -same:"Alles hetzelfde", -top:"Boven", -right:"Rechts", -bottom:"Onder", -left:"Links", -margin:"Marge", -style:"Stijl", -width:"Breedte", -height:"Hoogte", -color:"Kleur", -list_type:"Type", -bullet_image:"Opsommingsteken", -position:"Positie", -positioning_type:"Type", -visibility:"Zichtbaarheid", -zindex:"Z-index", -overflow:"Overvloeien", -placement:"Plaatsing", -clip:"Clip" +tinyMCE.addI18n('nl.style_dlg',{ +title:"CSS Stijl bewerken", +apply:"Toepassen", +text_tab:"Tekst", +background_tab:"Achtergrond", +block_tab:"Blok", +box_tab:"Box", +border_tab:"Rand", +list_tab:"Lijst", +positioning_tab:"Positionering", +text_props:"Tekst", +text_font:"Lettertype", +text_size:"Tekengrootte", +text_weight:"Gewicht", +text_style:"Stijl", +text_variant:"Variant", +text_lineheight:"Lijnhoogte", +text_case:"Hoofdlettergebruik", +text_color:"Kleur", +text_decoration:"Decoratie", +text_overline:"Overhalen", +text_underline:"Onderstrepen", +text_striketrough:"Doorhalen", +text_blink:"Knipperen", +text_none:"Niets", +background_color:"Achtergrondkleur", +background_image:"Achtergrondafbeelding", +background_repeat:"Herhalen", +background_attachment:"Bijlage", +background_hpos:"Horizontale positie", +background_vpos:"Verticale positie", +block_wordspacing:"Woordruimte", +block_letterspacing:"Letterruimte", +block_vertical_alignment:"Verticale uitlijning", +block_text_align:"Tekstuitlijning", +block_text_indent:"Inspringen", +block_whitespace:"Witruimte", +block_display:"Weergave", +box_width:"Breedte", +box_height:"Hoogte", +box_float:"Zweven", +box_clear:"Vrijhouden", +padding:"Opening", +same:"Alles hetzelfde", +top:"Boven", +right:"Rechts", +bottom:"Onder", +left:"Links", +margin:"Marge", +style:"Stijl", +width:"Breedte", +height:"Hoogte", +color:"Kleur", +list_type:"Type", +bullet_image:"Opsommingsteken", +position:"Positie", +positioning_type:"Type", +visibility:"Zichtbaarheid", +zindex:"Z-index", +overflow:"Overvloeien", +placement:"Plaatsing", +clip:"Clip" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/nn_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/nn_dlg.js old mode 100644 new mode 100755 index 4e09d3ff20..0d3241042b --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/nn_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/nn_dlg.js @@ -1,63 +1,63 @@ -tinyMCE.addI18n('nn.style_dlg',{ -title:"Rediger CSS-stil", -apply:"Legg til", -text_tab:"Tekst", -background_tab:"Bakgrunn", -block_tab:"Blokk", -box_tab:"Boks", -border_tab:"Ramme", -list_tab:"Liste", -positioning_tab:"Posisjon", -text_props:"Eigenskapar for skrift", -text_font:"Skrifttype", -text_size:"Skriftstorleik", -text_weight:"Skriftvekt", -text_style:"Skriftstil", -text_variant:"Variant", -text_lineheight:"Linjeh\u00F8gd", -text_case:"Kapitelar/minusklar", -text_color:"Farge", -text_decoration:"Dekorasjon", -text_overline:"Heva skrift", -text_underline:"Senka skrift", -text_striketrough:"Gjennomstreking", -text_blink:"Blink", -text_none:"Ingen", -background_color:"Bakgrunnsfarge", -background_image:"Bakgrunnsbilete", -background_repeat:"Gjenta", -background_attachment:"Vedlegg", -background_hpos:"Horisontal posisjon", -background_vpos:"Vertikal posisjon", -block_wordspacing:"Ordmellomrom", -block_letterspacing:"Bokstavmellomrom", -block_vertical_alignment:"Vertikal justering", -block_text_align:"Justering", -block_text_indent:"Innrykk", -block_whitespace:"Mellomrom", -block_display:"Framsyning", -box_width:"Breidd", -box_height:"H\u00F8gd", -box_float:"Flyt", -box_clear:"Slett", -padding:"Utfylling", -same:"Likt i alle", -top:"Topp", -right:"H\u00F8gre", -bottom:"Bunn", -left:"Venstre", -margin:"Marg", -style:"Stil", -width:"Breidd", -height:"H\u00F8gd", -color:"Farge", -list_type:"Type", -bullet_image:"Kulepunktbilete", -position:"Posisjon", -positioning_type:"Type", -visibility:"Synlegheit", -zindex:"Z-indeks", -overflow:"Overfylt", -placement:"Plassering", -clip:"Klipp" +tinyMCE.addI18n('nn.style_dlg',{ +title:"Rediger CSS-stil", +apply:"Legg til", +text_tab:"Tekst", +background_tab:"Bakgrunn", +block_tab:"Blokk", +box_tab:"Boks", +border_tab:"Ramme", +list_tab:"Liste", +positioning_tab:"Posisjon", +text_props:"Eigenskapar for skrift", +text_font:"Skrifttype", +text_size:"Skriftstorleik", +text_weight:"Skriftvekt", +text_style:"Skriftstil", +text_variant:"Variant", +text_lineheight:"Linjeh\u00F8gd", +text_case:"Kapitelar/minusklar", +text_color:"Farge", +text_decoration:"Dekorasjon", +text_overline:"Heva skrift", +text_underline:"Senka skrift", +text_striketrough:"Gjennomstreking", +text_blink:"Blink", +text_none:"Ingen", +background_color:"Bakgrunnsfarge", +background_image:"Bakgrunnsbilete", +background_repeat:"Gjenta", +background_attachment:"Vedlegg", +background_hpos:"Horisontal posisjon", +background_vpos:"Vertikal posisjon", +block_wordspacing:"Ordmellomrom", +block_letterspacing:"Bokstavmellomrom", +block_vertical_alignment:"Vertikal justering", +block_text_align:"Justering", +block_text_indent:"Innrykk", +block_whitespace:"Mellomrom", +block_display:"Framsyning", +box_width:"Breidd", +box_height:"H\u00F8gd", +box_float:"Flyt", +box_clear:"Slett", +padding:"Utfylling", +same:"Likt i alle", +top:"Topp", +right:"H\u00F8gre", +bottom:"Bunn", +left:"Venstre", +margin:"Marg", +style:"Stil", +width:"Breidd", +height:"H\u00F8gd", +color:"Farge", +list_type:"Type", +bullet_image:"Kulepunktbilete", +position:"Posisjon", +positioning_type:"Type", +visibility:"Synlegheit", +zindex:"Z-indeks", +overflow:"Overfylt", +placement:"Plassering", +clip:"Klipp" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/pl_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/pl_dlg.js old mode 100644 new mode 100755 index 014e2bb8cf..72a4bd5603 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/pl_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/pl_dlg.js @@ -1,63 +1,63 @@ -tinyMCE.addI18n('pl.style_dlg',{ -title:"Edytuj CSS Style", -apply:"Zastosuj", -text_tab:"Text", -background_tab:"T\u0142o", -block_tab:"Zablokuj", -box_tab:"Box", -border_tab:"Obramowanie", -list_tab:"Lista", -positioning_tab:"Pozycjonowanie", -text_props:"Tekst", -text_font:"Wz\u00F3r czcionki", -text_size:"Rozmiar", -text_weight:"Waga", -text_style:"Styl", -text_variant:"Wariant", -text_lineheight:"Linia wysoko\u015Bci", -text_case:"Case", -text_color:"Kolor", -text_decoration:"Dekoracja", -text_overline:"Nadkre\u015Blenie", -text_underline:"Podkre\u015Blenie", -text_striketrough:"Przekre\u015Blenie", -text_blink:"Miganie", -text_none:"\u017Baden", -background_color:"Kolor t\u0142a", -background_image:"Obrazek t\u0142a", -background_repeat:"Powt\u00F3rz", -background_attachment:"Za\u0142\u0105cznik", -background_hpos:"Pozycja pozioma", -background_vpos:"Pozycja pionowa", -block_wordspacing:"Odst\u0119p mi\u0119dzy wyrazami", -block_letterspacing:"Odst\u0119p mi\u0119dzy literami", -block_vertical_alignment:"Pionowe wyr\u00F3wnanie", -block_text_align:"Wyr\u00F3wna\u0107 tekst", -block_text_indent:"Akapit w tek\u015Bcie", -block_whitespace:"Bia\u0142a przestrze\u0144", -block_display:"Widoczno\u015B\u0107", -box_width:"Szeroko\u015B\u0107", -box_height:"Wysoko\u015B\u0107", -box_float:"P\u0142ywanie", -box_clear:"Wyczy\u015B\u0107", -padding:"Odst\u0119py", -same:"To samo dla wszystkich", -top:"G\u00F3ra", -right:"Prawy", -bottom:"D\u00F3\u0142", -left:"Lewy", -margin:"Margines", -style:"Styl", -width:"Szeroko\u015B\u0107", -height:"Wysoko\u015B\u0107", -color:"Kolor", -list_type:"Typ", -bullet_image:"Obrazek listy", -position:"Pozycja", -positioning_type:"Typ", -visibility:"Widoczno\u015B\u0107", -zindex:"Z-index", -overflow:"Przepe\u0142niony", -placement:"Umieszczenie", -clip:"Clip" +tinyMCE.addI18n('pl.style_dlg',{ +title:"Edytuj CSS Style", +apply:"Zastosuj", +text_tab:"Text", +background_tab:"T\u0142o", +block_tab:"Zablokuj", +box_tab:"Box", +border_tab:"Obramowanie", +list_tab:"Lista", +positioning_tab:"Pozycjonowanie", +text_props:"Tekst", +text_font:"Wz\u00F3r czcionki", +text_size:"Rozmiar", +text_weight:"Waga", +text_style:"Styl", +text_variant:"Wariant", +text_lineheight:"Linia wysoko\u015Bci", +text_case:"Case", +text_color:"Kolor", +text_decoration:"Dekoracja", +text_overline:"Nadkre\u015Blenie", +text_underline:"Podkre\u015Blenie", +text_striketrough:"Przekre\u015Blenie", +text_blink:"Miganie", +text_none:"\u017Baden", +background_color:"Kolor t\u0142a", +background_image:"Obrazek t\u0142a", +background_repeat:"Powt\u00F3rz", +background_attachment:"Za\u0142\u0105cznik", +background_hpos:"Pozycja pozioma", +background_vpos:"Pozycja pionowa", +block_wordspacing:"Odst\u0119p mi\u0119dzy wyrazami", +block_letterspacing:"Odst\u0119p mi\u0119dzy literami", +block_vertical_alignment:"Pionowe wyr\u00F3wnanie", +block_text_align:"Wyr\u00F3wna\u0107 tekst", +block_text_indent:"Akapit w tek\u015Bcie", +block_whitespace:"Bia\u0142a przestrze\u0144", +block_display:"Widoczno\u015B\u0107", +box_width:"Szeroko\u015B\u0107", +box_height:"Wysoko\u015B\u0107", +box_float:"P\u0142ywanie", +box_clear:"Wyczy\u015B\u0107", +padding:"Odst\u0119py", +same:"To samo dla wszystkich", +top:"G\u00F3ra", +right:"Prawy", +bottom:"D\u00F3\u0142", +left:"Lewy", +margin:"Margines", +style:"Styl", +width:"Szeroko\u015B\u0107", +height:"Wysoko\u015B\u0107", +color:"Kolor", +list_type:"Typ", +bullet_image:"Obrazek listy", +position:"Pozycja", +positioning_type:"Typ", +visibility:"Widoczno\u015B\u0107", +zindex:"Z-index", +overflow:"Przepe\u0142niony", +placement:"Umieszczenie", +clip:"Clip" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/pt_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/pt_dlg.js old mode 100644 new mode 100755 index fbc5dcc369..ba10be2f93 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/pt_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/pt_dlg.js @@ -1,63 +1,63 @@ -tinyMCE.addI18n('pt.style_dlg',{ -title:"Editar CSS", -apply:"Aplicar", -text_tab:"Texto", -background_tab:"Fundo", -block_tab:"Bloco", -box_tab:"Caixa", -border_tab:"Limites", -list_tab:"Lista", -positioning_tab:"Posicionamento", -text_props:"Texto", -text_font:"Fonte", -text_size:"Tamanho", -text_weight:"Peso", -text_style:"Estilo", -text_variant:"Variante", -text_lineheight:"Altura da linha", -text_case:"Mai\u00FAscula", -text_color:"Cor", -text_decoration:"Decora\u00E7\u00E3o", -text_overline:"Sobrelinha", -text_underline:"Sublinhado", -text_striketrough:"Riscado", -text_blink:"Piscar", -text_none:"nenhum", -background_color:"Cor de fundo", -background_image:"Imagem de fundo", -background_repeat:"Repetir", -background_attachment:"Fixar", -background_hpos:"Posi\u00E7\u00E3o horizontal", -background_vpos:"Posi\u00E7\u00E3o vertical", -block_wordspacing:"Espa\u00E7amento de palavras", -block_letterspacing:"Espa\u00E7amento de letras", -block_vertical_alignment:"Alinhamento vertical", -block_text_align:"Alinhamento de texto", -block_text_indent:"Indent", -block_whitespace:"Espa\u00E7o", -block_display:"Display", -box_width:"Largura", -box_height:"Altura", -box_float:"Float", -box_clear:"Clear", -padding:"Padding", -same:"O mesmo para todos", -top:"Topo", -right:"Direita", -bottom:"Abaixo", -left:"Esquerda", -margin:"Margem", -style:"Estilo", -width:"Largura", -height:"Altura", -color:"Cor", -list_type:"Tipo", -bullet_image:"Imagem de lista", -position:"Posi\u00E7\u00E3o", -positioning_type:"Tipo", -visibility:"Visibilidade", -zindex:"Z-index", -overflow:"Overflow", -placement:"Posicionamento", -clip:"Clip" +tinyMCE.addI18n('pt.style_dlg',{ +title:"Editar CSS", +apply:"Aplicar", +text_tab:"Texto", +background_tab:"Fundo", +block_tab:"Bloco", +box_tab:"Caixa", +border_tab:"Limites", +list_tab:"Lista", +positioning_tab:"Posicionamento", +text_props:"Texto", +text_font:"Fonte", +text_size:"Tamanho", +text_weight:"Peso", +text_style:"Estilo", +text_variant:"Variante", +text_lineheight:"Altura da linha", +text_case:"Mai\u00FAscula", +text_color:"Cor", +text_decoration:"Decora\u00E7\u00E3o", +text_overline:"Sobrelinha", +text_underline:"Sublinhado", +text_striketrough:"Riscado", +text_blink:"Piscar", +text_none:"nenhum", +background_color:"Cor de fundo", +background_image:"Imagem de fundo", +background_repeat:"Repetir", +background_attachment:"Fixar", +background_hpos:"Posi\u00E7\u00E3o horizontal", +background_vpos:"Posi\u00E7\u00E3o vertical", +block_wordspacing:"Espa\u00E7amento de palavras", +block_letterspacing:"Espa\u00E7amento de letras", +block_vertical_alignment:"Alinhamento vertical", +block_text_align:"Alinhamento de texto", +block_text_indent:"Indent", +block_whitespace:"Espa\u00E7o", +block_display:"Display", +box_width:"Largura", +box_height:"Altura", +box_float:"Float", +box_clear:"Clear", +padding:"Padding", +same:"O mesmo para todos", +top:"Topo", +right:"Direita", +bottom:"Abaixo", +left:"Esquerda", +margin:"Margem", +style:"Estilo", +width:"Largura", +height:"Altura", +color:"Cor", +list_type:"Tipo", +bullet_image:"Imagem de lista", +position:"Posi\u00E7\u00E3o", +positioning_type:"Tipo", +visibility:"Visibilidade", +zindex:"Z-index", +overflow:"Overflow", +placement:"Posicionamento", +clip:"Clip" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/ru_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/ru_dlg.js old mode 100644 new mode 100755 index ce0c15b6bc..b0ff1d735f --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/ru_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/ru_dlg.js @@ -1,63 +1,63 @@ -tinyMCE.addI18n('ru.style_dlg',{ -title:"\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 CSS \u0441\u0442\u0438\u043B\u044F", -apply:"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C", -text_tab:"\u0422\u0435\u043A\u0441\u0442", -background_tab:"\u0424\u043E\u043D", -block_tab:"\u0411\u043B\u043E\u043A", -box_tab:"\u041A\u0440\u0430\u044F", -border_tab:"\u0413\u0440\u0430\u043D\u0438\u0446\u0430", -list_tab:"\u0421\u043F\u0438\u0441\u043E\u043A", -positioning_tab:"\u041F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435", -text_props:"\u0422\u0435\u043A\u0441\u0442", -text_font:"\u0428\u0440\u0438\u0444\u0442", -text_size:"\u0420\u0430\u0437\u043C\u0435\u0440", -text_weight:"\u0422\u043E\u043B\u0449\u0438\u043D\u0430", -text_style:"\u0421\u0442\u0438\u043B\u044C", -text_variant:"\u0412\u0430\u0440\u0438\u0430\u043D\u0442", -text_lineheight:"\u0412\u044B\u0441\u043E\u0442\u0430 \u0441\u0442\u0440\u043E\u043A\u0438", -text_case:"\u0420\u0435\u0433\u0438\u0441\u0442\u0440", -text_color:"\u0426\u0432\u0435\u0442", -text_decoration:"\u041E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u0435", -text_overline:"\u0421 \u0432\u0435\u0440\u0445\u043D\u0435\u0439 \u0447\u0435\u0440\u0442\u043E\u0439", -text_underline:"\u041F\u043E\u0434\u0447\u0435\u0440\u043A\u043D\u0443\u0442\u044B\u0439", -text_striketrough:"\u0417\u0430\u0447\u0435\u0440\u043A\u043D\u0443\u0442\u044B\u0439", -text_blink:"\u041C\u0435\u0440\u0446\u0430\u044E\u0449\u0438\u0439", -text_none:"\u0411\u0435\u0437 \u0432\u0441\u0435\u0433\u043E", -background_color:"\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430", -background_image:"\u0424\u043E\u043D\u043E\u0432\u043E\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435", -background_repeat:"\u041F\u043E\u0432\u0442\u043E\u0440", -background_attachment:"\u041F\u0440\u0438\u0432\u044F\u0437\u043A\u0430", -background_hpos:"\u0413\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u0430\u044F \u043F\u043E\u0437\u0438\u0446\u0438\u044F", -background_vpos:"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u0430\u044F \u043F\u043E\u0437\u0438\u0446\u0438\u044F", -block_wordspacing:"\u041E\u0442\u0441\u0442\u0443\u043F\u044B \u043C\u0435\u0436\u0434\u0443 \u0441\u043B\u043E\u0432\u0430\u043C\u0438", -block_letterspacing:"\u041E\u0442\u0441\u0442\u0443\u043F\u044B \u043C\u0435\u0436\u0434\u0443 \u0431\u0443\u043A\u0432\u0430\u043C\u0438", -block_vertical_alignment:"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u043E\u0435 \u0432\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435", -block_text_align:"\u0412\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0430", -block_text_indent:"\u041E\u0442\u0441\u0442\u0443\u043F \u0442\u0435\u043A\u0441\u0442\u0430", -block_whitespace:"\u041F\u0440\u043E\u0431\u0435\u043B", -block_display:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435", -box_width:"\u0428\u0438\u0440\u0438\u043D\u0430", -box_height:"\u0412\u044B\u0441\u043E\u0442\u0430", -box_float:"\u041F\u043B\u0430\u0432\u0430\u044E\u0449\u0438\u0439", -box_clear:"\u042F\u0432\u043D\u044B\u0439", -padding:"\u041F\u043E\u043B\u044F", -same:"\u041E\u0434\u0438\u043D\u0430\u043A\u043E\u0432\u043E \u0434\u043B\u044F \u0432\u0441\u0435\u0445", -top:"\u0412\u0432\u0435\u0440\u0445", -right:"\u0421\u043F\u0440\u0430\u0432\u0430", -bottom:"\u0421\u043D\u0438\u0437\u0443", -left:"\u0421\u043B\u0435\u0432\u0430", -margin:"\u041E\u0442\u0441\u0442\u0443\u043F\u044B", -style:"\u0421\u0442\u0438\u043B\u044C", -width:"\u0428\u0438\u0440\u0438\u043D\u0430", -height:"\u0412\u044B\u0441\u043E\u0442\u0430", -color:"\u0426\u0432\u0435\u0442", -list_type:"\u0422\u0438\u043F", -bullet_image:"\u041C\u0430\u0440\u043A\u0435\u0440", -position:"\u041F\u043E\u0437\u0438\u0446\u0438\u044F", -positioning_type:"\u0422\u0438\u043F", -visibility:"\u0412\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u044C", -zindex:"Z-\u0438\u043D\u0434\u0435\u043A\u0441", -overflow:"\u041F\u0435\u0440\u0435\u043F\u043E\u043B\u043D\u0435\u043D\u0435", -placement:"\u0420\u0430\u0437\u043C\u0435\u0449\u0435\u043D\u0438\u0435", -clip:"\u041E\u0442\u0441\u0435\u0447\u0435\u043D\u0438\u0435" +tinyMCE.addI18n('ru.style_dlg',{ +title:"\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 CSS \u0441\u0442\u0438\u043B\u044F", +apply:"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C", +text_tab:"\u0422\u0435\u043A\u0441\u0442", +background_tab:"\u0424\u043E\u043D", +block_tab:"\u0411\u043B\u043E\u043A", +box_tab:"\u041A\u0440\u0430\u044F", +border_tab:"\u0413\u0440\u0430\u043D\u0438\u0446\u0430", +list_tab:"\u0421\u043F\u0438\u0441\u043E\u043A", +positioning_tab:"\u041F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435", +text_props:"\u0422\u0435\u043A\u0441\u0442", +text_font:"\u0428\u0440\u0438\u0444\u0442", +text_size:"\u0420\u0430\u0437\u043C\u0435\u0440", +text_weight:"\u0422\u043E\u043B\u0449\u0438\u043D\u0430", +text_style:"\u0421\u0442\u0438\u043B\u044C", +text_variant:"\u0412\u0430\u0440\u0438\u0430\u043D\u0442", +text_lineheight:"\u0412\u044B\u0441\u043E\u0442\u0430 \u0441\u0442\u0440\u043E\u043A\u0438", +text_case:"\u0420\u0435\u0433\u0438\u0441\u0442\u0440", +text_color:"\u0426\u0432\u0435\u0442", +text_decoration:"\u041E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u0435", +text_overline:"\u0421 \u0432\u0435\u0440\u0445\u043D\u0435\u0439 \u0447\u0435\u0440\u0442\u043E\u0439", +text_underline:"\u041F\u043E\u0434\u0447\u0435\u0440\u043A\u043D\u0443\u0442\u044B\u0439", +text_striketrough:"\u0417\u0430\u0447\u0435\u0440\u043A\u043D\u0443\u0442\u044B\u0439", +text_blink:"\u041C\u0435\u0440\u0446\u0430\u044E\u0449\u0438\u0439", +text_none:"\u0411\u0435\u0437 \u0432\u0441\u0435\u0433\u043E", +background_color:"\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430", +background_image:"\u0424\u043E\u043D\u043E\u0432\u043E\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435", +background_repeat:"\u041F\u043E\u0432\u0442\u043E\u0440", +background_attachment:"\u041F\u0440\u0438\u0432\u044F\u0437\u043A\u0430", +background_hpos:"\u0413\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u0430\u044F \u043F\u043E\u0437\u0438\u0446\u0438\u044F", +background_vpos:"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u0430\u044F \u043F\u043E\u0437\u0438\u0446\u0438\u044F", +block_wordspacing:"\u041E\u0442\u0441\u0442\u0443\u043F\u044B \u043C\u0435\u0436\u0434\u0443 \u0441\u043B\u043E\u0432\u0430\u043C\u0438", +block_letterspacing:"\u041E\u0442\u0441\u0442\u0443\u043F\u044B \u043C\u0435\u0436\u0434\u0443 \u0431\u0443\u043A\u0432\u0430\u043C\u0438", +block_vertical_alignment:"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u043E\u0435 \u0432\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435", +block_text_align:"\u0412\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0430", +block_text_indent:"\u041E\u0442\u0441\u0442\u0443\u043F \u0442\u0435\u043A\u0441\u0442\u0430", +block_whitespace:"\u041F\u0440\u043E\u0431\u0435\u043B", +block_display:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435", +box_width:"\u0428\u0438\u0440\u0438\u043D\u0430", +box_height:"\u0412\u044B\u0441\u043E\u0442\u0430", +box_float:"\u041F\u043B\u0430\u0432\u0430\u044E\u0449\u0438\u0439", +box_clear:"\u042F\u0432\u043D\u044B\u0439", +padding:"\u041F\u043E\u043B\u044F", +same:"\u041E\u0434\u0438\u043D\u0430\u043A\u043E\u0432\u043E \u0434\u043B\u044F \u0432\u0441\u0435\u0445", +top:"\u0412\u0432\u0435\u0440\u0445", +right:"\u0421\u043F\u0440\u0430\u0432\u0430", +bottom:"\u0421\u043D\u0438\u0437\u0443", +left:"\u0421\u043B\u0435\u0432\u0430", +margin:"\u041E\u0442\u0441\u0442\u0443\u043F\u044B", +style:"\u0421\u0442\u0438\u043B\u044C", +width:"\u0428\u0438\u0440\u0438\u043D\u0430", +height:"\u0412\u044B\u0441\u043E\u0442\u0430", +color:"\u0426\u0432\u0435\u0442", +list_type:"\u0422\u0438\u043F", +bullet_image:"\u041C\u0430\u0440\u043A\u0435\u0440", +position:"\u041F\u043E\u0437\u0438\u0446\u0438\u044F", +positioning_type:"\u0422\u0438\u043F", +visibility:"\u0412\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u044C", +zindex:"Z-\u0438\u043D\u0434\u0435\u043A\u0441", +overflow:"\u041F\u0435\u0440\u0435\u043F\u043E\u043B\u043D\u0435\u043D\u0435", +placement:"\u0420\u0430\u0437\u043C\u0435\u0449\u0435\u043D\u0438\u0435", +clip:"\u041E\u0442\u0441\u0435\u0447\u0435\u043D\u0438\u0435" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/sv_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/sv_dlg.js old mode 100644 new mode 100755 index 3e7f4ed867..145f033e41 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/sv_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/sv_dlg.js @@ -1,63 +1,63 @@ -tinyMCE.addI18n('sv.style_dlg',{ -title:"Redigera inline CSS", -apply:"Applicera", -text_tab:"Text", -background_tab:"Bakgrund", -block_tab:"Block", -box_tab:"Box", -border_tab:"Ramar", -list_tab:"Listor", -positioning_tab:"Positionering", -text_props:"Text", -text_font:"Typsnitt", -text_size:"Storlek", -text_weight:"Tjocklek", -text_style:"Stil", -text_variant:"Variant", -text_lineheight:"Radh\u00F6jd", -text_case:"Sm\u00E5/stora", -text_color:"F\u00E4rg", -text_decoration:"Dekoration", -text_overline:"\u00D6verstruken", -text_underline:"Understruken", -text_striketrough:"Genomstruken", -text_blink:"Blinka", -text_none:"Inget", -background_color:"Bakgrundsf\u00E4rg", -background_image:"Bakgrundsbild", -background_repeat:"Upprepning", -background_attachment:"F\u00E4stpunkt", -background_hpos:"Horisontell position", -background_vpos:"Vertikal position", -block_wordspacing:"Ordavbrytning", -block_letterspacing:"Teckenmellanrum", -block_vertical_alignment:"Vertikal justering", -block_text_align:"Textjustering", -block_text_indent:"Textindrag", -block_whitespace:"Whitespace", -block_display:"Display", -box_width:"Bredd", -box_height:"H\u00F6jd", -box_float:"Float", -box_clear:"Clear", -padding:"Padding", -same:"Samma f\u00F6r alla", -top:"Toppen", -right:"H\u00F6ger", -bottom:"Botten", -left:"V\u00E4nster", -margin:"Marginal", -style:"Stil", -width:"Bredd", -height:"H\u00F6jd", -color:"F\u00E4rg", -list_type:"Listtyp", -bullet_image:"Punktbild", -position:"Position", -positioning_type:"Positionstyp", -visibility:"Synlighet", -zindex:"Z-index", -overflow:"\u00D6\u0096verfl\u00F6de", -placement:"Placering", -clip:"Besk\u00E4rning" +tinyMCE.addI18n('sv.style_dlg',{ +title:"Redigera inline CSS", +apply:"Applicera", +text_tab:"Text", +background_tab:"Bakgrund", +block_tab:"Block", +box_tab:"Box", +border_tab:"Ramar", +list_tab:"Listor", +positioning_tab:"Positionering", +text_props:"Text", +text_font:"Typsnitt", +text_size:"Storlek", +text_weight:"Tjocklek", +text_style:"Stil", +text_variant:"Variant", +text_lineheight:"Radh\u00F6jd", +text_case:"Sm\u00E5/stora", +text_color:"F\u00E4rg", +text_decoration:"Dekoration", +text_overline:"\u00D6verstruken", +text_underline:"Understruken", +text_striketrough:"Genomstruken", +text_blink:"Blinka", +text_none:"Inget", +background_color:"Bakgrundsf\u00E4rg", +background_image:"Bakgrundsbild", +background_repeat:"Upprepning", +background_attachment:"F\u00E4stpunkt", +background_hpos:"Horisontell position", +background_vpos:"Vertikal position", +block_wordspacing:"Ordavbrytning", +block_letterspacing:"Teckenmellanrum", +block_vertical_alignment:"Vertikal justering", +block_text_align:"Textjustering", +block_text_indent:"Textindrag", +block_whitespace:"Whitespace", +block_display:"Display", +box_width:"Bredd", +box_height:"H\u00F6jd", +box_float:"Float", +box_clear:"Clear", +padding:"Padding", +same:"Samma f\u00F6r alla", +top:"Toppen", +right:"H\u00F6ger", +bottom:"Botten", +left:"V\u00E4nster", +margin:"Marginal", +style:"Stil", +width:"Bredd", +height:"H\u00F6jd", +color:"F\u00E4rg", +list_type:"Listtyp", +bullet_image:"Punktbild", +position:"Position", +positioning_type:"Positionstyp", +visibility:"Synlighet", +zindex:"Z-index", +overflow:"\u00D6\u0096verfl\u00F6de", +placement:"Placering", +clip:"Besk\u00E4rning" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/zh_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/zh_dlg.js old mode 100644 new mode 100755 index 522775e5fd..b58ef9faa0 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/zh_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/style/langs/zh_dlg.js @@ -1,63 +1,63 @@ -tinyMCE.addI18n('zh.style_dlg',{ -title:"\u7DE8\u8F2F CSS \u6A23\u5F0F\u8868", -apply:"\u5957\u7528", -text_tab:"\u6587\u5B57", -background_tab:"\u80CC\u666F", -block_tab:"\u5340\u584A", -box_tab:"\u65B9\u584A", -border_tab:"\u908A\u6846", -list_tab:"\u5217\u8868", -positioning_tab:"\u4F4D\u7F6E", -text_props:"\u6587\u5B57", -text_font:"\u5B57\u9AD4", -text_size:"\u6587\u5B57\u5927\u5C0F", -text_weight:"\u5B57\u91CD", -text_style:"\u6A23\u5F0F", -text_variant:"\u8B8A\u91CF", -text_lineheight:"\u884C\u9AD8", -text_case:"\u5B57\u578B", -text_color:"\u984F\u8272", -text_decoration:"\u88DD\u98FE", -text_overline:"\u4E0A\u5283\u7DDA", -text_underline:"\u5E95\u7DDA", -text_striketrough:"\u522A\u9664\u7DDA", -text_blink:"\u9583\u720D", -text_none:"\u7121", -background_color:"\u80CC\u666F\u984F\u8272", -background_image:"\u80CC\u666F\u5716\u7247", -background_repeat:"\u91CD\u8907", -background_attachment:"\u9644\u4EF6", -background_hpos:"\u6C34\u5E73\u4F4D\u7F6E", -background_vpos:"\u5782\u76F4\u4F4D\u7F6E", -block_wordspacing:"\u9593\u8DDD", -block_letterspacing:"\u5B57\u6BCD\u9593\u8DDD", -block_vertical_alignment:"\u5782\u76F4\u5C0D\u9F4A", -block_text_align:"\u6587\u5B57\u5C0D\u9F4A", -block_text_indent:"\u6587\u5B57\u7E2E\u6392", -block_whitespace:"\u7A7A\u683C", -block_display:"\u986F\u793A", -box_width:"\u5BEC", -box_height:"\u9AD8", -box_float:"\u6D6E\u52D5", -box_clear:"\u6E05\u9664\u6D6E\u52D5", -padding:"\u5167\u908A\u8DDD", -same:"\u5168\u90E8\u76F8\u540C", -top:"\u5B9A\u90E8", -right:"\u53F3\u5074", -bottom:"\u9760\u4E0B", -left:"\u5DE6\u5074", -margin:"\u5916\u908A\u8DDD", -style:"\u6A23\u5F0F", -width:"\u5BEC", -height:"\u9AD8", -color:"\u984F\u8272", -list_type:"\u985E\u8868\u985E\u578B", -bullet_image:"\u5716\u7247\u9805\u76EE\u7B26\u865F", -position:"\u4F4D\u7F6E", -positioning_type:"\u985E\u578B", -visibility:"\u53EF\u898B", -zindex:"Z-\u5750\u6A19", -overflow:"\u6EA2\u51FA", -placement:"\u653E\u7F6E", -clip:"\u526A\u8F2F" +tinyMCE.addI18n('zh.style_dlg',{ +title:"\u7DE8\u8F2F CSS \u6A23\u5F0F\u8868", +apply:"\u5957\u7528", +text_tab:"\u6587\u5B57", +background_tab:"\u80CC\u666F", +block_tab:"\u5340\u584A", +box_tab:"\u65B9\u584A", +border_tab:"\u908A\u6846", +list_tab:"\u5217\u8868", +positioning_tab:"\u4F4D\u7F6E", +text_props:"\u6587\u5B57", +text_font:"\u5B57\u9AD4", +text_size:"\u6587\u5B57\u5927\u5C0F", +text_weight:"\u5B57\u91CD", +text_style:"\u6A23\u5F0F", +text_variant:"\u8B8A\u91CF", +text_lineheight:"\u884C\u9AD8", +text_case:"\u5B57\u578B", +text_color:"\u984F\u8272", +text_decoration:"\u88DD\u98FE", +text_overline:"\u4E0A\u5283\u7DDA", +text_underline:"\u5E95\u7DDA", +text_striketrough:"\u522A\u9664\u7DDA", +text_blink:"\u9583\u720D", +text_none:"\u7121", +background_color:"\u80CC\u666F\u984F\u8272", +background_image:"\u80CC\u666F\u5716\u7247", +background_repeat:"\u91CD\u8907", +background_attachment:"\u9644\u4EF6", +background_hpos:"\u6C34\u5E73\u4F4D\u7F6E", +background_vpos:"\u5782\u76F4\u4F4D\u7F6E", +block_wordspacing:"\u9593\u8DDD", +block_letterspacing:"\u5B57\u6BCD\u9593\u8DDD", +block_vertical_alignment:"\u5782\u76F4\u5C0D\u9F4A", +block_text_align:"\u6587\u5B57\u5C0D\u9F4A", +block_text_indent:"\u6587\u5B57\u7E2E\u6392", +block_whitespace:"\u7A7A\u683C", +block_display:"\u986F\u793A", +box_width:"\u5BEC", +box_height:"\u9AD8", +box_float:"\u6D6E\u52D5", +box_clear:"\u6E05\u9664\u6D6E\u52D5", +padding:"\u5167\u908A\u8DDD", +same:"\u5168\u90E8\u76F8\u540C", +top:"\u5B9A\u90E8", +right:"\u53F3\u5074", +bottom:"\u9760\u4E0B", +left:"\u5DE6\u5074", +margin:"\u5916\u908A\u8DDD", +style:"\u6A23\u5F0F", +width:"\u5BEC", +height:"\u9AD8", +color:"\u984F\u8272", +list_type:"\u985E\u8868\u985E\u578B", +bullet_image:"\u5716\u7247\u9805\u76EE\u7B26\u865F", +position:"\u4F4D\u7F6E", +positioning_type:"\u985E\u578B", +visibility:"\u53EF\u898B", +zindex:"Z-\u5750\u6A19", +overflow:"\u6EA2\u51FA", +placement:"\u653E\u7F6E", +clip:"\u526A\u8F2F" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/cell.htm b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/cell.htm old mode 100644 new mode 100755 index d243e1d833..af7e003efd --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/cell.htm +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/cell.htm @@ -1,178 +1,178 @@ - - - - {#table_dlg.cell_title} - - - - - - - - -
    - - -
    -
    -
    - {#table_dlg.general_props} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -
    - - - -
    - -
    -
    -
    - -
    -
    - {#table_dlg.advanced_props} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - -
    - - - - - -
     
    -
    - - - - - -
     
    -
    - - - - - -
     
    -
    -
    -
    -
    - -
    -
    - -
    - - - -
    -
    - - + + + + {#table_dlg.cell_title} + + + + + + + + +
    + + +
    +
    +
    + {#table_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + +
    +
    +
    + +
    +
    + {#table_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + + +
     
    +
    + + + + + +
     
    +
    + + + + + +
     
    +
    +
    +
    +
    + +
    +
    + +
    + + + +
    +
    + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css old mode 100644 new mode 100755 index a067ecdfed..a47cc1a1ef --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css @@ -1,17 +1,17 @@ -/* CSS file for cell dialog in the table plugin */ - -.panel_wrapper div.current { - height: 200px; -} - -.advfield { - width: 200px; -} - -#action { - margin-bottom: 3px; -} - -#class { - width: 150px; +/* CSS file for cell dialog in the table plugin */ + +.panel_wrapper div.current { + height: 200px; +} + +.advfield { + width: 200px; +} + +#action { + margin-bottom: 3px; +} + +#class { + width: 150px; } \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/css/row.css b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/css/row.css old mode 100644 new mode 100755 index 1f7755dafa..0e397db3e2 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/css/row.css +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/css/row.css @@ -1,25 +1,25 @@ -/* CSS file for row dialog in the table plugin */ - -.panel_wrapper div.current { - height: 200px; -} - -.advfield { - width: 200px; -} - -#action { - margin-bottom: 3px; -} - -#rowtype,#align,#valign,#class,#height { - width: 150px; -} - -#height { - width: 50px; -} - -.col2 { - padding-left: 20px; -} +/* CSS file for row dialog in the table plugin */ + +.panel_wrapper div.current { + height: 200px; +} + +.advfield { + width: 200px; +} + +#action { + margin-bottom: 3px; +} + +#rowtype,#align,#valign,#class,#height { + width: 150px; +} + +#height { + width: 50px; +} + +.col2 { + padding-left: 20px; +} diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/css/table.css b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/css/table.css old mode 100644 new mode 100755 index d11c3f69cb..8f107831ef --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/css/table.css +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/css/table.css @@ -1,13 +1,13 @@ -/* CSS file for table dialog in the table plugin */ - -.panel_wrapper div.current { - height: 245px; -} - -.advfield { - width: 200px; -} - -#class { - width: 150px; -} +/* CSS file for table dialog in the table plugin */ + +.panel_wrapper div.current { + height: 245px; +} + +.advfield { + width: 200px; +} + +#class { + width: 150px; +} diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js old mode 100644 new mode 100755 index b5fc1fda3d..fae7e6fbdd --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js @@ -1,286 +1,286 @@ -tinyMCEPopup.requireLangPack(); - -var ed; - -function init() { - ed = tinyMCEPopup.editor; - tinyMCEPopup.resizeToInnerSize(); - - document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); - document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); - document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor') - - var inst = ed; - var tdElm = ed.dom.getParent(ed.selection.getStart(), "td,th"); - var formObj = document.forms[0]; - var st = ed.dom.parseStyle(ed.dom.getAttrib(tdElm, "style")); - - // Get table cell data - var celltype = tdElm.nodeName.toLowerCase(); - var align = ed.dom.getAttrib(tdElm, 'align'); - var valign = ed.dom.getAttrib(tdElm, 'valign'); - var width = trimSize(getStyle(tdElm, 'width', 'width')); - var height = trimSize(getStyle(tdElm, 'height', 'height')); - var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor')); - var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor')); - var className = ed.dom.getAttrib(tdElm, 'class'); - var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1"); - var id = ed.dom.getAttrib(tdElm, 'id'); - var lang = ed.dom.getAttrib(tdElm, 'lang'); - var dir = ed.dom.getAttrib(tdElm, 'dir'); - var scope = ed.dom.getAttrib(tdElm, 'scope'); - - // Setup form - addClassesToList('class', 'table_cell_styles'); - TinyMCE_EditableSelects.init(); - - if (!ed.dom.hasClass(tdElm, 'mceSelected')) { - formObj.bordercolor.value = bordercolor; - formObj.bgcolor.value = bgcolor; - formObj.backgroundimage.value = backgroundimage; - formObj.width.value = width; - formObj.height.value = height; - formObj.id.value = id; - formObj.lang.value = lang; - formObj.style.value = ed.dom.serializeStyle(st); - selectByValue(formObj, 'align', align); - selectByValue(formObj, 'valign', valign); - selectByValue(formObj, 'class', className, true, true); - selectByValue(formObj, 'celltype', celltype); - selectByValue(formObj, 'dir', dir); - selectByValue(formObj, 'scope', scope); - - // Resize some elements - if (isVisible('backgroundimagebrowser')) - document.getElementById('backgroundimage').style.width = '180px'; - - updateColor('bordercolor_pick', 'bordercolor'); - updateColor('bgcolor_pick', 'bgcolor'); - } else - tinyMCEPopup.dom.hide('action'); -} - -function updateAction() { - var el, inst = ed, tdElm, trElm, tableElm, formObj = document.forms[0]; - - tinyMCEPopup.restoreSelection(); - el = ed.selection.getStart(); - tdElm = ed.dom.getParent(el, "td,th"); - trElm = ed.dom.getParent(el, "tr"); - tableElm = ed.dom.getParent(el, "table"); - - // Cell is selected - if (ed.dom.hasClass(tdElm, 'mceSelected')) { - // Update all selected sells - tinymce.each(ed.dom.select('td.mceSelected,th.mceSelected'), function(td) { - updateCell(td); - }); - - ed.addVisual(); - ed.nodeChanged(); - inst.execCommand('mceEndUndoLevel'); - tinyMCEPopup.close(); - return; - } - - ed.execCommand('mceBeginUndoLevel'); - - switch (getSelectValue(formObj, 'action')) { - case "cell": - var celltype = getSelectValue(formObj, 'celltype'); - var scope = getSelectValue(formObj, 'scope'); - - function doUpdate(s) { - if (s) { - updateCell(tdElm); - - ed.addVisual(); - ed.nodeChanged(); - inst.execCommand('mceEndUndoLevel'); - tinyMCEPopup.close(); - } - }; - - if (ed.getParam("accessibility_warnings", 1)) { - if (celltype == "th" && scope == "") - tinyMCEPopup.confirm(ed.getLang('table_dlg.missing_scope', '', true), doUpdate); - else - doUpdate(1); - - return; - } - - updateCell(tdElm); - break; - - case "row": - var cell = trElm.firstChild; - - if (cell.nodeName != "TD" && cell.nodeName != "TH") - cell = nextCell(cell); - - do { - cell = updateCell(cell, true); - } while ((cell = nextCell(cell)) != null); - - break; - - case "all": - var rows = tableElm.getElementsByTagName("tr"); - - for (var i=0; i 0) { - tinymce.each(tableElm.rows, function(tr) { - var i; - - for (i = 0; i < tr.cells.length; i++) { - if (dom.hasClass(tr.cells[i], 'mceSelected')) { - updateRow(tr, true); - return; - } - } - }); - - inst.addVisual(); - inst.nodeChanged(); - inst.execCommand('mceEndUndoLevel'); - tinyMCEPopup.close(); - return; - } - - inst.execCommand('mceBeginUndoLevel'); - - switch (action) { - case "row": - updateRow(trElm); - break; - - case "all": - var rows = tableElm.getElementsByTagName("tr"); - - for (var i=0; i 0) { + tinymce.each(tableElm.rows, function(tr) { + var i; + + for (i = 0; i < tr.cells.length; i++) { + if (dom.hasClass(tr.cells[i], 'mceSelected')) { + updateRow(tr, true); + return; + } + } + }); + + inst.addVisual(); + inst.nodeChanged(); + inst.execCommand('mceEndUndoLevel'); + tinyMCEPopup.close(); + return; + } + + inst.execCommand('mceBeginUndoLevel'); + + switch (action) { + case "row": + updateRow(trElm); + break; + + case "all": + var rows = tableElm.getElementsByTagName("tr"); + + for (var i=0; i colLimit) { - tinyMCEPopup.alert(inst.getLang('table_dlg.col_limit').replace(/\{\$cols\}/g, colLimit)); - return false; - } else if (rowLimit && rows > rowLimit) { - tinyMCEPopup.alert(inst.getLang('table_dlg.row_limit').replace(/\{\$rows\}/g, rowLimit)); - return false; - } else if (cellLimit && cols * rows > cellLimit) { - tinyMCEPopup.alert(inst.getLang('table_dlg.cell_limit').replace(/\{\$cells\}/g, cellLimit)); - return false; - } - - // Update table - if (action == "update") { - inst.execCommand('mceBeginUndoLevel'); - - dom.setAttrib(elm, 'cellPadding', cellpadding, true); - dom.setAttrib(elm, 'cellSpacing', cellspacing, true); - dom.setAttrib(elm, 'border', border); - dom.setAttrib(elm, 'align', align); - dom.setAttrib(elm, 'frame', frame); - dom.setAttrib(elm, 'rules', rules); - dom.setAttrib(elm, 'class', className); - dom.setAttrib(elm, 'style', style); - dom.setAttrib(elm, 'id', id); - dom.setAttrib(elm, 'summary', summary); - dom.setAttrib(elm, 'dir', dir); - dom.setAttrib(elm, 'lang', lang); - - capEl = inst.dom.select('caption', elm)[0]; - - if (capEl && !caption) - capEl.parentNode.removeChild(capEl); - - if (!capEl && caption) { - capEl = elm.ownerDocument.createElement('caption'); - - if (!tinymce.isIE) - capEl.innerHTML = '
    '; - - elm.insertBefore(capEl, elm.firstChild); - } - - if (width && inst.settings.inline_styles) { - dom.setStyle(elm, 'width', width); - dom.setAttrib(elm, 'width', ''); - } else { - dom.setAttrib(elm, 'width', width, true); - dom.setStyle(elm, 'width', ''); - } - - // Remove these since they are not valid XHTML - dom.setAttrib(elm, 'borderColor', ''); - dom.setAttrib(elm, 'bgColor', ''); - dom.setAttrib(elm, 'background', ''); - - if (height && inst.settings.inline_styles) { - dom.setStyle(elm, 'height', height); - dom.setAttrib(elm, 'height', ''); - } else { - dom.setAttrib(elm, 'height', height, true); - dom.setStyle(elm, 'height', ''); - } - - if (background != '') - elm.style.backgroundImage = "url('" + background + "')"; - else - elm.style.backgroundImage = ''; - -/* if (tinyMCEPopup.getParam("inline_styles")) { - if (width != '') - elm.style.width = getCSSSize(width); - }*/ - - if (bordercolor != "") { - elm.style.borderColor = bordercolor; - elm.style.borderStyle = elm.style.borderStyle == "" ? "solid" : elm.style.borderStyle; - elm.style.borderWidth = border == "" ? "1px" : border; - } else - elm.style.borderColor = ''; - - elm.style.backgroundColor = bgcolor; - elm.style.height = getCSSSize(height); - - inst.addVisual(); - - // Fix for stange MSIE align bug - //elm.outerHTML = elm.outerHTML; - - inst.nodeChanged(); - inst.execCommand('mceEndUndoLevel'); - - // Repaint if dimensions changed - if (formObj.width.value != orgTableWidth || formObj.height.value != orgTableHeight) - inst.execCommand('mceRepaint'); - - tinyMCEPopup.close(); - return true; - } - - // Create new table - html += ''); - - tinymce.each('h1,h2,h3,h4,h5,h6,p'.split(','), function(n) { - if (patt) - patt += ','; - - patt += n + ' ._mce_marker'; - }); - - tinymce.each(inst.dom.select(patt), function(n) { - inst.dom.split(inst.dom.getParent(n, 'h1,h2,h3,h4,h5,h6,p'), n); - }); - - dom.setOuterHTML(dom.select('br._mce_marker')[0], html); - } else - inst.execCommand('mceInsertContent', false, html); - - tinymce.each(dom.select('table[_mce_new]'), function(node) { - var td = dom.select('td', node); - - try { - // IE9 might fail to do this selection - inst.selection.select(td[0], true); - inst.selection.collapse(); - } catch (ex) { - // Ignore - } - - dom.setAttrib(node, '_mce_new', ''); - }); - - inst.addVisual(); - inst.execCommand('mceEndUndoLevel'); - - tinyMCEPopup.close(); -} - -function makeAttrib(attrib, value) { - var formObj = document.forms[0]; - var valueElm = formObj.elements[attrib]; - - if (typeof(value) == "undefined" || value == null) { - value = ""; - - if (valueElm) - value = valueElm.value; - } - - if (value == "") - return ""; - - // XML encode it - value = value.replace(/&/g, '&'); - value = value.replace(/\"/g, '"'); - value = value.replace(//g, '>'); - - return ' ' + attrib + '="' + value + '"'; -} - -function init() { - tinyMCEPopup.resizeToInnerSize(); - - document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); - document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); - document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); - document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); - - var cols = 2, rows = 2, border = tinyMCEPopup.getParam('table_default_border', '0'), cellpadding = tinyMCEPopup.getParam('table_default_cellpadding', ''), cellspacing = tinyMCEPopup.getParam('table_default_cellspacing', ''); - var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = ""; - var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = "", rules = "", frame = ""; - var inst = tinyMCEPopup.editor, dom = inst.dom; - var formObj = document.forms[0]; - var elm = dom.getParent(inst.selection.getNode(), "table"); - - action = tinyMCEPopup.getWindowArg('action'); - - if (!action) - action = elm ? "update" : "insert"; - - if (elm && action != "insert") { - var rowsAr = elm.rows; - var cols = 0; - for (var i=0; i cols) - cols = rowsAr[i].cells.length; - - cols = cols; - rows = rowsAr.length; - - st = dom.parseStyle(dom.getAttrib(elm, "style")); - border = trimSize(getStyle(elm, 'border', 'borderWidth')); - cellpadding = dom.getAttrib(elm, 'cellpadding', ""); - cellspacing = dom.getAttrib(elm, 'cellspacing', ""); - width = trimSize(getStyle(elm, 'width', 'width')); - height = trimSize(getStyle(elm, 'height', 'height')); - bordercolor = convertRGBToHex(getStyle(elm, 'bordercolor', 'borderLeftColor')); - bgcolor = convertRGBToHex(getStyle(elm, 'bgcolor', 'backgroundColor')); - align = dom.getAttrib(elm, 'align', align); - frame = dom.getAttrib(elm, 'frame'); - rules = dom.getAttrib(elm, 'rules'); - className = tinymce.trim(dom.getAttrib(elm, 'class').replace(/mceItem.+/g, '')); - id = dom.getAttrib(elm, 'id'); - summary = dom.getAttrib(elm, 'summary'); - style = dom.serializeStyle(st); - dir = dom.getAttrib(elm, 'dir'); - lang = dom.getAttrib(elm, 'lang'); - background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1"); - formObj.caption.checked = elm.getElementsByTagName('caption').length > 0; - - orgTableWidth = width; - orgTableHeight = height; - - action = "update"; - formObj.insert.value = inst.getLang('update'); - } - - addClassesToList('class', "table_styles"); - TinyMCE_EditableSelects.init(); - - // Update form - selectByValue(formObj, 'align', align); - selectByValue(formObj, 'tframe', frame); - selectByValue(formObj, 'rules', rules); - selectByValue(formObj, 'class', className, true, true); - formObj.cols.value = cols; - formObj.rows.value = rows; - formObj.border.value = border; - formObj.cellpadding.value = cellpadding; - formObj.cellspacing.value = cellspacing; - formObj.width.value = width; - formObj.height.value = height; - formObj.bordercolor.value = bordercolor; - formObj.bgcolor.value = bgcolor; - formObj.id.value = id; - formObj.summary.value = summary; - formObj.style.value = style; - formObj.dir.value = dir; - formObj.lang.value = lang; - formObj.backgroundimage.value = background; - - updateColor('bordercolor_pick', 'bordercolor'); - updateColor('bgcolor_pick', 'bgcolor'); - - // Resize some elements - if (isVisible('backgroundimagebrowser')) - document.getElementById('backgroundimage').style.width = '180px'; - - // Disable some fields in update mode - if (action == "update") { - formObj.cols.disabled = true; - formObj.rows.disabled = true; - } -} - -function changedSize() { - var formObj = document.forms[0]; - var st = dom.parseStyle(formObj.style.value); - -/* var width = formObj.width.value; - if (width != "") - st['width'] = tinyMCEPopup.getParam("inline_styles") ? getCSSSize(width) : ""; - else - st['width'] = "";*/ - - var height = formObj.height.value; - if (height != "") - st['height'] = getCSSSize(height); - else - st['height'] = ""; - - formObj.style.value = dom.serializeStyle(st); -} - -function changedBackgroundImage() { - var formObj = document.forms[0]; - var st = dom.parseStyle(formObj.style.value); - - st['background-image'] = "url('" + formObj.backgroundimage.value + "')"; - - formObj.style.value = dom.serializeStyle(st); -} - -function changedBorder() { - var formObj = document.forms[0]; - var st = dom.parseStyle(formObj.style.value); - - // Update border width if the element has a color - if (formObj.border.value != "" && formObj.bordercolor.value != "") - st['border-width'] = formObj.border.value + "px"; - - formObj.style.value = dom.serializeStyle(st); -} - -function changedColor() { - var formObj = document.forms[0]; - var st = dom.parseStyle(formObj.style.value); - - st['background-color'] = formObj.bgcolor.value; - - if (formObj.bordercolor.value != "") { - st['border-color'] = formObj.bordercolor.value; - - // Add border-width if it's missing - if (!st['border-width']) - st['border-width'] = formObj.border.value == "" ? "1px" : formObj.border.value + "px"; - } - - formObj.style.value = dom.serializeStyle(st); -} - -function changedStyle() { - var formObj = document.forms[0]; - var st = dom.parseStyle(formObj.style.value); - - if (st['background-image']) - formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1"); - else - formObj.backgroundimage.value = ''; - - if (st['width']) - formObj.width.value = trimSize(st['width']); - - if (st['height']) - formObj.height.value = trimSize(st['height']); - - if (st['background-color']) { - formObj.bgcolor.value = st['background-color']; - updateColor('bgcolor_pick','bgcolor'); - } - - if (st['border-color']) { - formObj.bordercolor.value = st['border-color']; - updateColor('bordercolor_pick','bordercolor'); - } -} - -tinyMCEPopup.onInit.add(init); +tinyMCEPopup.requireLangPack(); + +var action, orgTableWidth, orgTableHeight, dom = tinyMCEPopup.editor.dom; + +function insertTable() { + var formObj = document.forms[0]; + var inst = tinyMCEPopup.editor, dom = inst.dom; + var cols = 2, rows = 2, border = 0, cellpadding = -1, cellspacing = -1, align, width, height, className, caption, frame, rules; + var html = '', capEl, elm; + var cellLimit, rowLimit, colLimit; + + tinyMCEPopup.restoreSelection(); + + if (!AutoValidator.validate(formObj)) { + tinyMCEPopup.alert(inst.getLang('invalid_data')); + return false; + } + + elm = dom.getParent(inst.selection.getNode(), 'table'); + + // Get form data + cols = formObj.elements['cols'].value; + rows = formObj.elements['rows'].value; + border = formObj.elements['border'].value != "" ? formObj.elements['border'].value : 0; + cellpadding = formObj.elements['cellpadding'].value != "" ? formObj.elements['cellpadding'].value : ""; + cellspacing = formObj.elements['cellspacing'].value != "" ? formObj.elements['cellspacing'].value : ""; + align = getSelectValue(formObj, "align"); + frame = getSelectValue(formObj, "tframe"); + rules = getSelectValue(formObj, "rules"); + width = formObj.elements['width'].value; + height = formObj.elements['height'].value; + bordercolor = formObj.elements['bordercolor'].value; + bgcolor = formObj.elements['bgcolor'].value; + className = getSelectValue(formObj, "class"); + id = formObj.elements['id'].value; + summary = formObj.elements['summary'].value; + style = formObj.elements['style'].value; + dir = formObj.elements['dir'].value; + lang = formObj.elements['lang'].value; + background = formObj.elements['backgroundimage'].value; + caption = formObj.elements['caption'].checked; + + cellLimit = tinyMCEPopup.getParam('table_cell_limit', false); + rowLimit = tinyMCEPopup.getParam('table_row_limit', false); + colLimit = tinyMCEPopup.getParam('table_col_limit', false); + + // Validate table size + if (colLimit && cols > colLimit) { + tinyMCEPopup.alert(inst.getLang('table_dlg.col_limit').replace(/\{\$cols\}/g, colLimit)); + return false; + } else if (rowLimit && rows > rowLimit) { + tinyMCEPopup.alert(inst.getLang('table_dlg.row_limit').replace(/\{\$rows\}/g, rowLimit)); + return false; + } else if (cellLimit && cols * rows > cellLimit) { + tinyMCEPopup.alert(inst.getLang('table_dlg.cell_limit').replace(/\{\$cells\}/g, cellLimit)); + return false; + } + + // Update table + if (action == "update") { + inst.execCommand('mceBeginUndoLevel'); + + dom.setAttrib(elm, 'cellPadding', cellpadding, true); + dom.setAttrib(elm, 'cellSpacing', cellspacing, true); + dom.setAttrib(elm, 'border', border); + dom.setAttrib(elm, 'align', align); + dom.setAttrib(elm, 'frame', frame); + dom.setAttrib(elm, 'rules', rules); + dom.setAttrib(elm, 'class', className); + dom.setAttrib(elm, 'style', style); + dom.setAttrib(elm, 'id', id); + dom.setAttrib(elm, 'summary', summary); + dom.setAttrib(elm, 'dir', dir); + dom.setAttrib(elm, 'lang', lang); + + capEl = inst.dom.select('caption', elm)[0]; + + if (capEl && !caption) + capEl.parentNode.removeChild(capEl); + + if (!capEl && caption) { + capEl = elm.ownerDocument.createElement('caption'); + + if (!tinymce.isIE) + capEl.innerHTML = '
    '; + + elm.insertBefore(capEl, elm.firstChild); + } + + if (width && inst.settings.inline_styles) { + dom.setStyle(elm, 'width', width); + dom.setAttrib(elm, 'width', ''); + } else { + dom.setAttrib(elm, 'width', width, true); + dom.setStyle(elm, 'width', ''); + } + + // Remove these since they are not valid XHTML + dom.setAttrib(elm, 'borderColor', ''); + dom.setAttrib(elm, 'bgColor', ''); + dom.setAttrib(elm, 'background', ''); + + if (height && inst.settings.inline_styles) { + dom.setStyle(elm, 'height', height); + dom.setAttrib(elm, 'height', ''); + } else { + dom.setAttrib(elm, 'height', height, true); + dom.setStyle(elm, 'height', ''); + } + + if (background != '') + elm.style.backgroundImage = "url('" + background + "')"; + else + elm.style.backgroundImage = ''; + +/* if (tinyMCEPopup.getParam("inline_styles")) { + if (width != '') + elm.style.width = getCSSSize(width); + }*/ + + if (bordercolor != "") { + elm.style.borderColor = bordercolor; + elm.style.borderStyle = elm.style.borderStyle == "" ? "solid" : elm.style.borderStyle; + elm.style.borderWidth = border == "" ? "1px" : border; + } else + elm.style.borderColor = ''; + + elm.style.backgroundColor = bgcolor; + elm.style.height = getCSSSize(height); + + inst.addVisual(); + + // Fix for stange MSIE align bug + //elm.outerHTML = elm.outerHTML; + + inst.nodeChanged(); + inst.execCommand('mceEndUndoLevel'); + + // Repaint if dimensions changed + if (formObj.width.value != orgTableWidth || formObj.height.value != orgTableHeight) + inst.execCommand('mceRepaint'); + + tinyMCEPopup.close(); + return true; + } + + // Create new table + html += ''); + + tinymce.each('h1,h2,h3,h4,h5,h6,p'.split(','), function(n) { + if (patt) + patt += ','; + + patt += n + ' ._mce_marker'; + }); + + tinymce.each(inst.dom.select(patt), function(n) { + inst.dom.split(inst.dom.getParent(n, 'h1,h2,h3,h4,h5,h6,p'), n); + }); + + dom.setOuterHTML(dom.select('br._mce_marker')[0], html); + } else + inst.execCommand('mceInsertContent', false, html); + + tinymce.each(dom.select('table[_mce_new]'), function(node) { + var td = dom.select('td', node); + + try { + // IE9 might fail to do this selection + inst.selection.select(td[0], true); + inst.selection.collapse(); + } catch (ex) { + // Ignore + } + + dom.setAttrib(node, '_mce_new', ''); + }); + + inst.addVisual(); + inst.execCommand('mceEndUndoLevel'); + + tinyMCEPopup.close(); +} + +function makeAttrib(attrib, value) { + var formObj = document.forms[0]; + var valueElm = formObj.elements[attrib]; + + if (typeof(value) == "undefined" || value == null) { + value = ""; + + if (valueElm) + value = valueElm.value; + } + + if (value == "") + return ""; + + // XML encode it + value = value.replace(/&/g, '&'); + value = value.replace(/\"/g, '"'); + value = value.replace(//g, '>'); + + return ' ' + attrib + '="' + value + '"'; +} + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + + var cols = 2, rows = 2, border = tinyMCEPopup.getParam('table_default_border', '0'), cellpadding = tinyMCEPopup.getParam('table_default_cellpadding', ''), cellspacing = tinyMCEPopup.getParam('table_default_cellspacing', ''); + var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = ""; + var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = "", rules = "", frame = ""; + var inst = tinyMCEPopup.editor, dom = inst.dom; + var formObj = document.forms[0]; + var elm = dom.getParent(inst.selection.getNode(), "table"); + + action = tinyMCEPopup.getWindowArg('action'); + + if (!action) + action = elm ? "update" : "insert"; + + if (elm && action != "insert") { + var rowsAr = elm.rows; + var cols = 0; + for (var i=0; i cols) + cols = rowsAr[i].cells.length; + + cols = cols; + rows = rowsAr.length; + + st = dom.parseStyle(dom.getAttrib(elm, "style")); + border = trimSize(getStyle(elm, 'border', 'borderWidth')); + cellpadding = dom.getAttrib(elm, 'cellpadding', ""); + cellspacing = dom.getAttrib(elm, 'cellspacing', ""); + width = trimSize(getStyle(elm, 'width', 'width')); + height = trimSize(getStyle(elm, 'height', 'height')); + bordercolor = convertRGBToHex(getStyle(elm, 'bordercolor', 'borderLeftColor')); + bgcolor = convertRGBToHex(getStyle(elm, 'bgcolor', 'backgroundColor')); + align = dom.getAttrib(elm, 'align', align); + frame = dom.getAttrib(elm, 'frame'); + rules = dom.getAttrib(elm, 'rules'); + className = tinymce.trim(dom.getAttrib(elm, 'class').replace(/mceItem.+/g, '')); + id = dom.getAttrib(elm, 'id'); + summary = dom.getAttrib(elm, 'summary'); + style = dom.serializeStyle(st); + dir = dom.getAttrib(elm, 'dir'); + lang = dom.getAttrib(elm, 'lang'); + background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1"); + formObj.caption.checked = elm.getElementsByTagName('caption').length > 0; + + orgTableWidth = width; + orgTableHeight = height; + + action = "update"; + formObj.insert.value = inst.getLang('update'); + } + + addClassesToList('class', "table_styles"); + TinyMCE_EditableSelects.init(); + + // Update form + selectByValue(formObj, 'align', align); + selectByValue(formObj, 'tframe', frame); + selectByValue(formObj, 'rules', rules); + selectByValue(formObj, 'class', className, true, true); + formObj.cols.value = cols; + formObj.rows.value = rows; + formObj.border.value = border; + formObj.cellpadding.value = cellpadding; + formObj.cellspacing.value = cellspacing; + formObj.width.value = width; + formObj.height.value = height; + formObj.bordercolor.value = bordercolor; + formObj.bgcolor.value = bgcolor; + formObj.id.value = id; + formObj.summary.value = summary; + formObj.style.value = style; + formObj.dir.value = dir; + formObj.lang.value = lang; + formObj.backgroundimage.value = background; + + updateColor('bordercolor_pick', 'bordercolor'); + updateColor('bgcolor_pick', 'bgcolor'); + + // Resize some elements + if (isVisible('backgroundimagebrowser')) + document.getElementById('backgroundimage').style.width = '180px'; + + // Disable some fields in update mode + if (action == "update") { + formObj.cols.disabled = true; + formObj.rows.disabled = true; + } +} + +function changedSize() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + +/* var width = formObj.width.value; + if (width != "") + st['width'] = tinyMCEPopup.getParam("inline_styles") ? getCSSSize(width) : ""; + else + st['width'] = "";*/ + + var height = formObj.height.value; + if (height != "") + st['height'] = getCSSSize(height); + else + st['height'] = ""; + + formObj.style.value = dom.serializeStyle(st); +} + +function changedBackgroundImage() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + st['background-image'] = "url('" + formObj.backgroundimage.value + "')"; + + formObj.style.value = dom.serializeStyle(st); +} + +function changedBorder() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + // Update border width if the element has a color + if (formObj.border.value != "" && formObj.bordercolor.value != "") + st['border-width'] = formObj.border.value + "px"; + + formObj.style.value = dom.serializeStyle(st); +} + +function changedColor() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + st['background-color'] = formObj.bgcolor.value; + + if (formObj.bordercolor.value != "") { + st['border-color'] = formObj.bordercolor.value; + + // Add border-width if it's missing + if (!st['border-width']) + st['border-width'] = formObj.border.value == "" ? "1px" : formObj.border.value + "px"; + } + + formObj.style.value = dom.serializeStyle(st); +} + +function changedStyle() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + if (st['background-image']) + formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1"); + else + formObj.backgroundimage.value = ''; + + if (st['width']) + formObj.width.value = trimSize(st['width']); + + if (st['height']) + formObj.height.value = trimSize(st['height']); + + if (st['background-color']) { + formObj.bgcolor.value = st['background-color']; + updateColor('bgcolor_pick','bgcolor'); + } + + if (st['border-color']) { + formObj.bordercolor.value = st['border-color']; + updateColor('bordercolor_pick','bordercolor'); + } +} + +tinyMCEPopup.onInit.add(init); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/bg_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/bg_dlg.js old mode 100644 new mode 100755 index 630e097d26..d5fce99da8 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/bg_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/bg_dlg.js @@ -1,74 +1,74 @@ -tinyMCE.addI18n('bg.table_dlg',{ -general_tab:"\u041E\u0431\u0449\u0438", -advanced_tab:"\u0417\u0430 \u043D\u0430\u043F\u0440\u0435\u0434\u043D\u0430\u043B\u0438", -general_props:"\u041E\u0431\u0449\u0438 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438", -advanced_props:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0437\u0430 \u043D\u0430\u043F\u0440\u0435\u0434\u043D\u0430\u043B\u0438", -rowtype:"\u0420\u043E\u043B\u044F \u043D\u0430 \u0440\u0435\u0434\u0430", -title:"\u0412\u043C\u044A\u043A\u043D\u0438/\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u0439 \u0442\u0430\u0431\u043B\u0438\u0446\u0430", -width:"\u0428\u0438\u0440\u0438\u043D\u0430", -height:"\u0412\u0438\u0441\u043E\u0447\u0438\u043D\u0430", -cols:"\u041A\u043E\u043B\u043E\u043D\u0438", -rows:"\u0420\u0435\u0434\u043E\u0432\u0435", -cellspacing:"\u0420\u0430\u0437\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u043C\u044A\u0436\u0434\u0443 \u043A\u043B\u0435\u0442\u043A\u0438\u0442\u0435", -cellpadding:"Padding \u043D\u0430 \u043A\u043B\u0435\u0442\u043A\u0438\u0442\u0435", -border:"\u0420\u0430\u043C\u043A\u0430", -align:"\u041F\u043E\u0434\u0440\u0430\u0432\u043D\u044F\u0432\u0430\u043D\u0435", -align_default:"\u041F\u043E \u043F\u043E\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043D\u0435", -align_left:"\u041B\u044F\u0432\u043E", -align_right:"\u0414\u044F\u0441\u043D\u043E", -align_middle:"\u0426\u0435\u043D\u0442\u044A\u0440", -row_title:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u043D\u0430 \u0440\u0435\u0434\u0430", -cell_title:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u043D\u0430 \u043A\u043B\u0435\u0442\u043A\u0430\u0442\u0430", -cell_type:"\u0422\u0438\u043F \u043D\u0430 \u043A\u043B\u0435\u0442\u043A\u0430\u0442\u0430", -valign:"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u043D\u043E \u043F\u043E\u0434\u0440\u0430\u0432\u043D\u044F\u0432\u0430\u043D\u0435", -align_top:"\u0413\u043E\u0440\u0435", -align_bottom:"\u0414\u043E\u043B\u0443", -bordercolor:"\u0426\u0432\u044F\u0442 \u043D\u0430 \u0440\u0430\u043C\u043A\u0430\u0442\u0430", -bgcolor:"\u0426\u0432\u044F\u0442 \u043D\u0430 \u0444\u043E\u043D\u0430", -merge_cells_title:"\u0421\u043B\u0435\u0439 \u043A\u043B\u0435\u0442\u043A\u0438\u0442\u0435", -id:"Id", -style:"\u0421\u0442\u0438\u043B", -langdir:"\u041F\u043E\u0441\u043E\u043A\u0430 \u043D\u0430 \u0435\u0437\u0438\u043A\u0430", -langcode:"\u041A\u043E\u0434 \u043D\u0430 \u0435\u0437\u0438\u043A\u0430", -mime:"MIME \u0442\u0438\u043F", -ltr:"\u041E\u0442\u043B\u044F\u0432\u043E \u043D\u0430 \u0434\u044F\u0441\u043D\u043E", -rtl:"\u041E\u0442\u0434\u044F\u0441\u043D\u043E \u043D\u0430 \u043B\u044F\u0432\u043E", -bgimage:"\u0424\u043E\u043D\u043E\u0432\u0430 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430", -summary:"\u041E\u0431\u043E\u0431\u0449\u0435\u043D\u0438\u0435", -td:"\u0414\u0430\u043D\u0438\u043D", -th:"\u0413\u043B\u0430\u0432\u0430", -cell_cell:"\u041E\u0431\u043D\u043E\u0432\u0438 \u0442\u0435\u043A\u0443\u0449\u0430\u0442\u0430 \u043A\u043B\u0435\u0442\u043A\u0430Update current cell", -cell_row:"\u041E\u0431\u043D\u043E\u0432\u0438 \u0432\u0441\u0438\u0447\u043A\u0438 \u043A\u043B\u0435\u0442\u043A\u0438 \u043D\u0430 \u0440\u0435\u0434\u0430", -cell_all:"\u041E\u0431\u043D\u043E\u0432\u0438 \u0432\u0441\u0438\u0447\u043A\u0438 \u043A\u043B\u0435\u0442\u043A\u0438 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0430\u0442\u0430", -row_row:"\u041E\u0431\u043D\u043E\u0432\u0438 \u0442\u0435\u043A\u0443\u0449\u0438\u044F \u0440\u0435\u0434", -row_odd:"\u041E\u0431\u043D\u043E\u0432\u0438 \u043D\u0435\u0447\u0435\u0442\u043D\u0438\u0442\u0435 \u0440\u0435\u0434\u043E\u0432\u0435 \u0432 \u0442\u0430\u043B\u0438\u0446\u0430\u0442\u0430", -row_even:"\u041E\u0431\u043D\u043E\u0432\u0438 \u0447\u0435\u0442\u043D\u0438\u0442\u0435 \u0440\u0435\u0434\u043E\u0432\u0435 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0430\u0442\u0430", -row_all:"\u041E\u0431\u043D\u043E\u0432\u0438 \u0432\u0441\u0438\u0447\u043A\u0438 \u0440\u0435\u0434\u043E\u0432\u0435 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0430\u0442\u0430", -thead:"\u0413\u043B\u0430\u0432\u0430 \u043D\u0430 \u0442\u0430\u0431\u043B\u0438\u0446\u0430\u0442\u0430", -tbody:"\u0422\u044F\u043B\u043E \u043D\u0430 \u0442\u0430\u0431\u043B\u0438\u0446\u0430\u0442\u0430", -tfoot:"\u0414\u044A\u043D\u043E \u043D\u0430 \u0442\u0430\u0431\u043B\u0438\u0446\u0430\u0442\u0430", -scope:"\u041E\u0431\u0445\u0432\u0430\u0442", -rowgroup:"\u0413\u0440\u0443\u043F\u0430 \u0440\u0435\u0434\u043E\u0432\u0435", -colgroup:"\u0413\u0440\u0443\u043F\u0430 \u043A\u043E\u043B\u043E\u043D\u0438", -col_limit:"\u041F\u0440\u0435\u0432\u0438\u0448\u0438\u0445\u0442\u0435 \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u043D\u0430\u0442\u0430 \u0431\u0440\u043E\u0439\u043A\u0430 \u043A\u043E\u043B\u043E\u043D\u0438: {$cols}.", -row_limit:"\u041F\u0440\u0435\u0432\u0438\u0448\u0438\u0445\u0442\u0435 \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u043D\u0430\u0442\u0430 \u0431\u0440\u043E\u0439\u043A\u0430 \u0440\u0435\u0434\u043E\u0432\u0435: {$rows}.", -cell_limit:"\u041F\u0440\u0435\u0432\u0438\u0448\u0438\u0445\u0442\u0435 \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u043D\u0430\u0442\u0430 \u0431\u0440\u043E\u0439\u043A\u0430 \u043A\u043B\u0435\u0442\u043A\u0438: {$cells}.", -missing_scope:"\u0421\u0438\u0433\u0443\u0440\u0435\u043D \u043B\u0438 \u0441\u0442\u0435 \u0447\u0435 \u0436\u0435\u043B\u0430\u0435\u0442\u0435 \u0434\u0430 \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435 \u0431\u0435\u0437 \u0434\u0430 \u0441\u043B\u043E\u0436\u0438\u0442\u0435 \u043E\u0431\u0445\u0432\u0430\u0442 \u043D\u0430 \u0433\u043B\u0430\u0432\u0430\u0442\u0430 \u043D\u0430 \u043A\u043B\u0435\u0442\u043A\u0430\u0442\u0430. \u0411\u0435\u0437 \u043D\u0435\u0433\u043E, \u043D\u044F\u043A\u043E\u0438 \u043F\u043E\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043B\u0438 \u0441 \u043D\u0435\u0434\u044A\u0437\u0438 \u043C\u043E\u0433\u0430\u0442 \u0434\u0430 \u0438\u043C\u0430\u0442 \u043F\u0440\u043E\u0431\u043B\u0435\u043C \u0434\u0430 \u0440\u0430\u0437\u0431\u0435\u0440\u0430\u0442 \u0434\u0430\u043D\u043D\u0438\u0442\u0435 \u043F\u043E\u043A\u0430\u0437\u0430\u043D\u0438 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0430\u0442\u0430.", -caption:"\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435 \u043D\u0430 \u0442\u0430\u0431\u043B\u0438\u0446\u0430\u0442\u0430", -frame:"\u0424\u0440\u0435\u0439\u043C", -frame_none:"\u0431\u0435\u0437", -frame_groups:"\u0433\u0440\u0443\u043F\u0438", -frame_rows:"\u0440\u0435\u0434\u043E\u0432\u0435", -frame_cols:"\u043A\u043E\u043B\u043E\u043D\u0438", -frame_all:"\u0432\u0441\u0438\u0447\u043A\u0438", -rules:"\u041F\u0440\u0430\u0432\u0438\u043B\u0430", -rules_void:"void", -rules_above:"above", -rules_below:"below", -rules_hsides:"hsides", -rules_lhs:"lhs", -rules_rhs:"rhs", -rules_vsides:"vsides", -rules_box:"box", -rules_border:"border" +tinyMCE.addI18n('bg.table_dlg',{ +general_tab:"\u041E\u0431\u0449\u0438", +advanced_tab:"\u0417\u0430 \u043D\u0430\u043F\u0440\u0435\u0434\u043D\u0430\u043B\u0438", +general_props:"\u041E\u0431\u0449\u0438 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438", +advanced_props:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0437\u0430 \u043D\u0430\u043F\u0440\u0435\u0434\u043D\u0430\u043B\u0438", +rowtype:"\u0420\u043E\u043B\u044F \u043D\u0430 \u0440\u0435\u0434\u0430", +title:"\u0412\u043C\u044A\u043A\u043D\u0438/\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u0439 \u0442\u0430\u0431\u043B\u0438\u0446\u0430", +width:"\u0428\u0438\u0440\u0438\u043D\u0430", +height:"\u0412\u0438\u0441\u043E\u0447\u0438\u043D\u0430", +cols:"\u041A\u043E\u043B\u043E\u043D\u0438", +rows:"\u0420\u0435\u0434\u043E\u0432\u0435", +cellspacing:"\u0420\u0430\u0437\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u043C\u044A\u0436\u0434\u0443 \u043A\u043B\u0435\u0442\u043A\u0438\u0442\u0435", +cellpadding:"Padding \u043D\u0430 \u043A\u043B\u0435\u0442\u043A\u0438\u0442\u0435", +border:"\u0420\u0430\u043C\u043A\u0430", +align:"\u041F\u043E\u0434\u0440\u0430\u0432\u043D\u044F\u0432\u0430\u043D\u0435", +align_default:"\u041F\u043E \u043F\u043E\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043D\u0435", +align_left:"\u041B\u044F\u0432\u043E", +align_right:"\u0414\u044F\u0441\u043D\u043E", +align_middle:"\u0426\u0435\u043D\u0442\u044A\u0440", +row_title:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u043D\u0430 \u0440\u0435\u0434\u0430", +cell_title:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u043D\u0430 \u043A\u043B\u0435\u0442\u043A\u0430\u0442\u0430", +cell_type:"\u0422\u0438\u043F \u043D\u0430 \u043A\u043B\u0435\u0442\u043A\u0430\u0442\u0430", +valign:"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u043D\u043E \u043F\u043E\u0434\u0440\u0430\u0432\u043D\u044F\u0432\u0430\u043D\u0435", +align_top:"\u0413\u043E\u0440\u0435", +align_bottom:"\u0414\u043E\u043B\u0443", +bordercolor:"\u0426\u0432\u044F\u0442 \u043D\u0430 \u0440\u0430\u043C\u043A\u0430\u0442\u0430", +bgcolor:"\u0426\u0432\u044F\u0442 \u043D\u0430 \u0444\u043E\u043D\u0430", +merge_cells_title:"\u0421\u043B\u0435\u0439 \u043A\u043B\u0435\u0442\u043A\u0438\u0442\u0435", +id:"Id", +style:"\u0421\u0442\u0438\u043B", +langdir:"\u041F\u043E\u0441\u043E\u043A\u0430 \u043D\u0430 \u0435\u0437\u0438\u043A\u0430", +langcode:"\u041A\u043E\u0434 \u043D\u0430 \u0435\u0437\u0438\u043A\u0430", +mime:"MIME \u0442\u0438\u043F", +ltr:"\u041E\u0442\u043B\u044F\u0432\u043E \u043D\u0430 \u0434\u044F\u0441\u043D\u043E", +rtl:"\u041E\u0442\u0434\u044F\u0441\u043D\u043E \u043D\u0430 \u043B\u044F\u0432\u043E", +bgimage:"\u0424\u043E\u043D\u043E\u0432\u0430 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430", +summary:"\u041E\u0431\u043E\u0431\u0449\u0435\u043D\u0438\u0435", +td:"\u0414\u0430\u043D\u0438\u043D", +th:"\u0413\u043B\u0430\u0432\u0430", +cell_cell:"\u041E\u0431\u043D\u043E\u0432\u0438 \u0442\u0435\u043A\u0443\u0449\u0430\u0442\u0430 \u043A\u043B\u0435\u0442\u043A\u0430Update current cell", +cell_row:"\u041E\u0431\u043D\u043E\u0432\u0438 \u0432\u0441\u0438\u0447\u043A\u0438 \u043A\u043B\u0435\u0442\u043A\u0438 \u043D\u0430 \u0440\u0435\u0434\u0430", +cell_all:"\u041E\u0431\u043D\u043E\u0432\u0438 \u0432\u0441\u0438\u0447\u043A\u0438 \u043A\u043B\u0435\u0442\u043A\u0438 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0430\u0442\u0430", +row_row:"\u041E\u0431\u043D\u043E\u0432\u0438 \u0442\u0435\u043A\u0443\u0449\u0438\u044F \u0440\u0435\u0434", +row_odd:"\u041E\u0431\u043D\u043E\u0432\u0438 \u043D\u0435\u0447\u0435\u0442\u043D\u0438\u0442\u0435 \u0440\u0435\u0434\u043E\u0432\u0435 \u0432 \u0442\u0430\u043B\u0438\u0446\u0430\u0442\u0430", +row_even:"\u041E\u0431\u043D\u043E\u0432\u0438 \u0447\u0435\u0442\u043D\u0438\u0442\u0435 \u0440\u0435\u0434\u043E\u0432\u0435 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0430\u0442\u0430", +row_all:"\u041E\u0431\u043D\u043E\u0432\u0438 \u0432\u0441\u0438\u0447\u043A\u0438 \u0440\u0435\u0434\u043E\u0432\u0435 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0430\u0442\u0430", +thead:"\u0413\u043B\u0430\u0432\u0430 \u043D\u0430 \u0442\u0430\u0431\u043B\u0438\u0446\u0430\u0442\u0430", +tbody:"\u0422\u044F\u043B\u043E \u043D\u0430 \u0442\u0430\u0431\u043B\u0438\u0446\u0430\u0442\u0430", +tfoot:"\u0414\u044A\u043D\u043E \u043D\u0430 \u0442\u0430\u0431\u043B\u0438\u0446\u0430\u0442\u0430", +scope:"\u041E\u0431\u0445\u0432\u0430\u0442", +rowgroup:"\u0413\u0440\u0443\u043F\u0430 \u0440\u0435\u0434\u043E\u0432\u0435", +colgroup:"\u0413\u0440\u0443\u043F\u0430 \u043A\u043E\u043B\u043E\u043D\u0438", +col_limit:"\u041F\u0440\u0435\u0432\u0438\u0448\u0438\u0445\u0442\u0435 \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u043D\u0430\u0442\u0430 \u0431\u0440\u043E\u0439\u043A\u0430 \u043A\u043E\u043B\u043E\u043D\u0438: {$cols}.", +row_limit:"\u041F\u0440\u0435\u0432\u0438\u0448\u0438\u0445\u0442\u0435 \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u043D\u0430\u0442\u0430 \u0431\u0440\u043E\u0439\u043A\u0430 \u0440\u0435\u0434\u043E\u0432\u0435: {$rows}.", +cell_limit:"\u041F\u0440\u0435\u0432\u0438\u0448\u0438\u0445\u0442\u0435 \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u043D\u0430\u0442\u0430 \u0431\u0440\u043E\u0439\u043A\u0430 \u043A\u043B\u0435\u0442\u043A\u0438: {$cells}.", +missing_scope:"\u0421\u0438\u0433\u0443\u0440\u0435\u043D \u043B\u0438 \u0441\u0442\u0435 \u0447\u0435 \u0436\u0435\u043B\u0430\u0435\u0442\u0435 \u0434\u0430 \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435 \u0431\u0435\u0437 \u0434\u0430 \u0441\u043B\u043E\u0436\u0438\u0442\u0435 \u043E\u0431\u0445\u0432\u0430\u0442 \u043D\u0430 \u0433\u043B\u0430\u0432\u0430\u0442\u0430 \u043D\u0430 \u043A\u043B\u0435\u0442\u043A\u0430\u0442\u0430. \u0411\u0435\u0437 \u043D\u0435\u0433\u043E, \u043D\u044F\u043A\u043E\u0438 \u043F\u043E\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043B\u0438 \u0441 \u043D\u0435\u0434\u044A\u0437\u0438 \u043C\u043E\u0433\u0430\u0442 \u0434\u0430 \u0438\u043C\u0430\u0442 \u043F\u0440\u043E\u0431\u043B\u0435\u043C \u0434\u0430 \u0440\u0430\u0437\u0431\u0435\u0440\u0430\u0442 \u0434\u0430\u043D\u043D\u0438\u0442\u0435 \u043F\u043E\u043A\u0430\u0437\u0430\u043D\u0438 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0430\u0442\u0430.", +caption:"\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435 \u043D\u0430 \u0442\u0430\u0431\u043B\u0438\u0446\u0430\u0442\u0430", +frame:"\u0424\u0440\u0435\u0439\u043C", +frame_none:"\u0431\u0435\u0437", +frame_groups:"\u0433\u0440\u0443\u043F\u0438", +frame_rows:"\u0440\u0435\u0434\u043E\u0432\u0435", +frame_cols:"\u043A\u043E\u043B\u043E\u043D\u0438", +frame_all:"\u0432\u0441\u0438\u0447\u043A\u0438", +rules:"\u041F\u0440\u0430\u0432\u0438\u043B\u0430", +rules_void:"void", +rules_above:"above", +rules_below:"below", +rules_hsides:"hsides", +rules_lhs:"lhs", +rules_rhs:"rhs", +rules_vsides:"vsides", +rules_box:"box", +rules_border:"border" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/cs_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/cs_dlg.js old mode 100644 new mode 100755 index 41890044a0..9795c22113 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/cs_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/cs_dlg.js @@ -1,74 +1,74 @@ -tinyMCE.addI18n('cs.table_dlg',{ -general_tab:"Obecn\u00E9", -advanced_tab:"Roz\u0161\u00ED\u0159en\u00E9", -general_props:"Obecn\u00E9 parametry", -advanced_props:"Roz\u0161\u00ED\u0159en\u00E9 parametry", -rowtype:"Typ \u0159\u00E1dku", -title:"Vlo\u017Eit/upravit tabulku", -width:"\u0160\u00ED\u0159ka", -height:"V\u00FD\u0161ka", -cols:"Sloupce", -rows:"\u0158\u00E1dky", -cellspacing:"Rozestup bun\u011Bk", -cellpadding:"Odsazen\u00ED obsahu", -border:"R\u00E1me\u010Dek", -align:"Zarovn\u00E1n\u00ED", -align_default:"V\u00FDchoz\u00ED", -align_left:"Vlevo", -align_right:"Vpravo", -align_middle:"Na st\u0159ed", -row_title:"Vlastnosti \u0159\u00E1dku", -cell_title:"Vlastnosti bu\u0148ky", -cell_type:"Typ bu\u0148ky", -valign:"Vertik\u00E1ln\u00ED zarovn\u00E1n\u00ED", -align_top:"Nahoru", -align_bottom:"Dol\u016F", -bordercolor:"Barva r\u00E1me\u010Dku", -bgcolor:"Barva pozad\u00ED", -merge_cells_title:"Spojit bu\u0148ky", -id:"ID", -style:"Styl", -langdir:"Sm\u011Br textu", -langcode:"K\u00F3d jazyka", -mime:"MIME typ c\u00EDle", -ltr:"Zleva doprava", -rtl:"Zprava doleva", -bgimage:"Obr\u00E1zek pozad\u00ED", -summary:"Shrnut\u00ED obsahu", -td:"Data", -th:"Z\u00E1hlav\u00ED", -cell_cell:"Aktualizovat zvolenou bu\u0148ku", -cell_row:"Aktualizovat v\u0161echny bu\u0148ky v \u0159\u00E1dku", -cell_all:"Aktualizovat v\u0161echny bu\u0148ky v tabulce", -row_row:"Aktualizovat zvolen\u00FD \u0159\u00E1dek", -row_odd:"Aktualizovat lich\u00E9 \u0159\u00E1dky tabulky", -row_even:"Aktualizovat sud\u00E9 \u0159\u00E1dky tabulky", -row_all:"Aktualizovat v\u0161echny \u0159\u00E1dky tabulky", -thead:"Hlavi\u010Dka tabulky", -tbody:"T\u011Blo tabulky", -tfoot:"Pata tabulky", -scope:"Hlavi\u010Dka pro", -rowgroup:"Skupina \u0159\u00E1dk\u016F", -colgroup:"Skupina sloupc\u016F", -col_limit:"P\u0159ekro\u010Dili jste maxim\u00E1ln\u00ED po\u010Det sloupc\u016F {$cols}.", -row_limit:"P\u0159ekro\u010Dili jste maxim\u00E1ln\u00ED po\u010Det \u0159\u00E1dk\u016F {$rows}.", -cell_limit:"P\u0159ekro\u010Dili jste maxim\u00E1ln\u00ED po\u010Det bun\u011Bk {$cells}.", -missing_scope:"Skute\u010Dn\u011B chcete pokra\u010Dovat bez ur\u010Den\u00ED oblasti hlavi\u010Dky t\u00E9to tabulky? Bez n\u00ED m\u016F\u017Ee u n\u011Bkter\u00FDch u\u017Eivatel\u016F doch\u00E1zet k ur\u010Dit\u00FDm probl\u00E9m\u016Fm p\u0159i interpretaci a zobrazov\u00E1n\u00ED dat v tabulce.", -caption:"Nadpis tabulky", -frame:"R\u00E1me\u010Dek tabulky", -frame_none:"\u017E\u00E1dn\u00E1", -frame_groups:"oblasti a skupiny sloupc\u016F", -frame_rows:"\u0159\u00E1dky", -frame_cols:"sloupce", -frame_all:"v\u0161e", -rules:"Vykreslen\u00ED m\u0159\u00ED\u017Eky", -rules_void:"\u017E\u00E1dn\u00FD", -rules_above:"naho\u0159e", -rules_below:"dole", -rules_hsides:"naho\u0159e a dole", -rules_lhs:"vlevo", -rules_rhs:"vpravo", -rules_vsides:"vlevo a vpravo", -rules_box:"box okolo", -rules_border:"r\u00E1me\u010Dek okolo" +tinyMCE.addI18n('cs.table_dlg',{ +general_tab:"Obecn\u00E9", +advanced_tab:"Roz\u0161\u00ED\u0159en\u00E9", +general_props:"Obecn\u00E9 parametry", +advanced_props:"Roz\u0161\u00ED\u0159en\u00E9 parametry", +rowtype:"Typ \u0159\u00E1dku", +title:"Vlo\u017Eit/upravit tabulku", +width:"\u0160\u00ED\u0159ka", +height:"V\u00FD\u0161ka", +cols:"Sloupce", +rows:"\u0158\u00E1dky", +cellspacing:"Rozestup bun\u011Bk", +cellpadding:"Odsazen\u00ED obsahu", +border:"R\u00E1me\u010Dek", +align:"Zarovn\u00E1n\u00ED", +align_default:"V\u00FDchoz\u00ED", +align_left:"Vlevo", +align_right:"Vpravo", +align_middle:"Na st\u0159ed", +row_title:"Vlastnosti \u0159\u00E1dku", +cell_title:"Vlastnosti bu\u0148ky", +cell_type:"Typ bu\u0148ky", +valign:"Vertik\u00E1ln\u00ED zarovn\u00E1n\u00ED", +align_top:"Nahoru", +align_bottom:"Dol\u016F", +bordercolor:"Barva r\u00E1me\u010Dku", +bgcolor:"Barva pozad\u00ED", +merge_cells_title:"Spojit bu\u0148ky", +id:"ID", +style:"Styl", +langdir:"Sm\u011Br textu", +langcode:"K\u00F3d jazyka", +mime:"MIME typ c\u00EDle", +ltr:"Zleva doprava", +rtl:"Zprava doleva", +bgimage:"Obr\u00E1zek pozad\u00ED", +summary:"Shrnut\u00ED obsahu", +td:"Data", +th:"Z\u00E1hlav\u00ED", +cell_cell:"Aktualizovat zvolenou bu\u0148ku", +cell_row:"Aktualizovat v\u0161echny bu\u0148ky v \u0159\u00E1dku", +cell_all:"Aktualizovat v\u0161echny bu\u0148ky v tabulce", +row_row:"Aktualizovat zvolen\u00FD \u0159\u00E1dek", +row_odd:"Aktualizovat lich\u00E9 \u0159\u00E1dky tabulky", +row_even:"Aktualizovat sud\u00E9 \u0159\u00E1dky tabulky", +row_all:"Aktualizovat v\u0161echny \u0159\u00E1dky tabulky", +thead:"Hlavi\u010Dka tabulky", +tbody:"T\u011Blo tabulky", +tfoot:"Pata tabulky", +scope:"Hlavi\u010Dka pro", +rowgroup:"Skupina \u0159\u00E1dk\u016F", +colgroup:"Skupina sloupc\u016F", +col_limit:"P\u0159ekro\u010Dili jste maxim\u00E1ln\u00ED po\u010Det sloupc\u016F {$cols}.", +row_limit:"P\u0159ekro\u010Dili jste maxim\u00E1ln\u00ED po\u010Det \u0159\u00E1dk\u016F {$rows}.", +cell_limit:"P\u0159ekro\u010Dili jste maxim\u00E1ln\u00ED po\u010Det bun\u011Bk {$cells}.", +missing_scope:"Skute\u010Dn\u011B chcete pokra\u010Dovat bez ur\u010Den\u00ED oblasti hlavi\u010Dky t\u00E9to tabulky? Bez n\u00ED m\u016F\u017Ee u n\u011Bkter\u00FDch u\u017Eivatel\u016F doch\u00E1zet k ur\u010Dit\u00FDm probl\u00E9m\u016Fm p\u0159i interpretaci a zobrazov\u00E1n\u00ED dat v tabulce.", +caption:"Nadpis tabulky", +frame:"R\u00E1me\u010Dek tabulky", +frame_none:"\u017E\u00E1dn\u00E1", +frame_groups:"oblasti a skupiny sloupc\u016F", +frame_rows:"\u0159\u00E1dky", +frame_cols:"sloupce", +frame_all:"v\u0161e", +rules:"Vykreslen\u00ED m\u0159\u00ED\u017Eky", +rules_void:"\u017E\u00E1dn\u00FD", +rules_above:"naho\u0159e", +rules_below:"dole", +rules_hsides:"naho\u0159e a dole", +rules_lhs:"vlevo", +rules_rhs:"vpravo", +rules_vsides:"vlevo a vpravo", +rules_box:"box okolo", +rules_border:"r\u00E1me\u010Dek okolo" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/da_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/da_dlg.js old mode 100644 new mode 100755 index 6deb56868f..1e0935be47 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/da_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/da_dlg.js @@ -1,74 +1,74 @@ -tinyMCE.addI18n('da.table_dlg',{ -general_tab:"Generelt", -advanced_tab:"Avanceret", -general_props:"Generelle egenskaber", -advanced_props:"Avancerede egenskaber", -rowtype:"Row in table part", -title:"Inds\u00E6t/rediger tabel", -width:"Bredde", -height:"H\u00F8jde", -cols:"Kolonner", -rows:"R\u00E6kker", -cellspacing:"Afstand mellem celler", -cellpadding:"Afstand til celleindhold", -border:"Kant", -align:"Justering", -align_default:"Standard", -align_left:"Venstre", -align_right:"H\u00F8jre", -align_middle:"Centreret", -row_title:"R\u00E6kkeegenskaber", -cell_title:"Celleegenskaber", -cell_type:"Celletype", -valign:"Vertikal justering", -align_top:"Top", -align_bottom:"Bund", -bordercolor:"Kantfarve", -bgcolor:"Baggrundsfarve", -merge_cells_title:"Flet celler", -id:"Id", -style:"Style", -langdir:"Sprogretning", -langcode:"Sprogkode", -mime:"Destinations-MIME-type", -ltr:"Venstre mod h\u00F8jre", -rtl:"H\u00F8jre mod venstre", -bgimage:"Baggrundsbillede", -summary:"Beskrivelse", -td:"Data", -th:"Hoved", -cell_cell:"Opdater aktuelle celle", -cell_row:"Opdater alle celler i r\u00E6kken", -cell_all:"Opdater alle celler i tabellen", -row_row:"Opdater aktuelle celle", -row_odd:"Opdater ulige r\u00E6kker", -row_even:"Opdater lige r\u00E6kker", -row_all:"Opdater alle r\u00E6kker", -thead:"Tabelhoved", -tbody:"Tabelkrop", -tfoot:"Tabelfod", -scope:"Forklaring", -rowgroup:"R\u00E6kkegruppe", -colgroup:"Kolonnegruppe", -col_limit:"Du har overskredet antallet af tilladte kolonner p\u00E5 {$cols}.", -row_limit:"Du har overskredet antallet af tilladte r\u00E6kker p\u00E5 {$rows}.", -cell_limit:"Du har overskredet antallet af tilladte celler p\u00E5 {$cells}.", -missing_scope:"Er du sikker p\u00E5, du vil forts\u00E6tte uden at angive forklaring for denne overskriftscelle? Uden forklaring vil v\u00E6re sv\u00E6rt for f.ek.s blinde at l\u00E6se og forst\u00E5 indholdet i tabellen.", -caption:"Tabeloverskrift", -frame:"Ramme", -frame_none:"ingen", -frame_groups:"grupper", -frame_rows:"r\u00E6kker", -frame_cols:"kolonner", -frame_all:"alle", -rules:"Regler", -rules_void:"void", -rules_above:"over", -rules_below:"under", -rules_hsides:"hsides", -rules_lhs:"lhs", -rules_rhs:"rhs", -rules_vsides:"vsides", -rules_box:"boks", -rules_border:"kant" +tinyMCE.addI18n('da.table_dlg',{ +general_tab:"Generelt", +advanced_tab:"Avanceret", +general_props:"Generelle egenskaber", +advanced_props:"Avancerede egenskaber", +rowtype:"Row in table part", +title:"Inds\u00E6t/rediger tabel", +width:"Bredde", +height:"H\u00F8jde", +cols:"Kolonner", +rows:"R\u00E6kker", +cellspacing:"Afstand mellem celler", +cellpadding:"Afstand til celleindhold", +border:"Kant", +align:"Justering", +align_default:"Standard", +align_left:"Venstre", +align_right:"H\u00F8jre", +align_middle:"Centreret", +row_title:"R\u00E6kkeegenskaber", +cell_title:"Celleegenskaber", +cell_type:"Celletype", +valign:"Vertikal justering", +align_top:"Top", +align_bottom:"Bund", +bordercolor:"Kantfarve", +bgcolor:"Baggrundsfarve", +merge_cells_title:"Flet celler", +id:"Id", +style:"Style", +langdir:"Sprogretning", +langcode:"Sprogkode", +mime:"Destinations-MIME-type", +ltr:"Venstre mod h\u00F8jre", +rtl:"H\u00F8jre mod venstre", +bgimage:"Baggrundsbillede", +summary:"Beskrivelse", +td:"Data", +th:"Hoved", +cell_cell:"Opdater aktuelle celle", +cell_row:"Opdater alle celler i r\u00E6kken", +cell_all:"Opdater alle celler i tabellen", +row_row:"Opdater aktuelle celle", +row_odd:"Opdater ulige r\u00E6kker", +row_even:"Opdater lige r\u00E6kker", +row_all:"Opdater alle r\u00E6kker", +thead:"Tabelhoved", +tbody:"Tabelkrop", +tfoot:"Tabelfod", +scope:"Forklaring", +rowgroup:"R\u00E6kkegruppe", +colgroup:"Kolonnegruppe", +col_limit:"Du har overskredet antallet af tilladte kolonner p\u00E5 {$cols}.", +row_limit:"Du har overskredet antallet af tilladte r\u00E6kker p\u00E5 {$rows}.", +cell_limit:"Du har overskredet antallet af tilladte celler p\u00E5 {$cells}.", +missing_scope:"Er du sikker p\u00E5, du vil forts\u00E6tte uden at angive forklaring for denne overskriftscelle? Uden forklaring vil v\u00E6re sv\u00E6rt for f.ek.s blinde at l\u00E6se og forst\u00E5 indholdet i tabellen.", +caption:"Tabeloverskrift", +frame:"Ramme", +frame_none:"ingen", +frame_groups:"grupper", +frame_rows:"r\u00E6kker", +frame_cols:"kolonner", +frame_all:"alle", +rules:"Regler", +rules_void:"void", +rules_above:"over", +rules_below:"under", +rules_hsides:"hsides", +rules_lhs:"lhs", +rules_rhs:"rhs", +rules_vsides:"vsides", +rules_box:"boks", +rules_border:"kant" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/de_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/de_dlg.js old mode 100644 new mode 100755 index 850ffc9064..8b177c3acb --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/de_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/de_dlg.js @@ -1,74 +1,74 @@ -tinyMCE.addI18n('de.table_dlg',{ -general_tab:"Allgemein", -advanced_tab:"Erweitert", -general_props:"Allgemeine Einstellungen", -advanced_props:"Erweiterte Einstellungen", -rowtype:"Gruppierung", -title:"Tabelle einf\u00FCgen/bearbeiten", -width:"Breite", -height:"H\u00F6he", -cols:"Spalten", -rows:"Zeilen", -cellspacing:"Zellenabstand", -cellpadding:"Abstand innerhalb der Zellen", -border:"Rahmen", -align:"Ausrichtung", -align_default:"Standard", -align_left:"Links", -align_right:"Rechts", -align_middle:"Mittig", -row_title:"Eigenschaften der Zeile", -cell_title:"Eigenschaften der Zelle", -cell_type:"Zellentyp", -valign:"Vertikale Ausrichtung", -align_top:"Oben", -align_bottom:"Unten", -bordercolor:"Rahmenfarbe", -bgcolor:"Hintergrundfarbe", -merge_cells_title:"Zellen vereinen", -id:"ID", -style:"Format", -langdir:"Schriftrichtung", -langcode:"Sprachcode", -mime:"MIME-Type des Inhalts", -ltr:"Links nach rechts", -rtl:"Rechts nach links", -bgimage:"Hintergrundbild", -summary:"Zusammenfassung", -td:"Textzelle", -th:"\u00DCberschrift", -cell_cell:"Diese Zelle ver\u00E4ndern", -cell_row:"Alle Zellen in dieser Zeile ver\u00E4ndern", -cell_all:"Alle Zellen der Tabelle ver\u00E4ndern", -row_row:"Diese Zeile ver\u00E4ndern", -row_odd:"Ungerade Zeilen ver\u00E4ndern", -row_even:"Gerade Zeilen ver\u00E4ndern", -row_all:"Alle Zeilen ver\u00E4ndern", -thead:"Tabellenkopf", -tbody:"Tabelleninhalt", -tfoot:"Tabellenfu\u00DF", -scope:"Bezug", -rowgroup:"Vertikal gruppieren", -colgroup:"Horizontal gruppieren", -col_limit:"Sie haben die maximale Spaltenzahl von {$cols} \u00FCberschritten.", -row_limit:"Sie haben die maximale Zeilenzahl von {$rows} \u00FCberschritten.", -cell_limit:"Sie haben die maximale Zellenzahl von {$cells} \u00FCberschritten.", -missing_scope:"Wollen Sie wirklich keine Beziehung f\u00FCr diese \u00DCberschrift angeben? Benutzer mit k\u00F6rperlichen Einschr\u00E4nkungen k\u00F6nnten Schwierigkeiten haben, den Inhalt der Tabelle zu verstehen.", -caption:"Beschriftung der Tabelle", -frame:"Rahmen", -frame_none:"keine", -frame_groups:"zwischen Gruppen", -frame_rows:"zwischen Zeilen", -frame_cols:"zwischen Spalten", -frame_all:"zwischen allen Zellen", -rules:"Gitter", -rules_void:"keins", -rules_above:"nur oben", -rules_below:"nur unten", -rules_hsides:"oben und unten", -rules_lhs:"nur links", -rules_rhs:"nur rechts", -rules_vsides:"links und rechts", -rules_box:"alle 4 Seiten (Box)", -rules_border:"alle 4 Seiten (Border)" +tinyMCE.addI18n('de.table_dlg',{ +general_tab:"Allgemein", +advanced_tab:"Erweitert", +general_props:"Allgemeine Einstellungen", +advanced_props:"Erweiterte Einstellungen", +rowtype:"Gruppierung", +title:"Tabelle einf\u00FCgen/bearbeiten", +width:"Breite", +height:"H\u00F6he", +cols:"Spalten", +rows:"Zeilen", +cellspacing:"Zellenabstand", +cellpadding:"Abstand innerhalb der Zellen", +border:"Rahmen", +align:"Ausrichtung", +align_default:"Standard", +align_left:"Links", +align_right:"Rechts", +align_middle:"Mittig", +row_title:"Eigenschaften der Zeile", +cell_title:"Eigenschaften der Zelle", +cell_type:"Zellentyp", +valign:"Vertikale Ausrichtung", +align_top:"Oben", +align_bottom:"Unten", +bordercolor:"Rahmenfarbe", +bgcolor:"Hintergrundfarbe", +merge_cells_title:"Zellen vereinen", +id:"ID", +style:"Format", +langdir:"Schriftrichtung", +langcode:"Sprachcode", +mime:"MIME-Type des Inhalts", +ltr:"Links nach rechts", +rtl:"Rechts nach links", +bgimage:"Hintergrundbild", +summary:"Zusammenfassung", +td:"Textzelle", +th:"\u00DCberschrift", +cell_cell:"Diese Zelle ver\u00E4ndern", +cell_row:"Alle Zellen in dieser Zeile ver\u00E4ndern", +cell_all:"Alle Zellen der Tabelle ver\u00E4ndern", +row_row:"Diese Zeile ver\u00E4ndern", +row_odd:"Ungerade Zeilen ver\u00E4ndern", +row_even:"Gerade Zeilen ver\u00E4ndern", +row_all:"Alle Zeilen ver\u00E4ndern", +thead:"Tabellenkopf", +tbody:"Tabelleninhalt", +tfoot:"Tabellenfu\u00DF", +scope:"Bezug", +rowgroup:"Vertikal gruppieren", +colgroup:"Horizontal gruppieren", +col_limit:"Sie haben die maximale Spaltenzahl von {$cols} \u00FCberschritten.", +row_limit:"Sie haben die maximale Zeilenzahl von {$rows} \u00FCberschritten.", +cell_limit:"Sie haben die maximale Zellenzahl von {$cells} \u00FCberschritten.", +missing_scope:"Wollen Sie wirklich keine Beziehung f\u00FCr diese \u00DCberschrift angeben? Benutzer mit k\u00F6rperlichen Einschr\u00E4nkungen k\u00F6nnten Schwierigkeiten haben, den Inhalt der Tabelle zu verstehen.", +caption:"Beschriftung der Tabelle", +frame:"Rahmen", +frame_none:"keine", +frame_groups:"zwischen Gruppen", +frame_rows:"zwischen Zeilen", +frame_cols:"zwischen Spalten", +frame_all:"zwischen allen Zellen", +rules:"Gitter", +rules_void:"keins", +rules_above:"nur oben", +rules_below:"nur unten", +rules_hsides:"oben und unten", +rules_lhs:"nur links", +rules_rhs:"nur rechts", +rules_vsides:"links und rechts", +rules_box:"alle 4 Seiten (Box)", +rules_border:"alle 4 Seiten (Border)" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js old mode 100644 new mode 100755 index 000332a35d..a33c987c02 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js @@ -1,74 +1,74 @@ -tinyMCE.addI18n('en.table_dlg',{ -general_tab:"General", -advanced_tab:"Advanced", -general_props:"General properties", -advanced_props:"Advanced properties", -rowtype:"Row in table part", -title:"Insert/Modify table", -width:"Width", -height:"Height", -cols:"Cols", -rows:"Rows", -cellspacing:"Cellspacing", -cellpadding:"Cellpadding", -border:"Border", -align:"Alignment", -align_default:"Default", -align_left:"Left", -align_right:"Right", -align_middle:"Center", -row_title:"Table row properties", -cell_title:"Table cell properties", -cell_type:"Cell type", -valign:"Vertical alignment", -align_top:"Top", -align_bottom:"Bottom", -bordercolor:"Border color", -bgcolor:"Background color", -merge_cells_title:"Merge table cells", -id:"Id", -style:"Style", -langdir:"Language direction", -langcode:"Language code", -mime:"Target MIME type", -ltr:"Left to right", -rtl:"Right to left", -bgimage:"Background image", -summary:"Summary", -td:"Data", -th:"Header", -cell_cell:"Update current cell", -cell_row:"Update all cells in row", -cell_all:"Update all cells in table", -row_row:"Update current row", -row_odd:"Update odd rows in table", -row_even:"Update even rows in table", -row_all:"Update all rows in table", -thead:"Table Head", -tbody:"Table Body", -tfoot:"Table Foot", -scope:"Scope", -rowgroup:"Row Group", -colgroup:"Col Group", -col_limit:"You've exceeded the maximum number of columns of {$cols}.", -row_limit:"You've exceeded the maximum number of rows of {$rows}.", -cell_limit:"You've exceeded the maximum number of cells of {$cells}.", -missing_scope:"Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.", -caption:"Table caption", -frame:"Frame", -frame_none:"none", -frame_groups:"groups", -frame_rows:"rows", -frame_cols:"cols", -frame_all:"all", -rules:"Rules", -rules_void:"void", -rules_above:"above", -rules_below:"below", -rules_hsides:"hsides", -rules_lhs:"lhs", -rules_rhs:"rhs", -rules_vsides:"vsides", -rules_box:"box", -rules_border:"border" +tinyMCE.addI18n('en.table_dlg',{ +general_tab:"General", +advanced_tab:"Advanced", +general_props:"General properties", +advanced_props:"Advanced properties", +rowtype:"Row in table part", +title:"Insert/Modify table", +width:"Width", +height:"Height", +cols:"Cols", +rows:"Rows", +cellspacing:"Cellspacing", +cellpadding:"Cellpadding", +border:"Border", +align:"Alignment", +align_default:"Default", +align_left:"Left", +align_right:"Right", +align_middle:"Center", +row_title:"Table row properties", +cell_title:"Table cell properties", +cell_type:"Cell type", +valign:"Vertical alignment", +align_top:"Top", +align_bottom:"Bottom", +bordercolor:"Border color", +bgcolor:"Background color", +merge_cells_title:"Merge table cells", +id:"Id", +style:"Style", +langdir:"Language direction", +langcode:"Language code", +mime:"Target MIME type", +ltr:"Left to right", +rtl:"Right to left", +bgimage:"Background image", +summary:"Summary", +td:"Data", +th:"Header", +cell_cell:"Update current cell", +cell_row:"Update all cells in row", +cell_all:"Update all cells in table", +row_row:"Update current row", +row_odd:"Update odd rows in table", +row_even:"Update even rows in table", +row_all:"Update all rows in table", +thead:"Table Head", +tbody:"Table Body", +tfoot:"Table Foot", +scope:"Scope", +rowgroup:"Row Group", +colgroup:"Col Group", +col_limit:"You've exceeded the maximum number of columns of {$cols}.", +row_limit:"You've exceeded the maximum number of rows of {$rows}.", +cell_limit:"You've exceeded the maximum number of cells of {$cells}.", +missing_scope:"Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.", +caption:"Table caption", +frame:"Frame", +frame_none:"none", +frame_groups:"groups", +frame_rows:"rows", +frame_cols:"cols", +frame_all:"all", +rules:"Rules", +rules_void:"void", +rules_above:"above", +rules_below:"below", +rules_hsides:"hsides", +rules_lhs:"lhs", +rules_rhs:"rhs", +rules_vsides:"vsides", +rules_box:"box", +rules_border:"border" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/es_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/es_dlg.js old mode 100644 new mode 100755 index 53786c4864..8f85c489a7 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/es_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/es_dlg.js @@ -1,74 +1,74 @@ -tinyMCE.addI18n('es.table_dlg',{ -general_tab:"General", -advanced_tab:"Avanzado", -general_props:"Propiedades generales", -advanced_props:"Propiedades avanzadas", -rowtype:"Tipo de fila", -title:"Insertar/Modificar tabla", -width:"Ancho", -height:"Alto", -cols:"Cols", -rows:"Filas", -cellspacing:"Espaciado de celda", -cellpadding:"Relleno de celda", -border:"Borde", -align:"Alineaci\u00F3n", -align_default:"Predet.", -align_left:"Izquierda", -align_right:"Derecha", -align_middle:"Centrado", -row_title:"Propiedades de la fila", -cell_title:"Propiedades de la celda", -cell_type:"Tipo de celda", -valign:"Alineaci\u00F3n vertical", -align_top:"Arriba", -align_bottom:"Debajo", -bordercolor:"Color del borde", -bgcolor:"Color de fondo", -merge_cells_title:"Vincular celdas", -id:"Id", -style:"Estilo", -langdir:"Direcci\u00F3n del lenguaje", -langcode:"C\u00F3digo del lenguaje", -mime:"Tipo MIME", -ltr:"Izquierda a derecha", -rtl:"Derecha a izquierda", -bgimage:"Imagen de fondo", -summary:"Resumen", -td:"Datos", -th:"Encabezado", -cell_cell:"Actualizar celda actual", -cell_row:"Actualizar todas las celdas en la fila", -cell_all:"Actualizar todas las celdas en la tabla", -row_row:"Actualizar fila actual", -row_odd:"Actualizar filas impares", -row_even:"Actualizar filas pares", -row_all:"Actualizar todas las filas", -thead:"Encabezado de la tabla", -tbody:"Cuerpo de la tabla", -tfoot:"Pie de la tabla", -scope:"Alcance", -rowgroup:"Grupo de filas", -colgroup:"Grupo de columnas", -col_limit:"Ha superado el n\u00FAmero m\u00E1ximo de columnas: {$cols}.", -row_limit:"Ha superado el n\u00FAmero m\u00E1ximo de filas: {$rows}.", -cell_limit:"Ha superado el n\u00FAmero m\u00E1ximo de celdas: {$cells}.", -missing_scope:" \u00BFEst\u00E1 seguro que desea continuar sin especificar el alcance del encabezado de celda? Sin \u00E9l podr\u00EDa ser dificultoso para algunos usuarios entender el contenido o los datos mostrados en la tabla.", -caption:"Subt\u00EDtulo de la tabla", -frame:"Recuadro", -frame_none:"ninguno", -frame_groups:"grupos", -frame_rows:"filas", -frame_cols:"cols", -frame_all:"todos", -rules:"Reglas", -rules_void:"vac\u00EDo", -rules_above:"encima", -rules_below:"debajo", -rules_hsides:"hsides", -rules_lhs:"lhs", -rules_rhs:"rhs", -rules_vsides:"vsides", -rules_box:"box", -rules_border:"border" +tinyMCE.addI18n('es.table_dlg',{ +general_tab:"General", +advanced_tab:"Avanzado", +general_props:"Propiedades generales", +advanced_props:"Propiedades avanzadas", +rowtype:"Tipo de fila", +title:"Insertar/Modificar tabla", +width:"Ancho", +height:"Alto", +cols:"Cols", +rows:"Filas", +cellspacing:"Espaciado de celda", +cellpadding:"Relleno de celda", +border:"Borde", +align:"Alineaci\u00F3n", +align_default:"Predet.", +align_left:"Izquierda", +align_right:"Derecha", +align_middle:"Centrado", +row_title:"Propiedades de la fila", +cell_title:"Propiedades de la celda", +cell_type:"Tipo de celda", +valign:"Alineaci\u00F3n vertical", +align_top:"Arriba", +align_bottom:"Debajo", +bordercolor:"Color del borde", +bgcolor:"Color de fondo", +merge_cells_title:"Vincular celdas", +id:"Id", +style:"Estilo", +langdir:"Direcci\u00F3n del lenguaje", +langcode:"C\u00F3digo del lenguaje", +mime:"Tipo MIME", +ltr:"Izquierda a derecha", +rtl:"Derecha a izquierda", +bgimage:"Imagen de fondo", +summary:"Resumen", +td:"Datos", +th:"Encabezado", +cell_cell:"Actualizar celda actual", +cell_row:"Actualizar todas las celdas en la fila", +cell_all:"Actualizar todas las celdas en la tabla", +row_row:"Actualizar fila actual", +row_odd:"Actualizar filas impares", +row_even:"Actualizar filas pares", +row_all:"Actualizar todas las filas", +thead:"Encabezado de la tabla", +tbody:"Cuerpo de la tabla", +tfoot:"Pie de la tabla", +scope:"Alcance", +rowgroup:"Grupo de filas", +colgroup:"Grupo de columnas", +col_limit:"Ha superado el n\u00FAmero m\u00E1ximo de columnas: {$cols}.", +row_limit:"Ha superado el n\u00FAmero m\u00E1ximo de filas: {$rows}.", +cell_limit:"Ha superado el n\u00FAmero m\u00E1ximo de celdas: {$cells}.", +missing_scope:" \u00BFEst\u00E1 seguro que desea continuar sin especificar el alcance del encabezado de celda? Sin \u00E9l podr\u00EDa ser dificultoso para algunos usuarios entender el contenido o los datos mostrados en la tabla.", +caption:"Subt\u00EDtulo de la tabla", +frame:"Recuadro", +frame_none:"ninguno", +frame_groups:"grupos", +frame_rows:"filas", +frame_cols:"cols", +frame_all:"todos", +rules:"Reglas", +rules_void:"vac\u00EDo", +rules_above:"encima", +rules_below:"debajo", +rules_hsides:"hsides", +rules_lhs:"lhs", +rules_rhs:"rhs", +rules_vsides:"vsides", +rules_box:"box", +rules_border:"border" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/fa_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/fa_dlg.js old mode 100644 new mode 100755 index d59a5c77c4..5264dc683d --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/fa_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/fa_dlg.js @@ -1,74 +1,74 @@ -tinyMCE.addI18n('fa.table_dlg',{ -general_tab:"\u0639\u0645\u0648\u0645\u06CC", -advanced_tab:"\u067E\u06CC\u0634\u0631\u0641\u062A\u0647", -general_props:"\u0645\u0634\u062E\u0635\u0627\u062A \u0639\u0645\u0648\u0645\u06CC", -advanced_props:"\u0645\u0634\u062E\u0635\u0627\u062A \u067E\u06CC\u0634\u0631\u0641\u062A\u0647", -rowtype:"\u0633\u0637\u0631 \u062F\u0631 \u0628\u062E\u0634 \u062C\u062F\u0648\u0644", -title:"\u062F\u0631\u062C/\u0627\u0635\u0644\u0627\u062D \u062C\u062F\u0648\u0644", -width:"\u067E\u0647\u0646\u0627", -height:"\u0627\u0631\u062A\u0641\u0627\u0639", -cols:"\u0633\u062A\u0648\u0646 \u0647\u0627", -rows:"\u0633\u0637\u0631\u0647\u0627", -cellspacing:"\u0641\u0627\u0635\u0644\u0647 \u0633\u0644\u0648\u0644 \u0647\u0627", -cellpadding:"\u0644\u0627\u06CC\u0647 \u06AF\u0630\u0627\u0631\u06CC \u0633\u0644\u0648\u0644 \u0647\u0627", -border:"\u062D\u0627\u0634\u06CC\u0647", -align:"\u062A\u0631\u0627\u0632", -align_default:"\u067E\u06CC\u0634\u0641\u0631\u0636", -align_left:"\u0686\u067E", -align_right:"\u0631\u0627\u0633\u062A", -align_middle:"\u0648\u0633\u0637", -row_title:"\u0645\u0634\u062E\u0635\u0627\u062A \u0633\u0637\u0631 \u062C\u062F\u0648\u0644", -cell_title:"\u0645\u0634\u062E\u0635\u0627\u062A \u0633\u0644\u0648\u0644 \u062C\u062F\u0648\u0644", -cell_type:"\u0646\u0648\u0639 \u0633\u0644\u0648\u0644", -valign:"\u062A\u0631\u0627\u0632 \u0639\u0645\u0648\u062F\u06CC", -align_top:"\u0628\u0627\u0644\u0627", -align_bottom:"\u067E\u0627\u06CC\u06CC\u0646", -bordercolor:"\u0631\u0646\u06AF \u062D\u0627\u0634\u06CC\u0647", -bgcolor:"\u0631\u0646\u06AF \u0632\u0645\u06CC\u0646\u0647", -merge_cells_title:"\u0627\u062F\u063A\u0627\u0645 \u0633\u0644\u0648\u0644 \u0647\u0627\u06CC \u062C\u062F\u0648\u0644", -id:"\u0634\u0646\u0627\u0633\u0647", -style:"\u0627\u0633\u062A\u06CC\u0644", -langdir:"\u062C\u0647\u062A \u0632\u0628\u0627\u0646", -langcode:"\u06A9\u062F \u0632\u0628\u0627\u0646", -mime:"\u0646\u0648\u0639 MIME \u0645\u0642\u0635\u062F (Target)", -ltr:"\u0686\u067E \u0628\u0647 \u0631\u0627\u0633\u062A", -rtl:"\u0631\u0627\u0633\u062A \u0628\u0647 \u0686\u067E", -bgimage:"\u062A\u0635\u0648\u06CC\u0631 \u0632\u0645\u06CC\u0646\u0647", -summary:"\u062E\u0644\u0627\u0635\u0647", -td:"\u062F\u0627\u062F\u0647", -th:"\u0633\u0631 \u062C\u062F\u0648\u0644", -cell_cell:"\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06CC \u0633\u0644\u0648\u0644 \u0641\u0639\u0644\u06CC", -cell_row:"\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06CC \u062A\u0645\u0627\u0645\u06CC \u0633\u0644\u0648\u0644 \u0647\u0627\u06CC \u0633\u0637\u0631", -cell_all:"\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06CC \u062A\u0645\u0627\u0645\u06CC \u0633\u0644\u0648\u0644 \u0647\u0627\u06CC \u062C\u062F\u0648\u0644", -row_row:"\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06CC \u0633\u0637\u0631 \u0641\u0639\u0644\u06CC", -row_odd:"\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06CC \u0633\u0637\u0631\u0647\u0627\u06CC \u0641\u0631\u062F \u062F\u0631 \u062C\u062F\u0648\u0644", -row_even:"\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06CC \u0633\u0637\u0631\u0647\u0627\u06CC \u0632\u0648\u062C \u062F\u0631 \u062C\u062F\u0648\u0644", -row_all:"\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06CC \u062A\u0645\u0627\u0645\u06CC \u0633\u0637\u0631\u0647\u0627 \u062F\u0631 \u062C\u062F\u0648\u0644", -thead:"\u0628\u0627\u0644\u0627\u06CC \u062C\u062F\u0648\u0644", -tbody:"\u0628\u062F\u0646\u0647 \u062C\u062F\u0648\u0644", -tfoot:"\u067E\u0627\u06CC\u06CC\u0646 \u062C\u062F\u0648\u0644", -scope:"\u0645\u062D\u062F\u0648\u062F\u0647", -rowgroup:"\u06AF\u0631\u0648\u0647 \u0633\u0637\u0631", -colgroup:"\u06AF\u0631\u0648\u0647 \u0633\u062A\u0648\u0646", -col_limit:"\u0634\u0645\u0627 \u0627\u0632 \u062A\u0639\u062F\u0627\u062F \u062D\u062F\u0627\u06A9\u062B\u0631 {$cols} \u0633\u062A\u0648\u0646 \u062A\u062C\u0627\u0648\u0632 \u06A9\u0631\u062F\u06CC\u062F.", -row_limit:"\u0634\u0645\u0627 \u0627\u0632 \u062A\u0639\u062F\u0627\u062F \u062D\u062F\u0627\u06A9\u062B\u0631 {$rows} \u0633\u0637\u0631 \u062A\u062C\u0627\u0648\u0632 \u06A9\u0631\u062F\u06CC\u062F.", -cell_limit:"\u0634\u0645\u0627 \u0627\u0632 \u062A\u0639\u062F\u0627\u062F \u062D\u062F\u0627\u06A9\u062B\u0631 {$cells} \u0633\u0644\u0648\u0644 \u062A\u062C\u0627\u0648\u0632 \u06A9\u0631\u062F\u06CC\u062F.", -missing_scope:"\u0622\u06CC\u0627 \u0628\u062F\u0648\u0646 \u062A\u0639\u06CC\u06CC\u0646 \u0645\u062D\u062F\u0648\u062F\u0647 \u0628\u0631\u0627\u06CC \u0633\u0644\u0648\u0644 \u0639\u0646\u0648\u0627\u0646 \u062C\u062F\u0648\u0644\u060C \u0627\u062F\u0627\u0645\u0647 \u0645\u06CC \u062F\u0647\u06CC\u062F\u061F. \u0628\u062F\u0648\u0646 \u0627\u06CC\u0646 \u06A9\u0627\u0631 \u060C \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u062F\u0631\u06A9 \u0645\u062D\u062A\u0648\u0627 \u06CC\u0627 \u062F\u0627\u062F\u0647 \u0647\u0627 \u0628\u0631\u0627\u06CC \u0628\u0639\u0636\u06CC \u0627\u0632 \u06A9\u0627\u0631\u0628\u0631\u0627\u0646 \u0645\u0634\u06A9\u0644 \u0628\u0627\u0634\u062F.", -caption:"\u0639\u0646\u0648\u0627\u0646 \u062C\u062F\u0648\u0644", -frame:"\u0642\u0627\u0628 (Frame)", -frame_none:"\u0647\u06CC\u0686 \u06A9\u062F\u0627\u0645", -frame_groups:"\u06AF\u0631\u0648\u0647 \u0647\u0627", -frame_rows:"\u0633\u0637\u0631\u0647\u0627", -frame_cols:"\u0633\u062A\u0648\u0646 \u0647\u0627", -frame_all:"\u0647\u0645\u0647", -rules:"\u062E\u0637 \u0647\u0627", -rules_void:"\u062E\u0627\u0644\u06CC", -rules_above:"\u0628\u0627\u0644\u0627", -rules_below:"\u067E\u0627\u06CC\u06CC\u0646", -rules_hsides:"hsides", -rules_lhs:"lhs", -rules_rhs:"rhs", -rules_vsides:"vsides", -rules_box:"\u062C\u0639\u0628\u0647", -rules_border:"\u062D\u0627\u0634\u06CC\u0647" +tinyMCE.addI18n('fa.table_dlg',{ +general_tab:"\u0639\u0645\u0648\u0645\u06CC", +advanced_tab:"\u067E\u06CC\u0634\u0631\u0641\u062A\u0647", +general_props:"\u0645\u0634\u062E\u0635\u0627\u062A \u0639\u0645\u0648\u0645\u06CC", +advanced_props:"\u0645\u0634\u062E\u0635\u0627\u062A \u067E\u06CC\u0634\u0631\u0641\u062A\u0647", +rowtype:"\u0633\u0637\u0631 \u062F\u0631 \u0628\u062E\u0634 \u062C\u062F\u0648\u0644", +title:"\u062F\u0631\u062C/\u0627\u0635\u0644\u0627\u062D \u062C\u062F\u0648\u0644", +width:"\u067E\u0647\u0646\u0627", +height:"\u0627\u0631\u062A\u0641\u0627\u0639", +cols:"\u0633\u062A\u0648\u0646 \u0647\u0627", +rows:"\u0633\u0637\u0631\u0647\u0627", +cellspacing:"\u0641\u0627\u0635\u0644\u0647 \u0633\u0644\u0648\u0644 \u0647\u0627", +cellpadding:"\u0644\u0627\u06CC\u0647 \u06AF\u0630\u0627\u0631\u06CC \u0633\u0644\u0648\u0644 \u0647\u0627", +border:"\u062D\u0627\u0634\u06CC\u0647", +align:"\u062A\u0631\u0627\u0632", +align_default:"\u067E\u06CC\u0634\u0641\u0631\u0636", +align_left:"\u0686\u067E", +align_right:"\u0631\u0627\u0633\u062A", +align_middle:"\u0648\u0633\u0637", +row_title:"\u0645\u0634\u062E\u0635\u0627\u062A \u0633\u0637\u0631 \u062C\u062F\u0648\u0644", +cell_title:"\u0645\u0634\u062E\u0635\u0627\u062A \u0633\u0644\u0648\u0644 \u062C\u062F\u0648\u0644", +cell_type:"\u0646\u0648\u0639 \u0633\u0644\u0648\u0644", +valign:"\u062A\u0631\u0627\u0632 \u0639\u0645\u0648\u062F\u06CC", +align_top:"\u0628\u0627\u0644\u0627", +align_bottom:"\u067E\u0627\u06CC\u06CC\u0646", +bordercolor:"\u0631\u0646\u06AF \u062D\u0627\u0634\u06CC\u0647", +bgcolor:"\u0631\u0646\u06AF \u0632\u0645\u06CC\u0646\u0647", +merge_cells_title:"\u0627\u062F\u063A\u0627\u0645 \u0633\u0644\u0648\u0644 \u0647\u0627\u06CC \u062C\u062F\u0648\u0644", +id:"\u0634\u0646\u0627\u0633\u0647", +style:"\u0627\u0633\u062A\u06CC\u0644", +langdir:"\u062C\u0647\u062A \u0632\u0628\u0627\u0646", +langcode:"\u06A9\u062F \u0632\u0628\u0627\u0646", +mime:"\u0646\u0648\u0639 MIME \u0645\u0642\u0635\u062F (Target)", +ltr:"\u0686\u067E \u0628\u0647 \u0631\u0627\u0633\u062A", +rtl:"\u0631\u0627\u0633\u062A \u0628\u0647 \u0686\u067E", +bgimage:"\u062A\u0635\u0648\u06CC\u0631 \u0632\u0645\u06CC\u0646\u0647", +summary:"\u062E\u0644\u0627\u0635\u0647", +td:"\u062F\u0627\u062F\u0647", +th:"\u0633\u0631 \u062C\u062F\u0648\u0644", +cell_cell:"\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06CC \u0633\u0644\u0648\u0644 \u0641\u0639\u0644\u06CC", +cell_row:"\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06CC \u062A\u0645\u0627\u0645\u06CC \u0633\u0644\u0648\u0644 \u0647\u0627\u06CC \u0633\u0637\u0631", +cell_all:"\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06CC \u062A\u0645\u0627\u0645\u06CC \u0633\u0644\u0648\u0644 \u0647\u0627\u06CC \u062C\u062F\u0648\u0644", +row_row:"\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06CC \u0633\u0637\u0631 \u0641\u0639\u0644\u06CC", +row_odd:"\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06CC \u0633\u0637\u0631\u0647\u0627\u06CC \u0641\u0631\u062F \u062F\u0631 \u062C\u062F\u0648\u0644", +row_even:"\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06CC \u0633\u0637\u0631\u0647\u0627\u06CC \u0632\u0648\u062C \u062F\u0631 \u062C\u062F\u0648\u0644", +row_all:"\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06CC \u062A\u0645\u0627\u0645\u06CC \u0633\u0637\u0631\u0647\u0627 \u062F\u0631 \u062C\u062F\u0648\u0644", +thead:"\u0628\u0627\u0644\u0627\u06CC \u062C\u062F\u0648\u0644", +tbody:"\u0628\u062F\u0646\u0647 \u062C\u062F\u0648\u0644", +tfoot:"\u067E\u0627\u06CC\u06CC\u0646 \u062C\u062F\u0648\u0644", +scope:"\u0645\u062D\u062F\u0648\u062F\u0647", +rowgroup:"\u06AF\u0631\u0648\u0647 \u0633\u0637\u0631", +colgroup:"\u06AF\u0631\u0648\u0647 \u0633\u062A\u0648\u0646", +col_limit:"\u0634\u0645\u0627 \u0627\u0632 \u062A\u0639\u062F\u0627\u062F \u062D\u062F\u0627\u06A9\u062B\u0631 {$cols} \u0633\u062A\u0648\u0646 \u062A\u062C\u0627\u0648\u0632 \u06A9\u0631\u062F\u06CC\u062F.", +row_limit:"\u0634\u0645\u0627 \u0627\u0632 \u062A\u0639\u062F\u0627\u062F \u062D\u062F\u0627\u06A9\u062B\u0631 {$rows} \u0633\u0637\u0631 \u062A\u062C\u0627\u0648\u0632 \u06A9\u0631\u062F\u06CC\u062F.", +cell_limit:"\u0634\u0645\u0627 \u0627\u0632 \u062A\u0639\u062F\u0627\u062F \u062D\u062F\u0627\u06A9\u062B\u0631 {$cells} \u0633\u0644\u0648\u0644 \u062A\u062C\u0627\u0648\u0632 \u06A9\u0631\u062F\u06CC\u062F.", +missing_scope:"\u0622\u06CC\u0627 \u0628\u062F\u0648\u0646 \u062A\u0639\u06CC\u06CC\u0646 \u0645\u062D\u062F\u0648\u062F\u0647 \u0628\u0631\u0627\u06CC \u0633\u0644\u0648\u0644 \u0639\u0646\u0648\u0627\u0646 \u062C\u062F\u0648\u0644\u060C \u0627\u062F\u0627\u0645\u0647 \u0645\u06CC \u062F\u0647\u06CC\u062F\u061F. \u0628\u062F\u0648\u0646 \u0627\u06CC\u0646 \u06A9\u0627\u0631 \u060C \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u062F\u0631\u06A9 \u0645\u062D\u062A\u0648\u0627 \u06CC\u0627 \u062F\u0627\u062F\u0647 \u0647\u0627 \u0628\u0631\u0627\u06CC \u0628\u0639\u0636\u06CC \u0627\u0632 \u06A9\u0627\u0631\u0628\u0631\u0627\u0646 \u0645\u0634\u06A9\u0644 \u0628\u0627\u0634\u062F.", +caption:"\u0639\u0646\u0648\u0627\u0646 \u062C\u062F\u0648\u0644", +frame:"\u0642\u0627\u0628 (Frame)", +frame_none:"\u0647\u06CC\u0686 \u06A9\u062F\u0627\u0645", +frame_groups:"\u06AF\u0631\u0648\u0647 \u0647\u0627", +frame_rows:"\u0633\u0637\u0631\u0647\u0627", +frame_cols:"\u0633\u062A\u0648\u0646 \u0647\u0627", +frame_all:"\u0647\u0645\u0647", +rules:"\u062E\u0637 \u0647\u0627", +rules_void:"\u062E\u0627\u0644\u06CC", +rules_above:"\u0628\u0627\u0644\u0627", +rules_below:"\u067E\u0627\u06CC\u06CC\u0646", +rules_hsides:"hsides", +rules_lhs:"lhs", +rules_rhs:"rhs", +rules_vsides:"vsides", +rules_box:"\u062C\u0639\u0628\u0647", +rules_border:"\u062D\u0627\u0634\u06CC\u0647" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/fi_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/fi_dlg.js old mode 100644 new mode 100755 index 8a0fca1f68..14d7fb7aa9 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/fi_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/fi_dlg.js @@ -1,74 +1,74 @@ -tinyMCE.addI18n('fi.table_dlg',{ -general_tab:"Yleiset", -advanced_tab:"Edistynyt", -general_props:"Yleiset asetukset", -advanced_props:"Edistyneet asetukset", -rowtype:"Rivi taulukon osassa", -title:"Lis\u00E4\u00E4/muokkaa taulukkoa", -width:"Leveys", -height:"Korkeus", -cols:"Sarakkeet", -rows:"Rivit", -cellspacing:"Solun v\u00E4li", -cellpadding:"Solun tyhj\u00E4 tila", -border:"Kehys", -align:"Tasaus", -align_default:"Oletus", -align_left:"Vasen", -align_right:"Oikea", -align_middle:"Keskitetty", -row_title:"Taulukon rivin asetukset", -cell_title:"Taulukon solun asetukset", -cell_type:"Solun tyyppi", -valign:"Pystysuunnan tasaus", -align_top:"Yl\u00F6s", -align_bottom:"Alas", -bordercolor:"Kehyksen v\u00E4ri", -bgcolor:"Taustan v\u00E4ri", -merge_cells_title:"Yhdist\u00E4 taulukon solut", -id:"Id", -style:"Tyyli", -langdir:"Kielen suunta", -langcode:"Kielen koodi", -mime:"Kohteen MIME-tyyppi", -ltr:"Vasemmalta oikealle", -rtl:"Oikealta vasemmalle", -bgimage:"Taustakuva", -summary:"Yhteenveto", -td:"Tietue", -th:"Otsake", -cell_cell:"P\u00E4ivit\u00E4 solu", -cell_row:"P\u00E4ivit\u00E4 kaikki rivin solut", -cell_all:"P\u00E4ivit\u00E4 kaikki taulukon solut", -row_row:"P\u00E4ivit\u00E4 rivi", -row_odd:"P\u00E4ivit\u00E4 taulukon parittomat rivit", -row_even:"P\u00E4ivit\u00E4 taulukon parilliset rivit", -row_all:"P\u00E4ivit\u00E4 kaikki taulukon rivit", -thead:"Taulukon otsake", -tbody:"Taulukon runko", -tfoot:"Taulukon alaosa", -scope:"Tila", -rowgroup:"Rivi ryhm\u00E4", -colgroup:"Sarake ryhm\u00E4", -col_limit:"Olet ylitt\u00E4nyt suurimman sallitun m\u00E4\u00E4r\u00E4n sarakkeita {$cols}.", -row_limit:"Olet ylitt\u00E4nyt suurimman sallitun m\u00E4\u00E4r\u00E4n rivej\u00E4 {$rows}.", -cell_limit:"Olet ylitt\u00E4nyt suurimman sallitun m\u00E4\u00E4r\u00E4n soluja {$cells}.", -missing_scope:"Haluatko varmasti jatkaa m\u00E4\u00E4ritt\u00E4m\u00E4tt\u00E4 tilaa t\u00E4lle taulukon otsakesolulle? Ilman sit\u00E4 joidenkin k\u00E4ytt\u00E4jien voi olla vaikea ymm\u00E4rt\u00E4\u00E4 taulukon sis\u00E4lt\u00E4m\u00E4\u00E4 informaatiota.", -caption:"Taulukon seloste", -frame:"kehys", -frame_none:"ei mit\u00E4\u00E4n", -frame_groups:"ryhm\u00E4t", -frame_rows:"rivit", -frame_cols:"sarakkeet", -frame_all:"kaikki", -rules:"S\u00E4\u00E4nn\u00F6t", -rules_void:"tyhj\u00E4", -rules_above:"yl\u00E4puoli", -rules_below:"alapuoli", -rules_hsides:"vaakasuorat reunat", -rules_lhs:"lhs", -rules_rhs:"rhs", -rules_vsides:"pystysuorat reunat", -rules_box:"laatikko", -rules_border:"kehys" +tinyMCE.addI18n('fi.table_dlg',{ +general_tab:"Yleiset", +advanced_tab:"Edistynyt", +general_props:"Yleiset asetukset", +advanced_props:"Edistyneet asetukset", +rowtype:"Rivi taulukon osassa", +title:"Lis\u00E4\u00E4/muokkaa taulukkoa", +width:"Leveys", +height:"Korkeus", +cols:"Sarakkeet", +rows:"Rivit", +cellspacing:"Solun v\u00E4li", +cellpadding:"Solun tyhj\u00E4 tila", +border:"Kehys", +align:"Tasaus", +align_default:"Oletus", +align_left:"Vasen", +align_right:"Oikea", +align_middle:"Keskitetty", +row_title:"Taulukon rivin asetukset", +cell_title:"Taulukon solun asetukset", +cell_type:"Solun tyyppi", +valign:"Pystysuunnan tasaus", +align_top:"Yl\u00F6s", +align_bottom:"Alas", +bordercolor:"Kehyksen v\u00E4ri", +bgcolor:"Taustan v\u00E4ri", +merge_cells_title:"Yhdist\u00E4 taulukon solut", +id:"Id", +style:"Tyyli", +langdir:"Kielen suunta", +langcode:"Kielen koodi", +mime:"Kohteen MIME-tyyppi", +ltr:"Vasemmalta oikealle", +rtl:"Oikealta vasemmalle", +bgimage:"Taustakuva", +summary:"Yhteenveto", +td:"Tietue", +th:"Otsake", +cell_cell:"P\u00E4ivit\u00E4 solu", +cell_row:"P\u00E4ivit\u00E4 kaikki rivin solut", +cell_all:"P\u00E4ivit\u00E4 kaikki taulukon solut", +row_row:"P\u00E4ivit\u00E4 rivi", +row_odd:"P\u00E4ivit\u00E4 taulukon parittomat rivit", +row_even:"P\u00E4ivit\u00E4 taulukon parilliset rivit", +row_all:"P\u00E4ivit\u00E4 kaikki taulukon rivit", +thead:"Taulukon otsake", +tbody:"Taulukon runko", +tfoot:"Taulukon alaosa", +scope:"Tila", +rowgroup:"Rivi ryhm\u00E4", +colgroup:"Sarake ryhm\u00E4", +col_limit:"Olet ylitt\u00E4nyt suurimman sallitun m\u00E4\u00E4r\u00E4n sarakkeita {$cols}.", +row_limit:"Olet ylitt\u00E4nyt suurimman sallitun m\u00E4\u00E4r\u00E4n rivej\u00E4 {$rows}.", +cell_limit:"Olet ylitt\u00E4nyt suurimman sallitun m\u00E4\u00E4r\u00E4n soluja {$cells}.", +missing_scope:"Haluatko varmasti jatkaa m\u00E4\u00E4ritt\u00E4m\u00E4tt\u00E4 tilaa t\u00E4lle taulukon otsakesolulle? Ilman sit\u00E4 joidenkin k\u00E4ytt\u00E4jien voi olla vaikea ymm\u00E4rt\u00E4\u00E4 taulukon sis\u00E4lt\u00E4m\u00E4\u00E4 informaatiota.", +caption:"Taulukon seloste", +frame:"kehys", +frame_none:"ei mit\u00E4\u00E4n", +frame_groups:"ryhm\u00E4t", +frame_rows:"rivit", +frame_cols:"sarakkeet", +frame_all:"kaikki", +rules:"S\u00E4\u00E4nn\u00F6t", +rules_void:"tyhj\u00E4", +rules_above:"yl\u00E4puoli", +rules_below:"alapuoli", +rules_hsides:"vaakasuorat reunat", +rules_lhs:"lhs", +rules_rhs:"rhs", +rules_vsides:"pystysuorat reunat", +rules_box:"laatikko", +rules_border:"kehys" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/fr_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/fr_dlg.js old mode 100644 new mode 100755 index a8bda8d436..f3844fc89c --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/fr_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/fr_dlg.js @@ -1,74 +1,74 @@ -tinyMCE.addI18n('fr.table_dlg',{ -general_tab:"G\u00E9n\u00E9ral", -advanced_tab:"Avanc\u00E9", -general_props:"Propri\u00E9t\u00E9s g\u00E9n\u00E9rales", -advanced_props:"Propri\u00E9t\u00E9s avanc\u00E9es", -rowtype:"Type de ligne", -title:"Ins\u00E9rer / modifier un tableau", -width:"Largeur", -height:"Hauteur", -cols:"Colonnes", -rows:"Lignes", -cellspacing:"Espacement entre les cellules", -cellpadding:"Espacement dans les cellules", -border:"Bordure", -align:"Alignement", -align_default:"Par d\u00E9faut", -align_left:"Gauche", -align_right:"Droite", -align_middle:"Centr\u00E9", -row_title:"Propri\u00E9t\u00E9s de la ligne", -cell_title:"Propri\u00E9t\u00E9s de la cellule", -cell_type:"Type de cellule", -valign:"Alignement vertical", -align_top:"Haut", -align_bottom:"Bas", -bordercolor:"Couleur de la bordure", -bgcolor:"Couleur du fond", -merge_cells_title:"Fusionner les cellules", -id:"Id", -style:"Style", -langdir:"Sens de lecture", -langcode:"Code de la langue", -mime:"Type MIME de la cible", -ltr:"De gauche \u00E0 droite", -rtl:"de droite \u00E0 gauche", -bgimage:"Image de fond", -summary:"R\u00E9sum\u00E9", -td:"Donn\u00E9es", -th:"Titre", -cell_cell:"Mettre \u00E0 jour la cellule courante", -cell_row:"Mettre \u00E0 jour toutes les cellules de la ligne", -cell_all:"Mettre \u00E0 jour toutes les cellules du tableau", -row_row:"Mettre \u00E0 jour la ligne courante", -row_odd:"Mettre \u00E0 jour les lignes impaires", -row_even:"Mettre \u00E0 jour les lignes paires", -row_all:"Mettre \u00E0 jour toutes les lignes du tableau", -thead:"En-t\u00EAtes de tableau", -tbody:"Corps de tableau", -tfoot:"Pied de tableau", -scope:"Port\u00E9e", -rowgroup:"Groupe de lignes", -colgroup:"Groupe de colonnes", -col_limit:"Vous avez d\u00E9pass\u00E9 le nombre maximum de colonnes ({$cols}).", -row_limit:"Vous avez d\u00E9pass\u00E9 le nombre maximum de lignes ({$rows}).", -cell_limit:"Vous avez d\u00E9pass\u00E9 le nombre maximum de cellules ({$cells}).", -missing_scope:"\u00CAtes-vous s\u00FBr de vouloir continuer sans sp\u00E9cifier de port\u00E9e pour cette cellule de titre ? Sans port\u00E9e, cela peut \u00EAtre difficile pour certains utilisateurs de comprendre le contenu ou les donn\u00E9es affich\u00E9es dans le tableau.", -caption:"Afficher la l\u00E9gende du tableau", -frame:"Cadre", -frame_none:"aucun", -frame_groups:"groupe", -frame_rows:"lignes", -frame_cols:"colonnes", -frame_all:"tous", -rules:"R\u00E8gles", -rules_void:"aucune", -rules_above:"au-dessus", -rules_below:"au-dessous", -rules_hsides:"horizontales", -rules_lhs:"\u00E0 gauche", -rules_rhs:"\u00E0 droite", -rules_vsides:"verticales", -rules_box:"bo\u00EEte", -rules_border:"bordure" +tinyMCE.addI18n('fr.table_dlg',{ +general_tab:"G\u00E9n\u00E9ral", +advanced_tab:"Avanc\u00E9", +general_props:"Propri\u00E9t\u00E9s g\u00E9n\u00E9rales", +advanced_props:"Propri\u00E9t\u00E9s avanc\u00E9es", +rowtype:"Type de ligne", +title:"Ins\u00E9rer / modifier un tableau", +width:"Largeur", +height:"Hauteur", +cols:"Colonnes", +rows:"Lignes", +cellspacing:"Espacement entre les cellules", +cellpadding:"Espacement dans les cellules", +border:"Bordure", +align:"Alignement", +align_default:"Par d\u00E9faut", +align_left:"Gauche", +align_right:"Droite", +align_middle:"Centr\u00E9", +row_title:"Propri\u00E9t\u00E9s de la ligne", +cell_title:"Propri\u00E9t\u00E9s de la cellule", +cell_type:"Type de cellule", +valign:"Alignement vertical", +align_top:"Haut", +align_bottom:"Bas", +bordercolor:"Couleur de la bordure", +bgcolor:"Couleur du fond", +merge_cells_title:"Fusionner les cellules", +id:"Id", +style:"Style", +langdir:"Sens de lecture", +langcode:"Code de la langue", +mime:"Type MIME de la cible", +ltr:"De gauche \u00E0 droite", +rtl:"de droite \u00E0 gauche", +bgimage:"Image de fond", +summary:"R\u00E9sum\u00E9", +td:"Donn\u00E9es", +th:"Titre", +cell_cell:"Mettre \u00E0 jour la cellule courante", +cell_row:"Mettre \u00E0 jour toutes les cellules de la ligne", +cell_all:"Mettre \u00E0 jour toutes les cellules du tableau", +row_row:"Mettre \u00E0 jour la ligne courante", +row_odd:"Mettre \u00E0 jour les lignes impaires", +row_even:"Mettre \u00E0 jour les lignes paires", +row_all:"Mettre \u00E0 jour toutes les lignes du tableau", +thead:"En-t\u00EAtes de tableau", +tbody:"Corps de tableau", +tfoot:"Pied de tableau", +scope:"Port\u00E9e", +rowgroup:"Groupe de lignes", +colgroup:"Groupe de colonnes", +col_limit:"Vous avez d\u00E9pass\u00E9 le nombre maximum de colonnes ({$cols}).", +row_limit:"Vous avez d\u00E9pass\u00E9 le nombre maximum de lignes ({$rows}).", +cell_limit:"Vous avez d\u00E9pass\u00E9 le nombre maximum de cellules ({$cells}).", +missing_scope:"\u00CAtes-vous s\u00FBr de vouloir continuer sans sp\u00E9cifier de port\u00E9e pour cette cellule de titre ? Sans port\u00E9e, cela peut \u00EAtre difficile pour certains utilisateurs de comprendre le contenu ou les donn\u00E9es affich\u00E9es dans le tableau.", +caption:"Afficher la l\u00E9gende du tableau", +frame:"Cadre", +frame_none:"aucun", +frame_groups:"groupe", +frame_rows:"lignes", +frame_cols:"colonnes", +frame_all:"tous", +rules:"R\u00E8gles", +rules_void:"aucune", +rules_above:"au-dessus", +rules_below:"au-dessous", +rules_hsides:"horizontales", +rules_lhs:"\u00E0 gauche", +rules_rhs:"\u00E0 droite", +rules_vsides:"verticales", +rules_box:"bo\u00EEte", +rules_border:"bordure" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/he_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/he_dlg.js old mode 100644 new mode 100755 index 8a74e90dd4..0100339867 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/he_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/he_dlg.js @@ -1,74 +1,74 @@ -tinyMCE.addI18n('he.table_dlg',{ -general_tab:"\u05DB\u05DC\u05DC\u05D9", -advanced_tab:"\u05DE\u05EA\u05E7\u05D3\u05DD", -general_props:"\u05EA\u05DB\u05D5\u05E0\u05D5\u05EA \u05DB\u05DC\u05DC\u05D9\u05D5\u05EA", -advanced_props:"\u05EA\u05DB\u05D5\u05E0\u05D5\u05EA \u05DE\u05EA\u05E7\u05D3\u05DE\u05D5\u05EA", -rowtype:"\u05E1\u05D5\u05D2 \u05D4\u05E9\u05D5\u05E8\u05D4 \u05D1\u05D8\u05D1\u05DC\u05D4", -title:"\u05D4\u05D5\u05E1\u05E4\u05EA/\u05E2\u05E8\u05D9\u05DB\u05EA \u05D8\u05D1\u05DC\u05D4", -width:"\u05E8\u05D5\u05D7\u05D1", -height:"\u05D2\u05D5\u05D1\u05D4", -cols:"\u05E2\u05DE\u05D5\u05D3\u05D5\u05EA", -rows:"\u05E9\u05D5\u05E8\u05D5\u05EA", -cellspacing:"Cellspacing", -cellpadding:"Cellpadding", -border:"\u05D2\u05D1\u05D5\u05DC", -align:"\u05D9\u05E9\u05D5\u05E8 \u05D0\u05D5\u05E4\u05E7\u05D9", -align_default:"Default", -align_left:"\u05DC\u05E9\u05DE\u05D0\u05DC", -align_right:"\u05DC\u05D9\u05DE\u05D9\u05DF", -align_middle:"\u05D0\u05DE\u05E6\u05E2", -row_title:"\u05EA\u05DB\u05D5\u05E0\u05D5\u05EA \u05E9\u05D5\u05E8\u05D4 \u05D1\u05D8\u05D1\u05DC\u05D4", -cell_title:"\u05EA\u05DB\u05D5\u05E0\u05D5\u05EA \u05EA\u05D0 \u05D1\u05D8\u05D1\u05DC\u05D4", -cell_type:"\u05E1\u05D2\u05E0\u05D5\u05DF \u05D4\u05EA\u05D0", -valign:"\u05D9\u05E9\u05D5\u05E8 \u05D0\u05E0\u05DB\u05D9", -align_top:"\u05E2\u05DC\u05D9\u05D5\u05DF", -align_bottom:"\u05EA\u05D7\u05EA\u05D9\u05EA", -bordercolor:"\u05E6\u05D1\u05E2 \u05D4\u05D2\u05D1\u05D5\u05DC", -bgcolor:"\u05E6\u05D1\u05E2 \u05D4\u05E8\u05E7\u05E2", -merge_cells_title:"\u05D0\u05D7\u05D3 \u05EA\u05D0\u05D9\u05DD \u05D1\u05D8\u05D1\u05DC\u05D4", -id:"Id", -style:"\u05E2\u05D9\u05E6\u05D5\u05D1", -langdir:"\u05DB\u05D9\u05D5\u05D5\u05DF \u05D4\u05E9\u05E4\u05D4", -langcode:"\u05E7\u05D5\u05D3 \u05D4\u05E9\u05E4\u05D4", -mime:"Target MIME type", -ltr:"\u05DE\u05E9\u05DE\u05D0\u05DC \u05DC\u05D9\u05DE\u05D9\u05DF", -rtl:"\u05DE\u05D9\u05DE\u05D9\u05DF \u05DC\u05E9\u05DE\u05D0\u05DC", -bgimage:"\u05EA\u05DE\u05D5\u05E0\u05EA \u05E8\u05E7\u05E2", -summary:"\u05EA\u05DE\u05E6\u05D9\u05EA", -td:"\u05EA\u05D0 \u05DE\u05D9\u05D3\u05E2", -th:"\u05DB\u05D5\u05EA\u05E8\u05EA", -cell_cell:"\u05E2\u05D3\u05DB\u05D5\u05DF \u05EA\u05D0 \u05E0\u05D5\u05DB\u05D7\u05D9", -cell_row:"\u05E2\u05D3\u05DB\u05D5\u05DF \u05DB\u05DC \u05EA\u05D0\u05D9 \u05D4\u05E9\u05D5\u05E8\u05D4", -cell_all:"\u05E2\u05D3\u05DB\u05D5\u05DF \u05DB\u05DC \u05EA\u05D0\u05D9 \u05D4\u05D8\u05D1\u05DC\u05D4", -row_row:"\u05E2\u05D3\u05DB\u05D5\u05DF \u05E9\u05D5\u05E8\u05D4 \u05E0\u05D5\u05DB\u05D7\u05D9\u05EA", -row_odd:"\u05E2\u05D3\u05DB\u05D5\u05DF \u05E9\u05D5\u05E8\u05D5\u05EA \u05D0\u05D9-\u05D6\u05D5\u05D2\u05D9\u05D5\u05EA \u05D1\u05D8\u05D1\u05DC\u05D4", -row_even:"\u05E2\u05D3\u05DB\u05D5\u05DF \u05E9\u05D5\u05E8\u05D5\u05EA \u05D6\u05D5\u05D2\u05D9\u05D5\u05EA \u05D1\u05D8\u05D1\u05DC\u05D4", -row_all:"\u05E2\u05D3\u05DB\u05D5\u05DF\u05DB\u05DC \u05D4\u05E9\u05D5\u05E8\u05D5\u05EA \u05D1\u05D8\u05D1\u05DC\u05D4", -thead:"\u05E9\u05D5\u05E8\u05EA \u05DB\u05D5\u05EA\u05E8\u05EA", -tbody:"\u05E9\u05D5\u05E8\u05D4 \u05E8\u05D2\u05D9\u05DC\u05D4", -tfoot:"\u05E9\u05D5\u05E8\u05D4 \u05EA\u05D7\u05EA\u05D9\u05EA", -scope:"Scope", -rowgroup:"Row Group", -colgroup:"Col Group", -col_limit:"\u05D7\u05E8\u05D9\u05D2\u05D4 \u05DE\u05DE\u05E1\u05E4\u05E8 \u05D4\u05E2\u05DE\u05D5\u05D3\u05D5\u05EA \u05D4\u05DE\u05E7\u05E1\u05D9\u05DE\u05D0\u05DC\u05D9 \u05E9\u05DC {$cols}.", -row_limit:"\u05D7\u05E8\u05D9\u05D2\u05D4 \u05DE\u05DE\u05E1\u05E4\u05E8 \u05D4\u05DE\u05E7\u05E1\u05D9\u05DE\u05D0\u05DC\u05D9 \u05E9\u05DC \u05D4\u05E9\u05D5\u05E8\u05D5\u05EA \u05E9\u05DC {$rows}.", -cell_limit:"\u05D7\u05E8\u05D9\u05D2\u05D4 \u05DE\u05DE\u05E1\u05E4\u05E8 \u05D4\u05DE\u05E7\u05E1\u05D9\u05DE\u05D0\u05DC\u05D9 \u05E9\u05DC \u05D4\u05EA\u05D0\u05D9\u05DD \u05D1\u05D8\u05D1\u05DC\u05D4 \u05E9\u05DC {$cells}.", -missing_scope:"Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.", -caption:"\u05DB\u05D5\u05EA\u05E8\u05EA \u05D4\u05D8\u05D1\u05DC\u05D4", -frame:"Frame", -frame_none:"\u05DC\u05DC\u05D0", -frame_groups:"\u05E7\u05D1\u05D5\u05E6\u05D5\u05EA", -frame_rows:"\u05E9\u05D5\u05E8\u05D5\u05EA", -frame_cols:"\u05E2\u05DE\u05D5\u05D3\u05D5\u05EA", -frame_all:"\u05D4\u05DB\u05D5\u05DC", -rules:"\u05D7\u05D5\u05E7\u05D9\u05DD", -rules_void:"void", -rules_above:"\u05DE\u05E2\u05DC", -rules_below:"\u05DE\u05EA\u05D7\u05EA", -rules_hsides:"hsides", -rules_lhs:"lhs", -rules_rhs:"rhs", -rules_vsides:"vsides", -rules_box:"box", -rules_border:"\u05D2\u05D1\u05D5\u05DC" +tinyMCE.addI18n('he.table_dlg',{ +general_tab:"\u05DB\u05DC\u05DC\u05D9", +advanced_tab:"\u05DE\u05EA\u05E7\u05D3\u05DD", +general_props:"\u05EA\u05DB\u05D5\u05E0\u05D5\u05EA \u05DB\u05DC\u05DC\u05D9\u05D5\u05EA", +advanced_props:"\u05EA\u05DB\u05D5\u05E0\u05D5\u05EA \u05DE\u05EA\u05E7\u05D3\u05DE\u05D5\u05EA", +rowtype:"\u05E1\u05D5\u05D2 \u05D4\u05E9\u05D5\u05E8\u05D4 \u05D1\u05D8\u05D1\u05DC\u05D4", +title:"\u05D4\u05D5\u05E1\u05E4\u05EA/\u05E2\u05E8\u05D9\u05DB\u05EA \u05D8\u05D1\u05DC\u05D4", +width:"\u05E8\u05D5\u05D7\u05D1", +height:"\u05D2\u05D5\u05D1\u05D4", +cols:"\u05E2\u05DE\u05D5\u05D3\u05D5\u05EA", +rows:"\u05E9\u05D5\u05E8\u05D5\u05EA", +cellspacing:"Cellspacing", +cellpadding:"Cellpadding", +border:"\u05D2\u05D1\u05D5\u05DC", +align:"\u05D9\u05E9\u05D5\u05E8 \u05D0\u05D5\u05E4\u05E7\u05D9", +align_default:"Default", +align_left:"\u05DC\u05E9\u05DE\u05D0\u05DC", +align_right:"\u05DC\u05D9\u05DE\u05D9\u05DF", +align_middle:"\u05D0\u05DE\u05E6\u05E2", +row_title:"\u05EA\u05DB\u05D5\u05E0\u05D5\u05EA \u05E9\u05D5\u05E8\u05D4 \u05D1\u05D8\u05D1\u05DC\u05D4", +cell_title:"\u05EA\u05DB\u05D5\u05E0\u05D5\u05EA \u05EA\u05D0 \u05D1\u05D8\u05D1\u05DC\u05D4", +cell_type:"\u05E1\u05D2\u05E0\u05D5\u05DF \u05D4\u05EA\u05D0", +valign:"\u05D9\u05E9\u05D5\u05E8 \u05D0\u05E0\u05DB\u05D9", +align_top:"\u05E2\u05DC\u05D9\u05D5\u05DF", +align_bottom:"\u05EA\u05D7\u05EA\u05D9\u05EA", +bordercolor:"\u05E6\u05D1\u05E2 \u05D4\u05D2\u05D1\u05D5\u05DC", +bgcolor:"\u05E6\u05D1\u05E2 \u05D4\u05E8\u05E7\u05E2", +merge_cells_title:"\u05D0\u05D7\u05D3 \u05EA\u05D0\u05D9\u05DD \u05D1\u05D8\u05D1\u05DC\u05D4", +id:"Id", +style:"\u05E2\u05D9\u05E6\u05D5\u05D1", +langdir:"\u05DB\u05D9\u05D5\u05D5\u05DF \u05D4\u05E9\u05E4\u05D4", +langcode:"\u05E7\u05D5\u05D3 \u05D4\u05E9\u05E4\u05D4", +mime:"Target MIME type", +ltr:"\u05DE\u05E9\u05DE\u05D0\u05DC \u05DC\u05D9\u05DE\u05D9\u05DF", +rtl:"\u05DE\u05D9\u05DE\u05D9\u05DF \u05DC\u05E9\u05DE\u05D0\u05DC", +bgimage:"\u05EA\u05DE\u05D5\u05E0\u05EA \u05E8\u05E7\u05E2", +summary:"\u05EA\u05DE\u05E6\u05D9\u05EA", +td:"\u05EA\u05D0 \u05DE\u05D9\u05D3\u05E2", +th:"\u05DB\u05D5\u05EA\u05E8\u05EA", +cell_cell:"\u05E2\u05D3\u05DB\u05D5\u05DF \u05EA\u05D0 \u05E0\u05D5\u05DB\u05D7\u05D9", +cell_row:"\u05E2\u05D3\u05DB\u05D5\u05DF \u05DB\u05DC \u05EA\u05D0\u05D9 \u05D4\u05E9\u05D5\u05E8\u05D4", +cell_all:"\u05E2\u05D3\u05DB\u05D5\u05DF \u05DB\u05DC \u05EA\u05D0\u05D9 \u05D4\u05D8\u05D1\u05DC\u05D4", +row_row:"\u05E2\u05D3\u05DB\u05D5\u05DF \u05E9\u05D5\u05E8\u05D4 \u05E0\u05D5\u05DB\u05D7\u05D9\u05EA", +row_odd:"\u05E2\u05D3\u05DB\u05D5\u05DF \u05E9\u05D5\u05E8\u05D5\u05EA \u05D0\u05D9-\u05D6\u05D5\u05D2\u05D9\u05D5\u05EA \u05D1\u05D8\u05D1\u05DC\u05D4", +row_even:"\u05E2\u05D3\u05DB\u05D5\u05DF \u05E9\u05D5\u05E8\u05D5\u05EA \u05D6\u05D5\u05D2\u05D9\u05D5\u05EA \u05D1\u05D8\u05D1\u05DC\u05D4", +row_all:"\u05E2\u05D3\u05DB\u05D5\u05DF\u05DB\u05DC \u05D4\u05E9\u05D5\u05E8\u05D5\u05EA \u05D1\u05D8\u05D1\u05DC\u05D4", +thead:"\u05E9\u05D5\u05E8\u05EA \u05DB\u05D5\u05EA\u05E8\u05EA", +tbody:"\u05E9\u05D5\u05E8\u05D4 \u05E8\u05D2\u05D9\u05DC\u05D4", +tfoot:"\u05E9\u05D5\u05E8\u05D4 \u05EA\u05D7\u05EA\u05D9\u05EA", +scope:"Scope", +rowgroup:"Row Group", +colgroup:"Col Group", +col_limit:"\u05D7\u05E8\u05D9\u05D2\u05D4 \u05DE\u05DE\u05E1\u05E4\u05E8 \u05D4\u05E2\u05DE\u05D5\u05D3\u05D5\u05EA \u05D4\u05DE\u05E7\u05E1\u05D9\u05DE\u05D0\u05DC\u05D9 \u05E9\u05DC {$cols}.", +row_limit:"\u05D7\u05E8\u05D9\u05D2\u05D4 \u05DE\u05DE\u05E1\u05E4\u05E8 \u05D4\u05DE\u05E7\u05E1\u05D9\u05DE\u05D0\u05DC\u05D9 \u05E9\u05DC \u05D4\u05E9\u05D5\u05E8\u05D5\u05EA \u05E9\u05DC {$rows}.", +cell_limit:"\u05D7\u05E8\u05D9\u05D2\u05D4 \u05DE\u05DE\u05E1\u05E4\u05E8 \u05D4\u05DE\u05E7\u05E1\u05D9\u05DE\u05D0\u05DC\u05D9 \u05E9\u05DC \u05D4\u05EA\u05D0\u05D9\u05DD \u05D1\u05D8\u05D1\u05DC\u05D4 \u05E9\u05DC {$cells}.", +missing_scope:"Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.", +caption:"\u05DB\u05D5\u05EA\u05E8\u05EA \u05D4\u05D8\u05D1\u05DC\u05D4", +frame:"Frame", +frame_none:"\u05DC\u05DC\u05D0", +frame_groups:"\u05E7\u05D1\u05D5\u05E6\u05D5\u05EA", +frame_rows:"\u05E9\u05D5\u05E8\u05D5\u05EA", +frame_cols:"\u05E2\u05DE\u05D5\u05D3\u05D5\u05EA", +frame_all:"\u05D4\u05DB\u05D5\u05DC", +rules:"\u05D7\u05D5\u05E7\u05D9\u05DD", +rules_void:"void", +rules_above:"\u05DE\u05E2\u05DC", +rules_below:"\u05DE\u05EA\u05D7\u05EA", +rules_hsides:"hsides", +rules_lhs:"lhs", +rules_rhs:"rhs", +rules_vsides:"vsides", +rules_box:"box", +rules_border:"\u05D2\u05D1\u05D5\u05DC" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/it_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/it_dlg.js old mode 100644 new mode 100755 index 65a9a0632e..ffa84ad20a --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/it_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/it_dlg.js @@ -1,74 +1,74 @@ -tinyMCE.addI18n('it.table_dlg',{ -general_tab:"Generale", -advanced_tab:"Avanzate", -general_props:"Propriet\u00E0 generali", -advanced_props:"Propriet\u00E0 avanzate", -rowtype:"Riga in una parte di tabella", -title:"Inserisci/Modifica tabella", -width:"Larghezza", -height:"Altezza", -cols:"Colonne", -rows:"Righe", -cellspacing:"Spaziatura celle", -cellpadding:"Padding celle", -border:"Bordo", -align:"Allineamento", -align_default:"Predefinito", -align_left:"A sinistra", -align_right:"A destra", -align_middle:"Centra", -row_title:"Propriet\u00E0 riga", -cell_title:"Propriet\u00E0 cella", -cell_type:"Tipo cella", -valign:"Allineamento verticale", -align_top:"In alto", -align_bottom:"In basso", -bordercolor:"Colore bordo", -bgcolor:"Colore sfondo", -merge_cells_title:"Unisci celle", -id:"Id", -style:"Stile", -langdir:"Direzione testo", -langcode:"Lingua", -mime:"Tipo MIME del target", -ltr:"Sinistra verso destra", -rtl:"Destra verso sinistra", -bgimage:"Immagine sfondo", -summary:"Sommario", -td:"Data", -th:"Intestazione", -cell_cell:"Aggiorna cella corrente", -cell_row:"Aggiorna tutte le celle della riga", -cell_all:"Aggiorna tutte le celle della tabella", -row_row:"Aggiorna riga corrente", -row_odd:"Aggiorna righe dispari della tabella", -row_even:"Aggiorna righe pari della tabella", -row_all:"Update tutte le righe della tabella", -thead:"Intestazione tabella", -tbody:"Corpo tabella", -tfoot:"Pedice tabella", -scope:"Scope", -rowgroup:"Gruppo riga", -colgroup:"Gruppo colonna", -col_limit:"Superato il numero massimo di colonne di {$cols}.", -row_limit:"Superato il numero massimo di righe di {$rows}.", -cell_limit:"Superato il numero massimo di celle di {$cells}.", -missing_scope:"Sicuro di proseguire senza aver specificato uno scope per l'intestazione di questa tabella? Senza di esso, potrebbe essere difficoltoso per alcuni utenti con disabilit\u00E0 capire il contenuto o i dati mostrati nella tabella.", -caption:"Table caption", -frame:"Cornice", -frame_none:"nessuna", -frame_groups:"gruppi", -frame_rows:"righe", -frame_cols:"colonne", -frame_all:"tutte", -rules:"Regole", -rules_void:"vuoto", -rules_above:"sopra", -rules_below:"sotto", -rules_hsides:"lato orizz.", -rules_lhs:"lhs", -rules_rhs:"rhs", -rules_vsides:"lato vert.", -rules_box:"box", -rules_border:"bordo" +tinyMCE.addI18n('it.table_dlg',{ +general_tab:"Generale", +advanced_tab:"Avanzate", +general_props:"Propriet\u00E0 generali", +advanced_props:"Propriet\u00E0 avanzate", +rowtype:"Riga in una parte di tabella", +title:"Inserisci/Modifica tabella", +width:"Larghezza", +height:"Altezza", +cols:"Colonne", +rows:"Righe", +cellspacing:"Spaziatura celle", +cellpadding:"Padding celle", +border:"Bordo", +align:"Allineamento", +align_default:"Predefinito", +align_left:"A sinistra", +align_right:"A destra", +align_middle:"Centra", +row_title:"Propriet\u00E0 riga", +cell_title:"Propriet\u00E0 cella", +cell_type:"Tipo cella", +valign:"Allineamento verticale", +align_top:"In alto", +align_bottom:"In basso", +bordercolor:"Colore bordo", +bgcolor:"Colore sfondo", +merge_cells_title:"Unisci celle", +id:"Id", +style:"Stile", +langdir:"Direzione testo", +langcode:"Lingua", +mime:"Tipo MIME del target", +ltr:"Sinistra verso destra", +rtl:"Destra verso sinistra", +bgimage:"Immagine sfondo", +summary:"Sommario", +td:"Data", +th:"Intestazione", +cell_cell:"Aggiorna cella corrente", +cell_row:"Aggiorna tutte le celle della riga", +cell_all:"Aggiorna tutte le celle della tabella", +row_row:"Aggiorna riga corrente", +row_odd:"Aggiorna righe dispari della tabella", +row_even:"Aggiorna righe pari della tabella", +row_all:"Update tutte le righe della tabella", +thead:"Intestazione tabella", +tbody:"Corpo tabella", +tfoot:"Pedice tabella", +scope:"Scope", +rowgroup:"Gruppo riga", +colgroup:"Gruppo colonna", +col_limit:"Superato il numero massimo di colonne di {$cols}.", +row_limit:"Superato il numero massimo di righe di {$rows}.", +cell_limit:"Superato il numero massimo di celle di {$cells}.", +missing_scope:"Sicuro di proseguire senza aver specificato uno scope per l'intestazione di questa tabella? Senza di esso, potrebbe essere difficoltoso per alcuni utenti con disabilit\u00E0 capire il contenuto o i dati mostrati nella tabella.", +caption:"Table caption", +frame:"Cornice", +frame_none:"nessuna", +frame_groups:"gruppi", +frame_rows:"righe", +frame_cols:"colonne", +frame_all:"tutte", +rules:"Regole", +rules_void:"vuoto", +rules_above:"sopra", +rules_below:"sotto", +rules_hsides:"lato orizz.", +rules_lhs:"lhs", +rules_rhs:"rhs", +rules_vsides:"lato vert.", +rules_box:"box", +rules_border:"bordo" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/ja_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/ja_dlg.js old mode 100644 new mode 100755 index 53fbb94fc0..4fcce936e3 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/ja_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/ja_dlg.js @@ -1,74 +1,74 @@ -tinyMCE.addI18n('ja.table_dlg',{ -general_tab:"\u4E00\u822C", -advanced_tab:"\u4E0A\u7D1A\u8005\u5411\u3051", -general_props:"\u4E00\u822C", -advanced_props:"\u4E0A\u7D1A\u8005\u5411\u3051", -rowtype:"\u884C", -title:"\u8868\u306E\u633F\u5165/\u7DE8\u96C6", -width:"\u5E45", -height:"\u9AD8\u3055", -cols:"\u5217", -rows:"\u884C", -cellspacing:"Cellspacing", -cellpadding:"Cellpadding", -border:"\u67A0\u7DDA", -align:"\u914D\u7F6E", -align_default:"\u30C7\u30D5\u30A9\u30EB\u30C8", -align_left:"\u5DE6\u63C3\u3048", -align_right:"\u53F3\u63C3\u3048", -align_middle:"\u4E2D\u592E\u63C3\u3048", -row_title:"\u884C\u306E\u30D7\u30ED\u30D1\u30C6\u30A3", -cell_title:"\u30BB\u30EB\u306E\u30D7\u30ED\u30D1\u30C6\u30A3", -cell_type:"\u30BB\u30EB\u7A2E\u5225", -valign:"\u5782\u76F4\u65B9\u5411\u306E\u914D\u7F6E", -align_top:"\u4E0A\u63C3\u3048", -align_bottom:"\u4E0B\u63C3\u3048", -bordercolor:"\u67A0\u7DDA\u306E\u8272", -bgcolor:"\u80CC\u666F\u8272", -merge_cells_title:"\u30BB\u30EB\u306E\u7D50\u5408", -id:"ID\u5C5E\u6027", -style:"style\u5C5E\u6027", -langdir:"\u6587\u7AE0\u306E\u65B9\u5411", -langcode:"\u8A00\u8A9E\u30B3\u30FC\u30C9", -mime:"\u30BF\u30FC\u30B2\u30C3\u30C8\u306EMIME\u30BF\u30A4\u30D7", -ltr:"\u5DE6\u304B\u3089\u53F3", -rtl:"\u53F3\u304B\u3089\u5DE6", -bgimage:"\u80CC\u666F\u753B\u50CF", -summary:"\u30B5\u30DE\u30EA\u30FC", -td:"\u30C7\u30FC\u30BF", -th:"\u30D8\u30C3\u30C0", -cell_cell:"\u9078\u629E\u30BB\u30EB\u306E\u66F4\u65B0", -cell_row:"\u884C\u5185\u306E\u30BB\u30EB\u306E\u66F4\u65B0", -cell_all:"\u5168\u3066\u306E\u30BB\u30EB\u306E\u66F4\u65B0", -row_row:"\u9078\u629E\u884C\u306E\u66F4\u65B0", -row_odd:"\u5947\u6570\u884C\u306E\u66F4\u65B0", -row_even:"\u5076\u6570\u884C\u306E\u66F4\u65B0", -row_all:"\u5168\u3066\u306E\u884C\u306E\u66F4\u65B0", -thead:"\u8868\u30D8\u30C3\u30C0", -tbody:"\u8868\u30DC\u30C7\u30A3", -tfoot:"\u8868\u30D5\u30C3\u30BF", -scope:"\u30B9\u30B3\u30FC\u30D7", -rowgroup:"\u884C\u30B0\u30EB\u30FC\u30D7", -colgroup:"\u5217\u30B0\u30EB\u30FC\u30D7", -col_limit:"\u5217\u306E\u6700\u5927\u6570\u3092\u8D85\u3048\u307E\u3057\u305F\u3002", -row_limit:"\u884C\u306E\u6700\u5927\u6570\u3092\u8D85\u3048\u307E\u3057\u305F\u3002", -cell_limit:"\u30BB\u30EB\u306E\u6700\u5927\u6570\u3092\u8D85\u3048\u307E\u3057\u305F\u3002", -missing_scope:"\u8868\u306E\u30B9\u30B3\u30FC\u30D7\u5C5E\u6027\u3092\u8A2D\u5B9A\u3057\u3066\u3044\u307E\u305B\u3093\u304C\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F", -caption:"\u8868\u306B\u898B\u51FA\u3057\u3092\u4ED8\u3051\u308B", -frame:"\u30BB\u30EB\u67A0\u7DDA", -frame_none:"\u306A\u3057", -frame_groups:"\u30B0\u30EB\u30FC\u30D7\u6BCE", -frame_rows:"\u884C", -frame_cols:"\u5217", -frame_all:"\u5168\u3066", -rules:"\u8868\u306E\u5916\u67A0", -rules_void:"\u306A\u3057", -rules_above:"\u4E0A", -rules_below:"\u4E0B", -rules_hsides:"\u4E0A\u4E0B", -rules_lhs:"\u5DE6", -rules_rhs:"\u53F3", -rules_vsides:"\u5DE6\u53F3", -rules_box:"\u4E0A\u4E0B\u5DE6\u53F3(box)", -rules_border:"\u4E0A\u4E0B\u5DE6\u53F3(border)" +tinyMCE.addI18n('ja.table_dlg',{ +general_tab:"\u4E00\u822C", +advanced_tab:"\u4E0A\u7D1A\u8005\u5411\u3051", +general_props:"\u4E00\u822C", +advanced_props:"\u4E0A\u7D1A\u8005\u5411\u3051", +rowtype:"\u884C", +title:"\u8868\u306E\u633F\u5165/\u7DE8\u96C6", +width:"\u5E45", +height:"\u9AD8\u3055", +cols:"\u5217", +rows:"\u884C", +cellspacing:"Cellspacing", +cellpadding:"Cellpadding", +border:"\u67A0\u7DDA", +align:"\u914D\u7F6E", +align_default:"\u30C7\u30D5\u30A9\u30EB\u30C8", +align_left:"\u5DE6\u63C3\u3048", +align_right:"\u53F3\u63C3\u3048", +align_middle:"\u4E2D\u592E\u63C3\u3048", +row_title:"\u884C\u306E\u30D7\u30ED\u30D1\u30C6\u30A3", +cell_title:"\u30BB\u30EB\u306E\u30D7\u30ED\u30D1\u30C6\u30A3", +cell_type:"\u30BB\u30EB\u7A2E\u5225", +valign:"\u5782\u76F4\u65B9\u5411\u306E\u914D\u7F6E", +align_top:"\u4E0A\u63C3\u3048", +align_bottom:"\u4E0B\u63C3\u3048", +bordercolor:"\u67A0\u7DDA\u306E\u8272", +bgcolor:"\u80CC\u666F\u8272", +merge_cells_title:"\u30BB\u30EB\u306E\u7D50\u5408", +id:"ID\u5C5E\u6027", +style:"style\u5C5E\u6027", +langdir:"\u6587\u7AE0\u306E\u65B9\u5411", +langcode:"\u8A00\u8A9E\u30B3\u30FC\u30C9", +mime:"\u30BF\u30FC\u30B2\u30C3\u30C8\u306EMIME\u30BF\u30A4\u30D7", +ltr:"\u5DE6\u304B\u3089\u53F3", +rtl:"\u53F3\u304B\u3089\u5DE6", +bgimage:"\u80CC\u666F\u753B\u50CF", +summary:"\u30B5\u30DE\u30EA\u30FC", +td:"\u30C7\u30FC\u30BF", +th:"\u30D8\u30C3\u30C0", +cell_cell:"\u9078\u629E\u30BB\u30EB\u306E\u66F4\u65B0", +cell_row:"\u884C\u5185\u306E\u30BB\u30EB\u306E\u66F4\u65B0", +cell_all:"\u5168\u3066\u306E\u30BB\u30EB\u306E\u66F4\u65B0", +row_row:"\u9078\u629E\u884C\u306E\u66F4\u65B0", +row_odd:"\u5947\u6570\u884C\u306E\u66F4\u65B0", +row_even:"\u5076\u6570\u884C\u306E\u66F4\u65B0", +row_all:"\u5168\u3066\u306E\u884C\u306E\u66F4\u65B0", +thead:"\u8868\u30D8\u30C3\u30C0", +tbody:"\u8868\u30DC\u30C7\u30A3", +tfoot:"\u8868\u30D5\u30C3\u30BF", +scope:"\u30B9\u30B3\u30FC\u30D7", +rowgroup:"\u884C\u30B0\u30EB\u30FC\u30D7", +colgroup:"\u5217\u30B0\u30EB\u30FC\u30D7", +col_limit:"\u5217\u306E\u6700\u5927\u6570\u3092\u8D85\u3048\u307E\u3057\u305F\u3002", +row_limit:"\u884C\u306E\u6700\u5927\u6570\u3092\u8D85\u3048\u307E\u3057\u305F\u3002", +cell_limit:"\u30BB\u30EB\u306E\u6700\u5927\u6570\u3092\u8D85\u3048\u307E\u3057\u305F\u3002", +missing_scope:"\u8868\u306E\u30B9\u30B3\u30FC\u30D7\u5C5E\u6027\u3092\u8A2D\u5B9A\u3057\u3066\u3044\u307E\u305B\u3093\u304C\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F", +caption:"\u8868\u306B\u898B\u51FA\u3057\u3092\u4ED8\u3051\u308B", +frame:"\u30BB\u30EB\u67A0\u7DDA", +frame_none:"\u306A\u3057", +frame_groups:"\u30B0\u30EB\u30FC\u30D7\u6BCE", +frame_rows:"\u884C", +frame_cols:"\u5217", +frame_all:"\u5168\u3066", +rules:"\u8868\u306E\u5916\u67A0", +rules_void:"\u306A\u3057", +rules_above:"\u4E0A", +rules_below:"\u4E0B", +rules_hsides:"\u4E0A\u4E0B", +rules_lhs:"\u5DE6", +rules_rhs:"\u53F3", +rules_vsides:"\u5DE6\u53F3", +rules_box:"\u4E0A\u4E0B\u5DE6\u53F3(box)", +rules_border:"\u4E0A\u4E0B\u5DE6\u53F3(border)" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/nl_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/nl_dlg.js old mode 100644 new mode 100755 index 0f72b17bdf..f00ca2cb78 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/nl_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/nl_dlg.js @@ -1,74 +1,74 @@ -tinyMCE.addI18n('nl.table_dlg',{ -general_tab:"Algemeen", -advanced_tab:"Geavanceerd", -general_props:"Algemene eigenschappen", -advanced_props:"Geavanceerde eigenschappen", -rowtype:"Rijtype", -title:"Tabel invoegen/bewerken", -width:"Breedte", -height:"Hoogte", -cols:"Kolommen", -rows:"Rijen", -cellspacing:"Ruimte om cel", -cellpadding:"Ruimte in cel", -border:"Rand", -align:"Uitlijning", -align_default:"Standaard", -align_left:"Links", -align_right:"Rechts", -align_middle:"Centreren", -row_title:"Rij-eigenschappen", -cell_title:"Celeigenschappen", -cell_type:"Celtype", -valign:"Verticale uitlijning", -align_top:"Boven", -align_bottom:"Onder", -bordercolor:"Randkleur", -bgcolor:"Achtergrondkleur", -merge_cells_title:"Cellen samenvoegen", -id:"Id", -style:"Stijl", -langdir:"Taalrichting", -langcode:"Taalcode", -mime:"Doel MIME type", -ltr:"Van links naar rechts", -rtl:"Van rechts naar links", -bgimage:"Achtergrondafbeelding", -summary:"Samenvatting", -td:"Gegevens", -th:"Kop", -cell_cell:"Huidige cel bijwerken", -cell_row:"Alle cellen in rij bijwerken", -cell_all:"Alle cellen in tabel bijwerken", -row_row:"Huidige rij bijwerken", -row_odd:"Oneven rijen bijwerken", -row_even:"Even rijen bijwerken", -row_all:"Alle rijen bijwerken", -thead:"Tabelkop", -tbody:"Tabellichaam", -tfoot:"Tabelvoet", -scope:"Bereik", -rowgroup:"Rijgroep", -colgroup:"Kolomgroep", -col_limit:"U heeft het maximale aantal kolommen van {$cols} overschreden.", -row_limit:"U heeft hebt het maximale aantal rijen van {$rows} overschreden.", -cell_limit:"U heeft het maximale aantal cellen van {$cells} overschreden.", -missing_scope:"Weet u zeker dat u door wilt gaan met het toewijzen van een kop zonder een bereik op te geven? Mensen met een visuele handicap kunnen hierdoor waarschijnlijk slecht bij de gegevens.", -caption:"Tabelbeschrijving", -frame:"Frame", -frame_none:"Geen", -frame_groups:"Groepen", -frame_rows:"Rijen", -frame_cols:"Kolommen", -frame_all:"Alles", -rules:"Hulplijnen", -rules_void:"Geen", -rules_above:"Boven", -rules_below:"Onder", -rules_hsides:"Horizontale zijden", -rules_lhs:"Linkerzijkant", -rules_rhs:"Rechterzijkant", -rules_vsides:"Verticale zijden", -rules_box:"Box", -rules_border:"Rand" +tinyMCE.addI18n('nl.table_dlg',{ +general_tab:"Algemeen", +advanced_tab:"Geavanceerd", +general_props:"Algemene eigenschappen", +advanced_props:"Geavanceerde eigenschappen", +rowtype:"Rijtype", +title:"Tabel invoegen/bewerken", +width:"Breedte", +height:"Hoogte", +cols:"Kolommen", +rows:"Rijen", +cellspacing:"Ruimte om cel", +cellpadding:"Ruimte in cel", +border:"Rand", +align:"Uitlijning", +align_default:"Standaard", +align_left:"Links", +align_right:"Rechts", +align_middle:"Centreren", +row_title:"Rij-eigenschappen", +cell_title:"Celeigenschappen", +cell_type:"Celtype", +valign:"Verticale uitlijning", +align_top:"Boven", +align_bottom:"Onder", +bordercolor:"Randkleur", +bgcolor:"Achtergrondkleur", +merge_cells_title:"Cellen samenvoegen", +id:"Id", +style:"Stijl", +langdir:"Taalrichting", +langcode:"Taalcode", +mime:"Doel MIME type", +ltr:"Van links naar rechts", +rtl:"Van rechts naar links", +bgimage:"Achtergrondafbeelding", +summary:"Samenvatting", +td:"Gegevens", +th:"Kop", +cell_cell:"Huidige cel bijwerken", +cell_row:"Alle cellen in rij bijwerken", +cell_all:"Alle cellen in tabel bijwerken", +row_row:"Huidige rij bijwerken", +row_odd:"Oneven rijen bijwerken", +row_even:"Even rijen bijwerken", +row_all:"Alle rijen bijwerken", +thead:"Tabelkop", +tbody:"Tabellichaam", +tfoot:"Tabelvoet", +scope:"Bereik", +rowgroup:"Rijgroep", +colgroup:"Kolomgroep", +col_limit:"U heeft het maximale aantal kolommen van {$cols} overschreden.", +row_limit:"U heeft hebt het maximale aantal rijen van {$rows} overschreden.", +cell_limit:"U heeft het maximale aantal cellen van {$cells} overschreden.", +missing_scope:"Weet u zeker dat u door wilt gaan met het toewijzen van een kop zonder een bereik op te geven? Mensen met een visuele handicap kunnen hierdoor waarschijnlijk slecht bij de gegevens.", +caption:"Tabelbeschrijving", +frame:"Frame", +frame_none:"Geen", +frame_groups:"Groepen", +frame_rows:"Rijen", +frame_cols:"Kolommen", +frame_all:"Alles", +rules:"Hulplijnen", +rules_void:"Geen", +rules_above:"Boven", +rules_below:"Onder", +rules_hsides:"Horizontale zijden", +rules_lhs:"Linkerzijkant", +rules_rhs:"Rechterzijkant", +rules_vsides:"Verticale zijden", +rules_box:"Box", +rules_border:"Rand" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/nn_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/nn_dlg.js old mode 100644 new mode 100755 index f708b2b112..4efea48ec9 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/nn_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/nn_dlg.js @@ -1,74 +1,74 @@ -tinyMCE.addI18n('nn.table_dlg',{ -general_tab:"Generelt", -advanced_tab:"Avansert", -general_props:"Generelt", -advanced_props:"Generelle eigenskapar", -rowtype:"Rad i tabell", -title:"Set inn / rediger tabell", -width:"Breidd", -height:"H\u00F8gd", -cols:"Kolonner", -rows:"Rader", -cellspacing:"Celleavstand", -cellpadding:"Cellefylling", -border:"Ramme", -align:"Justering", -align_default:"Standard", -align_left:"Venstre", -align_right:"H\u00F8gre", -align_middle:"Midtstilt", -row_title:"Radeigenskapar", -cell_title:"Celleeigenskapar", -cell_type:"Celletype", -valign:"Vertikal justering", -align_top:"Topp", -align_bottom:"Botn", -bordercolor:"Rammefarge", -bgcolor:"Bakgrunn", -merge_cells_title:"Sl\u00E5 saman celler", -id:"Id", -style:"Stil", -langdir:"Skriftretning", -langcode:"Spr\u00E5kkode", -mime:"M\u00E5let sin MIME-type", -ltr:"Venstre mot h\u00F8gre", -rtl:"H\u00F8gre mot venstre", -bgimage:"Bakgrunnsbilete", -summary:"Samandrag", -td:"Data", -th:"Overskrift", -cell_cell:"Oppdater aktuell celle", -cell_row:"Oppdater alle celler i rada", -cell_all:"Oppdater alle celler i tabellen", -row_row:"Oppdater aktuell rad", -row_odd:"Oppdater oddetallrader", -row_even:"Oppdater partallrader", -row_all:"Oppdater alle rader", -thead:"Tabellhovud", -tbody:"Tabellkropp", -tfoot:"Tabellfot", -scope:"Omr\u00E5de", -rowgroup:"Radgruppe", -colgroup:"Kolonnegruppe", -col_limit:"Du har fleire enn maksimalt tal kolonner p\u00E5 {$cols}.", -row_limit:"Du har fleire enn maksimalt tal rader p\u00E5 {$rows}.", -cell_limit:"Du har fleire enn maksimalt tal celler p\u00E5 {$cells}.", -missing_scope:"Er du sikker p\u00E5 at du vil fortsetje utan \u00E5 angi eit omr\u00E5de for denne overskrifscella? Utan dette kan det bli vanskeleg for enkelte funksjonshemma brukarar \u00E5 forst\u00E5 innhaldet eller dataane som blir presenterte i tabellen.", -caption:"Tabelloverskrift", -frame:"Ramme", -frame_none:"ingen", -frame_groups:"grupper", -frame_rows:"rader", -frame_cols:"kolonnar", -frame_all:"alle", -rules:"Strekar", -rules_void:"ingen", -rules_above:"over", -rules_below:"under", -rules_hsides:"hsides", -rules_lhs:"lhs", -rules_rhs:"rhs", -rules_vsides:"vsides", -rules_box:"boks", -rules_border:"ramme" +tinyMCE.addI18n('nn.table_dlg',{ +general_tab:"Generelt", +advanced_tab:"Avansert", +general_props:"Generelt", +advanced_props:"Generelle eigenskapar", +rowtype:"Rad i tabell", +title:"Set inn / rediger tabell", +width:"Breidd", +height:"H\u00F8gd", +cols:"Kolonner", +rows:"Rader", +cellspacing:"Celleavstand", +cellpadding:"Cellefylling", +border:"Ramme", +align:"Justering", +align_default:"Standard", +align_left:"Venstre", +align_right:"H\u00F8gre", +align_middle:"Midtstilt", +row_title:"Radeigenskapar", +cell_title:"Celleeigenskapar", +cell_type:"Celletype", +valign:"Vertikal justering", +align_top:"Topp", +align_bottom:"Botn", +bordercolor:"Rammefarge", +bgcolor:"Bakgrunn", +merge_cells_title:"Sl\u00E5 saman celler", +id:"Id", +style:"Stil", +langdir:"Skriftretning", +langcode:"Spr\u00E5kkode", +mime:"M\u00E5let sin MIME-type", +ltr:"Venstre mot h\u00F8gre", +rtl:"H\u00F8gre mot venstre", +bgimage:"Bakgrunnsbilete", +summary:"Samandrag", +td:"Data", +th:"Overskrift", +cell_cell:"Oppdater aktuell celle", +cell_row:"Oppdater alle celler i rada", +cell_all:"Oppdater alle celler i tabellen", +row_row:"Oppdater aktuell rad", +row_odd:"Oppdater oddetallrader", +row_even:"Oppdater partallrader", +row_all:"Oppdater alle rader", +thead:"Tabellhovud", +tbody:"Tabellkropp", +tfoot:"Tabellfot", +scope:"Omr\u00E5de", +rowgroup:"Radgruppe", +colgroup:"Kolonnegruppe", +col_limit:"Du har fleire enn maksimalt tal kolonner p\u00E5 {$cols}.", +row_limit:"Du har fleire enn maksimalt tal rader p\u00E5 {$rows}.", +cell_limit:"Du har fleire enn maksimalt tal celler p\u00E5 {$cells}.", +missing_scope:"Er du sikker p\u00E5 at du vil fortsetje utan \u00E5 angi eit omr\u00E5de for denne overskrifscella? Utan dette kan det bli vanskeleg for enkelte funksjonshemma brukarar \u00E5 forst\u00E5 innhaldet eller dataane som blir presenterte i tabellen.", +caption:"Tabelloverskrift", +frame:"Ramme", +frame_none:"ingen", +frame_groups:"grupper", +frame_rows:"rader", +frame_cols:"kolonnar", +frame_all:"alle", +rules:"Strekar", +rules_void:"ingen", +rules_above:"over", +rules_below:"under", +rules_hsides:"hsides", +rules_lhs:"lhs", +rules_rhs:"rhs", +rules_vsides:"vsides", +rules_box:"boks", +rules_border:"ramme" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/pl_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/pl_dlg.js old mode 100644 new mode 100755 index 5527cb5362..8e9bb76e6b --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/pl_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/pl_dlg.js @@ -1,74 +1,74 @@ -tinyMCE.addI18n('pl.table_dlg',{ -general_tab:"G\u0142\u00F3wna", -advanced_tab:"Zaawansowana", -general_props:"G\u0142\u00F3wne w\u0142a\u015Bciwo\u015Bci", -advanced_props:"Zaawansowane w\u0142a\u015Bciwo\u015Bci", -rowtype:"Row in table part", -title:"Wklej/Zmie\u0144 tabel\u0119", -width:"Szeroko\u015B\u0107", -height:"Wysoko\u015B\u0107", -cols:"Kolumny", -rows:"Wiersze", -cellspacing:"Cellspacing", -cellpadding:"Cellpadding", -border:"Ramka", -align:"Wyr\u00F3wnanie", -align_default:"Domy\u015Blnie", -align_left:"Lewy", -align_right:"Prawy", -align_middle:"\u015Arodek", -row_title:"W\u0142a\u015Bciwo\u015Bci wiersza", -cell_title:"W\u0142a\u015Bciwo\u015Bci kom\u00F3rki", -cell_type:"Cell type", -valign:"Pionowe wyr\u00F3wnanie", -align_top:"G\u00F3ra", -align_bottom:"D\u00F3\u0142", -bordercolor:"Kolor ramki", -bgcolor:"Kolor t\u0142a", -merge_cells_title:"Po\u0142\u0105cz kom\u00F3rki", -id:"Id", -style:"Styl", -langdir:"Kierunek czytania tekstu", -langcode:"Oznaczenie kodowe j\u0119zyka", -mime:"Docelowy typ MIME", -ltr:"Kierunek z lewej do prawej", -rtl:"Kierunek z prawej do lewej", -bgimage:"Obrazek t\u0142a", -summary:"Podsumowanie", -td:"Data", -th:"Nag\u0142owek", -cell_cell:"Zmie\u0144 aktualn\u0105 kom\u00F3rk\u0119", -cell_row:"Zmie\u0144 wszytkie kom\u00F3rki w wierszu", -cell_all:"Zmie\u0144 wszytkie kom\u00F3rki w tabeli", -row_row:"Zmie\u0144 aktualny wiersz", -row_odd:"Zmie\u0144 nieparzyste wiersze", -row_even:"Zmie\u0144 parzyste wiersze", -row_all:"Zmie\u0144 wszystkie wiersze", -thead:"Nag\u0142\u00F3wek tabeli", -tbody:"Cia\u0142o tabeli", -tfoot:"Stopka tabeli", -scope:"Zakres", -rowgroup:"Grupa wierszy", -colgroup:"Grupa kolumn", -col_limit:"Przekroczy\u0142e\u015B maksymaln\u0105 liczb\u0119 kolumn kt\u00F3ra wynosi {$cols}.", -row_limit:"Przekroczy\u0142e\u015B maksymaln\u0105 liczb\u0119 wierszy kt\u00F3ra wynosi {$rows}.", -cell_limit:"Przekroczy\u0142e\u015B maksymaln\u0105 liczb\u0119 kom\u00F3rek kt\u00F3ra wynosi {$cells}.", -missing_scope:"Jeste\u015B pewny \u017Ce chcesz kontynuowa\u0107 bez definiowania zasi\u0119gu dla kom\u00F3rki tabeli. Bez niej, mo\u017Ce by\u0107 trudne dla niekt\u00F3rych u\u017Cytkownik\u00F3w zrozuminie zawarto\u015Bci albo danych wy\u015Bwietlanych poza tabel\u0105.", -caption:"Nag\u0142\u00F3wek tabeli", -frame:"Ramka", -frame_none:"brak", -frame_groups:"grupy", -frame_rows:"wiersze", -frame_cols:"kolumny", -frame_all:"wszystkie", -rules:"Prowadnice", -rules_void:"void", -rules_above:"nad", -rules_below:"pod", -rules_hsides:"hsides", -rules_lhs:"lhs", -rules_rhs:"rhs", -rules_vsides:"vsides", -rules_box:"box", -rules_border:"border" +tinyMCE.addI18n('pl.table_dlg',{ +general_tab:"G\u0142\u00F3wna", +advanced_tab:"Zaawansowana", +general_props:"G\u0142\u00F3wne w\u0142a\u015Bciwo\u015Bci", +advanced_props:"Zaawansowane w\u0142a\u015Bciwo\u015Bci", +rowtype:"Row in table part", +title:"Wklej/Zmie\u0144 tabel\u0119", +width:"Szeroko\u015B\u0107", +height:"Wysoko\u015B\u0107", +cols:"Kolumny", +rows:"Wiersze", +cellspacing:"Cellspacing", +cellpadding:"Cellpadding", +border:"Ramka", +align:"Wyr\u00F3wnanie", +align_default:"Domy\u015Blnie", +align_left:"Lewy", +align_right:"Prawy", +align_middle:"\u015Arodek", +row_title:"W\u0142a\u015Bciwo\u015Bci wiersza", +cell_title:"W\u0142a\u015Bciwo\u015Bci kom\u00F3rki", +cell_type:"Cell type", +valign:"Pionowe wyr\u00F3wnanie", +align_top:"G\u00F3ra", +align_bottom:"D\u00F3\u0142", +bordercolor:"Kolor ramki", +bgcolor:"Kolor t\u0142a", +merge_cells_title:"Po\u0142\u0105cz kom\u00F3rki", +id:"Id", +style:"Styl", +langdir:"Kierunek czytania tekstu", +langcode:"Oznaczenie kodowe j\u0119zyka", +mime:"Docelowy typ MIME", +ltr:"Kierunek z lewej do prawej", +rtl:"Kierunek z prawej do lewej", +bgimage:"Obrazek t\u0142a", +summary:"Podsumowanie", +td:"Data", +th:"Nag\u0142owek", +cell_cell:"Zmie\u0144 aktualn\u0105 kom\u00F3rk\u0119", +cell_row:"Zmie\u0144 wszytkie kom\u00F3rki w wierszu", +cell_all:"Zmie\u0144 wszytkie kom\u00F3rki w tabeli", +row_row:"Zmie\u0144 aktualny wiersz", +row_odd:"Zmie\u0144 nieparzyste wiersze", +row_even:"Zmie\u0144 parzyste wiersze", +row_all:"Zmie\u0144 wszystkie wiersze", +thead:"Nag\u0142\u00F3wek tabeli", +tbody:"Cia\u0142o tabeli", +tfoot:"Stopka tabeli", +scope:"Zakres", +rowgroup:"Grupa wierszy", +colgroup:"Grupa kolumn", +col_limit:"Przekroczy\u0142e\u015B maksymaln\u0105 liczb\u0119 kolumn kt\u00F3ra wynosi {$cols}.", +row_limit:"Przekroczy\u0142e\u015B maksymaln\u0105 liczb\u0119 wierszy kt\u00F3ra wynosi {$rows}.", +cell_limit:"Przekroczy\u0142e\u015B maksymaln\u0105 liczb\u0119 kom\u00F3rek kt\u00F3ra wynosi {$cells}.", +missing_scope:"Jeste\u015B pewny \u017Ce chcesz kontynuowa\u0107 bez definiowania zasi\u0119gu dla kom\u00F3rki tabeli. Bez niej, mo\u017Ce by\u0107 trudne dla niekt\u00F3rych u\u017Cytkownik\u00F3w zrozuminie zawarto\u015Bci albo danych wy\u015Bwietlanych poza tabel\u0105.", +caption:"Nag\u0142\u00F3wek tabeli", +frame:"Ramka", +frame_none:"brak", +frame_groups:"grupy", +frame_rows:"wiersze", +frame_cols:"kolumny", +frame_all:"wszystkie", +rules:"Prowadnice", +rules_void:"void", +rules_above:"nad", +rules_below:"pod", +rules_hsides:"hsides", +rules_lhs:"lhs", +rules_rhs:"rhs", +rules_vsides:"vsides", +rules_box:"box", +rules_border:"border" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/pt_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/pt_dlg.js old mode 100644 new mode 100755 index 4c1196326a..b82faf2893 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/pt_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/pt_dlg.js @@ -1,74 +1,74 @@ -tinyMCE.addI18n('pt.table_dlg',{ -general_tab:"Geral", -advanced_tab:"Avan\u00E7ado", -general_props:"Propriedades gerais", -advanced_props:"Propriedades avan\u00E7adas", -rowtype:"Linha na parte da tabela", -title:"Inserir/modificar tabela", -width:"Largura", -height:"Altura", -cols:"Colunas", -rows:"Linhas", -cellspacing:"Espa\u00E7amento da C\u00E9lula", -cellpadding:"Enchimento da C\u00E9lula", -border:"Limites", -align:"Alinha.", -align_default:"Padr\u00E3o", -align_left:"Esquerda", -align_right:"Direita", -align_middle:"Centro", -row_title:"Propriedades de linhas", -cell_title:"Propriedades de c\u00E9lulas", -cell_type:"Tipo c\u00E9l.", -valign:"Alinha. vert.", -align_top:"Topo", -align_bottom:"Abaixo", -bordercolor:"Cor dos limites", -bgcolor:"Cor de fundo", -merge_cells_title:"Unir c\u00E9lulas", -id:"Id", -style:"Estilo", -langdir:"Dire\u00E7\u00E3o do texto", -langcode:"C\u00F3digo do idioma", -mime:"MIME alvo", -ltr:"Da esquerda para a direita", -rtl:"Da direita para a esquerda", -bgimage:"Imagem de fundo", -summary:"Sum\u00E1rio", -td:"Dados", -th:"Campo", -cell_cell:"Atualizar esta c\u00E9lula", -cell_row:"Atualizar todas as c\u00E9lulas na linha", -cell_all:"Atualizar todas as c\u00E9lulas na tabela", -row_row:"Atualizar esta linha", -row_odd:"Atualizar linhas \u00EDmpares", -row_even:"Atualizar linhas pares", -row_all:"Atualizar todas as linhas", -thead:"Topo da tabela", -tbody:"Corpo da tabela", -tfoot:"Rodap\u00E9 da tabela", -scope:"Alcance", -rowgroup:"Grupo linhas", -colgroup:"Grupo colunas", -col_limit:"Excedeu o n\u00FAmero m\u00E1ximo de colunas de {$cols}.", -row_limit:"Excedeu o n\u00FAmero m\u00E1ximo de linhas de {$rows}.", -cell_limit:"Excedeu o n\u00FAmero m\u00E1ximo de c\u00E9lulas de {$cells}.", -missing_scope:"Tem certeza de que quer continuar sem especificar um escopo para esta c\u00E9lula? (Isso poder\u00E1 causar dificuldades a usu\u00E1rios deficientes)", -caption:"T\u00EDtulo da tabela", -frame:"Frame", -frame_none:"Nenhum", -frame_groups:"Grupos", -frame_rows:"Linhas", -frame_cols:"colunas", -frame_all:"Todos", -rules:"Regras", -rules_void:"void", -rules_above:"acima", -rules_below:"abaixo", -rules_hsides:"Hsides", -rules_lhs:"Lhs", -rules_rhs:"Rhs", -rules_vsides:"Vsides", -rules_box:"Box", -rules_border:"Limites" +tinyMCE.addI18n('pt.table_dlg',{ +general_tab:"Geral", +advanced_tab:"Avan\u00E7ado", +general_props:"Propriedades gerais", +advanced_props:"Propriedades avan\u00E7adas", +rowtype:"Linha na parte da tabela", +title:"Inserir/modificar tabela", +width:"Largura", +height:"Altura", +cols:"Colunas", +rows:"Linhas", +cellspacing:"Espa\u00E7amento da C\u00E9lula", +cellpadding:"Enchimento da C\u00E9lula", +border:"Limites", +align:"Alinha.", +align_default:"Padr\u00E3o", +align_left:"Esquerda", +align_right:"Direita", +align_middle:"Centro", +row_title:"Propriedades de linhas", +cell_title:"Propriedades de c\u00E9lulas", +cell_type:"Tipo c\u00E9l.", +valign:"Alinha. vert.", +align_top:"Topo", +align_bottom:"Abaixo", +bordercolor:"Cor dos limites", +bgcolor:"Cor de fundo", +merge_cells_title:"Unir c\u00E9lulas", +id:"Id", +style:"Estilo", +langdir:"Dire\u00E7\u00E3o do texto", +langcode:"C\u00F3digo do idioma", +mime:"MIME alvo", +ltr:"Da esquerda para a direita", +rtl:"Da direita para a esquerda", +bgimage:"Imagem de fundo", +summary:"Sum\u00E1rio", +td:"Dados", +th:"Campo", +cell_cell:"Atualizar esta c\u00E9lula", +cell_row:"Atualizar todas as c\u00E9lulas na linha", +cell_all:"Atualizar todas as c\u00E9lulas na tabela", +row_row:"Atualizar esta linha", +row_odd:"Atualizar linhas \u00EDmpares", +row_even:"Atualizar linhas pares", +row_all:"Atualizar todas as linhas", +thead:"Topo da tabela", +tbody:"Corpo da tabela", +tfoot:"Rodap\u00E9 da tabela", +scope:"Alcance", +rowgroup:"Grupo linhas", +colgroup:"Grupo colunas", +col_limit:"Excedeu o n\u00FAmero m\u00E1ximo de colunas de {$cols}.", +row_limit:"Excedeu o n\u00FAmero m\u00E1ximo de linhas de {$rows}.", +cell_limit:"Excedeu o n\u00FAmero m\u00E1ximo de c\u00E9lulas de {$cells}.", +missing_scope:"Tem certeza de que quer continuar sem especificar um escopo para esta c\u00E9lula? (Isso poder\u00E1 causar dificuldades a usu\u00E1rios deficientes)", +caption:"T\u00EDtulo da tabela", +frame:"Frame", +frame_none:"Nenhum", +frame_groups:"Grupos", +frame_rows:"Linhas", +frame_cols:"colunas", +frame_all:"Todos", +rules:"Regras", +rules_void:"void", +rules_above:"acima", +rules_below:"abaixo", +rules_hsides:"Hsides", +rules_lhs:"Lhs", +rules_rhs:"Rhs", +rules_vsides:"Vsides", +rules_box:"Box", +rules_border:"Limites" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/ru_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/ru_dlg.js old mode 100644 new mode 100755 index b5b03ee1ea..7610cdb537 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/ru_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/ru_dlg.js @@ -1,74 +1,74 @@ -tinyMCE.addI18n('ru.table_dlg',{ -general_tab:"\u041E\u0431\u0449\u0435\u0435", -advanced_tab:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u043E", -general_props:"\u041E\u0431\u0449\u0438\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B", -advanced_props:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B", -rowtype:"\u0422\u0438\u043F \u0441\u0442\u0440\u043E\u043A\u0438", -title:"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0442\u0430\u0431\u043B\u0438\u0446\u044B", -width:"\u0428\u0438\u0440\u0438\u043D\u0430", -height:"\u0412\u044B\u0441\u043E\u0442\u0430", -cols:"\u0421\u0442\u043E\u043B\u0431\u0446\u044B", -rows:"\u0421\u0442\u0440\u043E\u043A\u0438", -cellspacing:"\u0420\u0430\u0441\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u043C\u0435\u0436\u0434\u0443 \u044F\u0447\u0435\u0439\u043A\u0430\u043C\u0438", -cellpadding:"\u041E\u0442\u0441\u0442\u0443\u043F\u044B \u0432 \u044F\u0447\u0435\u0439\u043A\u0430\u0445", -border:"\u0413\u0440\u0430\u043D\u0438\u0446\u0430", -align:"\u0412\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435", -align_default:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E", -align_left:"\u041F\u043E \u043B\u0435\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E", -align_right:"\u041F\u043E \u043F\u0440\u0430\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E", -align_middle:"\u041F\u043E \u0446\u0435\u043D\u0442\u0440\u0443", -row_title:"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0441\u0442\u0440\u043E\u043A\u0438", -cell_title:"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u044F\u0447\u0435\u0439\u043A\u0438", -cell_type:"\u0422\u0438\u043F", -valign:"\u0412\u0435\u0440\u0442. \u0432\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435", -align_top:"\u041F\u043E \u0432\u0435\u0440\u0445\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E", -align_bottom:"\u041F\u043E \u043D\u0438\u0436\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E", -bordercolor:"\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B", -bgcolor:"\u0426\u0432\u0435\u0442 \u0437\u0430\u043B\u0438\u0432\u043A\u0438", -merge_cells_title:"\u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0438\u0442\u044C \u044F\u0447\u0435\u0439\u043A\u0438", -id:"\u0418\u043C\u044F", -style:"\u0421\u0442\u0438\u043B\u044C", -langdir:"\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0430", -langcode:"\u041A\u043E\u0434 \u044F\u0437\u044B\u043A\u0430", -mime:"MIME \u0442\u0438\u043F \u0446\u0435\u043B\u0438", -ltr:"\u0421\u043B\u0435\u0432\u0430 \u043D\u0430\u043F\u0440\u0430\u0432\u043E", -rtl:"\u0421\u043F\u0440\u0430\u0432\u0430 \u043D\u0430\u043B\u0435\u0432\u043E", -bgimage:"\u0424\u043E\u043D\u043E\u0432\u043E\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435", -summary:"\u041E\u0431\u0449\u0435\u0435", -td:"\u0414\u0430\u043D\u043D\u044B\u0435", -th:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A", -cell_cell:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u044F\u0447\u0435\u0439\u043A\u0443", -cell_row:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0441\u0435 \u044F\u0447\u0435\u0439\u043A\u0438 \u0432 \u0441\u0442\u0440\u043E\u043A\u0435", -cell_all:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0441\u0435 \u044F\u0447\u0435\u0439\u043A\u0438 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0435", -row_row:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443", -row_odd:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043D\u0435\u0447\u0435\u0442\u043D\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0435", -row_even:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0447\u0435\u0442\u043D\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0435", -row_all:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0441\u0435 \u0441\u0442\u0440\u043E\u043A\u0438 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0435", -thead:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A", -tbody:"\u0422\u0435\u043B\u043E", -tfoot:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u0435", -scope:"\u041E\u0431\u043B\u0430\u0441\u0442\u044C", -rowgroup:"\u0413\u0440\u0443\u043F\u043F\u0430 \u0441\u0442\u0440\u043E\u043A", -colgroup:"\u0413\u0440\u0443\u043F\u043F\u0430 \u0441\u0442\u043E\u043B\u0431\u0446\u043E\u0432", -col_limit:"\u0414\u043E\u0441\u0442\u0438\u0433\u043D\u0443\u0442 \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0432\u0439 \u043F\u0440\u0435\u0434\u0435\u043B, \u0432 $ \u043A\u043E\u043B\u043E\u043D\u043E\u043A.", -row_limit:"\u0414\u043E\u0441\u0442\u0438\u0433\u043D\u0443\u0442 \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0432\u0439 \u043F\u0440\u0435\u0434\u0435\u043B, \u0432 $ \u0441\u0442\u0440\u043E\u043A.", -cell_limit:"\u0414\u043E\u0441\u0442\u0438\u0433\u043D\u0443\u0442 \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0432\u0439 \u043F\u0440\u0435\u0434\u0435\u043B, \u0432 $ \u044F\u0447\u0435\u0435\u043A.", -missing_scope:"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C \u0431\u0435\u0437 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u043D\u0438\u044F \u043E\u0431\u043B\u0430\u0441\u0442\u0438 \u0437\u0430\u0433\u043B\u043E\u043B\u0432\u043A\u0430? \u0411\u0435\u0437 \u044D\u0442\u043E\u0433\u043E \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0442\u0440\u0443\u0434\u043D\u0435\u043D\u043E \u0432\u043E\u0441\u043F\u0440\u0438\u044F\u0442\u0438\u0435 \u0442\u0430\u0431\u043B\u0438\u0446\u044B \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u043C \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F\u043C.", -caption:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A", -frame:"\u041A\u0430\u0434\u0440", -frame_none:"none", -frame_groups:"groups", -frame_rows:"rows", -frame_cols:"cols", -frame_all:"all", -rules:"\u041F\u0440\u0430\u0432\u0438\u043B\u0430", -rules_void:"void", -rules_above:"above", -rules_below:"below", -rules_hsides:"hsides", -rules_lhs:"lhs", -rules_rhs:"rhs", -rules_vsides:"vsides", -rules_box:"box", -rules_border:"border" +tinyMCE.addI18n('ru.table_dlg',{ +general_tab:"\u041E\u0431\u0449\u0435\u0435", +advanced_tab:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u043E", +general_props:"\u041E\u0431\u0449\u0438\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B", +advanced_props:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B", +rowtype:"\u0422\u0438\u043F \u0441\u0442\u0440\u043E\u043A\u0438", +title:"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0442\u0430\u0431\u043B\u0438\u0446\u044B", +width:"\u0428\u0438\u0440\u0438\u043D\u0430", +height:"\u0412\u044B\u0441\u043E\u0442\u0430", +cols:"\u0421\u0442\u043E\u043B\u0431\u0446\u044B", +rows:"\u0421\u0442\u0440\u043E\u043A\u0438", +cellspacing:"\u0420\u0430\u0441\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u043C\u0435\u0436\u0434\u0443 \u044F\u0447\u0435\u0439\u043A\u0430\u043C\u0438", +cellpadding:"\u041E\u0442\u0441\u0442\u0443\u043F\u044B \u0432 \u044F\u0447\u0435\u0439\u043A\u0430\u0445", +border:"\u0413\u0440\u0430\u043D\u0438\u0446\u0430", +align:"\u0412\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435", +align_default:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E", +align_left:"\u041F\u043E \u043B\u0435\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E", +align_right:"\u041F\u043E \u043F\u0440\u0430\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E", +align_middle:"\u041F\u043E \u0446\u0435\u043D\u0442\u0440\u0443", +row_title:"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0441\u0442\u0440\u043E\u043A\u0438", +cell_title:"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u044F\u0447\u0435\u0439\u043A\u0438", +cell_type:"\u0422\u0438\u043F", +valign:"\u0412\u0435\u0440\u0442. \u0432\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435", +align_top:"\u041F\u043E \u0432\u0435\u0440\u0445\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E", +align_bottom:"\u041F\u043E \u043D\u0438\u0436\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E", +bordercolor:"\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B", +bgcolor:"\u0426\u0432\u0435\u0442 \u0437\u0430\u043B\u0438\u0432\u043A\u0438", +merge_cells_title:"\u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0438\u0442\u044C \u044F\u0447\u0435\u0439\u043A\u0438", +id:"\u0418\u043C\u044F", +style:"\u0421\u0442\u0438\u043B\u044C", +langdir:"\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0430", +langcode:"\u041A\u043E\u0434 \u044F\u0437\u044B\u043A\u0430", +mime:"MIME \u0442\u0438\u043F \u0446\u0435\u043B\u0438", +ltr:"\u0421\u043B\u0435\u0432\u0430 \u043D\u0430\u043F\u0440\u0430\u0432\u043E", +rtl:"\u0421\u043F\u0440\u0430\u0432\u0430 \u043D\u0430\u043B\u0435\u0432\u043E", +bgimage:"\u0424\u043E\u043D\u043E\u0432\u043E\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435", +summary:"\u041E\u0431\u0449\u0435\u0435", +td:"\u0414\u0430\u043D\u043D\u044B\u0435", +th:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A", +cell_cell:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u044F\u0447\u0435\u0439\u043A\u0443", +cell_row:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0441\u0435 \u044F\u0447\u0435\u0439\u043A\u0438 \u0432 \u0441\u0442\u0440\u043E\u043A\u0435", +cell_all:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0441\u0435 \u044F\u0447\u0435\u0439\u043A\u0438 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0435", +row_row:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443", +row_odd:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043D\u0435\u0447\u0435\u0442\u043D\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0435", +row_even:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0447\u0435\u0442\u043D\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0435", +row_all:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0441\u0435 \u0441\u0442\u0440\u043E\u043A\u0438 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0435", +thead:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A", +tbody:"\u0422\u0435\u043B\u043E", +tfoot:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u0435", +scope:"\u041E\u0431\u043B\u0430\u0441\u0442\u044C", +rowgroup:"\u0413\u0440\u0443\u043F\u043F\u0430 \u0441\u0442\u0440\u043E\u043A", +colgroup:"\u0413\u0440\u0443\u043F\u043F\u0430 \u0441\u0442\u043E\u043B\u0431\u0446\u043E\u0432", +col_limit:"\u0414\u043E\u0441\u0442\u0438\u0433\u043D\u0443\u0442 \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0432\u0439 \u043F\u0440\u0435\u0434\u0435\u043B, \u0432 $ \u043A\u043E\u043B\u043E\u043D\u043E\u043A.", +row_limit:"\u0414\u043E\u0441\u0442\u0438\u0433\u043D\u0443\u0442 \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0432\u0439 \u043F\u0440\u0435\u0434\u0435\u043B, \u0432 $ \u0441\u0442\u0440\u043E\u043A.", +cell_limit:"\u0414\u043E\u0441\u0442\u0438\u0433\u043D\u0443\u0442 \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0432\u0439 \u043F\u0440\u0435\u0434\u0435\u043B, \u0432 $ \u044F\u0447\u0435\u0435\u043A.", +missing_scope:"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C \u0431\u0435\u0437 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u043D\u0438\u044F \u043E\u0431\u043B\u0430\u0441\u0442\u0438 \u0437\u0430\u0433\u043B\u043E\u043B\u0432\u043A\u0430? \u0411\u0435\u0437 \u044D\u0442\u043E\u0433\u043E \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0442\u0440\u0443\u0434\u043D\u0435\u043D\u043E \u0432\u043E\u0441\u043F\u0440\u0438\u044F\u0442\u0438\u0435 \u0442\u0430\u0431\u043B\u0438\u0446\u044B \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u043C \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F\u043C.", +caption:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A", +frame:"\u041A\u0430\u0434\u0440", +frame_none:"none", +frame_groups:"groups", +frame_rows:"rows", +frame_cols:"cols", +frame_all:"all", +rules:"\u041F\u0440\u0430\u0432\u0438\u043B\u0430", +rules_void:"void", +rules_above:"above", +rules_below:"below", +rules_hsides:"hsides", +rules_lhs:"lhs", +rules_rhs:"rhs", +rules_vsides:"vsides", +rules_box:"box", +rules_border:"border" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/sv_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/sv_dlg.js old mode 100644 new mode 100755 index bcf81c7155..c08c6cc39e --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/sv_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/sv_dlg.js @@ -1,73 +1,73 @@ -tinyMCE.addI18n('sv.table_dlg',{ -general_tab:"Generellt", -advanced_tab:"Avancerat", -general_props:"Generella inst\u00E4llningar", -advanced_props:"Avancerade inst\u00E4llningar", -rowtype:"Radtyp", -title:"Infoga/redigera ny tabell", -width:"Bredd", -height:"H\u00F6jd", -cols:"Kolumner", -rows:"Rader", -cellspacing:"Cellspacing", -cellpadding:"Cellpadding", -border:"Ram", -align:"Justering", -align_default:"Ingen", -align_left:"V\u00E4nster", -align_right:"H\u00F6ger", -align_middle:"Mitten", -row_title:"Tabellradsinst\u00E4llningar", -cell_title:"Tabellcellsinst\u00E4llningar", -cell_type:"Celltyp", -valign:"Vertikal justering", -align_top:"Toppen", -align_bottom:"Botten", -bordercolor:"Ramf\u00E4rg", -bgcolor:"Bakgrundsf\u00E4rg", -merge_cells_title:"Sammanfoga celler", -id:"Id", -style:"Stil", -langdir:"Skriftriktning", -langcode:"Spr\u00E5kkod", -ltr:"V\u00E4nster till h\u00F6ger", -rtl:"H\u00F6ger till v\u00E4nster", -bgimage:"Bakgrundsbild", -summary:"Sammanfattning", -td:"Data", -th:"Huvud", -cell_cell:"Uppdatera nuvarande cell", -cell_row:"Uppdatera alla celler i raden", -cell_all:"Uppdatera alla celler i tabellen", -row_row:"Uppdatera nuvarande rad", -row_odd:"Uppdatera udda rader i tabellen", -row_even:"Uppdatera j\u00E4mna rader i tabellen", -row_all:"Uppdatera alla rader i tabellen", -thead:"tabellhuvud", -tbody:"tabellkropp", -tfoot:"tabellfot", -scope:"Omfattning", -rowgroup:"Radgrupp", -colgroup:"Kolumngrupp", -col_limit:"Du kan inte ange fler \u00E4n {$cols} kolumner.", -row_limit:"Du kan inte ange fler \u00E4n {$rows} rader.", -cell_limit:"Du kan inte skapa en tabell med fler \u00E4n {$cells} celler.", -missing_scope:"\u00D6\u0084r du s\u00E4ker p\u00E5 att du vill forts\u00E4tta utan att ange en omfattning, denna underl\u00E4ttar f\u00F6r icke-grafiska webbl\u00E4sare.", -caption:"\u00D6verskrift", -frame:"Ram", -frame_none:"none", -frame_groups:"groups", -frame_rows:"rows", -frame_cols:"cols", -frame_all:"all", -rules:"Regler", -rules_void:"void", -rules_above:"above", -rules_below:"below", -rules_hsides:"hsides", -rules_lhs:"lhs", -rules_rhs:"rhs", -rules_vsides:"vsides", -rules_box:"box", -rules_border:"border" +tinyMCE.addI18n('sv.table_dlg',{ +general_tab:"Generellt", +advanced_tab:"Avancerat", +general_props:"Generella inst\u00E4llningar", +advanced_props:"Avancerade inst\u00E4llningar", +rowtype:"Radtyp", +title:"Infoga/redigera ny tabell", +width:"Bredd", +height:"H\u00F6jd", +cols:"Kolumner", +rows:"Rader", +cellspacing:"Cellspacing", +cellpadding:"Cellpadding", +border:"Ram", +align:"Justering", +align_default:"Ingen", +align_left:"V\u00E4nster", +align_right:"H\u00F6ger", +align_middle:"Mitten", +row_title:"Tabellradsinst\u00E4llningar", +cell_title:"Tabellcellsinst\u00E4llningar", +cell_type:"Celltyp", +valign:"Vertikal justering", +align_top:"Toppen", +align_bottom:"Botten", +bordercolor:"Ramf\u00E4rg", +bgcolor:"Bakgrundsf\u00E4rg", +merge_cells_title:"Sammanfoga celler", +id:"Id", +style:"Stil", +langdir:"Skriftriktning", +langcode:"Spr\u00E5kkod", +ltr:"V\u00E4nster till h\u00F6ger", +rtl:"H\u00F6ger till v\u00E4nster", +bgimage:"Bakgrundsbild", +summary:"Sammanfattning", +td:"Data", +th:"Huvud", +cell_cell:"Uppdatera nuvarande cell", +cell_row:"Uppdatera alla celler i raden", +cell_all:"Uppdatera alla celler i tabellen", +row_row:"Uppdatera nuvarande rad", +row_odd:"Uppdatera udda rader i tabellen", +row_even:"Uppdatera j\u00E4mna rader i tabellen", +row_all:"Uppdatera alla rader i tabellen", +thead:"tabellhuvud", +tbody:"tabellkropp", +tfoot:"tabellfot", +scope:"Omfattning", +rowgroup:"Radgrupp", +colgroup:"Kolumngrupp", +col_limit:"Du kan inte ange fler \u00E4n {$cols} kolumner.", +row_limit:"Du kan inte ange fler \u00E4n {$rows} rader.", +cell_limit:"Du kan inte skapa en tabell med fler \u00E4n {$cells} celler.", +missing_scope:"\u00D6\u0084r du s\u00E4ker p\u00E5 att du vill forts\u00E4tta utan att ange en omfattning, denna underl\u00E4ttar f\u00F6r icke-grafiska webbl\u00E4sare.", +caption:"\u00D6verskrift", +frame:"Ram", +frame_none:"none", +frame_groups:"groups", +frame_rows:"rows", +frame_cols:"cols", +frame_all:"all", +rules:"Regler", +rules_void:"void", +rules_above:"above", +rules_below:"below", +rules_hsides:"hsides", +rules_lhs:"lhs", +rules_rhs:"rhs", +rules_vsides:"vsides", +rules_box:"box", +rules_border:"border" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/zh_dlg.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/zh_dlg.js old mode 100644 new mode 100755 index 8998ff5b43..d40ae1589f --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/zh_dlg.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/langs/zh_dlg.js @@ -1,74 +1,74 @@ -tinyMCE.addI18n('zh.table_dlg',{ -general_tab:"\u4E00\u822C", -advanced_tab:"\u9AD8\u7D1A", -general_props:"\u4E00\u822C\u5C6C\u6027", -advanced_props:"\u9AD8\u7D1A\u5C6C\u6027", -rowtype:"\u884C\u6240\u5728\u7684\u8868\u683C\u4F4D\u7F6E", -title:"\u63D2\u5165/\u7DE8\u8F2F\u8868\u683C", -width:"\u5BEC\u5EA6", -height:"\u9AD8\u5EA6", -cols:"\u6B04\u6578", -rows:"\u884C\u6578", -cellspacing:"\u5132\u5B58\u683C\u9593\u8DDD", -cellpadding:"\u5132\u5B58\u683C\u908A\u8DDD", -border:"\u908A\u6846", -align:"\u5C0D\u9F4A\u65B9\u5F0F", -align_default:"\u9ED8\u8A8D", -align_left:"\u9760\u5DE6\u5C0D\u9F4A", -align_right:"\u9760\u53F3\u5C0D\u9F4A", -align_middle:"\u7F6E\u4E2D\u5C0D\u9F4A", -row_title:"\u884C\u5C6C\u6027", -cell_title:"\u5132\u5B58\u683C\u6A19\u984C", -cell_type:"\u5132\u5B58\u683C\u985E\u578B", -valign:"\u5782\u76F4\u5C0D\u9F4A", -align_top:"\u9760\u4E0A", -align_bottom:"\u9760\u4E0B", -bordercolor:"\u908A\u6846\u984F\u8272", -bgcolor:"\u80CC\u666F\u984F\u8272", -merge_cells_title:"\u5408\u4F75\u5132\u5B58\u683C", -id:"ID", -style:"\u6A23\u5F0F", -langdir:"\u8A9E\u8A00\u66F8\u5BEB\u65B9\u5411", -langcode:"\u8A9E\u8A00\u7DE8\u78BC", -mime:"MIME \u985E\u578B", -ltr:"\u5F9E\u5DE6\u5230\u53F3", -rtl:"\u5F9E\u53F3\u5230\u5DE6", -bgimage:"\u80CC\u666F\u5716\u7247", -summary:"\u6458\u8981", -td:"\u5167\u5BB9", -th:"\u8868\u982D", -cell_cell:"\u66F4\u65B0\u76EE\u524D\u5132\u5B58\u683C", -cell_row:"\u66F4\u65B0\u76EE\u524D\u884C\u7684\u5132\u5B58\u683C", -cell_all:"\u66F4\u65B0\u6240\u6709\u5132\u5B58\u683C", -row_row:"\u66F4\u65B0\u76EE\u524D\u884C", -row_odd:"\u66F4\u65B0\u8868\u683C\u7684\u5947\u6578\u884C", -row_even:"\u66F4\u65B0\u8868\u683C\u7684\u5076\u6578\u884C", -row_all:"\u66F4\u65B0\u8868\u683C\u7684\u6240\u6709\u884C", -thead:"\u8868\u982D", -tbody:"\u8868\u683C\u4E3B\u9AD4", -tfoot:"\u8868\u5C3E", -scope:"\u7BC4\u570D", -rowgroup:"\u884C\u7FA4\u7D44", -colgroup:"\u6B04\u7FA4\u7D44", -col_limit:"\u5DF2\u8D85\u904E\u6700\u5927\u6B04\u6578\u9650\u5236 {$cols} \u6B04\u3002", -row_limit:"\u5DF2\u8D85\u904E\u6700\u5927\u884C\u6578\u9650\u5236 {$rows} \u5217\u3002", -cell_limit:"\u5DF2\u8D85\u904E\u6700\u5927\u5132\u5B58\u683C\u9650\u5236{$cells} \u5132\u5B58\u683C\u3002", -missing_scope:"\u4F60\u78BA\u5B9A\u4E0D\u6307\u5B9A\u8868\u683C\u982D\u90E8\u5132\u5B58\u683C\u4E00\u500B\u7BC4\u570D\u55CE\uFF1F\u6C92\u6709\u5B83\uFF0C\u6216\u8A31\u5C0D\u90A3\u4E9B\u6709\u969C\u7919\u7684\u7528\u6236\u7406\u89E3\u8868\u683C\u5C55\u793A\u7684\u5167\u5BB9\u6216\u6578\u64DA\u66F4\u52A0\u7684\u56F0\u96E3\u3002", -caption:"\u8868\u683C\u6A19\u984C", -frame:"\u6846\u67B6", -frame_none:"\u7121", -frame_groups:"\u7FA4\u7D44", -frame_rows:"\u884C", -frame_cols:"\u6B04", -frame_all:"\u5168\u90E8", -rules:"\u898F\u5247", -rules_void:"\u7A7A", -rules_above:"\u4E0A", -rules_below:"\u4E0B", -rules_hsides:"\u6C34\u5E73", -rules_lhs:"\u5DE6\u908A", -rules_rhs:"\u53F3\u908A", -rules_vsides:"\u5782\u76F4", -rules_box:"\u76D2\u578B", -rules_border:"\u5916\u6846" +tinyMCE.addI18n('zh.table_dlg',{ +general_tab:"\u4E00\u822C", +advanced_tab:"\u9AD8\u7D1A", +general_props:"\u4E00\u822C\u5C6C\u6027", +advanced_props:"\u9AD8\u7D1A\u5C6C\u6027", +rowtype:"\u884C\u6240\u5728\u7684\u8868\u683C\u4F4D\u7F6E", +title:"\u63D2\u5165/\u7DE8\u8F2F\u8868\u683C", +width:"\u5BEC\u5EA6", +height:"\u9AD8\u5EA6", +cols:"\u6B04\u6578", +rows:"\u884C\u6578", +cellspacing:"\u5132\u5B58\u683C\u9593\u8DDD", +cellpadding:"\u5132\u5B58\u683C\u908A\u8DDD", +border:"\u908A\u6846", +align:"\u5C0D\u9F4A\u65B9\u5F0F", +align_default:"\u9ED8\u8A8D", +align_left:"\u9760\u5DE6\u5C0D\u9F4A", +align_right:"\u9760\u53F3\u5C0D\u9F4A", +align_middle:"\u7F6E\u4E2D\u5C0D\u9F4A", +row_title:"\u884C\u5C6C\u6027", +cell_title:"\u5132\u5B58\u683C\u6A19\u984C", +cell_type:"\u5132\u5B58\u683C\u985E\u578B", +valign:"\u5782\u76F4\u5C0D\u9F4A", +align_top:"\u9760\u4E0A", +align_bottom:"\u9760\u4E0B", +bordercolor:"\u908A\u6846\u984F\u8272", +bgcolor:"\u80CC\u666F\u984F\u8272", +merge_cells_title:"\u5408\u4F75\u5132\u5B58\u683C", +id:"ID", +style:"\u6A23\u5F0F", +langdir:"\u8A9E\u8A00\u66F8\u5BEB\u65B9\u5411", +langcode:"\u8A9E\u8A00\u7DE8\u78BC", +mime:"MIME \u985E\u578B", +ltr:"\u5F9E\u5DE6\u5230\u53F3", +rtl:"\u5F9E\u53F3\u5230\u5DE6", +bgimage:"\u80CC\u666F\u5716\u7247", +summary:"\u6458\u8981", +td:"\u5167\u5BB9", +th:"\u8868\u982D", +cell_cell:"\u66F4\u65B0\u76EE\u524D\u5132\u5B58\u683C", +cell_row:"\u66F4\u65B0\u76EE\u524D\u884C\u7684\u5132\u5B58\u683C", +cell_all:"\u66F4\u65B0\u6240\u6709\u5132\u5B58\u683C", +row_row:"\u66F4\u65B0\u76EE\u524D\u884C", +row_odd:"\u66F4\u65B0\u8868\u683C\u7684\u5947\u6578\u884C", +row_even:"\u66F4\u65B0\u8868\u683C\u7684\u5076\u6578\u884C", +row_all:"\u66F4\u65B0\u8868\u683C\u7684\u6240\u6709\u884C", +thead:"\u8868\u982D", +tbody:"\u8868\u683C\u4E3B\u9AD4", +tfoot:"\u8868\u5C3E", +scope:"\u7BC4\u570D", +rowgroup:"\u884C\u7FA4\u7D44", +colgroup:"\u6B04\u7FA4\u7D44", +col_limit:"\u5DF2\u8D85\u904E\u6700\u5927\u6B04\u6578\u9650\u5236 {$cols} \u6B04\u3002", +row_limit:"\u5DF2\u8D85\u904E\u6700\u5927\u884C\u6578\u9650\u5236 {$rows} \u5217\u3002", +cell_limit:"\u5DF2\u8D85\u904E\u6700\u5927\u5132\u5B58\u683C\u9650\u5236{$cells} \u5132\u5B58\u683C\u3002", +missing_scope:"\u4F60\u78BA\u5B9A\u4E0D\u6307\u5B9A\u8868\u683C\u982D\u90E8\u5132\u5B58\u683C\u4E00\u500B\u7BC4\u570D\u55CE\uFF1F\u6C92\u6709\u5B83\uFF0C\u6216\u8A31\u5C0D\u90A3\u4E9B\u6709\u969C\u7919\u7684\u7528\u6236\u7406\u89E3\u8868\u683C\u5C55\u793A\u7684\u5167\u5BB9\u6216\u6578\u64DA\u66F4\u52A0\u7684\u56F0\u96E3\u3002", +caption:"\u8868\u683C\u6A19\u984C", +frame:"\u6846\u67B6", +frame_none:"\u7121", +frame_groups:"\u7FA4\u7D44", +frame_rows:"\u884C", +frame_cols:"\u6B04", +frame_all:"\u5168\u90E8", +rules:"\u898F\u5247", +rules_void:"\u7A7A", +rules_above:"\u4E0A", +rules_below:"\u4E0B", +rules_hsides:"\u6C34\u5E73", +rules_lhs:"\u5DE6\u908A", +rules_rhs:"\u53F3\u908A", +rules_vsides:"\u5782\u76F4", +rules_box:"\u76D2\u578B", +rules_border:"\u5916\u6846" }); \ No newline at end of file diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm old mode 100644 new mode 100755 index 9736ed8c03..b1a8d9b1b2 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm @@ -1,32 +1,32 @@ - - - - {#table_dlg.merge_cells_title} - - - - - - -
    -
    - {#table_dlg.merge_cells_title} - - - - - - - - - -
    {#table_dlg.cols}:
    {#table_dlg.rows}:
    -
    - -
    - - -
    -
    - - + + + + {#table_dlg.merge_cells_title} + + + + + + +
    +
    + {#table_dlg.merge_cells_title} + + + + + + + + + +
    {#table_dlg.cols}:
    {#table_dlg.rows}:
    +
    + +
    + + +
    +
    + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/row.htm b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/row.htm old mode 100644 new mode 100755 index 092e6c8270..33fc9cc6c4 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/row.htm +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/row.htm @@ -1,155 +1,155 @@ - - - - {#table_dlg.row_title} - - - - - - - - -
    - - -
    -
    -
    - {#table_dlg.general_props} - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    -
    -
    - -
    -
    - {#table_dlg.advanced_props} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - -
    - - - - - -
     
    -
    - - - - - -
     
    -
    -
    -
    -
    - -
    -
    - -
    - - - -
    -
    - - + + + + {#table_dlg.row_title} + + + + + + + + +
    + + +
    +
    +
    + {#table_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    + +
    +
    +
    + +
    +
    + {#table_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + + +
     
    +
    + + + + + +
     
    +
    +
    +
    +
    + +
    +
    + +
    + + + +
    +
    + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/table.htm b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/table.htm old mode 100644 new mode 100755 index f269039228..122b04ae24 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/table.htm +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/table/table.htm @@ -1,187 +1,187 @@ - - - - {#table_dlg.title} - - - - - - - - - -
    - - -
    -
    -
    - {#table_dlg.general_props} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    -
    - -
    -
    - {#table_dlg.advanced_props} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - - - - - -
     
    -
    - -
    - -
    - -
    - - - - - -
     
    -
    - - - - - -
     
    -
    -
    -
    -
    - -
    - - -
    -
    - - + + + + {#table_dlg.title} + + + + + + + + + +
    + + +
    +
    +
    + {#table_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + {#table_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + +
     
    +
    + +
    + +
    + +
    + + + + + +
     
    +
    + + + + + +
     
    +
    +
    +
    +
    + +
    + + +
    +
    + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/blank.htm b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/blank.htm old mode 100644 new mode 100755 index ecde53fae7..538a3b12c9 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/blank.htm +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/blank.htm @@ -1,12 +1,12 @@ - - - blank_page - - - - - - - + + + blank_page + + + + + + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/css/template.css b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/css/template.css old mode 100644 new mode 100755 index 2d23a4938c..0a03f2e5c0 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/css/template.css +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/css/template.css @@ -1,23 +1,23 @@ -#frmbody { - padding: 10px; - background-color: #FFF; - border: 1px solid #CCC; -} - -.frmRow { - margin-bottom: 10px; -} - -#templatesrc { - border: none; - width: 320px; - height: 240px; -} - -.title { - padding-bottom: 5px; -} - -.mceActionPanel { - padding-top: 5px; -} +#frmbody { + padding: 10px; + background-color: #FFF; + border: 1px solid #CCC; +} + +.frmRow { + margin-bottom: 10px; +} + +#templatesrc { + border: none; + width: 320px; + height: 240px; +} + +.title { + padding-bottom: 5px; +} + +.mceActionPanel { + padding-top: 5px; +} diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/js/template.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/js/template.js old mode 100644 new mode 100755 index 24045d7311..7eab2ebbd0 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/js/template.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/template/js/template.js @@ -1,106 +1,106 @@ -tinyMCEPopup.requireLangPack(); - -var TemplateDialog = { - preInit : function() { - var url = tinyMCEPopup.getParam("template_external_list_url"); - - if (url != null) - document.write(''); - }, - - init : function() { - var ed = tinyMCEPopup.editor, tsrc, sel, x, u; - - tsrc = ed.getParam("template_templates", false); - sel = document.getElementById('tpath'); - - // Setup external template list - if (!tsrc && typeof(tinyMCETemplateList) != 'undefined') { - for (x=0, tsrc = []; x'); - }); - }, - - selectTemplate : function(u, ti) { - var d = window.frames['templatesrc'].document, x, tsrc = this.tsrc; - - if (!u) - return; - - d.body.innerHTML = this.templateHTML = this.getFileContents(u); - - for (x=0; x'); + }, + + init : function() { + var ed = tinyMCEPopup.editor, tsrc, sel, x, u; + + tsrc = ed.getParam("template_templates", false); + sel = document.getElementById('tpath'); + + // Setup external template list + if (!tsrc && typeof(tinyMCETemplateList) != 'undefined') { + for (x=0, tsrc = []; x'); + }); + }, + + selectTemplate : function(u, ti) { + var d = window.frames['templatesrc'].document, x, tsrc = this.tsrc; + + if (!u) + return; + + d.body.innerHTML = this.templateHTML = this.getFileContents(u); + + for (x=0; x - - {#template_dlg.title} - - - - - -
    -
    -
    {#template_dlg.desc}
    -
    - -
    -
    -
    -
    - {#template_dlg.preview} - -
    -
    - -
    - - -
    -
    - - + + + {#template_dlg.title} + + + + + +
    +
    +
    {#template_dlg.desc}
    +
    + +
    +
    +
    +
    + {#template_dlg.preview} + +
    +
    + +
    + + +
    +
    + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm old mode 100644 new mode 100755 index 3aeac0deba..0282ffffe2 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm @@ -1,141 +1,141 @@ - - - - {#xhtmlxtras_dlg.title_abbr_element} - - - - - - - - - -
    - - -
    -
    -
    - {#xhtmlxtras_dlg.fieldset_attrib_tab} - - - - - - - - - - - - - - - - - - - - - - - - - -
    :
    :
    : - -
    :
    : - -
    : - -
    -
    -
    -
    -
    - {#xhtmlxtras_dlg.fieldset_events_tab} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    -
    -
    -
    -
    - - - -
    -
    - - + + + + {#xhtmlxtras_dlg.title_abbr_element} + + + + + + + + + +
    + + +
    +
    +
    + {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    : + +
    :
    : + +
    : + +
    +
    +
    +
    +
    + {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    +
    +
    +
    +
    + + + +
    +
    + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm old mode 100644 new mode 100755 index 31ee7b70f3..e0ed031413 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm @@ -1,141 +1,141 @@ - - - - {#xhtmlxtras_dlg.title_acronym_element} - - - - - - - - - -
    - - -
    -
    -
    - {#xhtmlxtras_dlg.fieldset_attrib_tab} - - - - - - - - - - - - - - - - - - - - - - - - - -
    :
    :
    : - -
    :
    : - -
    : - -
    -
    -
    -
    -
    - {#xhtmlxtras_dlg.fieldset_events_tab} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    -
    -
    -
    -
    - - - -
    -
    - - + + + + {#xhtmlxtras_dlg.title_acronym_element} + + + + + + + + + +
    + + +
    +
    +
    + {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    : + +
    :
    : + +
    : + +
    +
    +
    +
    +
    + {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    +
    +
    +
    +
    + + + +
    +
    + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm old mode 100644 new mode 100755 index 17054da3ed..fc5ba97ee1 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm @@ -1,148 +1,148 @@ - - - - {#xhtmlxtras_dlg.attribs_title} - - - - - - - - -
    - - -
    -
    -
    - {#xhtmlxtras_dlg.attribute_attrib_tab} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    :
    :
    - -
    :
    : - -
    : - -
    -
    -
    -
    -
    - {#xhtmlxtras_dlg.attribute_events_tab} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    -
    -
    -
    -
    - - -
    -
    - - + + + + {#xhtmlxtras_dlg.attribs_title} + + + + + + + + +
    + + +
    +
    +
    + {#xhtmlxtras_dlg.attribute_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    + +
    :
    : + +
    : + +
    +
    +
    +
    +
    + {#xhtmlxtras_dlg.attribute_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    +
    +
    +
    +
    + + +
    +
    + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm old mode 100644 new mode 100755 index d0a3e3a8e5..b23becc5f4 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm @@ -1,141 +1,141 @@ - - - - {#xhtmlxtras_dlg.title_cite_element} - - - - - - - - - -
    - - -
    -
    -
    - {#xhtmlxtras_dlg.fieldset_attrib_tab} - - - - - - - - - - - - - - - - - - - - - - - - - -
    :
    :
    : - -
    :
    : - -
    : - -
    -
    -
    -
    -
    - {#xhtmlxtras_dlg.fieldset_events_tab} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    -
    -
    -
    -
    - - - -
    -
    - - + + + + {#xhtmlxtras_dlg.title_cite_element} + + + + + + + + + +
    + + +
    +
    +
    + {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    : + +
    :
    : + +
    : + +
    +
    +
    +
    +
    + {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    +
    +
    +
    +
    + + + +
    +
    + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css old mode 100644 new mode 100755 index 9a6a235c35..85b1b376de --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css @@ -1,11 +1,11 @@ -.panel_wrapper div.current { - height: 290px; -} - -#id, #style, #title, #dir, #hreflang, #lang, #classlist, #tabindex, #accesskey { - width: 200px; -} - -#events_panel input { - width: 200px; -} +.panel_wrapper div.current { + height: 290px; +} + +#id, #style, #title, #dir, #hreflang, #lang, #classlist, #tabindex, #accesskey { + width: 200px; +} + +#events_panel input { + width: 200px; +} diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css old mode 100644 new mode 100755 index e67114dbaa..034b985272 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css @@ -1,9 +1,9 @@ -input.field, select.field {width:200px;} -input.picker {width:179px; margin-left: 5px;} -input.disabled {border-color:#F2F2F2;} -img.picker {vertical-align:text-bottom; cursor:pointer;} -h1 {padding: 0 0 5px 0;} -.panel_wrapper div.current {height:160px;} -#xhtmlxtrasdel .panel_wrapper div.current, #xhtmlxtrasins .panel_wrapper div.current {height: 230px;} -a.browse span {display:block; width:20px; height:20px; background:url('../../../themes/advanced/img/icons.gif') -140px -20px;} -#datetime {width:180px;} +input.field, select.field {width:200px;} +input.picker {width:179px; margin-left: 5px;} +input.disabled {border-color:#F2F2F2;} +img.picker {vertical-align:text-bottom; cursor:pointer;} +h1 {padding: 0 0 5px 0;} +.panel_wrapper div.current {height:160px;} +#xhtmlxtrasdel .panel_wrapper div.current, #xhtmlxtrasins .panel_wrapper div.current {height: 230px;} +a.browse span {display:block; width:20px; height:20px; background:url('../../../themes/advanced/img/icons.gif') -140px -20px;} +#datetime {width:180px;} diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm old mode 100644 new mode 100755 index 8b07fa8429..bc809449d3 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm @@ -1,161 +1,161 @@ - - - - {#xhtmlxtras_dlg.title_del_element} - - - - - - - - - -
    - - -
    -
    -
    - {#xhtmlxtras_dlg.fieldset_general_tab} - - - - - - - - - -
    : - - - - - -
    -
    :
    -
    -
    - {#xhtmlxtras_dlg.fieldset_attrib_tab} - - - - - - - - - - - - - - - - - - - - - - - - - -
    :
    :
    : - -
    :
    : - -
    : - -
    -
    -
    -
    -
    - {#xhtmlxtras_dlg.fieldset_events_tab} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    -
    -
    -
    -
    - - - -
    -
    - - + + + + {#xhtmlxtras_dlg.title_del_element} + + + + + + + + + +
    + + +
    +
    +
    + {#xhtmlxtras_dlg.fieldset_general_tab} + + + + + + + + + +
    : + + + + + +
    +
    :
    +
    +
    + {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    : + +
    :
    : + +
    : + +
    +
    +
    +
    +
    + {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    +
    +
    +
    +
    + + + +
    +
    + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm old mode 100644 new mode 100755 index 6c5470cfcc..9448d67f17 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm @@ -1,161 +1,161 @@ - - - - {#xhtmlxtras_dlg.title_ins_element} - - - - - - - - - -
    - - -
    -
    -
    - {#xhtmlxtras_dlg.fieldset_general_tab} - - - - - - - - - -
    : - - - - - -
    -
    :
    -
    -
    - {#xhtmlxtras_dlg.fieldset_attrib_tab} - - - - - - - - - - - - - - - - - - - - - - - - - -
    :
    :
    : - -
    :
    : - -
    : - -
    -
    -
    -
    -
    - {#xhtmlxtras_dlg.fieldset_events_tab} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    -
    -
    -
    -
    - - - -
    -
    - - + + + + {#xhtmlxtras_dlg.title_ins_element} + + + + + + + + + +
    + + +
    +
    +
    + {#xhtmlxtras_dlg.fieldset_general_tab} + + + + + + + + + +
    : + + + + + +
    +
    :
    +
    +
    + {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    : + +
    :
    : + +
    : + +
    +
    +
    +
    +
    + {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    +
    +
    +
    +
    + + + +
    +
    + + diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js old mode 100644 new mode 100755 index 4b51a25721..1790e83d35 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js @@ -1,28 +1,28 @@ -/** - * abbr.js - * - * Copyright 2009, Moxiecode Systems AB - * Released under LGPL License. - * - * License: http://tinymce.moxiecode.com/license - * Contributing: http://tinymce.moxiecode.com/contributing - */ - -function init() { - SXE.initElementDialog('abbr'); - if (SXE.currentAction == "update") { - SXE.showRemoveButton(); - } -} - -function insertAbbr() { - SXE.insertElement('abbr'); - tinyMCEPopup.close(); -} - -function removeAbbr() { - SXE.removeElement('abbr'); - tinyMCEPopup.close(); -} - -tinyMCEPopup.onInit.add(init); +/** + * abbr.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + SXE.initElementDialog('abbr'); + if (SXE.currentAction == "update") { + SXE.showRemoveButton(); + } +} + +function insertAbbr() { + SXE.insertElement('abbr'); + tinyMCEPopup.close(); +} + +function removeAbbr() { + SXE.removeElement('abbr'); + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js old mode 100644 new mode 100755 index 6ec2f88716..93b8d259a8 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js @@ -1,28 +1,28 @@ -/** - * acronym.js - * - * Copyright 2009, Moxiecode Systems AB - * Released under LGPL License. - * - * License: http://tinymce.moxiecode.com/license - * Contributing: http://tinymce.moxiecode.com/contributing - */ - -function init() { - SXE.initElementDialog('acronym'); - if (SXE.currentAction == "update") { - SXE.showRemoveButton(); - } -} - -function insertAcronym() { - SXE.insertElement('acronym'); - tinyMCEPopup.close(); -} - -function removeAcronym() { - SXE.removeElement('acronym'); - tinyMCEPopup.close(); -} - -tinyMCEPopup.onInit.add(init); +/** + * acronym.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + SXE.initElementDialog('acronym'); + if (SXE.currentAction == "update") { + SXE.showRemoveButton(); + } +} + +function insertAcronym() { + SXE.insertElement('acronym'); + tinyMCEPopup.close(); +} + +function removeAcronym() { + SXE.removeElement('acronym'); + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js old mode 100644 new mode 100755 index d62a219e6b..c7e0e7fcbb --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js @@ -1,126 +1,126 @@ -/** - * attributes.js - * - * Copyright 2009, Moxiecode Systems AB - * Released under LGPL License. - * - * License: http://tinymce.moxiecode.com/license - * Contributing: http://tinymce.moxiecode.com/contributing - */ - -function init() { - tinyMCEPopup.resizeToInnerSize(); - var inst = tinyMCEPopup.editor; - var dom = inst.dom; - var elm = inst.selection.getNode(); - var f = document.forms[0]; - var onclick = dom.getAttrib(elm, 'onclick'); - - setFormValue('title', dom.getAttrib(elm, 'title')); - setFormValue('id', dom.getAttrib(elm, 'id')); - setFormValue('style', dom.getAttrib(elm, "style")); - setFormValue('dir', dom.getAttrib(elm, 'dir')); - setFormValue('lang', dom.getAttrib(elm, 'lang')); - setFormValue('tabindex', dom.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : "")); - setFormValue('accesskey', dom.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : "")); - setFormValue('onfocus', dom.getAttrib(elm, 'onfocus')); - setFormValue('onblur', dom.getAttrib(elm, 'onblur')); - setFormValue('onclick', onclick); - setFormValue('ondblclick', dom.getAttrib(elm, 'ondblclick')); - setFormValue('onmousedown', dom.getAttrib(elm, 'onmousedown')); - setFormValue('onmouseup', dom.getAttrib(elm, 'onmouseup')); - setFormValue('onmouseover', dom.getAttrib(elm, 'onmouseover')); - setFormValue('onmousemove', dom.getAttrib(elm, 'onmousemove')); - setFormValue('onmouseout', dom.getAttrib(elm, 'onmouseout')); - setFormValue('onkeypress', dom.getAttrib(elm, 'onkeypress')); - setFormValue('onkeydown', dom.getAttrib(elm, 'onkeydown')); - setFormValue('onkeyup', dom.getAttrib(elm, 'onkeyup')); - className = dom.getAttrib(elm, 'class'); - - addClassesToList('classlist', 'advlink_styles'); - selectByValue(f, 'classlist', className, true); - - TinyMCE_EditableSelects.init(); -} - -function setFormValue(name, value) { - if(value && document.forms[0].elements[name]){ - document.forms[0].elements[name].value = value; - } -} - -function insertAction() { - var inst = tinyMCEPopup.editor; - var elm = inst.selection.getNode(); - - tinyMCEPopup.execCommand("mceBeginUndoLevel"); - setAllAttribs(elm); - tinyMCEPopup.execCommand("mceEndUndoLevel"); - tinyMCEPopup.close(); -} - -function setAttrib(elm, attrib, value) { - var formObj = document.forms[0]; - var valueElm = formObj.elements[attrib.toLowerCase()]; - var inst = tinyMCEPopup.editor; - var dom = inst.dom; - - if (typeof(value) == "undefined" || value == null) { - value = ""; - - if (valueElm) - value = valueElm.value; - } - - if (value != "") { - dom.setAttrib(elm, attrib.toLowerCase(), value); - - if (attrib == "style") - attrib = "style.cssText"; - - if (attrib.substring(0, 2) == 'on') - value = 'return true;' + value; - - if (attrib == "class") - attrib = "className"; - - elm[attrib]=value; - } else - elm.removeAttribute(attrib); -} - -function setAllAttribs(elm) { - var f = document.forms[0]; - - setAttrib(elm, 'title'); - setAttrib(elm, 'id'); - setAttrib(elm, 'style'); - setAttrib(elm, 'class', getSelectValue(f, 'classlist')); - setAttrib(elm, 'dir'); - setAttrib(elm, 'lang'); - setAttrib(elm, 'tabindex'); - setAttrib(elm, 'accesskey'); - setAttrib(elm, 'onfocus'); - setAttrib(elm, 'onblur'); - setAttrib(elm, 'onclick'); - setAttrib(elm, 'ondblclick'); - setAttrib(elm, 'onmousedown'); - setAttrib(elm, 'onmouseup'); - setAttrib(elm, 'onmouseover'); - setAttrib(elm, 'onmousemove'); - setAttrib(elm, 'onmouseout'); - setAttrib(elm, 'onkeypress'); - setAttrib(elm, 'onkeydown'); - setAttrib(elm, 'onkeyup'); - - // Refresh in old MSIE -// if (tinyMCE.isMSIE5) -// elm.outerHTML = elm.outerHTML; -} - -function insertAttribute() { - tinyMCEPopup.close(); -} - -tinyMCEPopup.onInit.add(init); -tinyMCEPopup.requireLangPack(); +/** + * attributes.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + tinyMCEPopup.resizeToInnerSize(); + var inst = tinyMCEPopup.editor; + var dom = inst.dom; + var elm = inst.selection.getNode(); + var f = document.forms[0]; + var onclick = dom.getAttrib(elm, 'onclick'); + + setFormValue('title', dom.getAttrib(elm, 'title')); + setFormValue('id', dom.getAttrib(elm, 'id')); + setFormValue('style', dom.getAttrib(elm, "style")); + setFormValue('dir', dom.getAttrib(elm, 'dir')); + setFormValue('lang', dom.getAttrib(elm, 'lang')); + setFormValue('tabindex', dom.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : "")); + setFormValue('accesskey', dom.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : "")); + setFormValue('onfocus', dom.getAttrib(elm, 'onfocus')); + setFormValue('onblur', dom.getAttrib(elm, 'onblur')); + setFormValue('onclick', onclick); + setFormValue('ondblclick', dom.getAttrib(elm, 'ondblclick')); + setFormValue('onmousedown', dom.getAttrib(elm, 'onmousedown')); + setFormValue('onmouseup', dom.getAttrib(elm, 'onmouseup')); + setFormValue('onmouseover', dom.getAttrib(elm, 'onmouseover')); + setFormValue('onmousemove', dom.getAttrib(elm, 'onmousemove')); + setFormValue('onmouseout', dom.getAttrib(elm, 'onmouseout')); + setFormValue('onkeypress', dom.getAttrib(elm, 'onkeypress')); + setFormValue('onkeydown', dom.getAttrib(elm, 'onkeydown')); + setFormValue('onkeyup', dom.getAttrib(elm, 'onkeyup')); + className = dom.getAttrib(elm, 'class'); + + addClassesToList('classlist', 'advlink_styles'); + selectByValue(f, 'classlist', className, true); + + TinyMCE_EditableSelects.init(); +} + +function setFormValue(name, value) { + if(value && document.forms[0].elements[name]){ + document.forms[0].elements[name].value = value; + } +} + +function insertAction() { + var inst = tinyMCEPopup.editor; + var elm = inst.selection.getNode(); + + tinyMCEPopup.execCommand("mceBeginUndoLevel"); + setAllAttribs(elm); + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); +} + +function setAttrib(elm, attrib, value) { + var formObj = document.forms[0]; + var valueElm = formObj.elements[attrib.toLowerCase()]; + var inst = tinyMCEPopup.editor; + var dom = inst.dom; + + if (typeof(value) == "undefined" || value == null) { + value = ""; + + if (valueElm) + value = valueElm.value; + } + + if (value != "") { + dom.setAttrib(elm, attrib.toLowerCase(), value); + + if (attrib == "style") + attrib = "style.cssText"; + + if (attrib.substring(0, 2) == 'on') + value = 'return true;' + value; + + if (attrib == "class") + attrib = "className"; + + elm[attrib]=value; + } else + elm.removeAttribute(attrib); +} + +function setAllAttribs(elm) { + var f = document.forms[0]; + + setAttrib(elm, 'title'); + setAttrib(elm, 'id'); + setAttrib(elm, 'style'); + setAttrib(elm, 'class', getSelectValue(f, 'classlist')); + setAttrib(elm, 'dir'); + setAttrib(elm, 'lang'); + setAttrib(elm, 'tabindex'); + setAttrib(elm, 'accesskey'); + setAttrib(elm, 'onfocus'); + setAttrib(elm, 'onblur'); + setAttrib(elm, 'onclick'); + setAttrib(elm, 'ondblclick'); + setAttrib(elm, 'onmousedown'); + setAttrib(elm, 'onmouseup'); + setAttrib(elm, 'onmouseover'); + setAttrib(elm, 'onmousemove'); + setAttrib(elm, 'onmouseout'); + setAttrib(elm, 'onkeypress'); + setAttrib(elm, 'onkeydown'); + setAttrib(elm, 'onkeyup'); + + // Refresh in old MSIE +// if (tinyMCE.isMSIE5) +// elm.outerHTML = elm.outerHTML; +} + +function insertAttribute() { + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); +tinyMCEPopup.requireLangPack(); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js old mode 100644 new mode 100755 index 009b71546a..b73ef47355 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js @@ -1,28 +1,28 @@ -/** - * cite.js - * - * Copyright 2009, Moxiecode Systems AB - * Released under LGPL License. - * - * License: http://tinymce.moxiecode.com/license - * Contributing: http://tinymce.moxiecode.com/contributing - */ - -function init() { - SXE.initElementDialog('cite'); - if (SXE.currentAction == "update") { - SXE.showRemoveButton(); - } -} - -function insertCite() { - SXE.insertElement('cite'); - tinyMCEPopup.close(); -} - -function removeCite() { - SXE.removeElement('cite'); - tinyMCEPopup.close(); -} - -tinyMCEPopup.onInit.add(init); +/** + * cite.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + SXE.initElementDialog('cite'); + if (SXE.currentAction == "update") { + SXE.showRemoveButton(); + } +} + +function insertCite() { + SXE.insertElement('cite'); + tinyMCEPopup.close(); +} + +function removeCite() { + SXE.removeElement('cite'); + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js old mode 100644 new mode 100755 index 9e5d8c5717..d5dd8e4387 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js @@ -1,63 +1,63 @@ -/** - * del.js - * - * Copyright 2009, Moxiecode Systems AB - * Released under LGPL License. - * - * License: http://tinymce.moxiecode.com/license - * Contributing: http://tinymce.moxiecode.com/contributing - */ - -function init() { - SXE.initElementDialog('del'); - if (SXE.currentAction == "update") { - setFormValue('datetime', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'datetime')); - setFormValue('cite', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'cite')); - SXE.showRemoveButton(); - } -} - -function setElementAttribs(elm) { - setAllCommonAttribs(elm); - setAttrib(elm, 'datetime'); - setAttrib(elm, 'cite'); -} - -function insertDel() { - var elm = tinyMCEPopup.editor.dom.getParent(SXE.focusElement, 'DEL'); - - tinyMCEPopup.execCommand('mceBeginUndoLevel'); - if (elm == null) { - var s = SXE.inst.selection.getContent(); - if(s.length > 0) { - insertInlineElement('del'); - var elementArray = tinymce.grep(SXE.inst.dom.select('del'), function(n) {return n.id == '#sxe_temp_del#';}); - for (var i=0; i 0) { + insertInlineElement('del'); + var elementArray = tinymce.grep(SXE.inst.dom.select('del'), function(n) {return n.id == '#sxe_temp_del#';}); + for (var i=0; i 0) { - tagName = element_name; - - insertInlineElement(element_name); - var elementArray = tinymce.grep(SXE.inst.dom.select(element_name)); - for (var i=0; i -1) ? true : false; -} - -SXE.removeClass = function(elm,cl) { - if(elm.className == null || elm.className == "" || !SXE.containsClass(elm,cl)) { - return true; - } - var classNames = elm.className.split(" "); - var newClassNames = ""; - for (var x = 0, cnl = classNames.length; x < cnl; x++) { - if (classNames[x] != cl) { - newClassNames += (classNames[x] + " "); - } - } - elm.className = newClassNames.substring(0,newClassNames.length-1); //removes extra space at the end -} - -SXE.addClass = function(elm,cl) { - if(!SXE.containsClass(elm,cl)) elm.className ? elm.className += " " + cl : elm.className = cl; - return true; -} - -function insertInlineElement(en) { - var ed = tinyMCEPopup.editor, dom = ed.dom; - - ed.getDoc().execCommand('FontName', false, 'mceinline'); - tinymce.each(dom.select('span,font'), function(n) { - if (n.style.fontFamily == 'mceinline' || n.face == 'mceinline') - dom.replace(dom.create(en, {_mce_new : 1}), n, 1); - }); -} +/** + * element_common.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +tinyMCEPopup.requireLangPack(); + +function initCommonAttributes(elm) { + var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom; + + // Setup form data for common element attributes + setFormValue('title', dom.getAttrib(elm, 'title')); + setFormValue('id', dom.getAttrib(elm, 'id')); + selectByValue(formObj, 'class', dom.getAttrib(elm, 'class'), true); + setFormValue('style', dom.getAttrib(elm, 'style')); + selectByValue(formObj, 'dir', dom.getAttrib(elm, 'dir')); + setFormValue('lang', dom.getAttrib(elm, 'lang')); + setFormValue('onfocus', dom.getAttrib(elm, 'onfocus')); + setFormValue('onblur', dom.getAttrib(elm, 'onblur')); + setFormValue('onclick', dom.getAttrib(elm, 'onclick')); + setFormValue('ondblclick', dom.getAttrib(elm, 'ondblclick')); + setFormValue('onmousedown', dom.getAttrib(elm, 'onmousedown')); + setFormValue('onmouseup', dom.getAttrib(elm, 'onmouseup')); + setFormValue('onmouseover', dom.getAttrib(elm, 'onmouseover')); + setFormValue('onmousemove', dom.getAttrib(elm, 'onmousemove')); + setFormValue('onmouseout', dom.getAttrib(elm, 'onmouseout')); + setFormValue('onkeypress', dom.getAttrib(elm, 'onkeypress')); + setFormValue('onkeydown', dom.getAttrib(elm, 'onkeydown')); + setFormValue('onkeyup', dom.getAttrib(elm, 'onkeyup')); +} + +function setFormValue(name, value) { + if(document.forms[0].elements[name]) document.forms[0].elements[name].value = value; +} + +function insertDateTime(id) { + document.getElementById(id).value = getDateTime(new Date(), "%Y-%m-%dT%H:%M:%S"); +} + +function getDateTime(d, fmt) { + fmt = fmt.replace("%D", "%m/%d/%y"); + fmt = fmt.replace("%r", "%I:%M:%S %p"); + fmt = fmt.replace("%Y", "" + d.getFullYear()); + fmt = fmt.replace("%y", "" + d.getYear()); + fmt = fmt.replace("%m", addZeros(d.getMonth()+1, 2)); + fmt = fmt.replace("%d", addZeros(d.getDate(), 2)); + fmt = fmt.replace("%H", "" + addZeros(d.getHours(), 2)); + fmt = fmt.replace("%M", "" + addZeros(d.getMinutes(), 2)); + fmt = fmt.replace("%S", "" + addZeros(d.getSeconds(), 2)); + fmt = fmt.replace("%I", "" + ((d.getHours() + 11) % 12 + 1)); + fmt = fmt.replace("%p", "" + (d.getHours() < 12 ? "AM" : "PM")); + fmt = fmt.replace("%%", "%"); + + return fmt; +} + +function addZeros(value, len) { + var i; + + value = "" + value; + + if (value.length < len) { + for (i=0; i<(len-value.length); i++) + value = "0" + value; + } + + return value; +} + +function selectByValue(form_obj, field_name, value, add_custom, ignore_case) { + if (!form_obj || !form_obj.elements[field_name]) + return; + + var sel = form_obj.elements[field_name]; + + var found = false; + for (var i=0; i 0) { + tagName = element_name; + + insertInlineElement(element_name); + var elementArray = tinymce.grep(SXE.inst.dom.select(element_name)); + for (var i=0; i -1) ? true : false; +} + +SXE.removeClass = function(elm,cl) { + if(elm.className == null || elm.className == "" || !SXE.containsClass(elm,cl)) { + return true; + } + var classNames = elm.className.split(" "); + var newClassNames = ""; + for (var x = 0, cnl = classNames.length; x < cnl; x++) { + if (classNames[x] != cl) { + newClassNames += (classNames[x] + " "); + } + } + elm.className = newClassNames.substring(0,newClassNames.length-1); //removes extra space at the end +} + +SXE.addClass = function(elm,cl) { + if(!SXE.containsClass(elm,cl)) elm.className ? elm.className += " " + cl : elm.className = cl; + return true; +} + +function insertInlineElement(en) { + var ed = tinyMCEPopup.editor, dom = ed.dom; + + ed.getDoc().execCommand('FontName', false, 'mceinline'); + tinymce.each(dom.select('span,font'), function(n) { + if (n.style.fontFamily == 'mceinline' || n.face == 'mceinline') + dom.replace(dom.create(en, {_mce_new : 1}), n, 1); + }); +} diff --git a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js old mode 100644 new mode 100755 index 3774f0a184..8d29d53905 --- a/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +++ b/assets/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js @@ -1,62 +1,62 @@ -/** - * ins.js - * - * Copyright 2009, Moxiecode Systems AB - * Released under LGPL License. - * - * License: http://tinymce.moxiecode.com/license - * Contributing: http://tinymce.moxiecode.com/contributing - */ - -function init() { - SXE.initElementDialog('ins'); - if (SXE.currentAction == "update") { - setFormValue('datetime', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'datetime')); - setFormValue('cite', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'cite')); - SXE.showRemoveButton(); - } -} - -function setElementAttribs(elm) { - setAllCommonAttribs(elm); - setAttrib(elm, 'datetime'); - setAttrib(elm, 'cite'); -} - -function insertIns() { - var elm = tinyMCEPopup.editor.dom.getParent(SXE.focusElement, 'INS'); - tinyMCEPopup.execCommand('mceBeginUndoLevel'); - if (elm == null) { - var s = SXE.inst.selection.getContent(); - if(s.length > 0) { - insertInlineElement('INS'); - var elementArray = tinymce.grep(SXE.inst.dom.select('ins'), function(n) {return n.id == '#sxe_temp_ins#';}); - for (var i=0; i 0) { + insertInlineElement('INS'); + var elementArray = tinymce.grep(SXE.inst.dom.select('ins'), function(n) {return n.id == '#sxe_temp_ins#';}); + for (var i=0; i \ No newline at end of file diff --git a/assets/plugins/tinymce/lang/german.inc.php b/assets/plugins/tinymce/lang/german.inc.php old mode 100644 new mode 100755 index c60257aed4..6a0d25417d --- a/assets/plugins/tinymce/lang/german.inc.php +++ b/assets/plugins/tinymce/lang/german.inc.php @@ -12,13 +12,13 @@ include_once(dirname(__FILE__).'/english.inc.php'); // fallback for missing defaults or new additions $_lang['tinymce_editor_theme_title'] = "Template:"; -$_lang['tinymce_editor_theme_message'] = "Hier können Sie ein Template aussuchen, das im TinyMCE verwendet werden soll. Es handelt sich nicht um das Aussehen, sondern um die Anzahl an Plugins/Funktionen (wie Bilder hochladen, Links einfügen etc.), die für den Nutzer verfügbar sein sollen."; +$_lang['tinymce_editor_theme_message'] = "Hier k旦nnen Sie ein Template aussuchen, das im TinyMCE verwendet werden soll. Es handelt sich nicht um das Aussehen, sondern um die Anzahl an Plugins/Funktionen (wie Bilder hochladen, Links einf端gen etc.), die f端r den Nutzer verf端gbar sein sollen."; $_lang['tinymce_editor_custom_plugins_title'] = "Individuelle Plugins:"; $_lang['tinymce_editor_custom_plugins_message'] = "Geben Sie die Plugins an, die Sie bei Auswahl des \'individuellen\' Templates verwenden wollen. Bitte Plugins durch Komma trennen."; $_lang['tinymce_editor_custom_buttons_title'] = "Individuelle Buttons:"; -$_lang['tinymce_editor_custom_buttons_message'] = "Geben Sie die Buttons an, die Sie bei Auswahl des \'individuellen\' Templates verwenden wollen. Bitte Buttons für jede Reihe durch Komma trennen.Stellen Sie sicher, dass die für Buttons benötigten Plugins aktiviert sind unter \'Individuelle Plugins\'."; +$_lang['tinymce_editor_custom_buttons_message'] = "Geben Sie die Buttons an, die Sie bei Auswahl des \'individuellen\' Templates verwenden wollen. Bitte Buttons f端r jede Reihe durch Komma trennen.Stellen Sie sicher, dass die f端r Buttons ben旦tigten Plugins aktiviert sind unter \'Individuelle Plugins\'."; $_lang['tinymce_editor_css_selectors_title'] = "CSS Selektoren:"; -$_lang['tinymce_editor_css_selectors_message'] = "Hier können Sie eine Auswahl an Selektoren definieren, die im TinyMCE verfügbar sein sollen. Bitte so eintragen:
    'displayName=selectorName;displayName2=selectorName2'
    Zum Beispiel mit .mono und .smallText als Selektoren in der CSS Datei, tragen Sie diese ein als:
    'Monospaced text=mono;Small text=smallText'
    Bitte achten Sie darauf, dass der letzte Eintrag nicht mit Semikolon abgeschlossen werden darf."; +$_lang['tinymce_editor_css_selectors_message'] = "Hier k旦nnen Sie eine Auswahl an Selektoren definieren, die im TinyMCE verf端gbar sein sollen. Bitte so eintragen:
    'displayName=selectorName;displayName2=selectorName2'
    Zum Beispiel mit .mono und .smallText als Selektoren in der CSS Datei, tragen Sie diese ein als:
    'Monospaced text=mono;Small text=smallText'
    Bitte achten Sie darauf, dass der letzte Eintrag nicht mit Semikolon abgeschlossen werden darf."; $_lang['tinymce_settings'] = "TinyMCE Einstellungen"; $_lang['tinymce_theme_simple'] = "Wenige Plugins"; $_lang['tinymce_theme_advanced'] = "Mittlere Anzahl Plugins"; diff --git a/assets/plugins/tinymce/lang/norsk.inc.php b/assets/plugins/tinymce/lang/norsk.inc.php old mode 100644 new mode 100755 index c57c35537c..6850c9e158 --- a/assets/plugins/tinymce/lang/norsk.inc.php +++ b/assets/plugins/tinymce/lang/norsk.inc.php @@ -1,20 +1,30 @@ -'displayName=selectorName;displayName2=selectorName2'
    For instance, say you have .mono and .smallText selectors in your CSS file, you could add them here as:
    'Monospaced text=mono;Small text=smallText'
    Note that the last entry should not have a semi-colon after it."; -$_lang['tinymce_settings'] = "TinyMCE Settings"; -$_lang['tinymce_theme_simple'] = "Simple"; -$_lang['tinymce_theme_advanced'] = "Advanced"; -$_lang['tinymce_theme_editor'] = "Content Editor"; -$_lang['tinymce_theme_custom'] = "Custom"; $_lang['tinymce_theme_creative'] = 'Creative'; -$_lang['tinymce_theme_logic'] = 'xhtml'; -$_lang['tinymce_theme_global_settings'] = "Use the global setting"; +'displayName=selectorName;displayName2=selectorName2'
    For instance, say you have .mono and .smallText selectors in your CSS file, you could add them here as:
    'Monospaced text=mono;Small text=smallText'
    Note that the last entry should not have a semi-colon after it."; +$_lang['tinymce_settings'] = "TinyMCE Settings"; +$_lang['tinymce_theme_simple'] = "Simple"; +$_lang['tinymce_theme_advanced'] = "Advanced"; +$_lang['tinymce_theme_editor'] = "Content Editor"; +$_lang['tinymce_theme_custom'] = "Custom"; +$_lang['tinymce_theme_creative'] = 'Creative'; +$_lang['tinymce_theme_logic'] = 'xhtml'; +$_lang['tinymce_theme_global_settings'] = "Use the global setting"; ?> \ No newline at end of file diff --git a/assets/plugins/tinymce/lang/portuguese-br.inc.php b/assets/plugins/tinymce/lang/portuguese-br.inc.php old mode 100644 new mode 100755 index b56a3324e3..bfdb03c63d --- a/assets/plugins/tinymce/lang/portuguese-br.inc.php +++ b/assets/plugins/tinymce/lang/portuguese-br.inc.php @@ -3,7 +3,7 @@ * Filename: assets/plugins/tinymce/lang/portuguese.inc.php * Function: Portuguese language file for TinyMCE * Encoding: UTF-8 - * Author: Jeff Whitfield - translation João Peixoto (joeindio@gmail.com) + * Author: Jeff Whitfield - translation Joé”o Peixoto (joeindio@gmail.com) * Date: 2007/04/09 * Version: 2.0.9 * MODx version: 0.9.5 @@ -12,17 +12,17 @@ $_lang['tinymce_editor_theme_title'] = "Tema:"; $_lang['tinymce_editor_theme_message'] = "Aqui pode seleccionar que tema ou capa deseja utilizar com o editor."; $_lang['tinymce_editor_custom_plugins_title'] = "Plugins personalizados:"; -$_lang['tinymce_editor_custom_plugins_message'] = "Indique os plugins a utilizar com o tema personalizado, numa lista separada por vírgulas."; -$_lang['tinymce_editor_custom_buttons_title'] = "Botões personalizados:"; -$_lang['tinymce_editor_custom_buttons_message'] = "Indique os botões a utilizar para o tema personalizado, numa lista separada por vírgulas para cada linha. Assegure-se de que cada botão tem o plugin requerido activado na opção 'Plugins Personalizados'."; +$_lang['tinymce_editor_custom_plugins_message'] = "Indique os plugins a utilizar com o tema personalizado, numa lista separada por v鱈rgulas."; +$_lang['tinymce_editor_custom_buttons_title'] = "Bot探es personalizados:"; +$_lang['tinymce_editor_custom_buttons_message'] = "Indique os bot探es a utilizar para o tema personalizado, numa lista separada por v鱈rgulas para cada linha. Assegure-se de que cada boté”o tem o plugin requerido activado na opå·½é”o 'Plugins Personalizados'."; $_lang['tinymce_editor_css_selectors_title'] = "Selectores CSS:"; -$_lang['tinymce_editor_css_selectors_message'] = "Aqui pode indicar uma lista dos selectores que deverão estar disponíveis no editor. Indique-os da seguinte forma:
    'nomeMostrado=nomeSelector;nomeMostrado2=nomeSelector2'
    Por exemplo, se tiver os selectores .mono e .texto Pequeno no seu ficheiro CSS, pode adicioná-los aqui como:
    'Texto com espaçamento simples=mono;Texto Pequeno=textoPequeno'
    Note que a última entrada não deverá ter ponto e vírgula a segui-la."; -$_lang['tinymce_settings'] = "Opções TinyMCE"; +$_lang['tinymce_editor_css_selectors_message'] = "Aqui pode indicar uma lista dos selectores que deveré”o estar dispon鱈veis no editor. Indique-os da seguinte forma:
    'nomeMostrado=nomeSelector;nomeMostrado2=nomeSelector2'
    Por exemplo, se tiver os selectores .mono e .texto Pequeno no seu ficheiro CSS, pode adicionå©-los aqui como:
    'Texto com espaå·½amento simples=mono;Texto Pequeno=textoPequeno'
    Note que a ç‚­ltima entrada né”o deverå© ter ponto e v鱈rgula a segui-la."; +$_lang['tinymce_settings'] = "Op巽探es TinyMCE"; $_lang['tinymce_theme_simple'] = "Simples"; -$_lang['tinymce_theme_advanced'] = "Avançado"; -$_lang['tinymce_theme_editor'] = "Editor de Conteúdo"; +$_lang['tinymce_theme_advanced'] = "Avanå·½ado"; +$_lang['tinymce_theme_editor'] = "Editor de Conteç‚­do"; $_lang['tinymce_theme_custom'] = "Personalizar"; $_lang['tinymce_theme_creative'] = 'Creative'; $_lang['tinymce_theme_logic'] = 'xhtml'; -$_lang['tinymce_theme_global_settings'] = "Use a configuração global"; +$_lang['tinymce_theme_global_settings'] = "Use a configuraå·½é”o global"; ?> \ No newline at end of file diff --git a/assets/plugins/tinymce/lang/portuguese.inc.php b/assets/plugins/tinymce/lang/portuguese.inc.php old mode 100644 new mode 100755 index b56a3324e3..bfdb03c63d --- a/assets/plugins/tinymce/lang/portuguese.inc.php +++ b/assets/plugins/tinymce/lang/portuguese.inc.php @@ -3,7 +3,7 @@ * Filename: assets/plugins/tinymce/lang/portuguese.inc.php * Function: Portuguese language file for TinyMCE * Encoding: UTF-8 - * Author: Jeff Whitfield - translation João Peixoto (joeindio@gmail.com) + * Author: Jeff Whitfield - translation Joé”o Peixoto (joeindio@gmail.com) * Date: 2007/04/09 * Version: 2.0.9 * MODx version: 0.9.5 @@ -12,17 +12,17 @@ $_lang['tinymce_editor_theme_title'] = "Tema:"; $_lang['tinymce_editor_theme_message'] = "Aqui pode seleccionar que tema ou capa deseja utilizar com o editor."; $_lang['tinymce_editor_custom_plugins_title'] = "Plugins personalizados:"; -$_lang['tinymce_editor_custom_plugins_message'] = "Indique os plugins a utilizar com o tema personalizado, numa lista separada por vírgulas."; -$_lang['tinymce_editor_custom_buttons_title'] = "Botões personalizados:"; -$_lang['tinymce_editor_custom_buttons_message'] = "Indique os botões a utilizar para o tema personalizado, numa lista separada por vírgulas para cada linha. Assegure-se de que cada botão tem o plugin requerido activado na opção 'Plugins Personalizados'."; +$_lang['tinymce_editor_custom_plugins_message'] = "Indique os plugins a utilizar com o tema personalizado, numa lista separada por v鱈rgulas."; +$_lang['tinymce_editor_custom_buttons_title'] = "Bot探es personalizados:"; +$_lang['tinymce_editor_custom_buttons_message'] = "Indique os bot探es a utilizar para o tema personalizado, numa lista separada por v鱈rgulas para cada linha. Assegure-se de que cada boté”o tem o plugin requerido activado na opå·½é”o 'Plugins Personalizados'."; $_lang['tinymce_editor_css_selectors_title'] = "Selectores CSS:"; -$_lang['tinymce_editor_css_selectors_message'] = "Aqui pode indicar uma lista dos selectores que deverão estar disponíveis no editor. Indique-os da seguinte forma:
    'nomeMostrado=nomeSelector;nomeMostrado2=nomeSelector2'
    Por exemplo, se tiver os selectores .mono e .texto Pequeno no seu ficheiro CSS, pode adicioná-los aqui como:
    'Texto com espaçamento simples=mono;Texto Pequeno=textoPequeno'
    Note que a última entrada não deverá ter ponto e vírgula a segui-la."; -$_lang['tinymce_settings'] = "Opções TinyMCE"; +$_lang['tinymce_editor_css_selectors_message'] = "Aqui pode indicar uma lista dos selectores que deveré”o estar dispon鱈veis no editor. Indique-os da seguinte forma:
    'nomeMostrado=nomeSelector;nomeMostrado2=nomeSelector2'
    Por exemplo, se tiver os selectores .mono e .texto Pequeno no seu ficheiro CSS, pode adicionå©-los aqui como:
    'Texto com espaå·½amento simples=mono;Texto Pequeno=textoPequeno'
    Note que a ç‚­ltima entrada né”o deverå© ter ponto e v鱈rgula a segui-la."; +$_lang['tinymce_settings'] = "Op巽探es TinyMCE"; $_lang['tinymce_theme_simple'] = "Simples"; -$_lang['tinymce_theme_advanced'] = "Avançado"; -$_lang['tinymce_theme_editor'] = "Editor de Conteúdo"; +$_lang['tinymce_theme_advanced'] = "Avanå·½ado"; +$_lang['tinymce_theme_editor'] = "Editor de Conteç‚­do"; $_lang['tinymce_theme_custom'] = "Personalizar"; $_lang['tinymce_theme_creative'] = 'Creative'; $_lang['tinymce_theme_logic'] = 'xhtml'; -$_lang['tinymce_theme_global_settings'] = "Use a configuração global"; +$_lang['tinymce_theme_global_settings'] = "Use a configuraå·½é”o global"; ?> \ No newline at end of file diff --git a/assets/plugins/tinymce/lang/svenska-utf8.inc.php b/assets/plugins/tinymce/lang/svenska-utf8.inc.php old mode 100644 new mode 100755 index 923dbbb4d0..c3ebd226d9 --- a/assets/plugins/tinymce/lang/svenska-utf8.inc.php +++ b/assets/plugins/tinymce/lang/svenska-utf8.inc.php @@ -8,26 +8,26 @@ * Version: 2.1.0 * MODx version: 0.9.6 * - * Translation: Pontus Ã…gren (Pont) + * Translation: Pontus テ・ren (Pont) * Date: 2007-03-13 */ include_once(dirname(__FILE__).'/english.inc.php'); // fallback for missing defaults or new additions $_lang['tinymce_editor_theme_title'] = "Tema"; -$_lang['tinymce_editor_theme_message'] = "Här kan du välja vilket tema eller skal som editorn ska använda."; +$_lang['tinymce_editor_theme_message'] = "Hテ、r kan du vテ、lja vilket tema eller skal som editorn ska anvテ、nda."; $_lang['tinymce_editor_custom_plugins_title'] = "Anpassade plugins"; -$_lang['tinymce_editor_custom_plugins_message'] = "Ange de plugins som ska användas i det \"anpassade\" temat som en komma-avgränsad lista."; +$_lang['tinymce_editor_custom_plugins_message'] = "Ange de plugins som ska anvテ、ndas i det \"anpassade\" temat som en komma-avgrテ、nsad lista."; $_lang['tinymce_editor_custom_buttons_title'] = "Anpassade knappar"; -$_lang['tinymce_editor_custom_buttons_message'] = "Ange de knappar som ska användas i det \"anpassade\" temat som en komma-avgränsad lista för varje rad. Kontrollera att varje knapp har den tillhörande pluginnen vald i inställningarna för \"Anpassade plugins\"."; +$_lang['tinymce_editor_custom_buttons_message'] = "Ange de knappar som ska anvテ、ndas i det \"anpassade\" temat som en komma-avgrテ、nsad lista fテカr varje rad. Kontrollera att varje knapp har den tillhテカrande pluginnen vald i instテ、llningarna fテカr \"Anpassade plugins\"."; $_lang['tinymce_editor_css_selectors_title'] = "CSS-selektorer"; -$_lang['tinymce_editor_css_selectors_message'] = "Här kan du ange en lista med selektorer som ska finnas tillgängliga i editorn. Skriv in dom sÃ¥ här:
    \"namnEtikett=selektorNamn;namnEtikett2=selektorNamn2\"
    Om du till exempel har selektorerna .mono och .litenText i din css-fil, så kan du ange dom här som:
    \"Jämnbred text=mono;Liten text=litenText\"
    Notera att den sista definitionen inte ska följas av ett semikolon."; -$_lang['tinymce_settings'] = "Inställningar för TinyMCE"; +$_lang['tinymce_editor_css_selectors_message'] = "Hテ、r kan du ange en lista med selektorer som ska finnas tillgテ、ngliga i editorn. Skriv in dom sテ・ hテ、r:
    \"namnEtikett=selektorNamn;namnEtikett2=selektorNamn2\"
    Om du till exempel har selektorerna .mono och .litenText i din css-fil, sテ・ kan du ange dom hテ、r som:
    \"Jテ、mnbred text=mono;Liten text=litenText\"
    Notera att den sista definitionen inte ska fテカljas av ett semikolon."; +$_lang['tinymce_settings'] = "Instテ、llningar fテカr TinyMCE"; $_lang['tinymce_theme_simple'] = "Enkelt"; $_lang['tinymce_theme_advanced'] = "Avancerat"; -$_lang['tinymce_theme_editor'] = "InnehÃ¥llseditor"; +$_lang['tinymce_theme_editor'] = "Innehテ・llseditor"; $_lang['tinymce_theme_custom'] = "Anpassat"; $_lang['tinymce_theme_creative'] = 'Creative'; $_lang['tinymce_theme_logic'] = 'xhtml'; -$_lang['tinymce_theme_global_settings'] = "Använd globalt"; +$_lang['tinymce_theme_global_settings'] = "Anvテ、nd globalt"; ?> \ No newline at end of file diff --git a/assets/snippets/ajaxSearch/lang/chinese_simplified.inc.php b/assets/snippets/ajaxSearch/lang/chinese_simplified.inc.php old mode 100644 new mode 100755 index 8fd490ca36..bc20d28815 --- a/assets/snippets/ajaxSearch/lang/chinese_simplified.inc.php +++ b/assets/snippets/ajaxSearch/lang/chinese_simplified.inc.php @@ -7,26 +7,26 @@ Description: Language strings for AjaxSearch */ -$_lang['as_resultsIntroFailure'] = 'ûÓÐËÑË÷µ½Ïà¹ØµÄÄÚÈÝ£¬Çë³¢ÊÔÊäÁíÍâµÄ¹Ø¼ü´Ê'; -$_lang['as_searchButtonText'] = 'ËÑË÷'; -$_lang['as_boxText'] = 'ÊäÈëËÑË÷¹Ø¼ü´Ê...'; -$_lang['as_introMessage'] = 'ÇëÊäÈë¹Ø¼ü´Ê¿ªÊ¼ËÑË÷'; -$_lang['as_resultsFoundTextSingle'] = '%d Ïà¹Ø½á¹û "%s".'; -$_lang['as_resultsFoundTextMultiple'] = '%d Ïà¹Ø½á¹û "%s".'; +$_lang['as_resultsIntroFailure'] = '短嗤朴沫欺・購議åªå¦ãƒ»è©æ™¦ç·¨è£œç·ç¿Œè­°è³¼å›šç°¡'; +$_lang['as_searchButtonText'] = '朴沫'; +$_lang['as_boxText'] = '補秘朴沫購囚簡...'; +$_lang['as_introMessage'] = 'è©è£œç§˜è³¼å›šç°¡è•兵朴沫'; +$_lang['as_resultsFoundTextSingle'] = '%d ・購潤惚 "%s".'; +$_lang['as_resultsFoundTextMultiple'] = '%d ・購潤惚 "%s".'; $_lang['as_paginationTextSinglePage'] = ''; -$_lang['as_paginationTextMultiplePages'] = 'ËÑË÷½á¹ûÒ³£º '; -$_lang['as_moreResultsText'] = 'µã»÷ÕâÀï²é¿´ËùÓнá¹û'; -$_lang['as_moreResultsTitle'] = '¸ü¶à½á¹û'; -$_lang['as_maxWords'] = 'ËÑË÷µÄ¹Ø¼ü´Ê×î´óÏÞ¶È %d ¸ö×Ö·û'; -$_lang['as_minChars'] = 'ËÑË÷µÄ¹Ø¼ü´ÊÖÁÉÙÐèÒª %d ¸ö×Ö·û'; -$_lang['as_maxChars'] = 'ËÑË÷µÄ¹Ø¼ü´Ê×î¶àÔÊÐí %d ¸ö×Ö·û'; -$_lang['oneword'] = 'Ò»¸ö×Ö·û'; -$_lang['allwords'] = 'ËùÓйؼü´Ê'; -$_lang['exactphrase'] = 'ÍêȫһÖÂ'; -$_lang['nowords'] = 'ûÓйؼü´Ê'; -$_lang['as_cmtHiddenFieldIntro'] = 'Õâ¸öµØ·½Ó¦¸ÃÊǿհ׵ģ¬
    ²»ÒªÊäÈëÈκÎÎÄ×Ö¡£'; -$_lang['as_cmtIntroMessage'] = 'ÄãµÄËÑË÷Ä¿±ê²éÕÒµ½ÁËÂð?ÔÚÕâÀïÁôÏÂÄãµÄÒâ¼û!'; -$_lang['as_cmtSubmitText'] = '·¢ËÍ'; -$_lang['as_cmtResetText'] = 'Çå³ý'; -$_lang['as_cmtThksMessage'] = 'ллÄãµÄÒâ¼û£¡'; +$_lang['as_paginationTextMultiplePages'] = '朴沫潤惚匈・ '; +$_lang['as_moreResultsText'] = '泣似宸戦臥心侭嗤潤惚'; +$_lang['as_moreResultsTitle'] = '厚謹潤惚'; +$_lang['as_maxWords'] = '朴沫議購囚簡æ·å¯„・業 %d 倖忖憲'; +$_lang['as_minChars'] = '朴沫議購囚簡崛富俶勣 %d 倖忖憲'; +$_lang['as_maxChars'] = '朴沫議購囚簡æ·è¬¹å¡‹ä¿¯ %d 倖忖憲'; +$_lang['oneword'] = '匯倖忖憲'; +$_lang['allwords'] = '侭嗤購囚簡'; +$_lang['exactphrase'] = '頼畠匯崑'; +$_lang['nowords'] = '短嗤購囚簡'; +$_lang['as_cmtHiddenFieldIntro'] = '宸倖仇圭哘乎é è…Žæ˜“議・
    音勣補秘販採猟忖。'; +$_lang['as_cmtIntroMessage'] = '低議朴沫朕炎臥孀欺阻宅?壓宸戦藻和低議å­éœ€!'; +$_lang['as_cmtSubmitText'] = '窟僕'; +$_lang['as_cmtResetText'] = '賠茅'; +$_lang['as_cmtThksMessage'] = 'ä»ä»ä½Žè­°å­éœ€ãƒ»'; ?> \ No newline at end of file From 01fd823fbff92d95b5d1262df852128eb6df9ad1 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 12:43:08 +0900 Subject: [PATCH 53/92] 906 [hq] Backup manager - sql file name date format(yama) --- manager/actions/bkmanager.static.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) mode change 100644 => 100755 manager/actions/bkmanager.static.php diff --git a/manager/actions/bkmanager.static.php b/manager/actions/bkmanager.static.php old mode 100644 new mode 100755 index a76fcb0eb2..ef7acc0fa1 --- a/manager/actions/bkmanager.static.php +++ b/manager/actions/bkmanager.static.php @@ -17,7 +17,9 @@ $mode = isset($_POST['mode']) ? $_POST['mode'] : ''; function callBack(&$dumpstring) { - $today = date("d_M_y"); + global $modx; + $today = $modx->toDateFormat(time(),'dateOnly'); + $today = str_replace('/', '-', $today); $today = strtolower($today); if(!headers_sent()) { header('Expires: 0'); From af6f7997af2d00d89df7b0fdeb0b25a902c82d53 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 12:44:00 +0900 Subject: [PATCH 54/92] 907 [hq] Backup manager - Drop table default check(yama) --- manager/actions/bkmanager.static.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager/actions/bkmanager.static.php b/manager/actions/bkmanager.static.php index ef7acc0fa1..506c24f0e3 100755 --- a/manager/actions/bkmanager.static.php +++ b/manager/actions/bkmanager.static.php @@ -105,7 +105,7 @@ function submitForm(){

    -

    +

    From 26cce6e4e68183a26d7cf4225a34a54dd2d0bbcd Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 12:44:51 +0900 Subject: [PATCH 55/92] 908 [hq] Backup manager - table prefix issue(yama) --- manager/actions/bkmanager.static.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager/actions/bkmanager.static.php b/manager/actions/bkmanager.static.php index 506c24f0e3..3d20bdc310 100755 --- a/manager/actions/bkmanager.static.php +++ b/manager/actions/bkmanager.static.php @@ -118,7 +118,7 @@ function submitForm(){ Date: Thu, 23 Dec 2010 12:45:57 +0900 Subject: [PATCH 56/92] 909 [hq] View Resource data - view -> preview(yama) --- manager/actions/document_data.static.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 manager/actions/document_data.static.php diff --git a/manager/actions/document_data.static.php b/manager/actions/document_data.static.php old mode 100644 new mode 100755 index d7e660d8e5..55fb9b020c --- a/manager/actions/document_data.static.php +++ b/manager/actions/document_data.static.php @@ -165,7 +165,7 @@ 'docid' => $children['id'], 'title' => $children['pagetitle'], 'status' => ($children['published'] == 0) ? ''.$_lang['page_data_unpublished'].'' : ''.$_lang['page_data_published'].'', - 'edit' => ''.$_lang['view'].''.(($modx->hasPermission('edit_document')) ? ' '.$_lang['edit'].' '.$_lang['move'].'' : ''), + 'edit' => ''.$_lang['preview'].''.(($modx->hasPermission('edit_document')) ? ' '.$_lang['edit'].' '.$_lang['move'].'' : ''), ); } From f47b9f31f143e7ea482b28d929a3481814bc802e Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 12:47:27 +0900 Subject: [PATCH 57/92] 910 [hq] "Export site to HTML" Adjustment design, and unnecessary "" is delete(yama) --- manager/actions/export_site.static.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) mode change 100644 => 100755 manager/actions/export_site.static.php diff --git a/manager/actions/export_site.static.php b/manager/actions/export_site.static.php old mode 100644 new mode 100755 index eb4e7e6186..54e0b3602b --- a/manager/actions/export_site.static.php +++ b/manager/actions/export_site.static.php @@ -31,26 +31,26 @@ function reloadTree() { -
     
    + +
    - - + - - + - - + - - + - From 5fc6341c580e8dd7947c71d6ab090a4f25f0c12b Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 12:51:13 +0900 Subject: [PATCH 61/92] 914 [hq] "System configuration" - $displayStyle = ($_SESSION['browser']!=='ie')(yama) --- manager/actions/mutate_settings.dynamic.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager/actions/mutate_settings.dynamic.php b/manager/actions/mutate_settings.dynamic.php index 8125bda83e..8842d54976 100755 --- a/manager/actions/mutate_settings.dynamic.php +++ b/manager/actions/mutate_settings.dynamic.php @@ -30,7 +30,7 @@ while ($row = mysql_fetch_assoc($rs)) $settings[$row['setting_name']] = $row['setting_value']; extract($settings, EXTR_OVERWRITE); -$displayStyle = ( ($_SESSION['browser']=='mz') || ($_SESSION['browser']=='op') || ($_SESSION['browser']=='sf') ) ? "table-row" : "block" ; +$displayStyle = ($_SESSION['browser']!=='ie') ? 'table-row' : 'block' ; // load languages and keys $lang_keys = array(); From 4712dd733f877d90cf8ecc2697e848c536550881 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 12:52:03 +0900 Subject: [PATCH 62/92] 915 [hq] "Create/Edit User" - $displayStyle = ($_SESSION['browser'] !== 'ie') (yama) --- manager/actions/mutate_user.dynamic.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager/actions/mutate_user.dynamic.php b/manager/actions/mutate_user.dynamic.php index bc3f28e9fa..a7523adbde 100755 --- a/manager/actions/mutate_user.dynamic.php +++ b/manager/actions/mutate_user.dynamic.php @@ -114,7 +114,7 @@ function ConvertDate($date) { include_once "lang/country/".$manager_language."_country.inc.php"; } -$displayStyle = (($_SESSION['browser'] == 'mz') || ($_SESSION['browser'] == 'op') || ($_SESSION['browser'] == 'sf')) ? "table-row" : "block"; +$displayStyle = ($_SESSION['browser'] !== 'ie') ? 'table-row' : 'block'; ?> -
     
     
     
     
    From 5a0d6182596a4aa982deb6be068d6cb3c6a19d22 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 12:48:44 +0900 Subject: [PATCH 58/92] 911 [hq] "Manage Modules" - use "$_lang['yes']"(yama) --- manager/actions/modules.static.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 manager/actions/modules.static.php diff --git a/manager/actions/modules.static.php b/manager/actions/modules.static.php old mode 100644 new mode 100755 index b89c1f09cc..be91978cae --- a/manager/actions/modules.static.php +++ b/manager/actions/modules.static.php @@ -92,7 +92,7 @@ function menuAction(a) {
    '',icon,'".$_style['icons_modules']."') as'icon' " . + $sql = "SELECT id,name,description,IF(locked,'".$_lang['yes']."','-') as 'locked',IF(disabled,'".$_lang['yes']."','-') as 'disabled',IF(icon<>'',icon,'".$_style['icons_modules']."') as'icon' " . "FROM ".$modx->getFullTableName("site_modules")." ". (!empty($sqlQuery) ? " WHERE (name LIKE '%$sqlQuery%') OR (description LIKE '%$sqlQuery%')":"")." ". "ORDER BY name"; From 948db7bec0faa84192dc294cefea900e6b59e84e Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 12:49:34 +0900 Subject: [PATCH 59/92] 912 [hq] "Manage Modules" module list sort by editedon(yama) --- manager/actions/modules.static.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager/actions/modules.static.php b/manager/actions/modules.static.php index be91978cae..f569db78af 100755 --- a/manager/actions/modules.static.php +++ b/manager/actions/modules.static.php @@ -95,7 +95,7 @@ function menuAction(a) { $sql = "SELECT id,name,description,IF(locked,'".$_lang['yes']."','-') as 'locked',IF(disabled,'".$_lang['yes']."','-') as 'disabled',IF(icon<>'',icon,'".$_style['icons_modules']."') as'icon' " . "FROM ".$modx->getFullTableName("site_modules")." ". (!empty($sqlQuery) ? " WHERE (name LIKE '%$sqlQuery%') OR (description LIKE '%$sqlQuery%')":"")." ". - "ORDER BY name"; + "ORDER BY editedon DESC, name ASC"; $ds = mysql_query($sql); include_once $base_path."manager/includes/controls/datagrid.class.php"; $grd = new DataGrid('',$ds,$number_of_results); // set page size to 0 t show all items From d66eec9b5a7443ad47c81bca851da227f8a8afbe Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 12:50:26 +0900 Subject: [PATCH 60/92] 913 [hq] "Edit Resource" - If $modx->config['site_start'] be "Published check" is disabled(yama) --- manager/actions/mutate_content.dynamic.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager/actions/mutate_content.dynamic.php b/manager/actions/mutate_content.dynamic.php index 325763e32d..c1f948e6e4 100755 --- a/manager/actions/mutate_content.dynamic.php +++ b/manager/actions/mutate_content.dynamic.php @@ -825,7 +825,7 @@ function decode(s) { hasPermission('publish_document') ? '' : 'disabled="disabled" '; ?>
    name="publishedcheck" type="checkbox" class="checkbox" onclick="changestate(document.mutate.published);" /> + name="publishedcheck" type="checkbox" class="checkbox" onclick="changestate(document.mutate.published);" config['site_start']) echo 'disabled ' ?>/>   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" />
    +
    - + - - @@ -268,13 +267,27 @@ function convertdate($date) { // grab the entire log file... $logentries = array(); $i = 0; - while ($logentry = mysql_fetch_assoc($rs)) { + while ($logentry = mysql_fetch_assoc($rs)) + { + if(!preg_match("/^[0-9]+$/", $logentry['itemid'])) + { + $item = '
    -
    '; + } + elseif($logentry['action']==3||$logentry['action']==27||$logentry['action']==5) + { + $item = '' + . '[' . $logentry['itemid'] . '] ' . $logentry['itemname'] . ''; + } + else + { + $item = '[' . $logentry['itemid'] . '] ' . $logentry['itemname']; + } + //index.php?a=13&searchuser=' . $logentry['internalKey'] . '&action=' . $logentry['action'] . '&itemname=' . $logentry['itemname'] . '&log_submit=true' + $user_drill = 'index.php?a=13&searchuser=' . $logentry['internalKey'] . '&itemname=0&log_submit=true' ?> - - - - - + + +
    '.$logentry['username'].''; ?>'.$logentry['username'].''; ?> toDateFormat($logentry['timestamp']+$server_offset_time); ?>
    diff --git a/manager/actions/mutate_content.dynamic.php b/manager/actions/mutate_content.dynamic.php index c1f948e6e4..499cdd6671 100755 --- a/manager/actions/mutate_content.dynamic.php +++ b/manager/actions/mutate_content.dynamic.php @@ -507,6 +507,7 @@ function decode(s) { )); if (is_array($evtOut)) echo implode('', $evtOut); +$_SESSION['itemname'] = htmlspecialchars(stripslashes($content['pagetitle'])); ?> From 3fcad258860a141c9b97b83ee60af81010cda751 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 12:57:47 +0900 Subject: [PATCH 69/92] 922 [hq] System Info - Grid design(yama) --- manager/actions/sysinfo.static.php | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) mode change 100644 => 100755 manager/actions/sysinfo.static.php diff --git a/manager/actions/sysinfo.static.php b/manager/actions/sysinfo.static.php old mode 100644 new mode 100755 index ecb3f67f88..a50bbd9589 --- a/manager/actions/sysinfo.static.php +++ b/manager/actions/sysinfo.static.php @@ -126,7 +126,12 @@ function viewPHPInfo() {

    - + +
    @@ -154,7 +159,7 @@ function viewPHPInfo() { $user = $r['username']; } $bgcolor = ($i % 2) ? '#EEEEEE' : '#FFFFFF'; - echo ""; + echo ""; } } ?> @@ -166,7 +171,7 @@ function viewPHPInfo() {

    -
    ".$content['id']."".$content['pagetitle']."".$user."".$modx->toDateFormat($content['editedon']+$server_offset_time)."
    ".$content['id']."".$content['pagetitle']."".$user."".$modx->toDateFormat($content['editedon']+$server_offset_time)."
    +
    @@ -236,7 +241,7 @@ function nicesize($size) { $totaloverhead = $totaloverhead+$log_status['Data_free']; } ?> - + @@ -256,7 +261,7 @@ function nicesize($size) { '.strftime('%H:%M:%S', time()+$server_offset_time).'):

    -
      0 ? "".nicesize($totaloverhead)."
    (".number_format($totaloverhead)." B)" : "-"; ?>
    +
    From 9ea0da3efdddcd4744d2d84f4f84c9e8a18ba649 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 12:58:34 +0900 Subject: [PATCH 70/92] 923 [hq] Manager Users - List item tuning. Many user env useful.(yama) --- manager/actions/user_management.static.php | 30 ++++++++++++++-------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/manager/actions/user_management.static.php b/manager/actions/user_management.static.php index a60d062df7..a10bd18eca 100755 --- a/manager/actions/user_management.static.php +++ b/manager/actions/user_management.static.php @@ -5,11 +5,9 @@ $e->setError(3); $e->dumpError(); } -$theme = $manager_theme ? "$manager_theme/":""; // initialize page view state - the $_PAGE object $modx->manager->initPageViewState(); - // get and save search string if($_REQUEST['op']=='reset') { $query = ''; @@ -116,6 +114,7 @@ function menuAction(a) { rname.name AS role, mua.fullname, mua.email, + mua.thislogin, IF(mua.gender=1,'".$_lang['user_male']."',IF(mua.gender=2,'".$_lang['user_female']."','-')) AS gender, IF(mua.blocked,'".$_lang['yes']."','-') as blocked " . "FROM ".$modx->getFullTableName('manager_users')." AS mu ". @@ -130,23 +129,32 @@ function menuAction(a) { } else { $sql .= (!empty($sqlQuery) ? "WHERE (mu.username LIKE '$sqlQuery%') OR (mua.fullname LIKE '%$sqlQuery%') OR (mua.email LIKE '$sqlQuery%') ":""); } - $sql .= "ORDER BY username"; + $sql .= "ORDER BY mua.blocked ASC, mua.thislogin DESC"; $ds = mysql_query($sql); include_once $base_path."manager/includes/controls/datagrid.class.php"; - $grd = new DataGrid('',$ds,$number_of_results); // set page size to 0 t show all items + $grd = new DataGrid('',$ds,$modx->config['number_of_results']); // set page size to 0 t show all items $grd->noRecordMsg = $_lang["no_records_found"]; $grd->cssClass="grid"; - $grd->columnHeaderClass="gridHeader"; $grd->itemClass="gridItem"; $grd->altItemClass="gridAltItem"; - $grd->fields="id,username,fullname,role,email,gender,blocked"; - $grd->columns=$_lang["icon"].",".$_lang["name"].",".$_lang["user_full_name"].",".$_lang['role'].",".$_lang["email"].",".$_lang["user_gender"].",".$_lang["user_block"]; - $grd->colWidths="34,,,,,40,34"; + $grd->fields = "id,username,fullname,role,email,gender,blocked,thislogin"; + $grd->columns = join(',', array($_lang["icon"],$_lang["name"],$_lang["user_full_name"],$_lang['role'], + $_lang["email"],$_lang["user_gender"],$_lang["user_block"],$_lang["login_button"])); $grd->colAligns="center,,,,,center,center"; - $grd->colTypes='template:||template:[+value+]'; - if($listmode=='1') $grd->pageSize=0; - if($_REQUEST['op']=='reset') $grd->pageNumber = 1; + $grd->colTypes = join('||',array( + 'template:', + 'template:[+value+]', + 'template:[+fullname+]', + 'template:[+role+]', + 'template:[+email+]', + 'template:[+gender+]', + 'template:[+blocked+]', + 'date: ' . $modx->toDateFormat(null, 'formatOnly') . ' %H:%M')); + if($listmode=='1') + $grd->pageSize=0; + if($_REQUEST['op']=='reset') + $grd->pageNumber = 1; // render grid echo $grd->render(); ?> From 9e4aab3a1638f9b79904817acdc92e346df1cae4 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 12:59:30 +0900 Subject: [PATCH 71/92] 924 [hq] Unnecessary style delete(yama) --- manager/actions/mutate_htmlsnippet.dynamic.php | 2 +- manager/actions/mutate_module.dynamic.php | 2 +- manager/actions/mutate_plugin.dynamic.php | 2 +- manager/actions/mutate_snippet.dynamic.php | 2 +- manager/actions/mutate_templates.dynamic.php | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/manager/actions/mutate_htmlsnippet.dynamic.php b/manager/actions/mutate_htmlsnippet.dynamic.php index a9ac92817b..c72f772eef 100755 --- a/manager/actions/mutate_htmlsnippet.dynamic.php +++ b/manager/actions/mutate_htmlsnippet.dynamic.php @@ -181,7 +181,7 @@ function deletedocument() {
    -   +  
    diff --git a/manager/actions/mutate_module.dynamic.php b/manager/actions/mutate_module.dynamic.php index 8d2bd33367..2441ca1540 100755 --- a/manager/actions/mutate_module.dynamic.php +++ b/manager/actions/mutate_module.dynamic.php @@ -406,7 +406,7 @@ function SetUrl(url, width, height, alt) {
    -   +   class="inputBox" onclick="setTextWrap(document.mutate.post,this.checked)" />
    diff --git a/manager/actions/mutate_plugin.dynamic.php b/manager/actions/mutate_plugin.dynamic.php index 4eefc8002f..e0a042e101 100755 --- a/manager/actions/mutate_plugin.dynamic.php +++ b/manager/actions/mutate_plugin.dynamic.php @@ -321,7 +321,7 @@ function decode(s){
    -   +   class="inputBox" onclick="setTextWrap(document.mutate.post,this.checked)" />
    diff --git a/manager/actions/mutate_snippet.dynamic.php b/manager/actions/mutate_snippet.dynamic.php index eb7d869bfb..79cf341642 100755 --- a/manager/actions/mutate_snippet.dynamic.php +++ b/manager/actions/mutate_snippet.dynamic.php @@ -323,7 +323,7 @@ function decode(s){
    -   +   class="inputBox" onclick="setTextWrap(document.mutate.post,this.checked)" />
    diff --git a/manager/actions/mutate_templates.dynamic.php b/manager/actions/mutate_templates.dynamic.php index 1437d507fb..e1a2f9fc11 100755 --- a/manager/actions/mutate_templates.dynamic.php +++ b/manager/actions/mutate_templates.dynamic.php @@ -177,7 +177,7 @@ function deletedocument() {
    -   +  
    From 497e9e6c0c79f9dfdd3d73f7dc6b0ab0c1623ea3 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 13:00:18 +0900 Subject: [PATCH 72/92] 925 [hq] save_content.processor.php site_start save condition tune. (Not old-time set)(yama) --- manager/processors/save_content.processor.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/manager/processors/save_content.processor.php b/manager/processors/save_content.processor.php index f4c81e1abc..9ca4741df1 100755 --- a/manager/processors/save_content.processor.php +++ b/manager/processors/save_content.processor.php @@ -427,7 +427,8 @@ echo "Document is linked to site_start variable and cannot be unpublished!"; exit; } - if ($id == $site_start && ($pub_date != "0" || $unpub_date != "0")) { + $today= time(); + if ($id == $site_start && ($pub_date > $today || $unpub_date != "0")) { $modx->manager->saveFormValues(27); echo "Document is linked to site_start variable and cannot have publish or unpublish dates set!"; exit; From 365bdffef8639f1feb5e5a89dc9e0627c0a9fb60 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 13:01:08 +0900 Subject: [PATCH 73/92] 928 [hq] Datebase name default value should be empty.(yama) --- install/action.connection.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/action.connection.php b/install/action.connection.php index c6b5c8884c..955a0948e9 100755 --- a/install/action.connection.php +++ b/install/action.connection.php @@ -23,7 +23,7 @@ } } } else { - $database_name= 'modx'; + $database_name= ''; $database_server= 'localhost'; $table_prefix= 'modx_'; } From 6665a570c55a7e13d80181c97fe7fda71d7b26d0 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 13:04:08 +0900 Subject: [PATCH 74/92] 929 [hq] An unnecessary character mixes in config.inc.php(yama) --- install/instprocessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/instprocessor.php b/install/instprocessor.php index 9916d58e52..cd7f0d43da 100755 --- a/install/instprocessor.php +++ b/install/instprocessor.php @@ -243,7 +243,7 @@ function parseProperties($propertyString) { $site_url= ((isset ($_SERVER[\'HTTPS\']) && strtolower($_SERVER[\'HTTPS\']) == \'on\') || $_SERVER[\'SERVER_PORT\'] == $https_port) ? \'https://\' : \'http://\'; $site_url .= $_SERVER[\'HTTP_HOST\']; if ($_SERVER[\'SERVER_PORT\'] != 80) - $site_url= str_replace(\':\' . $_SERVER[\'SERVER_PORT\'], \'\', $site_url); // remove port from HTTP_HOST   + $site_url= str_replace(\':\' . $_SERVER[\'SERVER_PORT\'], \'\', $site_url); // remove port from HTTP_HOST $site_url .= ($_SERVER[\'SERVER_PORT\'] == 80 || (isset ($_SERVER[\'HTTPS\']) && strtolower($_SERVER[\'HTTPS\']) == \'on\') || $_SERVER[\'SERVER_PORT\'] == $https_port) ? \'\' : \':\' . $_SERVER[\'SERVER_PORT\']; $site_url .= $base_url; From f4857c086e2e7df176ede3f018d70ce531e28aca Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 13:04:57 +0900 Subject: [PATCH 75/92] 930 [hq] Email input field width is narrow(yama) --- install/style.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install/style.css b/install/style.css index 2266f4b044..4e14082a33 100755 --- a/install/style.css +++ b/install/style.css @@ -608,4 +608,5 @@ position:absolute; text-indent:-9999px; top:0; width:228px; -} \ No newline at end of file +} +input#cmsadminemail {style:width:350px;} From 9ace44a5164478cc96fc4a2e171cd3d50b2403ec Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 13:05:45 +0900 Subject: [PATCH 76/92] 931 [hq] The item of "Update" is concealed at a new installation. (yama) --- install/action.mode.php | 2 ++ 1 file changed, 2 insertions(+) mode change 100644 => 100755 install/action.mode.php diff --git a/install/action.mode.php b/install/action.mode.php old mode 100644 new mode 100755 index 0543c9cdba..efcf84c3c2 --- a/install/action.mode.php +++ b/install/action.mode.php @@ -39,6 +39,7 @@

    +

    upgrade existing install
    @@ -57,6 +58,7 @@

    +

    " . $_lang['optional_items'] . "

    " . $_lang['optional_items_note'] . "

    "; +if($_POST['installmode'] === '0') +{ + echo "

    " . $_lang['optional_items'] . "

    " . $_lang['optional_items_new_note'] . "

    "; +} +else +{ + echo "

    " . $_lang['optional_items'] . "

    " . $_lang['optional_items_upd_note'] . "

    "; +} $chk = isset ($_POST['installdata']) && $_POST['installdata'] == "1" ? 'checked="checked"' : ""; +if($installMode == 0) +{ echo 'Sample Data'; echo "

    " . $_lang['sample_web_site'] . "

    "; -echo "

     

     " . $_lang['sample_web_site_note'] . "


    "; +echo "

     

     " . $_lang['sample_web_site_note'] . "

    "; +} +echo '
    '; // toggle options echo "

    " . $_lang['checkbox_select_options'] . "

    diff --git a/install/lang/english.inc.php b/install/lang/english.inc.php old mode 100644 new mode 100755 index c1450f1305..1aef806efa --- a/install/lang/english.inc.php +++ b/install/lang/english.inc.php @@ -120,7 +120,8 @@ $_lang["not_found"] = 'not found'; $_lang["ok"] = 'OK!'; $_lang["optional_items"] = 'Optional Items'; -$_lang["optional_items_note"] = 'Please choose your installation options and click Install:'; +$_lang["optional_items_new_note"] = 'Please choose your installation options and click Install:'; +$_lang["optional_items_upd_note"] = 'Please choose your installation options and click Install:
    note : Everything is overwrited. Please note it. '; $_lang["php_security_notice"] = 'Security notice

    While MODx will work on your PHP version, usage of MODx on this version is not recommended. Your version of PHP is vulnerable to numerous security holes. Please upgrade to PHP version is 4.3.8 or higher, which patches these holes. It is recommended you upgrade to this version for the security of your own website.

    '; $_lang["please_correct_error"] = '. Please correct the error'; $_lang["please_correct_errors"] = '. Please correct the errors'; From 651004522700f8643eecdc5e7b923d7d17f457c8 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 13:08:11 +0900 Subject: [PATCH 79/92] 934 [hq] Update Japanese lang.(yama) --- install/lang/japanese-utf8.inc.php | 50 +++++++++++++++--------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/install/lang/japanese-utf8.inc.php b/install/lang/japanese-utf8.inc.php index 19ee590acb..c36647f175 100755 --- a/install/lang/japanese-utf8.inc.php +++ b/install/lang/japanese-utf8.inc.php @@ -2,9 +2,9 @@ /** * MODx language File * - * @author MODx CMS JAPAN + * @author MEGU, yamamoto, TxO * @package MODx - * @version 1.0.3 + * @version 1.0.4J-r1 * * Filename: /install/lang/japanese-utf8/japanese-utf8.inc.php * Language: Japanese @@ -21,7 +21,7 @@ $_lang["alert_enter_login"] = 'データベースã®ãƒ¦ãƒ¼ã‚¶ãƒ¼åを入力ã—ã¦ãã ã•ã„'; $_lang["alert_server_test_connection"] = 'サーãƒãƒ¼æŽ¥ç¶šã‚’テストã—ã¦ãã ã•ã„'; $_lang["alert_server_test_connection_failed"] = 'サーãƒãƒ¼æŽ¥ç¶šãƒ†ã‚¹ãƒˆãŒå¤±æ•—ã—ã¾ã—ãŸ'; -$_lang["alert_table_prefixes"] = 'テーブルã®ãƒ—リフィクスã¯ã‚¢ãƒ«ãƒ•ァベットã®ã¿ä½¿ãˆã¾ã™ã€‚'; +$_lang["alert_table_prefixes"] = 'テーブルã®ãƒ—レフィックスã¯ã‚¢ãƒ«ãƒ•ァベットã®ã¿ä½¿ãˆã¾ã™ã€‚'; $_lang["all"] = 'å…¨ã¦é¸æŠž'; $_lang["and_try_again"] = 'ã“れらã®ã‚¨ãƒ©ãƒ¼ã‚’修正ã—ã€å³ä¸‹ã®ã€Œå†ãƒã‚§ãƒƒã‚¯ã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¦ãã ã•ã„。'; $_lang["and_try_again_plural"] = 'ã“れらã®ã‚¨ãƒ©ãƒ¼ã‚’修正ã—ã€å³ä¸‹ã®ã€Œå†ãƒã‚§ãƒƒã‚¯ã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¦ãã ã•ã„。'; //Plural form @@ -29,8 +29,8 @@ $_lang["btnback_value"] = '戻る'; $_lang["btnclose_value"] = 'インストール終了'; $_lang["btnnext_value"] = '進む'; -$_lang["cant_write_config_file"] = 'MODxã¯è¨­å®šãƒ•ァイルを生æˆã§ãã¾ã›ã‚“ã§ã—ãŸã€‚以下をコピーã—ã¦config.inc.phpã«å映ã—ã¦ãã ã•ã„ '; -$_lang["cant_write_config_file_note"] = '実行後ã¯ã€ã‚ãªãŸã®ã‚µã‚¤ãƒˆå/manager/ ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ã§ç®¡ç†ç”»é¢ã«ãƒ­ã‚°ã‚¤ãƒ³ã§ãã¾ã™ã€‚'; +$_lang["cant_write_config_file"] = '設定ファイルを生æˆã§ãã¾ã›ã‚“ã§ã—ãŸã€‚以下をコピーã—ã¦config.inc.phpã«å映ã—ã¦ãã ã•ã„ '; +$_lang["cant_write_config_file_note"] = '実行後ã¯ã€ã‚µã‚¤ãƒˆå/manager/ ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ã§ç®¡ç†ç”»é¢ã«ãƒ­ã‚°ã‚¤ãƒ³ã§ãã¾ã™ã€‚'; $_lang["checkbox_select_options"] = '拡張機能ã®é¸æŠž:'; $_lang["checking_if_cache_exist"] = '/assets/cacheディレクトリã®å­˜åœ¨ãƒã‚§ãƒƒã‚¯(ãªã‘れã°è»¢é€ã«å¤±æ•—ã—ã¦ã„ã¾ã™): '; $_lang["checking_if_cache_file_writable"] = 'ファイル/assets/cache/siteCache.idx.phpã®æ›¸ãè¾¼ã¿å±žæ€§(606ãªã©ã«è¨­å®š): '; @@ -45,12 +45,12 @@ $_lang["checking_mysql_version"] = 'MySQLã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³: '; $_lang["checking_php_version"] = 'PHPã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒã‚§ãƒƒã‚¯: '; $_lang["checking_registerglobals"] = 'Register_Globalsã®è¨­å®š: '; -$_lang["checking_registerglobals_note"] = 'Register_GlobalsãŒã‚ªãƒ³ã«ãªã£ã¦ã„ã‚‹ã¨ã€ã‚µã‚¤ãƒˆã¯XSS攻撃ã®å¯¾è±¡ã¨ã—ã¦ã•らã•れるãŸã‚éžå¸¸ã«å±é™ºã§ã™ã€‚特ã«å¿…è¦ãŒãªã‘れã°ã‚ªãƒ•ã«ã—ã¦ãã ã•ã„。.htaccessã«ã€Œphp_flag register_globals offã€ã¨è¨˜è¿°ã‚’加ãˆã‚‹ã“ã¨ã§ã‚ªãƒ•ã«è¨­å®šã§ãã¾ã™ã€‚'; //Look at changing this to provide a solution. +$_lang["checking_registerglobals_note"] = 'Register_GlobalsãŒã‚ªãƒ³ã«ãªã£ã¦ã„ã‚‹ã¨ã€ã‚µã‚¤ãƒˆã¯XSS攻撃ã®å¯¾è±¡ã¨ã—ã¦ã•らã•れるãŸã‚éžå¸¸ã«å±é™ºã§ã™ã€‚特ã«å¿…è¦ãŒãªã‘れã°ã‚ªãƒ•ã«ã—ã¦ãã ã•ã„。.htaccessã«ã€Œphp_flag register_globals offã€ã¨è¨˜è¿°ã‚’加ãˆã‚‹ã“ã¨ã§ã‚ªãƒ•ã«è¨­å®šã§ãã¾ã™ã€‚'; $_lang["checking_sessions"] = 'ã‚»ãƒƒã‚·ãƒ§ãƒ³æƒ…å ±ãŒæ­£å¸¸ã«æ§‹æˆã•れるã‹ã©ã†ã‹: '; $_lang["checking_table_prefix"] = 'Tableプリフィックスã®è¨­å®š `'; $_lang["chunks"] = 'ãƒãƒ£ãƒ³ã‚¯'; $_lang["config_permissions_note"] = 'config.inc.phpã¨ã„ã†åå‰ã®ç©ºãƒ•ァイルを作ã£ã¦/manager/includes/ディレクトリã«è»¢é€ã™ã‚‹ã‹ã€ã™ã§ã«è»¢é€æ¸ˆã¿ã®config.inc.php.blankをリãƒãƒ¼ãƒ ã™ã‚‹ãªã©ã—ã€ãƒ‘ーミッションを606ãªã©ã«è¨­å®šã—ã¦ãã ã•ã„。'; -$_lang["connection_screen_collation"] = 'ç…§åˆé †åº(エンコード指定å«ã‚€):'; +$_lang["connection_screen_collation"] = 'ç…§åˆé †åº(エンコード指定å«ã‚€):
    ※utf8_general_ciを
    ãŠã™ã™ã‚ã—ã¾ã™'; $_lang["connection_screen_connection_method"] = 'æŽ¥ç¶šæ™‚ã®æ–‡å­—ã‚»ãƒƒãƒˆã®æ‰±ã„:'; $_lang["connection_screen_database_connection_information"] = 'データベース設定'; $_lang["connection_screen_database_connection_note"] = 'データベースåを入力ã—ã¦ãã ã•ã„ã€‚ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ä½œæˆæ¨©é™ãŒã‚ã‚‹å ´åˆã¯ã€ã“ã“ã§æŒ‡å®šã—ãŸåå‰ã§ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãŒä½œæˆã•れã¾ã™ã€‚
    æ–‡å­—ã‚»ãƒƒãƒˆã®æ‰±ã„ã¯ã€ŒSET CHARACTER SETã€ã€æŽ¥ç¶šç…§åˆé †åºã¯ã€Œutf8_general_ciã€ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚
    ※MySQL4.1未満ã§ã¯ã“れらã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰è¨­å®šã‚’無視ã—ã¦æ—¥æœ¬èªžã‚’扱ã„ã¾ã™ã€‚'; @@ -68,7 +68,7 @@ $_lang["connection_screen_default_admin_user"] = 'デフォルトã®ç®¡ç†ã‚¢ã‚«ã‚¦ãƒ³ãƒˆä½œæˆ'; $_lang["connection_screen_defaults"] = '管ç†ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®åˆæœŸè¨­å®š'; $_lang["connection_screen_server_connection_information"] = 'データベースホストã¸ã®æŽ¥ç¶š'; -$_lang["connection_screen_server_connection_note"] = 'データベースサーãƒã®ãƒ›ã‚¹ãƒˆå・ログインå・パスワードを入力ã—ã€ã€Œã“ã“をクリックã€ã‚’ã‚¯ãƒªãƒƒã‚¯ã—æŽ¥ç¶šãƒ†ã‚¹ãƒˆã‚’ã—ã¦ãã ã•ã„。
    ãƒãƒ¼ãƒˆç•ªå·ã‚’指定ã™ã‚‹å ´åˆã¯ã€Œãƒ›ã‚¹ãƒˆå:ãƒãƒ¼ãƒˆç•ªå·ã€ã¨ã—ã¾ã™(例:localhost:3306)。
    ※MODx本体ã¯MySQL4.0.2以上をサãƒãƒ¼ãƒˆã—ã¾ã™ãŒã€MySQL4.1未満ã§ã¯AjaxSearchãªã©åŒæ¢±ã‚¢ãƒ‰ã‚ªãƒ³ã®ä¸€éƒ¨ã®æ©Ÿèƒ½ãŒåˆ¶é™ã•れã¾ã™ã€‚ã”æ³¨æ„ãã ã•ã„。'; +$_lang["connection_screen_server_connection_note"] = 'データベースサーãƒã®ãƒ›ã‚¹ãƒˆå・ログインå・パスワードを入力ã—ã€ã€Œã“ã“をクリックã€ã‚’ã‚¯ãƒªãƒƒã‚¯ã—æŽ¥ç¶šãƒ†ã‚¹ãƒˆã‚’ã—ã¦ãã ã•ã„。
    ãƒãƒ¼ãƒˆç•ªå·ã‚’指定ã™ã‚‹å ´åˆã¯ã€Œãƒ›ã‚¹ãƒˆå:ãƒãƒ¼ãƒˆç•ªå·ã€ã¨ã—ã¾ã™(例:localhost:3306)。
    ※MODx本体ã¯MySQL4.0.2以上をサãƒãƒ¼ãƒˆã—ã¾ã™ãŒã€MySQL4.1未満ã§ã¯AjaxSearchãªã©åŒæ¢±ã‚¢ãƒ‰ã‚ªãƒ³ã®ä¸€éƒ¨ã®æ©Ÿèƒ½ãŒåˆ¶é™ã•れã¾ã™ã€‚ã”æ³¨æ„ãã ã•ã„。
    ※通常ã®é‹ç”¨ã§ã¯WebサーãƒãŒãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚µãƒ¼ãƒã‚’å…¼ã­ã‚‹ãŸã‚ホストåã¯ã€Œlocalhostã€ã¨ãªã‚Šã¾ã™ãŒã€ã•ãらインターãƒãƒƒãƒˆãƒ»ãƒ­ãƒªãƒãƒƒãƒ—・エックスサーãƒãƒ¼ãªã©ãƒ¡ã‚¸ãƒ£ãƒ¼ãªãƒ¬ãƒ³ã‚¿ãƒ«ã‚µãƒ¼ãƒã§ã¯å°‚用ã®ã‚µãƒ¼ãƒã‚’指定ã™ã‚‹ã‚±ãƒ¼ã‚¹ãŒå¤šã„ã§ã™ã€‚ã”確èªãã ã•ã„。'; $_lang["connection_screen_server_test_connection"] = 'ã“ã“をクリックã—ã¦ã€æŽ¥ç¶šãƒ†ã‚¹ãƒˆã‚’行ã£ã¦ãã ã•ã„。'; $_lang["connection_screen_table_prefix"] = 'Tableプリフィクス:'; $_lang["creating_database_connection"] = 'データベース接続: '; @@ -93,31 +93,31 @@ $_lang["install_results"] = 'インストールを実行ã—ã¾ã—ãŸã€‚'; $_lang["install_update"] = ''; $_lang["installation_error_occured"] = 'インストール中ã«ä»¥ä¸‹ã®ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚'; -$_lang["installation_install_new_copy"] = 'æ–°è¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¾ã™'; +$_lang["installation_install_new_copy"] = 'æ–°è¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ« - '; $_lang["installation_install_new_note"] = 'ã™ã§ã«MODxをインストールã—ã¦ã„ã‚‹å ´åˆã¯ãƒ‡ãƒ¼ã‚¿ã‚’上書ãã—ã¾ã™ã€‚
    ※TableプリフィクスãŒç•°ãªã‚‹å ´åˆã‚’除ã'; $_lang["installation_mode"] = 'インストールã®é¸æŠž'; $_lang["installation_new_installation"] = 'æ–°è¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«'; -$_lang["installation_note"] = 'ã¯ã˜ã‚ã«:管ç†ç”»é¢ã«ç„¡äº‹ã«ãƒ­ã‚°ã‚¤ãƒ³ã§ããŸã‚‰ã€ãƒªã‚½ãƒ¼ã‚¹(旧称・ドキュメント)ãŠã‚ˆã³å„種設定を日本語をå«ã‚ã¦ç·¨é›†ãƒ»ä¿å­˜ã—ã€æ–‡å­—化ã‘ãŒèµ·ããªã„ã‹ã©ã†ã‹ã‚’å¿…ãšç¢ºèªã—ã¦ãã ã•ã„。'; +$_lang["installation_note"] = 'ã¯ã˜ã‚ã«:管ç†ç”»é¢ã«ãƒ­ã‚°ã‚¤ãƒ³ã§ããŸã‚‰ã€ã¾ãšã¯ç®¡ç†ç”»é¢å³ä¸Šã®ãƒ˜ãƒ«ãƒ—ã‚’ã”確èªãã ã•ã„。'; $_lang["installation_successful"] = 'インストールã¯ç„¡äº‹ã«æˆåŠŸã—ã¾ã—ãŸã€‚'; -$_lang["installation_upgrade_advanced"] = 'カスタムアップデート
    (データベース設定を変更ã§ãã¾ã™)'; -$_lang["installation_upgrade_advanced_note"] = 'データベース設定ã®å¤‰æ›´ã‚’ä¼´ã†ã‚¢ãƒƒãƒ—デートãŒå¿…è¦ãªå ´åˆã¯ã“ã¡ã‚‰ã‚’é¸ã‚“ã§ãã ã•ã„。
    '; +$_lang["installation_upgrade_advanced"] = 'カスタムアップデート
    (データベース設定をアップデートã§ãã¾ã™)'; +$_lang["installation_upgrade_advanced_note"] = 'データベース設定ã®å¤‰æ›´ã‚’ä¼´ã†ã‚¢ãƒƒãƒ—デート(MySQL4→MySQL5ãªã©)ãŒå¿…è¦ãªå ´åˆã¯ã“ã¡ã‚‰ã‚’é¸ã‚“ã§ãã ã•ã„。config.inc.phpã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹æŽ¥ç¶šæƒ…報一å¼ã‚’æ›´æ–°ã—ã¾ã™ã€‚
    '; $_lang["installation_upgrade_existing"] = '通常アップデート'; -$_lang["installation_upgrade_existing_note"] = '通常ã®ã‚¢ãƒƒãƒ—デートã¯ã“ã®ã‚ªãƒ—ションを。コアファイル・リソースファイルã®ä¸¡æ–¹ã¨ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’アップデートã—ã¾ã™ã€‚'; +$_lang["installation_upgrade_existing_note"] = '通常ã®ã‚¢ãƒƒãƒ—デートã¯ã“ã®ã‚ªãƒ—ションを。コアファイル・リソースファイルã®ä¸¡æ–¹ã¨ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’アップデートã—ã¾ã™ã€‚
    ã€æ³¨æ„】データベースã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã¯ãŠæ¸ˆã¿ã§ã™ã‹ï¼Ÿã¾ã ã®å ´åˆã¯ä»Šã‹ã‚‰ã§ã‚‚ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—マãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã§ã©ã†ãžã€‚'; $_lang["installed"] = 'インストールã—ã¾ã—ãŸ'; $_lang["installing_demo_site"] = 'サンプルサイトã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«: '; -$_lang["language_code"] = 'ja'; // for html element e.g. +$_lang["language_code"] = 'ja'; $_lang["loading"] = '処ç†ä¸­...'; $_lang["modules"] = 'モジュール'; $_lang["modx_footer1"] = '© 2005-2010 the MODx Content Management Framework (CMF) project. All rights reserved. MODx is licensed under the GNU GPL.'; $_lang["modx_footer2"] = 'MODx is free software. We encourage you to be creative and make use of MODx in any way you see fit. Just make sure that if you do make changes and decide to redistribute your modified MODx, that you keep the source code free!'; $_lang["modx_install"] = 'MODx » インストール'; -$_lang["modx_requires_php"] = ', and MODx requires PHP 4.2.0 or later'; +$_lang["modx_requires_php"] = ', PHP5.0.0以上を推奨ã—ã¾ã™(4.3.8以上ã§ã‚れã°å‹•作ã—ã¾ã™ãŒã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£é¢ã«å•題ãŒã‚りã¾ã™)'; $_lang["mysql_5051"] = ' MySQL server version is 5.0.51!'; $_lang["mysql_5051_warning"] = 'MySQL 5.0.51ã«ã¯ä¸å…·åˆãŒç¢ºèªã•れã¦ã„ã¾ã™ã€‚MySQLã®ã‚¢ãƒƒãƒ—デートをãŠã™ã™ã‚ã—ã¾ã™ã€‚'; $_lang["mysql_version_is"] = ' Version '; $_lang["no"] = 'ã„ã„ãˆ'; $_lang["none"] = 'å…¨ã¦ã®é¸æŠžã‚’解除'; -$_lang["not_found"] = 'not found'; +$_lang["not_found"] = '見ã¤ã‹ã‚Šã¾ã›ã‚“'; $_lang["ok"] = 'å•題ãªã—'; $_lang["optional_items"] = 'インストールオプションã®é¸æŠž'; $_lang["optional_items_note"] = 'ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’é¸æŠžã—ã¦ãã ã•ã„:

    åˆã‚ã¦MODxを試ã™äººã¯ã€å…¨ã¦ãƒã‚§ãƒƒã‚¯ã‚’入れã¾ã—ょã†ã€‚
    ※日本ãƒãƒ¼ãƒ ã‚ˆã‚Šï¼šã€Œã‚µãƒ³ãƒ—ルサイトã€ã¯å†…容ãŒå¤ãã€æ¤œè¨¼ã‚‚ä¸å分ã§ã™ã€‚興味ãŒã‚ã‚‹å ´åˆã®ã¿ã€å‚考程度ã«ãŠè©¦ã—ãã ã•ã„。'; @@ -134,11 +134,11 @@ $_lang["retry"] = 'å†ãƒã‚§ãƒƒã‚¯'; $_lang["running_database_updates"] = '実行中ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ã‚¢ãƒƒãƒ—デート: '; $_lang["sample_web_site"] = 'サンプルサイト'; -$_lang["sample_web_site_note"] = 'æ–°è¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã®å ´åˆã¯å•題ã‚りã¾ã›ã‚“ãŒã€ã™ã§ã«MODxã§ã‚µã‚¤ãƒˆã‚’æ§‹æˆã—ã¦ã„ã‚‹å ´åˆã¯ä¸Šæ›¸ãã•れã¾ã™ã€‚ã”æ³¨æ„ãã ã•ã„。'; +$_lang["sample_web_site_note"] = '※ã“ã®ã‚µãƒ³ãƒ—ルサイトã¯å†…容ãŒå¤ã検証もä¸å分ãªã®ã§ã€ç¾çжã§ã¯MODxã®ä»•組ã¿ã®ç†è§£ã«ã¯ã‚ã¾ã‚Šå½¹ç«‹ã¡ã¾ã›ã‚“。テスト目的ã®ãƒ€ãƒŸãƒ¼ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ãªã©ã¨ã—ã¦ã€å¿…è¦ã«å¿œã˜ã¦ãŠè©¦ã—ãã ã•ã„。'; $_lang["session_problem"] = 'サーãƒãƒ¼æŽ¥ç¶šã«å•題ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚å•題修正ã®ãŸã‚ã«ã€ã‚µãƒ¼ãƒãƒ¼ç®¡ç†è€…ã¸ç›¸è«‡ã—ã¦ãã ã•ã„。'; $_lang["session_problem_try_again"] = 'å†è©¦è¡Œã—ã¾ã™ã‹ï¼Ÿ'; $_lang["setup_cannot_continue"] = '上記ç†ç”±ã®ãŸã‚ã€ã‚»ãƒƒãƒˆã‚¢ãƒƒãƒ—を継続ã§ãã¾ã›ã‚“。'; -$_lang["setup_couldnt_install"] = 'MODx setup couldn\'t install/alter some tables inside the selected database.'; +$_lang["setup_couldnt_install"] = 'é¸æŠžã•れãŸãƒ†ãƒ¼ãƒ–ルをインストール/変更ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚'; $_lang["setup_database"] = 'ã‚»ãƒƒãƒˆã‚¢ãƒƒãƒ—çµæžœ
    '; $_lang["setup_database_create_connection"] = 'データベース接続: '; $_lang["setup_database_create_connection_failed"] = 'データベース接続ã«å¤±æ•—ã—ã¾ã—ãŸ!'; @@ -167,19 +167,19 @@ $_lang["summary_setup_check"] = 'インストール実行å‰ã®æœ€çµ‚ãƒã‚§ãƒƒã‚¯ã§ã™ã€‚'; $_lang["system_configuration"] = 'System Configuration'; $_lang["system_configuration_validate_referer_description"] = 'The Validate HTTP_REFERER headers setting is recommended and can protect your site from CSRF attacks, but in some server configurations, can make your manager inaccessible.'; -$_lang["table_prefix_already_inuse"] = ' - ã“ã®ãƒ†ãƒ¼ãƒ–ルプリフィクスã¯ã™ã§ã«ä½¿ã‚れã¦ã„ã¾ã™ã€‚'; +$_lang["table_prefix_already_inuse"] = ' - ã“ã®ãƒ†ãƒ¼ãƒ–ルプレフィックスã¯ã™ã§ã«ä½¿ã‚れã¦ã„ã¾ã™ã€‚'; $_lang["table_prefix_already_inuse_note"] = 'ç•°ãªã‚‹ãƒ†ãƒ¼ãƒ–ルプリフィクスを指定ã™ã‚‹ã‹ã€phpMyAdminãªã©ã‚’利用ã—関連テーブルを削除ã—ã€å†ã³ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’試ã—ã¦ã¿ã¦ãã ã•ã„。'; -$_lang["table_prefix_not_exist"] = ' - データベーステーブルã®ãƒ—リフィクスãŒTable prefix does not exist in this database!'; +$_lang["table_prefix_not_exist"] = ' - 指定ã•れãŸãƒ†ãƒ¼ãƒ–ルプレフィックスãŒãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹å†…ã«å­˜åœ¨ã—ã¦ã„ãªã‹ã£ãŸãŸã‚ã€ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ãŒå®Œäº†ã—ã¾ã›ã‚“ã§ã—ãŸã€‚æ­£ã—ã„テーブルプリフィックスを指定ã—ã€å†åº¦å®Ÿè¡Œã—ã¦ãã ã•ã„。'; $_lang["table_prefix_not_exist_note"] = 'Setup couldn\'t install into the selected database, as it does not contain existing tables with the prefix you specified to be upgraded. Please choose an existing table prefix, and run Setup again.'; $_lang["templates"] = 'テンプレート'; $_lang["to_log_into_content_manager"] = 'ãŠã¤ã‹ã‚Œã•ã¾ã§ã—ãŸã€‚「インストール終了ã€ãƒœã‚¿ãƒ³ã‚’クリックã™ã‚‹ã¨ã€ç®¡ç†ç”»é¢ã®ãƒ­ã‚°ã‚¤ãƒ³ãƒšãƒ¼ã‚¸(manager/index.php)ã«ã‚¢ã‚¯ã‚»ã‚¹ã—ã¾ã™ã€‚'; $_lang["toggle"] = 'é¸æŠžçŠ¶æ…‹ã‚’å転'; $_lang['tvs'] = 'テンプレート変数'; -$_lang["unable_install_chunk"] = 'ãƒãƒ£ãƒ³ã‚¯ã‚’インストールã§ãã¾ã›ã‚“ã§ã—ãŸã€‚'; -$_lang["unable_install_module"] = 'モジュールをインストールã§ãã¾ã›ã‚“ã§ã—ãŸ'; -$_lang["unable_install_plugin"] = 'プラグインをインストールã§ãã¾ã›ã‚“ã§ã—ãŸã€‚'; -$_lang["unable_install_snippet"] = 'スニペットをインストールã§ãã¾ã›ã‚“ã§ã—ãŸã€‚'; -$_lang["unable_install_template"] = 'テンプレートをインストールã§ãã¾ã›ã‚“ã§ã—ãŸã€‚'; +$_lang["unable_install_chunk"] = 'ãƒãƒ£ãƒ³ã‚¯ã‚’インストールã§ãã¾ã›ã‚“'; +$_lang["unable_install_module"] = 'モジュールをインストールã§ãã¾ã›ã‚“'; +$_lang["unable_install_plugin"] = 'プラグインをインストールã§ãã¾ã›ã‚“'; +$_lang["unable_install_snippet"] = 'スニペットをインストールã§ãã¾ã›ã‚“'; +$_lang["unable_install_template"] = 'テンプレートをインストールã§ãã¾ã›ã‚“'; $_lang["upgrade_note"] = '注æ„:管ç†ç”»é¢ã«ç„¡äº‹ã«ãƒ­ã‚°ã‚¤ãƒ³ã§ããŸã‚‰ã€ãƒªã‚½ãƒ¼ã‚¹(旧称・ドキュメント)ãŠã‚ˆã³å„種設定を日本語をå«ã‚ã¦ç·¨é›†ãƒ»ä¿å­˜ã—ã€æ–‡å­—化ã‘ãŒèµ·ããªã„ã‹ã©ã†ã‹ã‚’å¿…ãšç¢ºèªã—ã¦ãã ã•ã„。ã¾ãŸç®¡ç†ç”»é¢å†…ã®ã€Œã‚¤ãƒ™ãƒ³ãƒˆãƒ­ã‚°ã€ã‚’é–‹ãã€ã‚¨ãƒ©ãƒ¼ã®æœ‰ç„¡ã‚’ã”確èªãã ã•ã„。'; $_lang["upgraded"] = 'アップデートã—ã¾ã—ãŸ'; $_lang["validate_referer_title"] = 'Validate HTTP_REFERER headers?'; From 24b2627feaf0a9554fab1ff89565d6de5de6e674 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 13:08:58 +0900 Subject: [PATCH 80/92] 935 [hq] $_lang['install'] button is changed to $_lang['btnnext_value'] button.(yama) --- install/action.options.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/action.options.php b/install/action.options.php index b435980e7f..97513f1b44 100755 --- a/install/action.options.php +++ b/install/action.options.php @@ -195,7 +195,7 @@ From d6403375b436d3195ebcb98cd03457d71b3bb830 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 13:11:50 +0900 Subject: [PATCH 81/92] 936 [hq] The overwrite of siteCache.idx.php when updating it is evaded.(yama) --- assets/cache/{siteCache.idx.php => siteCache.idx.php.blank} | 0 install/action.summary.php | 6 ++++++ 2 files changed, 6 insertions(+) rename assets/cache/{siteCache.idx.php => siteCache.idx.php.blank} (100%) mode change 100644 => 100755 diff --git a/assets/cache/siteCache.idx.php b/assets/cache/siteCache.idx.php.blank old mode 100644 new mode 100755 similarity index 100% rename from assets/cache/siteCache.idx.php rename to assets/cache/siteCache.idx.php.blank diff --git a/install/action.summary.php b/install/action.summary.php index 384630aae5..3119783172 100755 --- a/install/action.summary.php +++ b/install/action.summary.php @@ -53,6 +53,12 @@ } // cache files writable? echo "

    " . $_lang['checking_if_cache_file_writable']; +if (!file_exists("../assets/cache/siteCache.idx.php")) { + // make an attempt to create the file + @ $hnd = fopen("../assets/cache/siteCache.idx.php", 'w'); + @ fwrite($hnd, ""); + @ fclose($hnd); +} if (!is_writable("../assets/cache/siteCache.idx.php")) { echo "" . $_lang['failed'] . "

    "; $errors += 1; From cf2bdf998c781c8868e2498b9d370b98c1c082e4 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 13:14:31 +0900 Subject: [PATCH 82/92] 937 [hq] Install introduction color image softly.(yama) --- index.php | 19 +++++++++++-------- install/img/install_begin.png | Bin 0 -> 1812 bytes 2 files changed, 11 insertions(+), 8 deletions(-) mode change 100644 => 100755 index.php create mode 100755 install/img/install_begin.png diff --git a/index.php b/index.php old mode 100644 new mode 100755 index 57aa06eed3..7f10762f8f --- a/index.php +++ b/index.php @@ -89,18 +89,21 @@ $rt = @include_once(dirname(__FILE__).'/manager/includes/config.inc.php'); // Be sure config.inc.php is there and that it contains some important values if(!$rt || !$database_type || !$database_server || !$database_user || !$dbase) { - echo " - -
    +
    +

    MODx is not currently installed or the configuration file cannot be found.

    -

    Do you want to install now?

    -
    "; +

    Do you want to install now?

    +

    Yes / No

    +
    '; exit; } } diff --git a/install/img/install_begin.png b/install/img/install_begin.png new file mode 100755 index 0000000000000000000000000000000000000000..c40781454290cb5be02790465aea3b1e41b8f82b GIT binary patch literal 1812 zcmV+v2kZEWP)xzr(r0#=OSLz{<|V(bdb@-P7ae z-R<$`_5S0NX-~WW000|wMObuGZ)S9NVRB^vPf%1)X;>h4Wnx5Sb7^O8WpeYOxLg1L z25Ct|K~z|UotV#a6J;F6)Bk`(FW$@>bm~pA+fpf9NYaL3U`CsyKO9a?c2lN-ml@xoZ7fVVH;3&2+2SBX_b5Tb~lh=2DCGWnw8;~cP zX|lVYJm2@(H{W*~8^pBLQiT6UHth8s0Cs-+Y;g5E-~a#|EIk8UKJIkN^zNrO*WjOk z-RY260NjI5Yp%c#$DDSDU2z63(023ba2fu?X-9H6R2DrBk>^z{;ObSGbvkR#z;U`r zoOh1gp}-H{us7K;XC%j9VO?MNHnrCb-rQwZgvRVtSo^_3VMCw!J&IZ~fnRJ=VY^ng zy?r&G-&oOE$0+JGV~BOwsg`Yj1+hr;x~h>3Awt{o4jb<5biTZrUqp}m3Kr2_38sn$ z7~WQCC-O$V&o3_KZb*;COZBtHWY~}yx>P^zu%WQzupRd2KF?{oR?DnRd1QLt2*Y1r zwV~N%m!6K(H*#~Tayc!cdkRanmW(hg@3J)kAhClhvzRoeewtS3BPKAcyl!i9IPCT} zb?j_baVmRh$|IZ8MH3iSKC#&x&OIv=diacd@V3XRI#catFoX*>+Y2ib6WLjO%dSa> z!d{Ognf}-mhF5kpXABxa2OfKoG;3XESP%P+I*=vd&z4Zt5=(2D9W#gFE!xbw8djYZ znqD)9D;|F)CF+%#f8ROP zg^@K+mOZj@Lb3K}f!F7m9EC@X)pZjDOcX9>fFmS99;LrgT6S9K#+v&LtM5iV1q zpd=>#QLUZjzV_Awr%TqbWQ`Px9?fA=FP9W}y@{H@Wy%{21X*@2H+N0jabug#qbULR_QV&&X2yauq06Q>CD6CrVfem3~-OWsp@VIJy_z7^u!zN~DC-ln3 zlwlX20K@4%#FExCK8f|i#&G5PsBkS~XoguSGvDEcaCMy%Q^K%;MUv`XY6Nek`BW+; z3T80MtOHuZ55I|~WTl5QnUsN!`3_ma)s~1$OTfk2YQnz%3jvo~Nb6V%gW2IoZ5@lp`I~wejtvm7;2&pD6P7oIx!6-*1mp2I z8aNLBZHO$KVruKh(TG@wS(arcOE_Hh2n3w;k4IE7X}^eFI%LgE>Ao1ZdW_aV74ALB zi-I8F)@wR=+YnjOKNM7y=#bvy)@(`teV#T%78Vt@=WJAZi&-;+L^JremAoez^+#lQ zxI=l5O`7+}PT~>uUj|ML3qD^U*m~nooSrr zCGRCuxJ*RG54nM>XC|$;mb<^n5JV3dx-vo35Tlq$dR`7O<5*f=yyTD$x z!T%2ERGl7xRxq4q Date: Thu, 23 Dec 2010 13:15:26 +0900 Subject: [PATCH 83/92] 938 [hq] The installer image file size is lightened.(yama) --- install/img/ico_faq.png | Bin 5026 -> 1307 bytes install/img/install_adv.png | Bin 7210 -> 2140 bytes install/img/install_new.png | Bin 7443 -> 2065 bytes install/img/sample_site.png | Bin 8808 -> 2092 bytes 4 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 install/img/ico_faq.png mode change 100644 => 100755 install/img/install_adv.png mode change 100644 => 100755 install/img/install_new.png mode change 100644 => 100755 install/img/sample_site.png diff --git a/install/img/ico_faq.png b/install/img/ico_faq.png old mode 100644 new mode 100755 index 6b535c18227c395852be87fae3fe669430ac4948..a9b360605e337c9e3e33df9a08bab5b672f5c99c GIT binary patch delta 1299 zcmV+u1?>8wCz}e88Gi!+005K$$j$%&00VPENmK|32;1RL-~a#sU{Fj{MQW%#aIHUd zvp#sZKzzJFfxttB$3lzDLyyr!m&R_B)kT@xMxNhFsL+L<<3*?7U!&(nr|U+!*q^NM zNw?>F&(F`v|9^SVbyolY1ZPP^K~z|U zrPvK0Yb+E1a7LOiW<4%j%lH45 E&?f&jzHq_tI$V;(b#djV1t{dsbuSyo#wS4FF zLAMXYN+0V#S^MX)eoWBu`w!MOLQd;T2B2#m%UauLB&BVS9G0_y+Fnk4R=|?~LB`sq zZFQ*^-PWEZv46A$Z3WcR8D6h#OJhk(QcphsOJ|m{wnvN-+M2`?mY|-`Nsd2back?> z^*K!wP?H&t8Hs&<&I>3is6;#g+kUhzD2a6uEMifhrpGir9%B3pEVR~9P!|!!0*eB5 zB|%Iy#C%Kape)?0PcH@)X7PbhA1i!{QeC%KN(a5F2!HWQZ9ol=04oBjw?ZNq)m2s1 z%^ke%TqiKHB`u)F&W$^&+W8H!%}*-+VlF^;uOOtRutHIg z)LjKJQ`K60XCsl-^)AmoM!NA%4{N!1TC!tP)J6m?hOf3ltjEjF!D84Uu=-#!3TfZW za(w))ZwafB5ba{N7knQvfr2I^CME>#9=;<{vwyG{F=Z{zriuKJ4iB)8A}yQ=U>o>q zszDzkeB8N2>a8@+9QAlG|$C}4=*$y)^2gvtK z_-GF`MMJSSVc^EVFgNT@43QQQiy8zLifERLU1~9@dx5}04YD-U__lj0Emq1_n>NZC zkbjN_83#4SG;IzC8y~RU61p)U8&ubAvCk+Hij~^g9kLlWUWh{V5p%&AGIKQ&gBSCW z6r_Z7zG`!#v=wlC?QIS>*I#VdqAGX4ugtq?^{+Oaq+ zu{QjZ<>tz*y!g3OUzXlIYe$)`@YRWVZGW~_y2Z}*ro~kJ4=?|+yTz#3rwjl9002ov JPDHLkV1m)ram@e# literal 5026 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 diff --git a/install/img/install_adv.png b/install/img/install_adv.png old mode 100644 new mode 100755 index 81cdc48f98bb0569a0a1d4fe0ffdc36aa7b8ba9b..e23e042808e0209371ebd4cd4eab474b16495eea GIT binary patch delta 2138 zcmV-g2&MO`INT7B8Gi!+003q>sxSZm00VPENmK|32;1RL-~a#sU{Fj{MLK7hLUgNX zad|_3#9oH6fPjEXiPKJ#-&2_6RGjRQm6%tc^k1RsS*819r}AZ~_;#@IsHv)uu+oLQ z_LRNqx3{;P$oId*$E?x#%*@Qs*52IV=IZO~^Yioh`T76<|9=n`b|nA+2dGIzK~z|U zt(l8rqbd-F+a^^A2vm&{Mf3h|dHxwdB}u!xXO}ipZhp=U(Dd#8+hxsv*LC5tuG`Qu z58F7(+xLuhEjt(%!tFNpZQE*;D$L6oroqX&uIIztw|qs3h+V8vn5Sv#`@S_si@GfR zI*Y1`b$>v-Wq(4lDp0xIZXWtLs8jz~DqPmSM{FAkDx5Nn{UM?+{- zxh9}2CoX>4>ashQsSX!+eKIRyqNoL>;w~iAJqmFe5_a|HTS2||nD1Q87)f3|2w4cR zH~E(Or1Lsk!Wecc7Ez+|?ZtyOg&UkLVqloiD*V%K#(P?x30Mb1e|nnRHXnQQWC znBs+m?|*wyokUjlZ4F~frkakzKv9T-?vcgorlyLnDlJZ@Q>9N;Ep92f-aQSj&O;MntZQP&G^{I4$$Z}y`M9AC96ql|Xz%(+hvK%k-zrR@B6O0)6QXPA1PHeEwYJC&sE1=p!G5v*ao&&($W#DPsX zA85DR`ZnsC_pFvZ0IJ%2Ph!B?<4meeQGcZgZ^TnB2EPDDCmCq9y@)}%JFBSm3GqY{t?lqRaIFFO@$HtI@lhc-%vd(g-%iUQJ=Gk|JJ8b?uD z_%uSZ*@Q8Jj0w9QskA?^+o|BvWw2b;W}vWf%@}_0^X66Ya!)OOA{vP*JsHFPH$7Ro zOkKXkU=R{u$)myH2HaH27+gY4^?!moC92t6W!yymSv)cl(=7GDk$9jUVvUkx6MThN zC{;WUiMnPg0UMpr+S9f+n~p>p=w^5{O=$pOfhK7^IHF#|MxFU^8(Jv0_hJr(#&3ENgH+X(2 zsqoaJSxFu9EvGD1t*$$jV$uJeI;p6lMK8>FMLfONs@Aau z@1qP#GWi);P{VW;uX3wm;O7AtVo<&Vmel!reqnJ5{87Kxx{l}4VzT+`i+%Wm2Y*Su zP|{QxxU0A;{xjl{dVl=4%U_lM0PxG!5*T@M QMgRZ+07*qoM6N<$f-~td)c^nh literal 7210 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 diff --git a/install/img/install_new.png b/install/img/install_new.png old mode 100644 new mode 100755 index a16d2b443ce74d3f85ed27a1160a889c87b48a2d..f0477a85d7a282e072a0b435570ef48ecb2988f2 GIT binary patch delta 2063 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 literal 7443 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 UM&LVQ`Tzg`07*qoM6N<$g58u4+yDRo literal 8808 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 Date: Thu, 23 Dec 2010 13:16:20 +0900 Subject: [PATCH 84/92] =?UTF-8?q?939=20LF=E5=A4=89=E6=8F=9B(yama)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../media/ImageEditor/assets/EditorContent.js | 2 +- manager/media/ImageEditor/assets/editor.js | 6 +- .../php/Commands/GetFoldersAndFiles.php | 368 +++++++++--------- .../mcpuk/connectors/php/connector.php | 41 +- 4 files changed, 209 insertions(+), 208 deletions(-) mode change 100644 => 100755 manager/media/ImageEditor/assets/EditorContent.js mode change 100644 => 100755 manager/media/ImageEditor/assets/editor.js mode change 100644 => 100755 manager/media/browser/mcpuk/connectors/php/connector.php diff --git a/manager/media/ImageEditor/assets/EditorContent.js b/manager/media/ImageEditor/assets/EditorContent.js old mode 100644 new mode 100755 index 97788adf0c..e8c9321c33 --- a/manager/media/ImageEditor/assets/EditorContent.js +++ b/manager/media/ImageEditor/assets/EditorContent.js @@ -237,7 +237,7 @@ function moveContent(e) } } -//Code add for constraints by Frédéric Klee +//Code add for constraints by Frederic Klee function moveHandle(e) { if (dragapproved) diff --git a/manager/media/ImageEditor/assets/editor.js b/manager/media/ImageEditor/assets/editor.js old mode 100644 new mode 100755 index 99f514ad9e..334ce1a375 --- a/manager/media/ImageEditor/assets/editor.js +++ b/manager/media/ImageEditor/assets/editor.js @@ -37,7 +37,7 @@ editor.setMode(current_action); //constraints on the scale, - //code by Frédéric Klee + //code by Frederic Klee if(action == 'scale') { var theImage = editor.window.document.getElementById('theImage'); @@ -67,7 +67,7 @@ } } - //Togggle constraints, by Frédéric Klee + //Togggle constraints, by Frederic Klee function toggleConstraints() { var lock = document.getElementById("scaleConstImg"); @@ -89,7 +89,7 @@ } } - //check the constraints, by Frédéric Klee + //check the constraints, by Frederic Klee function checkConstrains(changed) { var constrained = document.getElementById('constProp'); diff --git a/manager/media/browser/mcpuk/connectors/php/Commands/GetFoldersAndFiles.php b/manager/media/browser/mcpuk/connectors/php/Commands/GetFoldersAndFiles.php index e3b88a4204..d55d0c2758 100755 --- a/manager/media/browser/mcpuk/connectors/php/Commands/GetFoldersAndFiles.php +++ b/manager/media/browser/mcpuk/connectors/php/Commands/GetFoldersAndFiles.php @@ -1,185 +1,185 @@ -fckphp_config=$fckphp_config; - $this->type=$type; - $this->raw_cwd=$cwd; - $this->actual_cwd=str_replace("//","/",($fckphp_config['UserFilesPath']."/$type/".$this->raw_cwd)); - $this->real_cwd=str_replace("//","/",($this->fckphp_config['basedir']."/".$this->actual_cwd)); - } - - function run() { - - header ("Content-Type: application/xml; charset=utf-8"); - echo "\n"; - ?> - - - - - - - - - - - - - - - - - - - - -] > - - - - -real_cwd)) { - - /** - * Initiate the array to store the foldernames - */ - $folders_array = array(); - - while (($filename=readdir($dh))!==false) { - - if (($filename!=".")&&($filename!="..")) { - if (is_dir($this->real_cwd."/$filename")) { - //check if$fckphp_configured not to show this folder - $hide=false; - for($i=0;$ifckphp_config['ResourceAreas'][$this->type]['HideFolders']);$i++) - $hide=(preg_match("/".$this->fckphp_config['ResourceAreas'][$this->type]['HideFolders'][$i]."/",$filename)?true:$hide); - - /** - * Dont echo the entry, push it in the array - */ - //if (!$hide) echo "\t\t\n"; - if (!$hide) array_push($folders_array,$filename); - - } else { - array_push($files,$filename); - } - } - } - closedir($dh); - - /** - * Sort the array by the way you like and show it. - */ - natcasesort($folders_array); - foreach($folders_array as $k=>$v) - { - echo ''."\n"; - } - - } - - echo "\t\n"; - echo "\t\n"; - - /** - * The filenames are in the array $files - * SORT IT! - */ - natcasesort($files); - $files = array_values($files); - - for ($i=0;$ifckphp_config['ResourceAreas'][$this->type]['AllowedExtensions'])) { - - //check if$fckphp_configured not to show this file - $editable=$hide=false; - for($j=0;$jfckphp_config['ResourceAreas'][$this->type]['HideFiles']);$j++) - $hide=(preg_match("/".$this->fckphp_config['ResourceAreas'][$this->type]['HideFiles'][$j]."/",$files[$i])?true:$hide); - - if (!$hide) { - if ($this->fckphp_config['ResourceAreas'][$this->type]['AllowImageEditing']) - $editable=$this->isImageEditable($this->real_cwd."/".$files[$i]); - - if(extension_loaded('mbstring')) { - $name = mb_convert_encoding($files [$i] , 'UTF-8', mb_detect_encoding($files[$i] , 'UTF-8, windows-1251, ASCII, ISO-8859-1')); - } else { - $name = $files[$i]; - } - // $this->fckphp_config['modx']['charset'] if needed - echo "\t\treal_cwd."/".$files [$i] )/1024)."\" editable=\"" . ( $editable?"1":"0" ) . "\" />\n"; - } - - } - - } - - echo "\t\n"; - echo "\n"; - } - - - function isImageEditable($file) { - $fh=fopen($file,"r"); - if ($fh) { - $start4=fread($fh,4); - fclose($fh); - - $start3=substr($start4,0,3); - - if ($start4=="\x89PNG") { //PNG - return (function_exists("imagecreatefrompng") && function_exists("imagepng")); - - } elseif ($start3=="GIF") { //GIF - return (function_exists("imagecreatefromgif") && function_exists("imagegif")); - - } elseif ($start3=="\xFF\xD8\xFF") { //JPEG - return (function_exists("imagecreatefromjpeg")&& function_exists("imagejpeg")); - - } elseif ($start4=="hsi1") { //JPEG - return (function_exists("imagecreatefromjpeg")&& function_exists("imagejpeg")); - - } else { - return false; - } - - } else { - return false; - } - } - - -} - +fckphp_config=$fckphp_config; + $this->type=$type; + $this->raw_cwd=$cwd; + $this->actual_cwd=str_replace("//","/",($fckphp_config['UserFilesPath']."/$type/".$this->raw_cwd)); + $this->real_cwd=str_replace("//","/",($this->fckphp_config['basedir']."/".$this->actual_cwd)); + } + + function run() { + + header ("Content-Type: application/xml; charset=utf-8"); + echo "\n"; + ?> + + + + + + + + + + + + + + + + + + + + +] > + + + + +real_cwd)) { + + /** + * Initiate the array to store the foldernames + */ + $folders_array = array(); + + while (($filename=readdir($dh))!==false) { + + if (($filename!=".")&&($filename!="..")) { + if (is_dir($this->real_cwd."/$filename")) { + //check if$fckphp_configured not to show this folder + $hide=false; + for($i=0;$ifckphp_config['ResourceAreas'][$this->type]['HideFolders']);$i++) + $hide=(preg_match("/".$this->fckphp_config['ResourceAreas'][$this->type]['HideFolders'][$i]."/",$filename)?true:$hide); + + /** + * Dont echo the entry, push it in the array + */ + //if (!$hide) echo "\t\t\n"; + if (!$hide) array_push($folders_array,$filename); + + } else { + array_push($files,$filename); + } + } + } + closedir($dh); + + /** + * Sort the array by the way you like and show it. + */ + natcasesort($folders_array); + foreach($folders_array as $k=>$v) + { + echo ''."\n"; + } + + } + + echo "\t\n"; + echo "\t\n"; + + /** + * The filenames are in the array $files + * SORT IT! + */ + natcasesort($files); + $files = array_values($files); + + for ($i=0;$ifckphp_config['ResourceAreas'][$this->type]['AllowedExtensions'])) { + + //check if$fckphp_configured not to show this file + $editable=$hide=false; + for($j=0;$jfckphp_config['ResourceAreas'][$this->type]['HideFiles']);$j++) + $hide=(preg_match("/".$this->fckphp_config['ResourceAreas'][$this->type]['HideFiles'][$j]."/",$files[$i])?true:$hide); + + if (!$hide) { + if ($this->fckphp_config['ResourceAreas'][$this->type]['AllowImageEditing']) + $editable=$this->isImageEditable($this->real_cwd."/".$files[$i]); + + if(extension_loaded('mbstring')) { + $name = mb_convert_encoding($files [$i] , 'UTF-8', mb_detect_encoding($files[$i] , 'UTF-8, windows-1251, ASCII, ISO-8859-1')); + } else { + $name = $files[$i]; + } + // $this->fckphp_config['modx']['charset'] if needed + echo "\t\treal_cwd."/".$files [$i] )/1024)."\" editable=\"" . ( $editable?"1":"0" ) . "\" />\n"; + } + + } + + } + + echo "\t\n"; + echo "\n"; + } + + + function isImageEditable($file) { + $fh=fopen($file,"r"); + if ($fh) { + $start4=fread($fh,4); + fclose($fh); + + $start3=substr($start4,0,3); + + if ($start4=="\x89PNG") { //PNG + return (function_exists("imagecreatefrompng") && function_exists("imagepng")); + + } elseif ($start3=="GIF") { //GIF + return (function_exists("imagecreatefromgif") && function_exists("imagegif")); + + } elseif ($start3=="\xFF\xD8\xFF") { //JPEG + return (function_exists("imagecreatefromjpeg")&& function_exists("imagejpeg")); + + } elseif ($start4=="hsi1") { //JPEG + return (function_exists("imagecreatefromjpeg")&& function_exists("imagejpeg")); + + } else { + return false; + } + + } else { + return false; + } + } + + +} + ?> \ No newline at end of file diff --git a/manager/media/browser/mcpuk/connectors/php/connector.php b/manager/media/browser/mcpuk/connectors/php/connector.php old mode 100644 new mode 100755 index c8e893610a..3c9dd0696c --- a/manager/media/browser/mcpuk/connectors/php/connector.php +++ b/manager/media/browser/mcpuk/connectors/php/connector.php @@ -1,27 +1,28 @@ - Date: Thu, 23 Dec 2010 13:17:07 +0900 Subject: [PATCH 85/92] 940 [hq] Manager/welcome.html RSS feed encode issue.(yama) --- manager/media/rss/rss_fetch.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) mode change 100644 => 100755 manager/media/rss/rss_fetch.inc diff --git a/manager/media/rss/rss_fetch.inc b/manager/media/rss/rss_fetch.inc old mode 100644 new mode 100755 index 5ff72e63f0..b8d140f888 --- a/manager/media/rss/rss_fetch.inc +++ b/manager/media/rss/rss_fetch.inc @@ -359,7 +359,8 @@ function init () { } if ( !defined('MAGPIE_OUTPUT_ENCODING') ) { - define('MAGPIE_OUTPUT_ENCODING', 'ISO-8859-1'); + global $modx_manager_charset; + define('MAGPIE_OUTPUT_ENCODING', $modx_manager_charset); } if ( !defined('MAGPIE_INPUT_ENCODING') ) { From 745a950bfe2a5b7cf42a1aeb998ce02ad86f9966 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 13:18:02 +0900 Subject: [PATCH 86/92] 941 [hq] datagrid style optimize(yama) --- manager/media/style/MODxCarbon/style.css | 40 ++++++++++++++++-------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/manager/media/style/MODxCarbon/style.css b/manager/media/style/MODxCarbon/style.css index 95ccdb1e42..cc2b787640 100755 --- a/manager/media/style/MODxCarbon/style.css +++ b/manager/media/style/MODxCarbon/style.css @@ -604,23 +604,28 @@ a img { text-decoration: line-through; } /* -------------------------[ grid style ]--- */ -.grid { +table.grid { width: 100%; background-color: #fff; - border: 1px solid silver; + border-collapse:collapse; + margin-bottom:20px; } -.gridHeader { - color: #fff; +table.grid th, table.grid td { + border:1px solid #ccc; + padding:4px; +} +table.grid th, .gridHeader { + color: #333; font-weight: bold; - background-color: #88939E; + background-color: #d2d2d2; + white-space:nowrap; + text-align:left; } -.gridItem { +table.grid td.odd, .gridItem { background-color: #fff; - padding: 3px; } -.gridAltItem { +table.grid td.even, .gridAltItem { background-color: #eeeeee; - padding: 3px; } .gridRowIcon:hover { background-color: #f5f5dc; @@ -1128,9 +1133,18 @@ a.hometblink, a.hometblink img { } /* -------------------------[ New sortable table class ]--- */ .sortabletable { - border: 0 solid ThreeDShadow; - color: WindowText; } +table.sortabletable { +border-collapse:collapse; +width:100%; +} +table.sortabletable td,table.sortabletable th { +border:1px solid #ccc; +padding:4px; +} +.sortabletable a { +} + .sortabletable thead tr { background-color: #86919e; } @@ -1147,14 +1161,14 @@ a.hometblink, a.hometblink img { .sortabletable th { text-align: left; cursor: pointer; - color: #333; + color: #f3f3f3; } .rtl .sortabletable th { text-align: right; } .sortabletable th a { text-decoration: none; - color: #333; + color: #f3f3f3; } .sortabletable th:active { background: #ccc; From 3742ed662e9291bc04e62b43520a090ae140f285 Mon Sep 17 00:00:00 2001 From: soushi Date: Thu, 23 Dec 2010 13:19:03 +0900 Subject: [PATCH 87/92] 942 [hq] Bindings commands enable/disable(yama) --- install/assets/plugins/enable-bindings.tpl | 45 ++++++++++++++++++++++ manager/includes/tmplvars.commands.inc.php | 4 ++ 2 files changed, 49 insertions(+) create mode 100755 install/assets/plugins/enable-bindings.tpl diff --git a/install/assets/plugins/enable-bindings.tpl b/install/assets/plugins/enable-bindings.tpl new file mode 100755 index 0000000000..5061e36956 --- /dev/null +++ b/install/assets/plugins/enable-bindings.tpl @@ -0,0 +1,45 @@ +//Event; +global $settings; +$action = $modx->manager->action; +if($action!==17) return; +$enable_bindings = (is_null($settings['enable_bindings'])) ? '1' : $settings['enable_bindings']; +$html = render_html($enable_bindings); +$e->output($html); + +function render_html($enable_bindings) +{ + global $_lang; + $str = '
    '.$_lang["onlineusers_user"].'
    ' . PHP_EOL; + $str .= ' ' . PHP_EOL; + $str .= ' ' . PHP_EOL; + $str .= ' ' . PHP_EOL; + $str .= ' ' . PHP_EOL; + $str .= ' ' . PHP_EOL; + $str .= ' ' . PHP_EOL; + $str .= ' ' . PHP_EOL; + $str .= ' ' . PHP_EOL; + $str .= ' ' . PHP_EOL; + $str .= ' ' . PHP_EOL; + $str .= ' ' . PHP_EOL; + $str .= '

    @Bindingsã®è¨­å®š

    @Bindingsを有効ã«ã™ã‚‹' . PHP_EOL; + $str .= $_lang["yes"] . '
    ' . PHP_EOL; + $str .= ' ' . PHP_EOL; + $str .= $_lang["no"] . '
     @Bindings commands enable
    ' . PHP_EOL; + return $str; +} diff --git a/manager/includes/tmplvars.commands.inc.php b/manager/includes/tmplvars.commands.inc.php index 3526b2e040..2b99196abc 100755 --- a/manager/includes/tmplvars.commands.inc.php +++ b/manager/includes/tmplvars.commands.inc.php @@ -21,6 +21,10 @@ function ProcessTVCommand($value, $name = '', $docid = '') { $nvalue = trim($value); if (substr($nvalue, 0, 1) != '@') return $value; + elseif(empty($modx->config['enable_bindings'])) + { + return '@Bindings is disabled.'; + } else { list ($cmd, $param) = ParseCommand($nvalue); $cmd = trim($cmd); From e757f6e3fd995c714e6867699ac64ff321aec3ad Mon Sep 17 00:00:00 2001 From: soushi Date: Fri, 14 Jan 2011 10:02:41 +0900 Subject: [PATCH 88/92] =?UTF-8?q?943=20=E6=9C=AC=E5=AE=B6=E7=89=88MODxCarb?= =?UTF-8?q?on=E3=83=86=E3=83=BC=E3=83=9E=E6=9B=B4=E6=96=B0(yama)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../style/MODxCarbon/images/misc/menubg.png | Bin 266 -> 54886 bytes manager/media/style/MODxCarbon/style.css | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/manager/media/style/MODxCarbon/images/misc/menubg.png b/manager/media/style/MODxCarbon/images/misc/menubg.png index 0971d6c3afafbcf2cfa67742e31e54c691f5bb67..3e8783495c587e82961938a78860d4264a042196 100755 GIT binary patch literal 54886 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 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^B0%iM!2~3o*D5aqQq09po*^6@9Je3(KLBz$3p^r= z85p>QK$!8;-MT+OL9r6oh!W?b)Wnj^{5*w_%-mE419N>NOML^&rFpdrfGSi$DuVOV zO3D+9QW<;`lZ*0mQ&Tb%72Gn5Qp@v;vWpdbBNU7b3{2X~)|>}wi1KuC45^rt{A7AS zl7hIw#I?mQveFV$QkJ+F|C|<_VSKsarcDTQPKH&r$$_@Mvx|Su>@(v}Xy84&LdrMM z`Pj3G5nqCyJ-^7HeDN7$(Kms&YCTzUS8Z0!yfuq)`$5KsJ&NfbKwB6*UHx3vIVCg! E0N Date: Fri, 14 Jan 2011 10:07:10 +0900 Subject: [PATCH 89/92] 944 [hq] Ajust MODxCarbon theme(yama) --- .../MODxCarbon/images/misc/longbarbg.png | Bin 344 -> 363 bytes .../style/MODxCarbon/images/misc/menubg.png | Bin 54886 -> 35838 bytes .../style/MODxCarbon/images/misc/tab.gif | Bin 1247 -> 0 bytes .../style/MODxCarbon/images/misc/tab.png | Bin 0 -> 480 bytes manager/media/style/MODxCarbon/style.css | 24 +++++++++--------- 5 files changed, 12 insertions(+), 12 deletions(-) delete mode 100644 manager/media/style/MODxCarbon/images/misc/tab.gif create mode 100755 manager/media/style/MODxCarbon/images/misc/tab.png diff --git a/manager/media/style/MODxCarbon/images/misc/longbarbg.png b/manager/media/style/MODxCarbon/images/misc/longbarbg.png index fa3da705591bd26420e99420c05cf11be98930ec..c9cc69c50ec651a6e64e54f71805ea6673ac34ad 100755 GIT binary patch literal 363 zcmeAS@N?(olHy`uVBq!ia0vp^DL|~u!3-or6XQ1lDdu7)&kzm{j@u9Y9{{-r0(?ST zfi#^#L}`0WWmkMvPeOHXa$SE~!^F(y$vLf43p!>LbH;0+ zR7sPn^Y;SUuEpJyK6N3x=M8Ua#@o4j7xJ7vc(&`(vNZ<2d0`SjMLQxBr=&helib3e z>gt&JDObWRk}Xb_$Le`XzD6_1tbq4>4!Q?|%+2cEwCG2EMnxL`ik3}0^{*@p)?Yia R%L(Xc22WQ%mvv4FO#l%vfqMV| diff --git a/manager/media/style/MODxCarbon/images/misc/menubg.png b/manager/media/style/MODxCarbon/images/misc/menubg.png index 3e8783495c587e82961938a78860d4264a042196..00e771c22b2ae5d01ba2e42e2a732e5acb839c0b 100755 GIT binary patch literal 35838 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 diff --git a/manager/media/style/MODxCarbon/images/misc/tab.gif b/manager/media/style/MODxCarbon/images/misc/tab.gif deleted file mode 100644 index 787666d1e55716b6712be49ace6ba52a77fd70a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1247 zcmdUsiB}Q^0EgMrrKP2Ny5*WvT4jj3r`gB@%}f!+D@~;$@yY|(DqZGMn~H&FW|r6U z#sh)!z&!B^MFdNmr8O;4lp6slTv=oFXYBXBKj3@c&&L<$k4;r=|2Nk50lh)DS3Y+Pzc%(XMoDM9Guz{soqsLKe{Z+_>0g`dL)geL@q zCHQ|PG#(Ke?;COnekRT*I2INZ>m3+#Iv~m|FvinA>J$Qf(l658_o5pdARE^Js}sJK_MS(M zx*h?!1O5*?_+D4n6rcszev$q12|!Pq^;Hf&_ZESemtRm=RD8SSPU+oJ-TQjGcN^^0 z-|r3ksiCon)ZEhAMsBB2X%8NDbas(|KYX*#>)^oP5My{`bZq=Fb7GP;#h&JjntW?H zJNN9b`R6Yd7GJ*ldujRgn-$)R1BMnG0-;DOk;>$o3Z-gG{q~(kW@P?h=i{e;wE&$x z=J3vjalF0>7-go+CJ>De`PIO?nkEa)95Ku6F49y9(9WIh(cL^<1`4I1rn_6X751^5 z8eh7Aqi2>ZS)Qi1&DMM1_x$MBLw-hrmw~_jFqSjl7EJQ1^?O8lK}FIruQ`vXiydK> z!DfhF+ADhEJmn&{_rX%%6)m4ri-?fx>`qflUUU08Rz|aQ3@rTnJ6D-`CfZCuV;6tw z&LKpd|3LQ!x6%>&W@dmc3ZJMB6SeKy@3+uCXfkAZ+vM5nwo)tyZR0NTTNOxdhar3=!jJTzk)xd16 zNtKA(8VFzsxw#x8X(zW*Botb~0p{LL7FbH_S-?mi^b07`hYXEG+A+2(9cu_N#mc(a zR#aK{3`8oU&%tcuJH$YQi)Er-DwJCD2qX^XoFz z6p(1U#Xekt+nNTo(Y83YeX=dC{gkbG=J+B`{lrN~Q$K}n%ha9ZkG3Vdfi=Imlc=@3q_wBCjhBqAx17DNyn~;DqrZ}Kpo(jds#~zSN2rEpn5I{_ zmRFdTcZ8;2w4PtIzF(A4V61UaoLNYMWmuwFWQs*pnq^G7RZNCWT$X)8j$=}ub4r1G zda-9#sZVy9PfkTZesy3$O;BNNNO65wX=7x0b96;>OjTQ4bz4e9cWPr#T2pUc$E3pU zsR_#$>H$35}cn_Ql40p%HSUm5|A085S*7-P%u+68z{fV)5S3)qw(!|PN_x) z0k#YOnI`J0vYph6JTA2J|Js=3U;8V~D}I Date: Fri, 14 Jan 2011 10:11:56 +0900 Subject: [PATCH 90/92] =?UTF-8?q?945=20[hq]manager=E3=83=87=E3=82=A3?= =?UTF-8?q?=E3=83=AC=E3=82=AF=E3=83=88=E3=83=AA=E3=82=92=E6=9C=AC=E5=AE=B6?= =?UTF-8?q?=E6=9C=80=E6=96=B0=E3=81=AB=E6=9B=B4=E6=96=B0(yama)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- manager/actions/bkmanager.static.php | 8 +- manager/actions/document_data.static.php | 2 +- manager/actions/export_site.static.php | 18 +- manager/actions/files.dynamic.php | 663 ++--- manager/actions/logging.static.php | 56 +- manager/actions/modules.static.php | 4 +- manager/actions/mutate_content.dynamic.php | 50 +- .../actions/mutate_htmlsnippet.dynamic.php | 274 +-- manager/actions/mutate_module.dynamic.php | 818 +++---- manager/actions/mutate_plugin.dynamic.php | 760 +++--- manager/actions/mutate_settings.dynamic.php | 16 +- manager/actions/mutate_snippet.dynamic.php | 580 ++--- manager/actions/mutate_templates.dynamic.php | 266 +- manager/actions/mutate_tmplvars.dynamic.php | 3 + manager/actions/mutate_user.dynamic.php | 21 +- manager/actions/mutate_web_user.dynamic.php | 2 +- manager/actions/sysinfo.static.php | 15 +- manager/actions/user_management.static.php | 38 +- .../actions/web_user_management.static.php | 2 +- manager/actions/welcome.static.php | 4 +- manager/includes/config_check.inc.php | 54 +- manager/includes/controls/datagrid.class.php | 78 +- .../includes/document.parser.class.inc.php | 59 +- manager/includes/header.inc.php | 7 + manager/includes/lang/czech.inc.php | 36 +- manager/includes/lang/danish.inc.php | 41 +- manager/includes/lang/english.inc.php | 7 +- manager/includes/lang/francais-utf8.inc.php | 21 +- manager/includes/lang/francais.inc.php | 21 +- manager/includes/lang/italian.inc.php | 2158 +++++++++-------- manager/includes/lang/japanese-utf8.inc.php | 423 ++-- manager/includes/lang/russian-UTF8.inc.php | 37 +- manager/includes/lang/russian.inc.php | 37 +- manager/includes/lang/svenska-utf8.inc.php | 21 +- manager/includes/lang/svenska.inc.php | 23 +- manager/includes/mutate_settings.ajax.php | 12 +- manager/includes/protect.inc.php | 6 + manager/includes/session_keepalive.php | 42 +- manager/includes/tmplvars.commands.inc.php | 4 - manager/includes/tmplvars.format.inc.php | 17 + manager/includes/tmplvars.inc.php | 30 +- .../media/ImageEditor/assets/EditorContent.js | 2 +- manager/media/ImageEditor/assets/editor.js | 6 +- manager/media/ImageEditor/editorFrame.php | 2 +- .../php/Commands/GetFoldersAndFiles.php | 368 +-- .../mcpuk/connectors/php/connector.php | 41 +- manager/media/rss/rss_fetch.inc | 3 +- .../MODxCarbon/images/misc/longbarbg.png | Bin 363 -> 344 bytes .../style/MODxCarbon/images/misc/menubg.png | Bin 35838 -> 266 bytes .../style/MODxCarbon/images/misc/tab.gif | Bin 0 -> 1247 bytes manager/media/style/MODxCarbon/style.css | 66 +- manager/processors/save_content.processor.php | 3 +- 52 files changed, 3687 insertions(+), 3538 deletions(-) mode change 100644 => 100755 manager/actions/mutate_tmplvars.dynamic.php mode change 100644 => 100755 manager/includes/protect.inc.php mode change 100644 => 100755 manager/media/ImageEditor/editorFrame.php create mode 100755 manager/media/style/MODxCarbon/images/misc/tab.gif diff --git a/manager/actions/bkmanager.static.php b/manager/actions/bkmanager.static.php index 3d20bdc310..a76fcb0eb2 100755 --- a/manager/actions/bkmanager.static.php +++ b/manager/actions/bkmanager.static.php @@ -17,9 +17,7 @@ $mode = isset($_POST['mode']) ? $_POST['mode'] : ''; function callBack(&$dumpstring) { - global $modx; - $today = $modx->toDateFormat(time(),'dateOnly'); - $today = str_replace('/', '-', $today); + $today = date("d_M_y"); $today = strtolower($today); if(!headers_sent()) { header('Expires: 0'); @@ -105,7 +103,7 @@ function submitForm(){

    -

    +

    @@ -118,7 +116,7 @@ function submitForm(){ $children['id'], 'title' => $children['pagetitle'], 'status' => ($children['published'] == 0) ? ''.$_lang['page_data_unpublished'].'' : ''.$_lang['page_data_published'].'', - 'edit' => ''.$_lang['preview'].''.(($modx->hasPermission('edit_document')) ? ' '.$_lang['edit'].' '.$_lang['move'].'' : ''), + 'edit' => ''.$_lang['view'].''.(($modx->hasPermission('edit_document')) ? ' '.$_lang['edit'].' '.$_lang['move'].'' : ''), ); } diff --git a/manager/actions/export_site.static.php b/manager/actions/export_site.static.php index 54e0b3602b..eb4e7e6186 100755 --- a/manager/actions/export_site.static.php +++ b/manager/actions/export_site.static.php @@ -31,26 +31,26 @@ function reloadTree() { - -
    +
    - + + - + + - + + - + + '; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - } - - // dump array entries for files - $files = count($files_array); - sort($files_array); // sorting the array alphabetically (Thanks pxl8r!) - for($i=0; $i<$files; $i++) { - $filesizes += $files_array[$i]['stats']['7']; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - } - - - return; + global $_lang; + global $excludes, $editablefiles, $inlineviewablefiles, $viewablefiles, $enablefileunzip, $enablefiledownload, $uploadablefiles, $folders, $files, $filesizes, $len, $dirs_array, $files_array, $webstart_path, $manager_theme, $modx; + $dircounter = 0; + $filecounter = 0; + $curpath = str_replace('//','/',$curpath.'/'); + + if (!is_dir($curpath)) { + echo 'Invalid path "',$curpath,'"
    '; + return; + } + $dir = dir($curpath); + + // first, get info + while ($file = $dir->read()) { + if(!in_array($file, $excludes)) { + $newpath = $curpath.$file; + if(is_dir($newpath)) { + $dirs_array[$dircounter]['dir'] = $newpath; + $dirs_array[$dircounter]['stats'] = lstat($newpath); + $dirs_array[$dircounter]['text'] = ''.$file.''; + $dirs_array[$dircounter]['delete'] = is_writable($curpath) ? ''.$_lang['file_delete_folder'].'' : ''; + + // increment the counter + $dircounter++; + } else { + $type=getExtension($newpath); + $files_array[$filecounter]['file'] = $newpath; + $files_array[$filecounter]['stats'] = lstat($newpath); + $files_array[$filecounter]['text'] = ''.$file; + $files_array[$filecounter]['view'] = (in_array($type, $viewablefiles)) ? + ''.$_lang['files_viewfile'].'' : (($enablefiledownload && in_array($type, $uploadablefiles))? ''.$_lang['file_download_file'].'':''.$_lang['files_viewfile'].''); + $files_array[$filecounter]['view'] = (in_array($type, $inlineviewablefiles)) ? ''.$_lang['files_viewfile'].'' : $files_array[$filecounter]['view'] ; + $files_array[$filecounter]['unzip'] = ($enablefileunzip && $type=='.zip') ? ''.$_lang['file_download_unzip'].'' : '' ; + $files_array[$filecounter]['edit'] = (in_array($type, $editablefiles) && is_writable($curpath) && is_writable($newpath)) ? ''.$_lang['files_editfile'].'' : ''.$_lang['files_editfile'].''; + $files_array[$filecounter]['delete'] = is_writable($curpath) && is_writable($newpath) ? ''.$_lang['file_delete_file'].'' : ''.$_lang['file_delete_file'].''; + + + // increment the counter + $filecounter++; + } + } + } + $dir->close(); + + // dump array entries for directories + $folders = count($dirs_array); + sort($dirs_array); // sorting the array alphabetically (Thanks pxl8r!) + for($i=0; $i<$folders; $i++) { + $filesizes += $dirs_array[$i]['stats']['7']; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + } + + // dump array entries for files + $files = count($files_array); + sort($files_array); // sorting the array alphabetically (Thanks pxl8r!) + for($i=0; $i<$files; $i++) { + $filesizes += $files_array[$i]['stats']['7']; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + } + + + return; } echo '

    '; ?> @@ -503,7 +518,7 @@ function ls($curpath) { ls($startpath); echo "\n\n\n\n\n\n\n"; if($folders==0 && $files==0) { - echo ''; + echo ''; } ?>
     
     
     
     
    diff --git a/manager/actions/files.dynamic.php b/manager/actions/files.dynamic.php index ceb784a97a..00feff51bb 100755 --- a/manager/actions/files.dynamic.php +++ b/manager/actions/files.dynamic.php @@ -1,8 +1,8 @@ INCLUDE_ORDERING_ERROR

    Please use the MODx Content Manager instead of accessing this file directly."); if(!$modx->hasPermission('file_manager')) { - $e->setError(3); - $e->dumpError(); + $e->setError(3); + $e->dumpError(); } if ($manager_theme) @@ -29,58 +29,58 @@ $uploadablefiles = array_merge($upload_files,$upload_images,$upload_media,$upload_flash); $count = count($uploadablefiles); for($i=0; $i<$count; $i++) { - $uploadablefiles[$i] = ".".$uploadablefiles[$i]; // add a dot :) + $uploadablefiles[$i] = ".".$uploadablefiles[$i]; // add a dot :) } // end settings function ufilesize($size) { - $a = array('B', 'KB', 'MB', 'GB', 'TB', 'PB'); - $pos = 0; - while ($size >= 1024) { - $size /= 1024; - $pos++; - } - return round($size,2)." ".$a[$pos]; + $a = array('B', 'KB', 'MB', 'GB', 'TB', 'PB'); + $pos = 0; + while ($size >= 1024) { + $size /= 1024; + $pos++; + } + return round($size,2)." ".$a[$pos]; } function removeLastPath($string) { $pos = false; $search = "/"; if (is_int(strpos($string, $search))) { - $endPos = strlen($string); - while ($endPos > 0) { - $endPos = $endPos - 1; - $pos = strpos($string, $search, $endPos); - if (is_int($pos)) { - break; - } - } + $endPos = strlen($string); + while ($endPos > 0) { + $endPos = $endPos - 1; + $pos = strpos($string, $search, $endPos); + if (is_int($pos)) { + break; + } + } } if (is_int($pos)) { - $len = strlen($search); - return substr($string, 0, $pos); + $len = strlen($search); + return substr($string, 0, $pos); } - return $string; + return $string; } function getExtension($string) { $pos = false; $search = "."; if (is_int(strpos($string, $search))) { - $endPos = strlen($string); - while ($endPos > 0) { - $endPos = $endPos - 1; - $pos = strpos($string, $search, $endPos); - if (is_int($pos)) { - break; - } - } + $endPos = strlen($string); + while ($endPos > 0) { + $endPos = $endPos - 1; + $pos = strpos($string, $search, $endPos); + if (is_int($pos)) { + break; + } + } } if (is_int($pos)) { - $len = strlen($search); - return substr($string, $pos); + $len = strlen($search); + return substr($string, $pos); } - return $string; + return $string; } function fsize($file) { @@ -95,39 +95,39 @@ function fsize($file) { } function mkdirs($strPath, $mode){ // recursive mkdir function - if (is_dir($strPath)) return true; - $pStrPath = dirname($strPath); - if (!mkdirs($pStrPath, $mode)) return false; - return @mkdir($strPath); + if (is_dir($strPath)) return true; + $pStrPath = dirname($strPath); + if (!mkdirs($pStrPath, $mode)) return false; + return @mkdir($strPath); } function logFileChange($type, $filename) { - //global $_lang; + //global $_lang; - include_once('log.class.inc.php'); - $log = new logHandler(); + include_once('log.class.inc.php'); + $log = new logHandler(); - switch ($type) { - case 'upload': $string = 'Uploaded File'; break; - case 'delete': $string = 'Deleted File'; break; - case 'modify': $string = 'Modified File'; break; - default: $string = 'Viewing File'; break; - } + switch ($type) { + case 'upload': $string = 'Uploaded File'; break; + case 'delete': $string = 'Deleted File'; break; + case 'modify': $string = 'Modified File'; break; + default: $string = 'Viewing File'; break; + } - $string = sprintf($string, $filename); - $log->initAndWriteLog($string, '', '', '', $type, $filename); + $string = sprintf($string, $filename); + $log->initAndWriteLog($string, '', '', '', $type, $filename); - // HACK: change the global action to prevent double logging - // @see manager/index.php @ 915 - global $action; $action = 1; + // HACK: change the global action to prevent double logging + // @see manager/index.php @ 915 + global $action; $action = 1; } // get the current work directory if(isset($_REQUEST['path']) && !empty($_REQUEST['path'])) { $_REQUEST['path'] = str_replace('..','',$_REQUEST['path']); - $startpath = is_dir($_REQUEST['path']) ? $_REQUEST['path'] : removeLastPath($_REQUEST['path']) ; + $startpath = is_dir($_REQUEST['path']) ? $_REQUEST['path'] : removeLastPath($_REQUEST['path']) ; } else { - $startpath = $filemanager_path; + $startpath = $filemanager_path; } $len = strlen($filemanager_path); @@ -146,43 +146,57 @@ function logFileChange($type, $filename) {
    config['clean_uploaded_filename']) { $nameparts = explode('.', $name); @@ -190,104 +204,104 @@ function getFolderName(a){ $name = implode('.', $nameparts); } $userfiles[$i]['name'] = $name; - $userfiles[$i]['type'] = $_FILES['userfile']['type'][$i]; - } - } - - foreach((array)$userfiles as $userfile) { - - // this seems to be an upload action. - printf("

    ".$_lang['files_uploading']."

    ", $userfile['name'], substr($startpath, $len, strlen($startpath))); - echo $userfile['error']==0 ? "

    ".$_lang['files_file_type'].$userfile['type'].", ".fsize($userfile['tmp_name']).'

    ' : ''; - - $userfilename = $userfile['tmp_name']; - - if (is_uploaded_file($userfilename)) { - // file is uploaded file, process it! - if(!in_array(getExtension($userfile['name']), $uploadablefiles)) { - echo '

    '.$_lang['files_filetype_notok'].'

    '; - } else { - if(@move_uploaded_file($userfile['tmp_name'], $_POST['path'].'/'.$userfile['name'])) { - // Ryan: Repair broken permissions issue with file manager - if (strtoupper(substr(PHP_OS, 0, 3)) != 'WIN') - @chmod($_POST['path']."/".$userfile['name'], $new_file_permissions); - // Ryan: End - echo '

    '.$_lang['files_upload_ok'].'

    '; - - // invoke OnFileManagerUpload event - $modx->invokeEvent('OnFileManagerUpload', - array( - 'filepath' => $_POST['path'], - 'filename' => $userfile['name'] - )); - // Log the change - logFileChange('upload', $_POST['path'].'/'.$userfile['name']); - } else { - echo '

    '.$_lang['files_upload_copyfailed'].' '.$_lang["files_upload_permissions_error"].'

    '; - } - } - }else{ - echo '
    '.$_lang['files_upload_error'].':'; - switch($userfile['error']){ - case 0: //no error; possible file attack! - echo $_lang['files_upload_error0']; - break; - case 1: //uploaded file exceeds the upload_max_filesize directive in php.ini - echo $_lang['files_upload_error1']; - break; - case 2: //uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the html form - echo $_lang['files_upload_error2']; - break; - case 3: //uploaded file was only partially uploaded - echo $_lang['files_upload_error3']; - break; - case 4: //no file was uploaded - echo $_lang['files_upload_error4']; - break; - default: //a default error, just in case! :) - echo $_lang['files_upload_error5']; - break; - } - echo '
    '; - } - echo '
    '; -} + $userfiles[$i]['type'] = $_FILES['userfile']['type'][$i]; + } + } + + foreach((array)$userfiles as $userfile) { + + // this seems to be an upload action. + printf("

    ".$_lang['files_uploading']."

    ", $userfile['name'], substr($startpath, $len, strlen($startpath))); + echo $userfile['error']==0 ? "

    ".$_lang['files_file_type'].$userfile['type'].", ".fsize($userfile['tmp_name']).'

    ' : ''; + + $userfilename = $userfile['tmp_name']; + + if (is_uploaded_file($userfilename)) { + // file is uploaded file, process it! + if(!in_array(getExtension($userfile['name']), $uploadablefiles)) { + echo '

    '.$_lang['files_filetype_notok'].'

    '; + } else { + if(@move_uploaded_file($userfile['tmp_name'], $_POST['path'].'/'.$userfile['name'])) { + // Ryan: Repair broken permissions issue with file manager + if (strtoupper(substr(PHP_OS, 0, 3)) != 'WIN') + @chmod($_POST['path']."/".$userfile['name'], $new_file_permissions); + // Ryan: End + echo '

    '.$_lang['files_upload_ok'].'

    '; + + // invoke OnFileManagerUpload event + $modx->invokeEvent('OnFileManagerUpload', + array( + 'filepath' => $_POST['path'], + 'filename' => $userfile['name'] + )); + // Log the change + logFileChange('upload', $_POST['path'].'/'.$userfile['name']); + } else { + echo '

    '.$_lang['files_upload_copyfailed'].' '.$_lang["files_upload_permissions_error"].'

    '; + } + } + } else { + echo '
    '.$_lang['files_upload_error'].':'; + switch($userfile['error']){ + case 0: //no error; possible file attack! + echo $_lang['files_upload_error0']; + break; + case 1: //uploaded file exceeds the upload_max_filesize directive in php.ini + echo $_lang['files_upload_error1']; + break; + case 2: //uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the html form + echo $_lang['files_upload_error2']; + break; + case 3: //uploaded file was only partially uploaded + echo $_lang['files_upload_error3']; + break; + case 4: //no file was uploaded + echo $_lang['files_upload_error4']; + break; + default: //a default error, just in case! :) + echo $_lang['files_upload_error5']; + break; + } + echo '
    '; + } + echo '
    '; + } } if($_POST['mode']=='save') { - echo $_lang['editing_file']; - $filename = $_POST['path']; - $content = $_POST['content']; - if (!$handle = fopen($filename, 'w')) { - echo 'Cannot open file (',$filename,')'; - exit; - } - - // Write $content to our opened file. - if (fwrite($handle, $content) === FALSE) { - echo ''.$_lang['file_not_saved'].'

    '; - } else { - echo ''.$_lang['file_saved'].'

    '; - $_REQUEST['mode'] = 'edit'; - } - fclose($handle); - - // Log the change - logFileChange('modify', $filename); + echo $_lang['editing_file']; + $filename = $_POST['path']; + $content = $_POST['content']; + if (!$handle = fopen($filename, 'w')) { + echo 'Cannot open file (',$filename,')'; + exit; + } + + // Write $content to our opened file. + if (fwrite($handle, $content) === FALSE) { + echo ''.$_lang['file_not_saved'].'

    '; + } else { + echo ''.$_lang['file_saved'].'

    '; + $_REQUEST['mode'] = 'edit'; + } + fclose($handle); + + // Log the change + logFileChange('modify', $filename); } if($_REQUEST['mode']=='delete') { - printf($_lang['deleting_file'], str_replace('\\', '/', $_REQUEST['path'])); - $file = $_REQUEST['path']; - if (!@unlink($file)) { - echo ''.$_lang['file_not_deleted'].'

    '; - } else { - echo ''.$_lang['file_deleted'].'

    '; - } - - // Log the change - logFileChange('delete', $file); + printf($_lang['deleting_file'], str_replace('\\', '/', $_REQUEST['path'])); + $file = $_REQUEST['path']; + if (!@unlink($file)) { + echo ''.$_lang['file_not_deleted'].'

    '; + } else { + echo ''.$_lang['file_deleted'].'

    '; + } + + // Log the change + logFileChange('delete', $file); } @@ -295,94 +309,94 @@ function getFolderName(a){ + echo $_lang['files_access_denied']?>
    0) { - // str_replace must be used under windows to convert "/" into "\" - $complete_path = $path.str_replace('/','\\',dirname(zip_entry_name($zip_entry))); - $complete_name = $path.str_replace ('/','\\',zip_entry_name($zip_entry)); - if(!file_exists($complete_path)) { - $tmp = ''; - foreach(explode('\\',$complete_path) AS $k) { - $tmp .= $k.'\\'; - if(!file_exists($tmp)) { - @mkdir($tmp, $newfolderaccessmode); - } - } - } - if (zip_entry_open($zip, $zip_entry, 'r')) { - $fd = fopen($complete_name, 'w'); - fwrite($fd, zip_entry_read($zip_entry, zip_entry_filesize($zip_entry))); - fclose($fd); - zip_entry_close($zip_entry); - } - } - } - umask($old_umask); - zip_close($zip); - return true; - } - zip_close($zip); - } - if(!$err=@unzip(realpath("$startpath/".$_REQUEST['file']),realpath($startpath))) { - echo ''.$_lang['file_unzip_fail'].($err===0? 'Missing zip library (php_zip.dll / zip.so)':'').'

    '; - } else { - echo ''.$_lang['file_unzip'].'

    '; - } + // by patrick_allaert - php user notes + function unzip($file, $path) { + global $newfolderaccessmode; + // added by Raymond + $r = substr($path,strlen($path)-1,1); + if ($r!='\\'||$r!='/') $path .='/'; + if (!extension_loaded('zip')) { + return 0; + } + // end mod + $zip = zip_open($file); + if ($zip) { + $old_umask = umask(0); + while ($zip_entry = zip_read($zip)) { + if (zip_entry_filesize($zip_entry) > 0) { + // str_replace must be used under windows to convert "/" into "\" + $complete_path = $path.str_replace('/','\\',dirname(zip_entry_name($zip_entry))); + $complete_name = $path.str_replace ('/','\\',zip_entry_name($zip_entry)); + if(!file_exists($complete_path)) { + $tmp = ''; + foreach(explode('\\',$complete_path) AS $k) { + $tmp .= $k.'\\'; + if(!file_exists($tmp)) { + @mkdir($tmp, $newfolderaccessmode); + } + } + } + if (zip_entry_open($zip, $zip_entry, 'r')) { + $fd = fopen($complete_name, 'w'); + fwrite($fd, zip_entry_read($zip_entry, zip_entry_filesize($zip_entry))); + fclose($fd); + zip_entry_close($zip_entry); + } + } + } + umask($old_umask); + zip_close($zip); + return true; + } + zip_close($zip); + } + if(!$err=@unzip(realpath("$startpath/".$_REQUEST['file']),realpath($startpath))) { + echo ''.$_lang['file_unzip_fail'].($err===0? 'Missing zip library (php_zip.dll / zip.so)':'').'

    '; + } else { + echo ''.$_lang['file_unzip'].'

    '; + } } // End Unzip - Raymond // New Folder & Delete Folder option - Raymond if (is_writable($startpath)){ - // Delete Folder - if($_REQUEST['mode']=='deletefolder') { - $folder = $_REQUEST['folderpath']; - if(!@rmdir($folder)) { - echo ''.$_lang['file_folder_not_deleted'].'

    '; - } else { - echo ''.$_lang['file_folder_deleted'].'

    '; - } - } + // Delete Folder + if($_REQUEST['mode']=='deletefolder') { + $folder = $_REQUEST['folderpath']; + if(!@rmdir($folder)) { + echo ''.$_lang['file_folder_not_deleted'].'

    '; + } else { + echo ''.$_lang['file_folder_deleted'].'

    '; + } + } // Create folder here if($_REQUEST['mode']=='newfolder') { - $old_umask = umask(0); - $foldername = str_replace('..\\','',str_replace('../','',$_REQUEST['name'])); - if(!mkdirs($startpath."/$foldername",$newfolderaccessmode)) { - echo '',$_lang['file_folder_not_created'],'

    '; - } else { - if (!@chmod($startpath.'/'.$foldername,$newfolderaccessmode)) { - echo ''.$_lang['file_folder_chmod_error'].'

    '; - } else { - echo ''.$_lang['file_folder_created'].'

    '; - } - } - umask($old_umask); + $old_umask = umask(0); + $foldername = str_replace('..\\','',str_replace('../','',$_REQUEST['name'])); + if(!mkdirs($startpath."/$foldername",$newfolderaccessmode)) { + echo '',$_lang['file_folder_not_created'],'

    '; + } else { + if (!@chmod($startpath.'/'.$foldername,$newfolderaccessmode)) { + echo ''.$_lang['file_folder_chmod_error'].'

    '; + } else { + echo ''.$_lang['file_folder_created'].'

    '; + } + } + umask($old_umask); } - echo ' '.$_lang['add_folder'].'
    '; + echo ' '.$_lang['add_folder'].'
    '; } // End New Folder - Raymond @@ -390,15 +404,15 @@ function unzip($file, $path) { // To Top Level with folder icon to the left if($startpath==$filemanager_path || $startpath.'/' == $filemanager_path) { - echo ' ',$_lang['files_top_level'],'
    '; + echo ' ',$_lang['files_top_level'],'
    '; } else { - echo ' ',$_lang['files_top_level'],'
    '; + echo ' ',$_lang['files_top_level'],'
    '; } // Up One level with folder icon to the left if($startpath == $filemanager_path || $startpath.'/' == $filemanager_path) { - echo ' '.$_lang['files_up_level'].'
    '; + echo ' '.$_lang['files_up_level'].'
    '; } else { - echo ' ',$_lang['files_up_level'],'
    '; + echo ' ',$_lang['files_up_level'],'
    '; } echo '
    '; @@ -411,84 +425,85 @@ function unzip($file, $path) { if(strlen(MODX_BASE_PATH) < strlen($filemanager_path)) $len--; function ls($curpath) { - global $_lang; - global $excludes, $editablefiles, $inlineviewablefiles, $viewablefiles, $enablefileunzip, $enablefiledownload, $uploadablefiles, $folders, $files, $filesizes, $len, $dirs_array, $files_array, $webstart_path, $manager_theme, $modx; - $dircounter = 0; - $filecounter = 0; - $curpath = str_replace('//','/',$curpath.'/'); - - if (!is_dir($curpath)) { - echo 'Invalid path "',$curpath,'"
    '; - return; - } - $dir = dir($curpath); - - // first, get info - while ($file = $dir->read()) { - if(!in_array($file, $excludes)) { - $newpath = $curpath.$file; - if(is_dir($newpath)) { - $dirs_array[$dircounter]['dir'] = $newpath; - $dirs_array[$dircounter]['stats'] = lstat($newpath); - $dirs_array[$dircounter]['text'] = ' '.$file.''; - $dirs_array[$dircounter]['delete'] = is_writable($curpath) ? ''.$_lang['file_delete_folder'].'' : ''; - - // increment the counter - $dircounter++; - } else { - $type=getExtension($newpath); - $files_array[$filecounter]['file'] = $newpath; - $files_array[$filecounter]['stats'] = lstat($newpath); - $files_array[$filecounter]['text'] = ''.$file; - $files_array[$filecounter]['view'] = (in_array($type, $viewablefiles)) ? - ''.$_lang['files_viewfile'].'' : (($enablefiledownload && in_array($type, $uploadablefiles))? ''.$_lang['file_download_file'].'':''.$_lang['files_viewfile'].''); - $files_array[$filecounter]['view'] = (in_array($type, $inlineviewablefiles)) ? ''.$_lang['files_viewfile'].'' : $files_array[$filecounter]['view'] ; - $files_array[$filecounter]['unzip'] = ($enablefileunzip && $type=='.zip') ? ''.$_lang['file_download_unzip'].'' : '' ; - $files_array[$filecounter]['edit'] = (in_array($type, $editablefiles) && is_writable($curpath) && is_writable($newpath)) ? ''.$_lang['files_editfile'].'' : ''.$_lang['files_editfile'].''; - $files_array[$filecounter]['delete'] = is_writable($curpath) && is_writable($newpath) ? ''.$_lang['file_delete_file'].'' : ''.$_lang['file_delete_file'].''; - - // increment the counter - $filecounter++; - } - } - } - $dir->close(); - - // dump array entries for directories - $folders = count($dirs_array); - sort($dirs_array); // sorting the array alphabetically (Thanks pxl8r!) - for($i=0; $i<$folders; $i++) { - $filesizes += $dirs_array[$i]['stats']['7']; - echo '
    ',$dirs_array[$i]['text'],'',$modx->toDateFormat($dirs_array[$i]['stats']['9']),'',ufilesize($dirs_array[$i]['stats']['7']),''; - echo $dirs_array[$i]['delete']; - echo '
    ',$files_array[$i]['text'],'',$modx->toDateFormat($files_array[$i]['stats']['9']),'',ufilesize($files_array[$i]['stats']['7']),''; - echo $files_array[$i]['unzip']; - echo $files_array[$i]['view']; - echo $files_array[$i]['edit']; - echo $files_array[$i]['delete']; - echo '
    ',$dirs_array[$i]['text'],'',$modx->toDateFormat($dirs_array[$i]['stats']['9']),'',ufilesize($dirs_array[$i]['stats']['7']),''; + echo $dirs_array[$i]['delete']; + echo '
    ',$files_array[$i]['text'],'',$modx->toDateFormat($files_array[$i]['stats']['9']),'',ufilesize($files_array[$i]['stats']['7']),''; + echo $files_array[$i]['unzip']; + echo $files_array[$i]['view']; + echo $files_array[$i]['edit']; + echo $files_array[$i]['delete']; + echo '
    This directory is empty.
    This directory is empty.

    @@ -529,8 +544,8 @@ function ls($curpath) {
    @@ -540,7 +555,7 @@ function ls($curpath) { ".$_lang['files_upload_inhibited_msg']."

    "; + echo "

    ".$_lang['files_upload_inhibited_msg']."

    "; } ?> @@ -561,13 +576,13 @@ function ls($curpath) { // Log the change logFileChange('view', $filename); if(!$handle) { - echo 'Error opening file for reading.'; - exit; + echo 'Error opening file for reading.'; + exit; } else { - while (!feof($handle)) { - $buffer .= fgets($handle, 4096); - } - fclose ($handle); + while (!feof($handle)) { + $buffer .= fgets($handle, 4096); + } + fclose ($handle); } ?> @@ -587,8 +602,8 @@ function ls($curpath) { ?>
    diff --git a/manager/actions/logging.static.php b/manager/actions/logging.static.php index 32a25f058a..343e1df8c7 100755 --- a/manager/actions/logging.static.php +++ b/manager/actions/logging.static.php @@ -231,35 +231,36 @@ function convertdate($date) { // Display the result as you like... print "

    ". $_lang["paging_showing"]." ". $array_paging['lower']; print " ". $_lang["paging_to"] . " ". $array_paging['upper']; - print " (". $array_paging['total'] . " " . $_lang["paging_total"] . ")
    "; - $paging = $array_paging['first_link'] . $_lang["paging_first"] . (isset($array_paging['first_link']) ? " " : " "); - $paging .= $array_paging['previous_link'] . $_lang["paging_prev"] . (isset($array_paging['previous_link']) ? " " : " "); + print " (". $array_paging['total'] . " " . $_lang["paging_total"] . ")"; + print "
    ". $array_paging['first_link'] . $_lang["paging_first"] . (isset($array_paging['first_link']) ? " " : " "); + print $array_paging['previous_link'] . $_lang["paging_prev"] . (isset($array_paging['previous_link']) ? " " : " "); $pagesfound = sizeof($array_row_paging); if($pagesfound>6) { - $paging .= $array_row_paging[$current_row-2]; // ." "; - $paging .= $array_row_paging[$current_row-1]; // ." "; - $paging .= $array_row_paging[$current_row]; // ." "; - $paging .= $array_row_paging[$current_row+1]; // ." "; - $paging .= $array_row_paging[$current_row+2]; // ." "; + print $array_row_paging[$current_row-2]; // ." "; + print $array_row_paging[$current_row-1]; // ." "; + print $array_row_paging[$current_row]; // ." "; + print $array_row_paging[$current_row+1]; // ." "; + print $array_row_paging[$current_row+2]; // ." "; } else { for( $i=0; $i<$pagesfound; $i++ ){ - $paging .= $array_row_paging[$i] ." "; + print $array_row_paging[$i] ." "; } } - $paging .= $array_paging['next_link'] . $_lang["paging_next"] . (isset($array_paging['next_link']) ? " " : " ") . " "; - $paging .= $array_paging['last_link'] . $_lang["paging_last"] . (isset($array_paging['last_link']) ? " " : " ") . "

    "; - echo $paging; + print $array_paging['next_link'] . $_lang["paging_next"] . (isset($array_paging['next_link']) ? " " : " ") . " "; + print $array_paging['last_link'] . $_lang["paging_last"] . (isset($array_paging['last_link']) ? " " : " ") . "

    "; // The above exemple print somethings like: // Results 1 to 20 of 597 <<< 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >>> // Of course you can now play with array_row_paging in order to print // only the results you would like... ?> - +
    - + + + @@ -267,27 +268,13 @@ function convertdate($date) { // grab the entire log file... $logentries = array(); $i = 0; - while ($logentry = mysql_fetch_assoc($rs)) - { - if(!preg_match("/^[0-9]+$/", $logentry['itemid'])) - { - $item = '
    -
    '; - } - elseif($logentry['action']==3||$logentry['action']==27||$logentry['action']==5) - { - $item = '' - . '[' . $logentry['itemid'] . '] ' . $logentry['itemname'] . ''; - } - else - { - $item = '[' . $logentry['itemid'] . '] ' . $logentry['itemname']; - } - //index.php?a=13&searchuser=' . $logentry['internalKey'] . '&action=' . $logentry['action'] . '&itemname=' . $logentry['itemname'] . '&log_submit=true' - $user_drill = 'index.php?a=13&searchuser=' . $logentry['internalKey'] . '&itemname=0&log_submit=true' + while ($logentry = mysql_fetch_assoc($rs)) { ?> - - - + + + + +
    '.$logentry['username'].''; ?>'.$logentry['username'].''; ?> toDateFormat($logentry['timestamp']+$server_offset_time); ?>
    diff --git a/manager/actions/modules.static.php b/manager/actions/modules.static.php index f569db78af..b89c1f09cc 100755 --- a/manager/actions/modules.static.php +++ b/manager/actions/modules.static.php @@ -92,10 +92,10 @@ function menuAction(a) {
    '',icon,'".$_style['icons_modules']."') as'icon' " . + $sql = "SELECT id,name,description,IF(locked,'Yes','-') as 'locked',IF(disabled,'".$_lang['yes']."','-') as 'disabled',IF(icon<>'',icon,'".$_style['icons_modules']."') as'icon' " . "FROM ".$modx->getFullTableName("site_modules")." ". (!empty($sqlQuery) ? " WHERE (name LIKE '%$sqlQuery%') OR (description LIKE '%$sqlQuery%')":"")." ". - "ORDER BY editedon DESC, name ASC"; + "ORDER BY name"; $ds = mysql_query($sql); include_once $base_path."manager/includes/controls/datagrid.class.php"; $grd = new DataGrid('',$ds,$number_of_results); // set page size to 0 t show all items diff --git a/manager/actions/mutate_content.dynamic.php b/manager/actions/mutate_content.dynamic.php index 499cdd6671..97ce37ab57 100755 --- a/manager/actions/mutate_content.dynamic.php +++ b/manager/actions/mutate_content.dynamic.php @@ -75,6 +75,7 @@

    +
    invokeEvent('OnDocFormPrerender', array( 'id' => $id )); if (is_array($evtOut)) echo implode('', $evtOut); -$_SESSION['itemname'] = htmlspecialchars(stripslashes($content['pagetitle'])); ?> @@ -523,7 +522,7 @@ function decode(s) {
    • - " /> + icons_save" /> + " class="inputBox" onchange="documentDirty=true;" />   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" /> - +   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" spellcheck="true"/> @@ -712,7 +712,7 @@ function decode(s) { $htmlContent = $content['content']; ?>
      - + name="publishedcheck" type="checkbox" class="checkbox" onclick="changestate(document.mutate.published);" config['site_start']) echo 'disabled ' ?>/> + name="publishedcheck" type="checkbox" class="checkbox" onclick="changestate(document.mutate.published);" />   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" /> name="pub_date" class="DatePicker" value="toDateFormat($content['pub_date'])?>" onblur="documentDirty=true;" /> - + " width="16" height="16" border="0" alt="" />   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" /> @@ -865,8 +865,8 @@ function decode(s) {   " onmouseover="this.src='';" onmouseout="this.src='';" alt="" onclick="alert(this.alt);" style="cursor:help;" /> @@ -1039,10 +1039,9 @@ function decode(s) {
      - - -
    -
    - - + 0) && ($_SESSION['mgrPermissions']['access_permissions'] == 1 || $_SESSION['mgrPermissions']['web_access_permissions'] == 1)) { ?>

    - + + + storeCurTemplate(); + INCLUDE_ORDERING_ERROR


    Please use the MODx Content Manager instead of accessing this file directly."); switch ((int) $_REQUEST['a']) { - case 78: - if (!$modx->hasPermission('edit_chunk')) { - $e->setError(3); - $e->dumpError(); - } - break; - case 77: - if (!$modx->hasPermission('new_chunk')) { - $e->setError(3); - $e->dumpError(); - } - break; - default: - $e->setError(3); - $e->dumpError(); + case 78: + if (!$modx->hasPermission('edit_chunk')) { + $e->setError(3); + $e->dumpError(); + } + break; + case 77: + if (!$modx->hasPermission('new_chunk')) { + $e->setError(3); + $e->dumpError(); + } + break; + default: + $e->setError(3); + $e->dumpError(); } if (isset($_REQUEST['id'])) @@ -36,37 +36,37 @@ $rs = mysql_query($sql); $limit = mysql_num_rows($rs); if ($limit > 1) { - for ($i = 0; $i < $limit; $i++) { - $lock = mysql_fetch_assoc($rs); - if ($lock['internalKey'] != $modx->getLoginUserID()) { - $msg = sprintf($_lang['lock_msg'], $lock['username'], 'chunk'); - $e->setError(5, $msg); - $e->dumpError(); - } - } + for ($i = 0; $i < $limit; $i++) { + $lock = mysql_fetch_assoc($rs); + if ($lock['internalKey'] != $modx->getLoginUserID()) { + $msg = sprintf($_lang['lock_msg'], $lock['username'], 'chunk'); + $e->setError(5, $msg); + $e->dumpError(); + } + } } $content = array(); if (isset($_REQUEST['id']) && $_REQUEST['id']!='' && is_numeric($_REQUEST['id'])) { - $sql = 'SELECT * FROM '.$tbl_site_htmlsnippets.' WHERE id=\''.$id.'\''; - $rs = mysql_query($sql); - $limit = mysql_num_rows($rs); - if ($limit > 1) { - echo '

    Error: Multiple Chunk sharing same unique ID.

    '; - exit; - } - if ($limit < 1) { - echo '

    Chunk doesn\'t exist.

    '; - exit; - } - $content = mysql_fetch_assoc($rs); - $_SESSION['itemname'] = $content['name']; - if ($content['locked'] == 1 && $_SESSION['mgrRole'] != 1) { - $e->setError(3); - $e->dumpError(); - } + $sql = 'SELECT * FROM '.$tbl_site_htmlsnippets.' WHERE id=\''.$id.'\''; + $rs = mysql_query($sql); + $limit = mysql_num_rows($rs); + if ($limit > 1) { + echo '

    Error: Multiple Chunk sharing same unique ID.

    '; + exit; + } + if ($limit < 1) { + echo '

    Chunk doesn\'t exist.

    '; + exit; + } + $content = mysql_fetch_assoc($rs); + $_SESSION['itemname'] = $content['name']; + if ($content['locked'] == 1 && $_SESSION['mgrRole'] != 1) { + $e->setError(3); + $e->dumpError(); + } } else { - $_SESSION['itemname'] = 'New Chunk'; + $_SESSION['itemname'] = 'New Chunk'; } if (isset($_POST['which_editor'])) @@ -80,32 +80,32 @@ @@ -114,89 +114,89 @@ function deletedocument() { // invoke OnChunkFormPrerender event $evtOut = $modx->invokeEvent('OnChunkFormPrerender', array( - 'id' => $id, + 'id' => $id, )); if (is_array($evtOut)) - echo implode('', $evtOut); + echo implode('', $evtOut); ?> -

    +

    - +
    -

    - - - - - - - + + +
    :{{}} 
    :    
    :     - + + + + + + - - - -
    :{{}} 
    :    
    :     +
    :  
    class="inputBox" value="on" /> -
    - -
    -
    -   -
    +
    :  
    class="inputBox" value="on" /> +
    + +
    +
    +   +
    -
    - - - + +invokeEvent('OnRichTextEditorRegister'); +if (is_array($evtOut)) { + foreach ($evtOut as $i => $editor) { + echo "\t".'\n"; + } +} ?>
    @@ -204,10 +204,10 @@ function deletedocument() { // invoke OnChunkFormRender event $evtOut = $modx->invokeEvent('OnChunkFormRender', array( - 'id' => $id, + 'id' => $id, )); if (is_array($evtOut)) - echo implode('', $evtOut); + echo implode('', $evtOut); ?> @@ -215,13 +215,13 @@ function deletedocument() { invokeEvent('OnRichTextEditorInit', array( - 'editor' => $which_editor, - 'elements' => array( - 'post', - ), - )); - if (is_array($evtOut)) - echo implode('', $evtOut); + $evtOut = $modx->invokeEvent('OnRichTextEditorInit', array( + 'editor' => $which_editor, + 'elements' => array( + 'post', + ), + )); + if (is_array($evtOut)) + echo implode('', $evtOut); } ?> \ No newline at end of file diff --git a/manager/actions/mutate_module.dynamic.php b/manager/actions/mutate_module.dynamic.php index 2441ca1540..337dec344b 100755 --- a/manager/actions/mutate_module.dynamic.php +++ b/manager/actions/mutate_module.dynamic.php @@ -2,21 +2,21 @@ if(IN_MANAGER_MODE!='true') die('INCLUDE_ORDERING_ERROR

    Please use the MODx Content Manager instead of accessing this file directly.'); switch ((int) $_REQUEST['a']) { - case 107: - if(!$modx->hasPermission('new_module')) { - $e->setError(3); - $e->dumpError(); - } - break; - case 108: - if(!$modx->hasPermission('edit_module')) { - $e->setError(3); - $e->dumpError(); - } - break; - default: - $e->setError(3); - $e->dumpError(); + case 107: + if(!$modx->hasPermission('new_module')) { + $e->setError(3); + $e->dumpError(); + } + break; + case 108: + if(!$modx->hasPermission('edit_module')) { + $e->setError(3); + $e->dumpError(); + } + break; + default: + $e->setError(3); + $e->dumpError(); } if (isset($_REQUEST['id'])) @@ -42,11 +42,11 @@ // create globally unique identifiers (guid) function createGUID(){ - srand((double)microtime()*1000000); - $r = rand() ; - $u = uniqid(getmypid() . $r . (double)microtime()*1000000,1); - $m = md5 ($u); - return $m; + srand((double)microtime()*1000000); + $r = rand() ; + $u = uniqid(getmypid() . $r . (double)microtime()*1000000,1); + $m = md5 ($u); + return $m; } // Check to see the editor isn't locked @@ -54,265 +54,265 @@ function createGUID(){ $rs = mysql_query($sql); $limit = mysql_num_rows($rs); if ($limit > 1) { - for ($i = 0; $i < $limit; $i++) { - $lock = mysql_fetch_assoc($rs); - if ($lock['internalKey'] != $modx->getLoginUserID()) { - $msg = sprintf($_lang['lock_msg'], $lock['username'], 'module'); - $e->setError(5, $msg); - $e->dumpError(); - } - } + for ($i = 0; $i < $limit; $i++) { + $lock = mysql_fetch_assoc($rs); + if ($lock['internalKey'] != $modx->getLoginUserID()) { + $msg = sprintf($_lang['lock_msg'], $lock['username'], 'module'); + $e->setError(5, $msg); + $e->dumpError(); + } + } } // end check for lock // make sure the id's a number if (!is_numeric($id)) { - echo 'Passed ID is NaN!'; - exit; + echo 'Passed ID is NaN!'; + exit; } if (isset($_GET['id'])) { - $sql = 'SELECT * FROM '.$tbl_site_modules.' WHERE id=\''.$id.'\''; - $rs = mysql_query($sql); - $limit = mysql_num_rows($rs); - if ($limit > 1) { - echo '

    Multiple modules sharing same unique id. Not good.

    '; - exit; - } - if ($limit < 1) { - echo '

    No record found for id: '.$id.'.

    '; - exit; - } - $content = mysql_fetch_assoc($rs); - $_SESSION['itemname'] = $content['name']; - if ($content['locked'] == 1 && $_SESSION['mgrRole'] != 1) { - $e->setError(3); - $e->dumpError(); - } + $sql = 'SELECT * FROM '.$tbl_site_modules.' WHERE id=\''.$id.'\''; + $rs = mysql_query($sql); + $limit = mysql_num_rows($rs); + if ($limit > 1) { + echo '

    Multiple modules sharing same unique id. Not good.

    '; + exit; + } + if ($limit < 1) { + echo '

    No record found for id: '.$id.'.

    '; + exit; + } + $content = mysql_fetch_assoc($rs); + $_SESSION['itemname'] = $content['name']; + if ($content['locked'] == 1 && $_SESSION['mgrRole'] != 1) { + $e->setError(3); + $e->dumpError(); + } } else { - $_SESSION['itemname'] = 'New Module'; - $content['wrap'] = '1'; + $_SESSION['itemname'] = 'New Module'; + $content['wrap'] = '1'; } ?> @@ -327,218 +327,218 @@ function SetUrl(url, width, height, alt) { -

    - +

    +
    - +
    - +

    .

    - - - -
    -

    - - - - - - - - - - - + + + + + +
    :    
    :    
    (32x32):    
    :     - + + + + + + + + - - - - - - -
    :    
    :    
    (32x32):    
    :     +
    :  
    class="inputBox" onclick="documentDirty=true;" /> :  
    value="on" class="inputBox" /> - '.$_lang['module_disabled'].'' : $_lang['module_disabled']?>
    class="inputBox" /> -
    - - -
    -
    -   - class="inputBox" onclick="setTextWrap(document.mutate.post,this.checked)" /> -
    +
    :  
    class="inputBox" onclick="documentDirty=true;" /> :  
    value="on" class="inputBox" /> + '.$_lang['module_disabled'].'' : $_lang['module_disabled']?>
    class="inputBox" /> +
    + + +
    +
    +   + class="inputBox" onclick="setTextWrap(document.mutate.post,this.checked)" /> +
    -
    - -
    - - -
    -

    - - - - - - - - - - - -
    :  

    class="inputBox" onclick="documentDirty=true;" /> :  

    :  
      
    -
    +
    + +
    + + +
    +

    + + + + + + + + + + + +
    :  

    class="inputBox" onclick="documentDirty=true;" /> :  

    :  
      
    +
    - -
    -

    - - - - - +



    - " align="absmiddle" />

    + +
    +

    + + + + + -



    + " align="absmiddle" />

    dbQuery($sql); if (!$ds) { - echo "An error occured while loading module dependencies."; + echo "An error occured while loading module dependencies."; } else { - include_once $base_path."manager/includes/controls/datagrid.class.php"; - $grd = new DataGrid('', $ds, 0); // set page size to 0 t show all items - $grd->noRecordMsg = $_lang['no_records_found']; - $grd->cssClass = 'grid'; - $grd->columnHeaderClass = 'gridHeader'; - $grd->itemClass = 'gridItem'; - $grd->altItemClass = 'gridAltItem'; - $grd->columns = $_lang['element_name']." ,".$_lang['type']; - $grd->fields = "name,type"; - echo $grd->render(); + include_once $base_path."manager/includes/controls/datagrid.class.php"; + $grd = new DataGrid('', $ds, 0); // set page size to 0 t show all items + $grd->noRecordMsg = $_lang['no_records_found']; + $grd->cssClass = 'grid'; + $grd->columnHeaderClass = 'gridHeader'; + $grd->itemClass = 'gridItem'; + $grd->altItemClass = 'gridAltItem'; + $grd->columns = $_lang['element_name']." ,".$_lang['type']; + $grd->fields = "name,type"; + echo $grd->render(); } ?> -
    -
    +
    +
    hasPermission('access_permissions')) { ?> + // fetch user access permissions for the module + $groupsarray = array(); + $sql = 'SELECT * FROM '.$tbl_site_module_access.' WHERE module=\''.$id.'\''; + $rs = mysql_query($sql); + $limit = mysql_num_rows($rs); + for ($i = 0; $i < $limit; $i++) { + $currentgroup = mysql_fetch_assoc($rs); + $groupsarray[$i] = $currentgroup['usergroup']; + } + + if($modx->hasPermission('access_permissions')) { ?>
    - -

    + +

    0 ? $groupsarray : array(); - $checked = in_array($row['id'], $groupsarray); - if($modx->hasPermission('access_permissions')) { - if ($checked) $notPublic = true; - $chks .= ''.$row['name']."
    \n"; - } else { - if ($checked) $chks = '' . "\n" . $chks; - } - } - if($modx->hasPermission('access_permissions')) { - $chks = ''.$_lang['all_usr_groups'].'
    ' . "\n" . $chks; - } - echo $chks; + } + $chk = ''; + $sql = "SELECT name, id FROM ".$tbl_membergroup_names; + $rs = mysql_query($sql); + $limit = mysql_num_rows($rs); + for ($i = 0; $i < $limit; $i++) { + $row = mysql_fetch_assoc($rs); + $groupsarray = is_numeric($id) && $id > 0 ? $groupsarray : array(); + $checked = in_array($row['id'], $groupsarray); + if($modx->hasPermission('access_permissions')) { + if ($checked) $notPublic = true; + $chks .= ''.$row['name']."
    \n"; + } else { + if ($checked) $chks = '' . "\n" . $chks; + } + } + if($modx->hasPermission('access_permissions')) { + $chks = ''.$_lang['all_usr_groups'].'
    ' . "\n" . $chks; + } + echo $chks; ?>
    diff --git a/manager/actions/mutate_plugin.dynamic.php b/manager/actions/mutate_plugin.dynamic.php index e0a042e101..85ee262afc 100755 --- a/manager/actions/mutate_plugin.dynamic.php +++ b/manager/actions/mutate_plugin.dynamic.php @@ -27,462 +27,462 @@ $rs = mysql_query($sql); $limit = mysql_num_rows($rs); if($limit>1) { - for ($i=0;$i<$limit;$i++) { - $lock = mysql_fetch_assoc($rs); - if($lock['internalKey']!=$modx->getLoginUserID()) { - $msg = sprintf($_lang["lock_msg"],$lock['username'],"plugin"); - $e->setError(5, $msg); - $e->dumpError(); - } - } + for ($i=0;$i<$limit;$i++) { + $lock = mysql_fetch_assoc($rs); + if($lock['internalKey']!=$modx->getLoginUserID()) { + $msg = sprintf($_lang["lock_msg"],$lock['username'],"plugin"); + $e->setError(5, $msg); + $e->dumpError(); + } + } } // end check for lock if(isset($_GET['id'])) { - $sql = "SELECT * FROM $dbase.`".$table_prefix."site_plugins` WHERE $dbase.`".$table_prefix."site_plugins`.id = $id;"; - $rs = mysql_query($sql); - $limit = mysql_num_rows($rs); - if($limit>1) { - echo "Multiple plugins sharing same unique id. Not good.

    "; - exit; - } - if($limit<1) { - header("Location: /index.php?id=".$site_start); - } - $content = mysql_fetch_assoc($rs); - $_SESSION['itemname']=$content['name']; - if($content['locked']==1 && $_SESSION['mgrRole']!=1) { - $e->setError(3); - $e->dumpError(); - } + $sql = "SELECT * FROM $dbase.`".$table_prefix."site_plugins` WHERE $dbase.`".$table_prefix."site_plugins`.id = $id;"; + $rs = mysql_query($sql); + $limit = mysql_num_rows($rs); + if($limit>1) { + echo "Multiple plugins sharing same unique id. Not good.

    "; + exit; + } + if($limit<1) { + header("Location: /index.php?id=".$site_start); + } + $content = mysql_fetch_assoc($rs); + $_SESSION['itemname']=$content['name']; + if($content['locked']==1 && $_SESSION['mgrRole']!=1) { + $e->setError(3); + $e->dumpError(); + } } else { - $_SESSION['itemname']="New Plugin"; + $_SESSION['itemname']="New Plugin"; } ?>

    invokeEvent("OnPluginFormPrerender",array("id" => $id)); - if(is_array($evtOut)) echo implode("",$evtOut); +// invoke OnPluginFormPrerender event +$evtOut = $modx->invokeEvent("OnPluginFormPrerender",array("id" => $id)); +if(is_array($evtOut)) echo implode("",$evtOut); ?> - - + + -

    +

    - +

    - +
    -

    - - - - - - - - - - - - - - - - -
    : 
    :  
    value="on" class="inputBox"> ".$_lang['plugin_disabled']."":$_lang['plugin_disabled']; ?>
    value="on" class="inputBox">
    - -
    -
    -   - class="inputBox" onclick="setTextWrap(document.mutate.post,this.checked)" /> -
    +

    + + + + + + + + + + + + + + + + +
    : 
    :  
    value="on" class="inputBox"> ".$_lang['plugin_disabled']."":$_lang['plugin_disabled']; ?>
    value="on" class="inputBox">
    + +
    +
    +   + class="inputBox" onclick="setTextWrap(document.mutate.post,this.checked)" /> +
    -
    - -
    +
    + +
    -

    - - +

    + +
    + + + + - - - + + + - - - + + + - - - - - - - - - - - - - - - -
    :   +
    :   -
    :
    :
    :   +
    :   -
     

    :
      
    -
    +   +

    + + + : +
    + + +   +   + + +
    -

    - - - - - - - - -

     
    - - - - - -
       - - 0) { - $sql = " - SELECT evtid, pluginid - FROM $dbase.`".$table_prefix."site_plugin_events` - WHERE pluginid='$id' - "; - $evts = array(); - $rs = mysql_query($sql); - $limit = mysql_num_rows($rs); - for ($i=0; $i<$limit; $i++) { - $row = mysql_fetch_assoc($rs); - $evts[] = $row['evtid']; - } - } else { - if(isset($content['sysevents']) && is_array($content['sysevents'])) { - $evts = $content['sysevents']; - } else { - $evts = array(); - } - } - - // display system events - $evtnames = array(); - $services = array( - "Parser Service Events", - "Manager Access Events", - "Web Access Service Events", - "Cache Service Events", - "Template Service Events", - "User Defined Events" - ); - $sql = "SELECT * FROM $dbase.`".$table_prefix."system_eventnames` ORDER BY service DESC, groupname, name"; - $rs = mysql_query($sql); - $limit = mysql_num_rows($rs); - if($limit==0) echo ""; - else for ($i=0; $i<$limit; $i++) { - $row = mysql_fetch_assoc($rs); - // display records - if($srv!=$row['service']){ - $srv=$row['service']; - if(count($evtnames)>0) echoEventRows($evtnames); - echo ""; - echo ""; - } - // display group name - if($grp!=$row['groupname']){ - $grp=$row['groupname']; - if(count($evtnames)>0) echoEventRows($evtnames); - echo ""; - echo ""; - } - $evtnames[] = ''.$row['name']; - if(count($evtnames)==2) echoEventRows($evtnames); - } - if(count($evtnames)>0) echoEventRows($evtnames); - - function echoEventRows(&$evtnames) { - echo ""; - $evtnames = array(); - } - ?> -
     
    ".$services[$srv-1]."
    ".$row['groupname']."
    ".implode("",$evtnames)."
    -
    -   -
    +

    + + + + + + + + +

     
    + + + + + +
       + + 0) { + $sql = " + SELECT evtid, pluginid + FROM $dbase.`".$table_prefix."site_plugin_events` + WHERE pluginid='$id' + "; + $evts = array(); + $rs = mysql_query($sql); + $limit = mysql_num_rows($rs); + for ($i=0; $i<$limit; $i++) { + $row = mysql_fetch_assoc($rs); + $evts[] = $row['evtid']; + } + } else { + if(isset($content['sysevents']) && is_array($content['sysevents'])) { + $evts = $content['sysevents']; + } else { + $evts = array(); + } + } + + // display system events + $evtnames = array(); + $services = array( + "Parser Service Events", + "Manager Access Events", + "Web Access Service Events", + "Cache Service Events", + "Template Service Events", + "User Defined Events" + ); + $sql = "SELECT * FROM $dbase.`".$table_prefix."system_eventnames` ORDER BY service DESC, groupname, name"; + $rs = mysql_query($sql); + $limit = mysql_num_rows($rs); + if($limit==0) echo ""; + else for ($i=0; $i<$limit; $i++) { + $row = mysql_fetch_assoc($rs); + // display records + if($srv!=$row['service']){ + $srv=$row['service']; + if(count($evtnames)>0) echoEventRows($evtnames); + echo ""; + echo ""; + } + // display group name + if($grp!=$row['groupname']){ + $grp=$row['groupname']; + if(count($evtnames)>0) echoEventRows($evtnames); + echo ""; + echo ""; + } + $evtnames[] = ''.$row['name']; + if(count($evtnames)==2) echoEventRows($evtnames); + } + if(count($evtnames)>0) echoEventRows($evtnames); + + function echoEventRows(&$evtnames) { + echo ""; + $evtnames = array(); + } +?> +
     
    ".$services[$srv-1]."
    ".$row['groupname']."
    ".implode("",$evtnames)."
    +
    +   +
    invokeEvent("OnPluginFormRender",array("id" => $id)); - if(is_array($evtOut)) echo implode("",$evtOut); +// invoke OnPluginFormRender event +$evtOut = $modx->invokeEvent("OnPluginFormRender",array("id" => $id)); +if(is_array($evtOut)) echo implode("",$evtOut); ?>
    diff --git a/manager/actions/mutate_settings.dynamic.php b/manager/actions/mutate_settings.dynamic.php index 8842d54976..7c8ed5da78 100755 --- a/manager/actions/mutate_settings.dynamic.php +++ b/manager/actions/mutate_settings.dynamic.php @@ -30,7 +30,7 @@ while ($row = mysql_fetch_assoc($rs)) $settings[$row['setting_name']] = $row['setting_value']; extract($settings, EXTR_OVERWRITE); -$displayStyle = ($_SESSION['browser']!=='ie') ? 'table-row' : 'block' ; +$displayStyle = ( ($_SESSION['browser']=='mz') || ($_SESSION['browser']=='op') || ($_SESSION['browser']=='sf') ) ? "table-row" : "block" ; // load languages and keys $lang_keys = array(); @@ -357,7 +357,7 @@ function confirmLangChange(el, lkey, elupd){
    - +

    @@ -392,8 +392,8 @@ function confirmLangChange(el, lkey, elupd){
    @@ -1158,10 +1158,10 @@ function getResourceBaseUrl() { " /> - -   - - + +   + +
    diff --git a/manager/actions/mutate_snippet.dynamic.php b/manager/actions/mutate_snippet.dynamic.php index 79cf341642..fb3bfe93b4 100755 --- a/manager/actions/mutate_snippet.dynamic.php +++ b/manager/actions/mutate_snippet.dynamic.php @@ -36,260 +36,260 @@ $rs = mysql_query($sql); $limit = mysql_num_rows($rs); if($limit>1) { - for ($i=0;$i<$limit;$i++) { - $lock = mysql_fetch_assoc($rs); - if($lock['internalKey']!=$modx->getLoginUserID()) { - $msg = sprintf($_lang['lock_msg'],$lock['username'],"snippet"); - $e->setError(5, $msg); - $e->dumpError(); - } - } + for ($i=0;$i<$limit;$i++) { + $lock = mysql_fetch_assoc($rs); + if($lock['internalKey']!=$modx->getLoginUserID()) { + $msg = sprintf($_lang['lock_msg'],$lock['username'],"snippet"); + $e->setError(5, $msg); + $e->dumpError(); + } + } } // end check for lock if(isset($_GET['id'])) { - $sql = 'SELECT * FROM '.$tbl_site_snippets.' WHERE id='.$id; - $rs = mysql_query($sql); - $limit = mysql_num_rows($rs); - if($limit>1) { - echo "Oops, Multiple snippets sharing same unique id. Not good.

    "; - exit; - } - if($limit<1) { - header("Location: /index.php?id=".$site_start); - } - $content = mysql_fetch_assoc($rs); - $_SESSION['itemname']=$content['name']; - if($content['locked']==1 && $_SESSION['mgrRole']!=1) { - $e->setError(3); - $e->dumpError(); - } + $sql = 'SELECT * FROM '.$tbl_site_snippets.' WHERE id='.$id; + $rs = mysql_query($sql); + $limit = mysql_num_rows($rs); + if($limit>1) { + echo "Oops, Multiple snippets sharing same unique id. Not good.

    "; + exit; + } + if($limit<1) { + header("Location: /index.php?id=".$site_start); + } + $content = mysql_fetch_assoc($rs); + $_SESSION['itemname']=$content['name']; + if($content['locked']==1 && $_SESSION['mgrRole']!=1) { + $e->setError(3); + $e->dumpError(); + } } else { - $_SESSION['itemname']="New snippet"; + $_SESSION['itemname']="New snippet"; } ?>

    invokeEvent("OnSnipFormPrerender",array("id" => $id)); - if(is_array($evtOut)) echo implode("",$evtOut); + // invoke OnSnipFormPrerender event + $evtOut = $modx->invokeEvent("OnSnipFormPrerender",array("id" => $id)); + if(is_array($evtOut)) echo implode("",$evtOut); ?> - - + +
    - +

    @@ -299,104 +299,104 @@ function decode(s){
    - + - +
    -

    - - - - - - - - - - - - - -
    :[[]] 
    :    
    class="inputBox">
    - -
    -
    -   - class="inputBox" onclick="setTextWrap(document.mutate.post,this.checked)" /> -
    +

    + + + + + + + + + + + + + +
    :[[]] 
    :    
    class="inputBox">
    + +
    +
    +   + class="inputBox" onclick="setTextWrap(document.mutate.post,this.checked)" /> +
    -
    - -
    - - +
    + +
    + +
    -

    - - +

    + +
    + + + + - - - + + + - - - + + + - - - - - - - - - - - - - - - -
    :     +
    :     -
    :  
    :  
    :     +
    :     -
     

    :  
      
    -
    - - - +   +

    + + + : +    + + +   +   + + + + + + invokeEvent("OnSnipFormRender",array("id" => $id)); - if(is_array($evtOut)) echo implode("",$evtOut); +// invoke OnSnipFormRender event +$evtOut = $modx->invokeEvent("OnSnipFormRender",array("id" => $id)); +if(is_array($evtOut)) echo implode("",$evtOut); ?> diff --git a/manager/actions/mutate_templates.dynamic.php b/manager/actions/mutate_templates.dynamic.php index e1a2f9fc11..bd6812b2c0 100755 --- a/manager/actions/mutate_templates.dynamic.php +++ b/manager/actions/mutate_templates.dynamic.php @@ -20,49 +20,49 @@ } if(isset($_REQUEST['id']) && is_numeric($_REQUEST['id'])) { - $id = $_REQUEST['id']; - // check to see the template editor isn't locked - $sql = "SELECT internalKey, username FROM $dbase.`".$table_prefix."active_users` WHERE $dbase.`".$table_prefix."active_users`.action=16 AND $dbase.`".$table_prefix."active_users`.id=$id"; - $rs = mysql_query($sql); - $limit = mysql_num_rows($rs); - if($limit>1) { - for ($i=0;$i<$limit;$i++) { - $lock = mysql_fetch_assoc($rs); - if($lock['internalKey']!=$modx->getLoginUserID()) { - $msg = sprintf($_lang["lock_msg"],$lock['username'],"template"); - $e->setError(5, $msg); - $e->dumpError(); - } - } - } - // end check for lock + $id = $_REQUEST['id']; + // check to see the template editor isn't locked + $sql = "SELECT internalKey, username FROM $dbase.`".$table_prefix."active_users` WHERE $dbase.`".$table_prefix."active_users`.action=16 AND $dbase.`".$table_prefix."active_users`.id=$id"; + $rs = mysql_query($sql); + $limit = mysql_num_rows($rs); + if($limit>1) { + for ($i=0;$i<$limit;$i++) { + $lock = mysql_fetch_assoc($rs); + if($lock['internalKey']!=$modx->getLoginUserID()) { + $msg = sprintf($_lang["lock_msg"],$lock['username'],"template"); + $e->setError(5, $msg); + $e->dumpError(); + } + } + } + // end check for lock } else { - $id=''; + $id=''; } $content = array(); if(isset($_REQUEST['id']) && $_REQUEST['id']!='' && is_numeric($_REQUEST['id'])) { - $sql = "SELECT * FROM $dbase.`".$table_prefix."site_templates` WHERE $dbase.`".$table_prefix."site_templates`.id = $id;"; - $rs = mysql_query($sql); - $limit = mysql_num_rows($rs); - if($limit>1) { - echo "Oops, something went terribly wrong...

    "; - print "More results returned than expected. Which sucks.

    Aborting."; - exit; - } - if($limit<1) { - echo "Oops, something went terribly wrong...

    "; - print "No database record has been found for this template.

    Aborting."; - exit; - } - $content = mysql_fetch_assoc($rs); - $_SESSION['itemname']=$content['templatename']; - if($content['locked']==1 && $_SESSION['mgrRole']!=1) { - $e->setError(3); - $e->dumpError(); - } + $sql = "SELECT * FROM $dbase.`".$table_prefix."site_templates` WHERE $dbase.`".$table_prefix."site_templates`.id = $id;"; + $rs = mysql_query($sql); + $limit = mysql_num_rows($rs); + if($limit>1) { + echo "Oops, something went terribly wrong...

    "; + print "More results returned than expected. Which sucks.

    Aborting."; + exit; + } + if($limit<1) { + echo "Oops, something went terribly wrong...

    "; + print "No database record has been found for this template.

    Aborting."; + exit; + } + $content = mysql_fetch_assoc($rs); + $_SESSION['itemname']=$content['templatename']; + if($content['locked']==1 && $_SESSION['mgrRole']!=1) { + $e->setError(3); + $e->dumpError(); + } } else { - $_SESSION['itemname']="New template"; + $_SESSION['itemname']="New template"; } $content = array_merge($content, $_POST); @@ -70,55 +70,55 @@ ?>

    invokeEvent("OnTempFormPrerender",array("id" => $id)); - if(is_array($evtOut)) echo implode("",$evtOut); + // invoke OnTempFormPrerender event + $evtOut = $modx->invokeEvent("OnTempFormPrerender",array("id" => $id)); + if(is_array($evtOut)) echo implode("",$evtOut); ?> -

    +

    - +
    @@ -129,78 +129,78 @@ function deletedocument() {
    - + -
    -

    - - +
    +

    + + - - - - - - - - - - - - - - - - - +
     
    :  
    :  
    :     -
    - - - - - - -
    :  
    class="inputBox">
    - -
    -
    -   -
    + +   + + + :   + + + + :   + + + + :   +    + + + + : +    + + + class="inputBox"> + + + +
    +
    +   +
    -
    - - +
    + + getFullTableName('site_tmplvar_templates')." tr - INNER JOIN ".$modx->getFullTableName('site_tmplvars')." tv ON tv.id = tr.tmplvarid - LEFT JOIN ".$modx->getFullTableName('categories')." cat ON tv.category = cat.id +$sql = "SELECT tv.name as 'name', tv.id as 'id', tr.templateid, tr.rank, if(isnull(cat.category),'".$_lang['no_category']."',cat.category) as category + FROM ".$modx->getFullTableName('site_tmplvar_templates')." tr + INNER JOIN ".$modx->getFullTableName('site_tmplvars')." tv ON tv.id = tr.tmplvarid + LEFT JOIN ".$modx->getFullTableName('categories')." cat ON tv.category = cat.id WHERE tr.templateid='{$id}' ORDER BY tr.rank, tv.rank, tv.id"; $rs = $modx->db->query($sql); $limit = $modx->db->getRecordCount($rs); - ?> -
    -
    -

    - -

    0) echo $_lang['template_tv_msg']; ?>

    -

    hasPermission('save_template') && $limit > 1) { ?>

    +?> +
    +
    +

    + +

    0) echo $_lang['template_tv_msg']; ?>

    +

    hasPermission('save_template') && $limit > 1) { ?>

    invokeEvent("OnTempFormRender",array("id" => $id)); - if(is_array($evtOut)) echo implode("",$evtOut); +// invoke OnTempFormRender event +$evtOut = $modx->invokeEvent("OnTempFormRender",array("id" => $id)); +if(is_array($evtOut)) echo implode("",$evtOut); ?>
    diff --git a/manager/actions/mutate_tmplvars.dynamic.php b/manager/actions/mutate_tmplvars.dynamic.php old mode 100644 new mode 100755 index 5186a48051..b8788fb890 --- a/manager/actions/mutate_tmplvars.dynamic.php +++ b/manager/actions/mutate_tmplvars.dynamic.php @@ -98,6 +98,7 @@ function deletedocument() { widgetParams['datagrid'] = '&cols=Column Names;string &flds=Field Names;string &cwidth=Column Widths;string &calign=Column Alignments;string &ccolor=Column Colors;string &ctype=Column Types;string &cpad=Cell Padding;int;1 &cspace=Cell Spacing;int;1 &rowid=Row ID Field;string &rgf=Row Group Field;string &rgstyle = Row Group Style;string &rgclass = Row Group Class;string &rowsel=Row Select;string &rhigh=Row Hightlight;string; &psize=Page Size;int;100 &ploc=Pager Location;list;top-right,top-left,bottom-left,bottom-right,both-right,both-left; &pclass=Pager Class;string &pstyle=Pager Style;string &head=Header Text;string &foot=Footer Text;string &tblc=Grid Class;string &tbls=Grid Style;string &itmc=Item Class;string &itms=Item Style;string &aitmc=Alt Item Class;string &aitms=Alt Item Style;string &chdrc=Column Header Class;string &chdrs=Column Header Style;string;&egmsg=Empty message;string;No records found;'; widgetParams['richtext'] = '&w=Width;string;100% &h=Height;string;300px &edt=Editor;list;'; widgetParams['image'] = '&alttext=Alternate Text;string &hspace=H Space;int &vspace=V Space;int &borsize=Border Size;int &align=Align;list;none,baseline,top,middle,bottom,texttop,absmiddle,absbottom,left,right &name=Name;string &class=Class;string &id=ID;string &style=Style;string &attrib=Attributes;string'; + widgetParams['custom_widget'] = '&output=Output;string'; // Current Params var currentParams = {}; @@ -308,6 +309,7 @@ function decode(s){ + @@ -331,6 +333,7 @@ function decode(s){ + diff --git a/manager/actions/mutate_user.dynamic.php b/manager/actions/mutate_user.dynamic.php index 1775642ad3..4de69c114b 100755 --- a/manager/actions/mutate_user.dynamic.php +++ b/manager/actions/mutate_user.dynamic.php @@ -114,7 +114,7 @@ function ConvertDate($date) { include_once "lang/country/".$manager_language."_country.inc.php"; } -$displayStyle = ($_SESSION['browser'] !== 'ie') ? 'table-row' : 'block'; +$displayStyle = (($_SESSION['browser'] == 'mz') || ($_SESSION['browser'] == 'op') || ($_SESSION['browser'] == 'sf')) ? "table-row" : "block"; ?> JS; - $modx->regClientScript($script); -} + $modx->regClientScript($script); + } } } if ($modx->db->getValue('SELECT published FROM '.$modx->getFullTableName('site_content').' WHERE id='.$unauthorized_page) == 0) { - $warningspresent = 1; + $warningspresent = 1; $warnings[] = array($_lang['configcheck_unauthorizedpage_unpublished']); } if ($modx->db->getValue('SELECT published FROM '.$modx->getFullTableName('site_content').' WHERE id='.$error_page) == 0) { - $warningspresent = 1; + $warningspresent = 1; $warnings[] = array($_lang['configcheck_errorpage_unpublished']); } if ($modx->db->getValue('SELECT privateweb FROM '.$modx->getFullTableName('site_content').' WHERE id='.$unauthorized_page) == 1) { - $warningspresent = 1; + $warningspresent = 1; $warnings[] = array($_lang['configcheck_unauthorizedpage_unavailable']); } if ($modx->db->getValue('SELECT privateweb FROM '.$modx->getFullTableName('site_content').' WHERE id='.$error_page) == 1) { - $warningspresent = 1; + $warningspresent = 1; $warnings[] = array($_lang['configcheck_errorpage_unavailable']); } @@ -164,8 +164,8 @@ function checkSiteCache() { $warnings[$i][1] = $_lang['configcheck_register_globals_msg']; break; case $_lang['configcheck_php_gdzip'] : - $warnings[$i][1] = $_lang['configcheck_php_gdzip_msg']; - break; + $warnings[$i][1] = $_lang['configcheck_php_gdzip_msg']; + break; case $_lang['configcheck_unauthorizedpage_unpublished'] : $warnings[$i][1] = $_lang['configcheck_unauthorizedpage_unpublished_msg']; break; @@ -193,7 +193,7 @@ function checkSiteCache() { } $msg .= '
    ' . sprintf($_lang["configcheck_hide_warning"], 'templateswitcher_present'); $warnings[$i][1] = "{$msg}\n"; - break; + break; default : $warnings[$i][1] = $_lang['configcheck_default_msg']; } @@ -205,7 +205,7 @@ function checkSiteCache() {

    ".$_lang['configcheck_what']."
    ".$warnings[$i][1]." ".$admin_warning."

    - "; +"; if ($i!=count($warnings)-1) { $config_check_results .= "
    "; } diff --git a/manager/includes/controls/datagrid.class.php b/manager/includes/controls/datagrid.class.php index d769abc288..342f6ba647 100755 --- a/manager/includes/controls/datagrid.class.php +++ b/manager/includes/controls/datagrid.class.php @@ -83,17 +83,7 @@ function RenderRowFnc($n,$row){ $value = $row[($this->_isDataset && $fld ? $fld:$c)]; if($color && $Style) $colStyle = substr($colStyle,0,-1).";background-color:$color;'"; $value = $this->formatColumnValue($row,$value,$type,$align); - if($align) $align = 'align="' . $align . '"'; - if($color) $color = 'bgcolor="' . $color . '"'; - if($nowrap) $nowrap = 'nowrap="' . $nowrap . '"'; - if($width) $width = 'width="' . $width . '"'; - $attr = ''; - foreach(array($colStyle,$Class,$align,$color,$nowrap,$width) as $v) - { - $v = trim($v); - if(!empty($v)) $attr .= ' ' . $v; - } - $o .= '' . $value . ''; + $o.="$value"; } $o.="\n"; return $o; @@ -121,18 +111,10 @@ function formatColumnValue($row,$value,$type,&$align){ break; case "date": - if(!empty($value)) - { if($align=="") $align="right"; if(!is_numeric($value)) $value = strtotime($value); if(!$type_format) $type_format = "%A %d, %B %Y"; $value = strftime($type_format,$value); - } - else - { - if($align=="") $align="center"; - $value = '-'; - } break; case "boolean": @@ -160,27 +142,28 @@ function formatColumnValue($row,$value,$type,&$align){ function render(){ - $columnHeaderStyle = ($this->columnHeaderStyle)? 'style="' .$this->columnHeaderStyle. '"':''; - $columnHeaderClass = ($this->columnHeaderClass)? 'class="' .$this->columnHeaderClass. '"':''; - $cssStyle = ($this->cssStyle)? 'style="' .$this->cssStyle . '"':''; - $cssClass = ($this->cssClass)? 'class="' .$this->cssClass. '"':''; + $columnHeaderStyle = ($this->columnHeaderStyle)? "style='".$this->columnHeaderStyle."'":''; + $columnHeaderClass = ($this->columnHeaderClass)? "class='".$this->columnHeaderClass."'":""; + $cssStyle = ($this->cssStyle)? "style='".$this->cssStyle."'":''; + $cssClass = ($this->cssClass)? "class='".$this->cssClass."'":''; - $pagerClass = ($this->pagerClass)? 'class="'.$this->pagerClass.'"':''; - $pagerStyle = ($this->pagerStyle)? 'style="'.$this->pagerStyle.'"':'style="background-color:#ffffff;"'; + $pagerClass = ($this->pagerClass)? "class='".$this->pagerClass."'":''; + $pagerStyle = ($this->pagerStyle)? "style='".$this->pagerStyle."'":"style='background-color:#ffffff;'"; - $this->_itemStyle = ($this->itemStyle)? 'style="' . $this->itemStyle . '"':''; - $this->_itemClass = ($this->itemClass)? 'class="' . $this->itemClass . '"':''; - $this->_altItemStyle= ($this->altItemStyle)? 'style="' .$this->altItemStyle . '"':''; - $this->_altItemClass= ($this->altItemClass)? 'class="' .$this->altItemClass . '"':''; + $this->_itemStyle = ($this->itemStyle)? "style='".$this->itemStyle."'":''; + $this->_itemClass = ($this->itemClass)? "class='".$this->itemClass."'":''; + $this->_altItemStyle= ($this->altItemStyle)? "style='".$this->altItemStyle."'":''; + $this->_altItemClass= ($this->altItemClass)? "class='".$this->altItemClass."'":''; $this->_alt = 0; $this->_total = 0; $this->_isDataset = is_resource($this->ds); // if not dataset then treat as array - if(!$cssStyle && !$cssClass) $cssStyle = 'style="width:100%;font-family:verdana,arial; font-size:12px;"'; - if(!$this->_itemStyle && !$this->_itemClass) $this->_itemStyle = "style='color:#333333;'"; - if(!$this->_altItemStyle && !$this->_altItemClass) $this->_altItemStyle = "style='color:#333333;background-color:#eeeeee'"; + if(!$cssStyle && !$cssClass) $cssStyle = "style='width:100%;border:1px solid silver;font-family:verdana,arial; font-size:11px;'"; + if(!$columnHeaderStyle && !$columnHeaderClass) $columnHeaderStyle = "style='color:black;background-color:silver'"; + if(!$this->_itemStyle && !$this->_itemClass) $this->_itemStyle = "style='color:black;'"; + if(!$this->_altItemStyle && !$this->_altItemClass) $this->_altItemStyle = "style='color:black;background-color:#eeeeee'"; if($this->_isDataset && !$this->columns) { $cols = mysql_num_fields($this->ds); @@ -189,18 +172,8 @@ function render(){ } // start grid - $cellpadding = ''; - $cellspacing = ''; - if(isset($this->cellPadding)) $cellpadding = 'cellpadding="' . (int)$this->cellPadding . '"'; - if(isset($this->cellSpacing)) $cellspacing = 'cellspacing="' . (int)$this->cellSpacing . '"'; - $attr = ''; - foreach(array($cssClass,$cssStyle,$cellpadding,$cellspacing) as $v) - { - $v = trim($v); - if(!empty($v)) $attr .= ' ' . $v; - } - $tblStart = '' . PHP_EOL; - $tblEnd = '' . PHP_EOL; + $tblStart = ""; + $tblEnd = "
    "; // build column header $this->_colnames = explode((strstr($this->columns,"||")!==false ? "||":","),$this->columns); @@ -211,21 +184,14 @@ function render(){ $this->_coltypes = explode((strstr($this->colTypes,"||")!==false ? "||":","),$this->colTypes); $this->_colcount = count($this->_colnames); if(!$this->_isDataset) { - $this->ds = preg_split((strstr($this->ds,"||")!==false ? "/\|\|/":"/[,\t\n]/"),$this->ds); + $this->ds = explode((strstr($this->ds,"||")!==false ? "||":","),$this->ds); $this->ds = array_chunk($this->ds, $this->_colcount); } - $tblColHdr ='' . PHP_EOL . ''; + $tblColHdr =""; for($c=0;$c<$this->_colcount;$c++){ $name=$this->_colnames[$c]; $width=$this->_colwidths[$c]; - if(!empty($width)) $width = 'width="' . $width . '"'; - $attr = ''; - foreach(array($columnHeaderStyle,$columnHeaderClass,$width) as $v) - { - $v = trim($v); - if(!empty($v)) $attr .= ' ' . $v; - } - $tblColHdr .= '' . $name . ''; + $tblColHdr.="$name"; } $tblColHdr.="\n"; @@ -264,11 +230,11 @@ function render(){ $o = $tblStart; $ptop = (substr($this->pagerLocation,0,3)=="top")||(substr($this->pagerLocation,0,4)=="both"); $pbot = (substr($this->pagerLocation,0,3)=="bot")||(substr($this->pagerLocation,0,4)=="both"); - if($this->header) $o.="".$this->header.""; + if($this->header) $o.="".$this->header.""; if($tblPager && $ptop) $o.="".$tblPager." "; $o.=$tblColHdr.$tblRows; if($tblPager && $pbot) $o.="".$tblPager." "; - if($this->footer) $o.="".$this->footer.""; + if($this->footer) $o.="".$this->footer.""; $o.= $tblEnd; return $o; } diff --git a/manager/includes/document.parser.class.inc.php b/manager/includes/document.parser.class.inc.php index 55d13d26de..494070fd89 100755 --- a/manager/includes/document.parser.class.inc.php +++ b/manager/includes/document.parser.class.inc.php @@ -7,11 +7,44 @@ class DocumentParser { var $db; // db object var $event, $Event; // event object - var $pluginEvent; - var $config= null; - var $rs, $result, $sql, $table_prefix, $debug, $documentIdentifier, $documentMethod, $documentGenerated, $documentContent, $tstart, $minParserPasses, $maxParserPasses, $documentObject, $templateObject, $snippetObjects, $stopOnNotice, $executedQueries, $queryTime, $currentSnippet, $documentName, $aliases, $visitor, $entrypage, $documentListing, $dumpSnippets, $chunkCache, $snippetCache, $contentTypes, $dumpSQL, $queryCode, $virtualDir, $placeholders, $sjscripts, $jscripts, $loadedjscripts, $documentMap; + var $rs; + var $result; + var $sql; + var $table_prefix; + var $debug; + var $documentIdentifier; + var $documentMethod; + var $documentGenerated; + var $documentContent; + var $tstart; + var $minParserPasses; + var $maxParserPasses; + var $documentObject; + var $templateObject; + var $snippetObjects; + var $stopOnNotice; + var $executedQueries; + var $queryTime; + var $currentSnippet; + var $documentName; + var $aliases; + var $visitor; + var $entrypage; + var $documentListing; + var $dumpSnippets; + var $chunkCache; + var $snippetCache; + var $contentTypes; + var $dumpSQL; + var $queryCode; + var $virtualDir; + var $placeholders; + var $sjscripts; + var $jscripts; + var $loadedjscripts; + var $documentMap; var $forwards= 3; // constructor @@ -201,13 +234,13 @@ function getSettings() { if($rebuilt && $included= file_exists(MODX_BASE_PATH . 'assets/cache/siteCache.idx.php')) { $included= include MODX_BASE_PATH . 'assets/cache/siteCache.idx.php'; } - if (!$included) { - $result= $this->db->query('SELECT setting_name, setting_value FROM ' . $this->getFullTableName('system_settings')); - while ($row= $this->db->getRow($result, 'both')) { - $this->config[$row[0]]= $row[1]; + if(!$included) { + $result= $this->db->query('SELECT setting_name, setting_value FROM ' . $this->getFullTableName('system_settings')); + while ($row= $this->db->getRow($result, 'both')) { + $this->config[$row[0]]= $row[1]; + } } } - } // added for backwards compatibility - garry FS#104 $this->config['etomite_charset'] = & $this->config['modx_charset']; @@ -824,9 +857,9 @@ function evalSnippets($documentSource) { if ($this->db->getRecordCount($result) == 1) { $row= $this->db->getRow($result); if($row['name'] == $matches[1][$i]) { - $snippets[$i]['name']= $row['name']; - $snippets[$i]['snippet']= $this->snippetCache[$row['name']]= $row['snippet']; - $snippets[$i]['properties']= $this->snippetCache[$row['name'] . "Props"]= $row['properties']; + $snippets[$i]['name']= $row['name']; + $snippets[$i]['snippet']= $this->snippetCache[$row['name']]= $row['snippet']; + $snippets[$i]['properties']= $this->snippetCache[$row['name'] . "Props"]= $row['properties']; $added = true; } } @@ -1261,14 +1294,14 @@ function getChildIds($id, $depth= 10, $children= array ()) { // Get all the children for this parent node if (isset($documentMap_cache[$id])) { - $depth--; + $depth--; foreach ($documentMap_cache[$id] as $childId) { $pkey = (strlen($this->aliasListing[$childId]['path']) ? "{$this->aliasListing[$childId]['path']}/" : '') . $this->aliasListing[$childId]['alias']; if (!strlen($pkey)) $pkey = "{$childId}"; $children[$pkey] = $childId; - if ($depth) { + if ($depth) { $children += $this->getChildIds($childId, $depth); } } diff --git a/manager/includes/header.inc.php b/manager/includes/header.inc.php index f0831e2ecd..b400f07b3a 100755 --- a/manager/includes/header.inc.php +++ b/manager/includes/header.inc.php @@ -1,6 +1,10 @@ INCLUDE_ORDERING_ERROR

    Please use the MODx Content Manager instead of accessing this file directly."); $mxla = $modx_lang_attribute ? $modx_lang_attribute : 'en'; + +// invoke OnManagerRegClientStartupHTMLBlock event +$evtOut = $modx->invokeEvent('OnManagerMainFrameHeaderHTMLBlock'); +$onManagerMainFrameHeaderHTMLBlock = is_array($evtOut) ? '
    ' . implode('', $evtOut) . '
    ' : ''; ?> @@ -10,6 +14,9 @@ style.css" /> + + +
    - - - - - -

    '.$tv['caption'].'

    - -
    '.$tv['description'].'
    - -
    - '.$tvHtml.' -
    - - '.$imagePreview.' - -