1
0
mirror of https://github.com/processwire/processwire.git synced 2025-08-13 18:24:57 +02:00
This commit is contained in:
Ryan Cramer
2019-11-20 09:56:47 -05:00
parent 1aaef35474
commit 719c2ef3a9
2 changed files with 5 additions and 5 deletions

View File

@@ -43,9 +43,6 @@ var InputfieldPageName = {
// convert whitespace to dash
name = name.replace(/\s+/g, '-')
// convert multiple dashes or dots to single
name = name.replace(/--+/g, '-');
// convert multiple dots to single
name = name.replace(/\.\.+/g, '.');
@@ -53,7 +50,10 @@ var InputfieldPageName = {
name = name.replace(/(\.-|-\.)/g, '-');
// remove leading or trailing dashes, underscores and dots
name = name.replace(/(^[-_.]+|[-_.]+$)/g, '');
name = name.replace(/(^[-_.]+|[-_.]+$)/g, '');
// convert multiple dashes or dots to single
name = name.replace(/--+/g, '-');
// make sure it's not too long
// if(name.length > 128) name = name.substring(0, 128);

View File

@@ -1 +1 @@
var InputfieldPageName={sanitize:function(b){b=jQuery.trim(b);b=b.toLowerCase();var g;for(g in ProcessWire.config.InputfieldPageName.replacements){var f=ProcessWire.config.InputfieldPageName.replacements[g];if(b.indexOf(g)>-1){if(g=="."){g="\\."}var e=new RegExp(g,"g");b=b.replace(e,f)}}b=b.replace(/['"\u0022\u0027\u00AB\u00BB\u2018\u2019\u201A\u201B\u201C\u201D\u201E\u201F\u2039\u203A\u300C\u300D\u300E\u300F\u301D\u301E\u301F\uFE41\uFE42\uFE43\uFE44\uFF02\uFF07\uFF62\uFF63]/g,"");if(ProcessWire.config.InputfieldPageName.charset=="UTF8"){var d=ProcessWire.config.InputfieldPageName.whitelist;if(d.length){var a="";for(var i=0;i<b.length;i++){var h=b.substring(i,i+1);if(d.indexOf(h)==-1){h="-"}a+=h}b=a}else{}}else{b=b.replace(/[^-_.a-z0-9 ]/g,"-")}b=b.replace(/\s+/g,"-");b=b.replace(/--+/g,"-");b=b.replace(/\.\.+/g,".");b=b.replace(/(\.-|-\.)/g,"-");b=b.replace(/(^[-_.]+|[-_.]+$)/g,"");if(b.length>128){b=$.trim(b).substring(0,128).split("-").slice(0,-1).join(" ")}return b},updatePreview:function(d,b){var c=$("#"+d.attr("id")+"_path");var a=parseInt(c.attr("data-slashUrls"))>0?"/":"";c.find("strong").text((b.length>0?b+a:""))}};jQuery(document).ready(function(a){a(document).on("keyup",".InputfieldPageName input[type=text]",function(){var b=InputfieldPageName.sanitize(a(this).val());InputfieldPageName.updatePreview(a(this),b)}).on("blur",".InputfieldPageName input[type=text]",function(){var b=InputfieldPageName.sanitize(a(this).val());a(this).val(b);InputfieldPageName.updatePreview(a(this),b)});a(document).on("reloaded",".InputfieldPageName",function(){a(this).find("input[type=text]").keyup()});a(".InputfieldPageName").find("input[type=text]").keyup()});
var InputfieldPageName={sanitize:function(name){name=jQuery.trim(name);name=name.toLowerCase();var srch;for(srch in ProcessWire.config.InputfieldPageName.replacements){var repl=ProcessWire.config.InputfieldPageName.replacements[srch];if(name.indexOf(srch)>-1){if(srch==".")srch="\\.";var re=new RegExp(srch,"g");name=name.replace(re,repl)}}name=name.replace(/['"\u0022\u0027\u00AB\u00BB\u2018\u2019\u201A\u201B\u201C\u201D\u201E\u201F\u2039\u203A\u300C\u300D\u300E\u300F\u301D\u301E\u301F\uFE41\uFE42\uFE43\uFE44\uFF02\uFF07\uFF62\uFF63]/g,"");if(ProcessWire.config.InputfieldPageName.charset=="UTF8"){var whitelist=ProcessWire.config.InputfieldPageName.whitelist;if(whitelist.length){var newName="";for(var n=0;n<name.length;n++){var c=name.substring(n,n+1);if(whitelist.indexOf(c)==-1)c="-";newName+=c}name=newName}else{}}else{name=name.replace(/[^-_.a-z0-9 ]/g,"-")}name=name.replace(/\s+/g,"-");name=name.replace(/\.\.+/g,".");name=name.replace(/(\.-|-\.)/g,"-");name=name.replace(/(^[-_.]+|[-_.]+$)/g,"");name=name.replace(/--+/g,"-");if(name.length>128)name=$.trim(name).substring(0,128).split("-").slice(0,-1).join(" ");return name},updatePreview:function($t,value){var $previewPath=$("#"+$t.attr("id")+"_path");var slash=parseInt($previewPath.attr("data-slashUrls"))>0?"/":"";$previewPath.find("strong").text(value.length>0?value+slash:"")}};jQuery(document).ready(function($){$(document).on("keyup",".InputfieldPageName input[type=text]",function(){var value=InputfieldPageName.sanitize($(this).val());InputfieldPageName.updatePreview($(this),value)}).on("blur",".InputfieldPageName input[type=text]",function(){var value=InputfieldPageName.sanitize($(this).val());$(this).val(value);InputfieldPageName.updatePreview($(this),value)});$(document).on("reloaded",".InputfieldPageName",function(){$(this).find("input[type=text]").keyup()});$(".InputfieldPageName").find("input[type=text]").keyup()});