From 1061027071fac2eedd85d795445fb0b72aa942d6 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Mon, 21 May 2018 20:17:17 -0700 Subject: new_channel - make text strings translatable and use the name as a base for the nick if you try to create without entering a nick --- Zotlabs/Module/New_channel.php | 20 +++++++++++++++++--- include/js_strings.php | 10 ++++++++++ view/js/mod_new_channel.js | 13 +++++++------ view/tpl/js_strings.tpl | 12 ++++++++++++ 4 files changed, 46 insertions(+), 9 deletions(-) diff --git a/Zotlabs/Module/New_channel.php b/Zotlabs/Module/New_channel.php index c946961bc..97a46a43e 100644 --- a/Zotlabs/Module/New_channel.php +++ b/Zotlabs/Module/New_channel.php @@ -41,7 +41,7 @@ class New_channel extends \Zotlabs\Web\Controller { $test[] = legal_webbie($x); // fullname plus random number $test[] = legal_webbie($x) . mt_rand(1000,9999); - + json_return_and_die(check_webbie($test)); } @@ -49,7 +49,10 @@ class New_channel extends \Zotlabs\Web\Controller { require_once('library/urlify/URLify.php'); $result = array('error' => false, 'message' => ''); $n = trim($_REQUEST['nick']); - + if(! $n) { + $n = trim($_REQUEST['name']); + } + $x = false; if(get_config('system','unicode_usernames')) { @@ -58,9 +61,20 @@ class New_channel extends \Zotlabs\Web\Controller { if((! $x) || strlen($x) > 64) $x = strtolower(\URLify::transliterate($n)); - + + $test = array(); + // first name + if(strpos($x,' ')) + $test[] = legal_webbie(substr($x,0,strpos($x,' '))); + if($test[0]) { + // first name plus first initial of last + $test[] = ((strpos($x,' ')) ? $test[0] . legal_webbie(trim(substr($x,strpos($x,' '),2))) : ''); + // first name plus random number + $test[] = $test[0] . mt_rand(1000,9999); + } + $n = legal_webbie($x); if(strlen($n)) { $test[] = $n; diff --git a/include/js_strings.php b/include/js_strings.php index 936594291..d9038e838 100644 --- a/include/js_strings.php +++ b/include/js_strings.php @@ -23,6 +23,16 @@ function js_strings() { '$linkurl' => t('Please enter a link URL'), '$leavethispage' => t('Unsaved changes. Are you sure you wish to leave this page?'), '$location' => t('Location'), + '$lovely' => t('lovely'), + '$wonderful' => t('wonderful'), + '$fantastic' => t('fantastic'), + '$great' => t('great'), + '$nick_invld1' => t('Your chosen nickname was either already taken or not valid. Please use our suggestion ('), + '$nick_invld2' => t(') or enter a new one.'), + '$nick_valid' => t('Thank you, this nickname is valid.'), + '$name_empty' => t('A channel name is required.'), + '$name_ok1' => t('This is a '), + '$name_ok2' => t(' channel name'), // translatable prefix and suffix strings for jquery.timeago - // using the defaults set below if left untranslated, empty strings if diff --git a/view/js/mod_new_channel.js b/view/js/mod_new_channel.js index c01029046..10a94796c 100644 --- a/view/js/mod_new_channel.js +++ b/view/js/mod_new_channel.js @@ -43,19 +43,20 @@ $("#nick_help_loading").show(); $("#nick_help_text").hide(); + var zreg_name = $("#id_name").val(); var zreg_nick = $("#id_nickname").val(); - $.get("new_channel/checkaddr.json?f=&nick=" + encodeURIComponent(zreg_nick),function(data) { + $.get("new_channel/checkaddr.json?f=&nick=" + encodeURIComponent(zreg_nick) + '&name=' + encodeURIComponent(zreg_name),function(data) { $("#id_nickname").val(data); if(data !== zreg_nick) { $("#id_nickname").addClass('is-validated'); $("#help_nickname").addClass('text-danger').removeClass('text-muted'); - $("#help_nickname").html('Your chosen nickname was either already taken or not valid. Please use our suggestion (' + data + ') or enter a new one.'); + $("#help_nickname").html(aStr['nick_invld1'] + data + aStr['nick_invld2']); $("#id_nickname").focus(); } else { $("#id_nickname").addClass('is-validated'); $("#help_nickname").addClass('text-success').removeClass('text-muted').removeClass('text-danger'); - $("#help_nickname").html("Thank you, this nickname is valid."); + $("#help_nickname").html(aStr['nick_valid']); } $("#nick_help_loading").hide(); $("#nick_help_text").show(); @@ -69,18 +70,18 @@ if($("#id_name").hasClass('is-validated')) return true; - var verbs = ['lovely', 'wonderful', 'gorgeous', 'great']; + var verbs = [ aStr['lovely'], aStr['wonderful'], aStr['fantastic'], aStr['great'] ]; var verb = verbs[Math.floor((Math.random() * 4) + 0)]; if(! $("#id_name").val()) { $("#id_name").focus(); $("#help_name").addClass('text-danger').removeClass('text-muted'); - $("#help_name").html("A channel name is required."); + $("#help_name").html(aStr['name_empty']); return false; } else { $("#help_name").addClass('text-success').removeClass('text-muted').removeClass('text-danger'); - $("#help_name").html('This is a ' + verb + ' channel name.'); + $("#help_name").html(aStr['name_ok1'] + verb + aStr['name_ok2']); $("#id_name").addClass('is-validated'); return true; } diff --git a/view/tpl/js_strings.tpl b/view/tpl/js_strings.tpl index 4243c2ea5..01fc3f993 100755 --- a/view/tpl/js_strings.tpl +++ b/view/tpl/js_strings.tpl @@ -23,6 +23,18 @@ 'linkurl' : "{{$linkurl}}", 'leavethispage' : "{{$leavethispage}}", 'location' : "{{$location}}", + 'lovely' : "{{$lovely}}", + 'wonderful' : "{{$wonderful}}", + 'fantastic' : "{{$fantastic}}", + 'great' : "{{$great}}", + 'nick_invld1' : "{{$nick_invld1}}", + 'nick_invld2' : "{{$nick_invld2}}", + 'nick_valid' : "{{$nick_valid}}", + 'name_empty' : "{{$name_empty}}", + 'name_ok1' : "{{$name_ok1}}", + 'name_ok2' : "{{$name_ok2}}", + + 't01' : "{{$t01}}", 't02' : "{{$t02}}", -- cgit v1.2.3