new feature (post 3.4): allow a different username to be used when importing.
This commit is contained in:
parent
cd200ee706
commit
7a55ead97d
@ -6,6 +6,7 @@ require_once('include/zot.php');
|
|||||||
require_once('include/channel.php');
|
require_once('include/channel.php');
|
||||||
require_once('include/import.php');
|
require_once('include/import.php');
|
||||||
require_once('include/perm_upgrade.php');
|
require_once('include/perm_upgrade.php');
|
||||||
|
require_once('library/urlify/URLify.php');
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -38,6 +39,7 @@ class Import extends \Zotlabs\Web\Controller {
|
|||||||
$filename = basename($_FILES['filename']['name']);
|
$filename = basename($_FILES['filename']['name']);
|
||||||
$filesize = intval($_FILES['filename']['size']);
|
$filesize = intval($_FILES['filename']['size']);
|
||||||
$filetype = $_FILES['filename']['type'];
|
$filetype = $_FILES['filename']['type'];
|
||||||
|
$newname = trim(strtolower($_REQUEST['newname']));
|
||||||
|
|
||||||
// import channel from file
|
// import channel from file
|
||||||
if($src) {
|
if($src) {
|
||||||
@ -146,7 +148,20 @@ class Import extends \Zotlabs\Web\Controller {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$channel = import_channel($data['channel'], $account_id, $seize);
|
if($newname) {
|
||||||
|
$x = false;
|
||||||
|
|
||||||
|
if(get_config('system','unicode_usernames')) {
|
||||||
|
$x = punify(mb_strtolower($newname));
|
||||||
|
}
|
||||||
|
|
||||||
|
if((! $x) || strlen($x) > 64) {
|
||||||
|
$x = strtolower(\URLify::transliterate($newname));
|
||||||
|
}
|
||||||
|
$newname = $x;
|
||||||
|
}
|
||||||
|
|
||||||
|
$channel = import_channel($data['channel'], $account_id, $seize, $newname);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$moving = false;
|
$moving = false;
|
||||||
@ -542,6 +557,7 @@ class Import extends \Zotlabs\Web\Controller {
|
|||||||
|
|
||||||
'$make_primary' => [ 'make_primary', t('Make this hub my primary location'), false, '', [ t('No'), t('Yes') ] ],
|
'$make_primary' => [ 'make_primary', t('Make this hub my primary location'), false, '', [ t('No'), t('Yes') ] ],
|
||||||
'$moving' => [ 'moving', t('Move this channel (disable all previous locations)'), false, '', [ t('No'), t('Yes') ] ],
|
'$moving' => [ 'moving', t('Move this channel (disable all previous locations)'), false, '', [ t('No'), t('Yes') ] ],
|
||||||
|
'$newname' => [ 'newname', t('Use this channel nickname instead of the one provided'), '', t('Leave blank to keep your existing channel nickname. You will be randomly assigned a similar nickname if either name is already allocated on this site.')],
|
||||||
|
|
||||||
'$pleasewait' => t('This process may take several minutes to complete. Please submit the form only once and leave this page open until finished.'),
|
'$pleasewait' => t('This process may take several minutes to complete. Please submit the form only once and leave this page open until finished.'),
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ require_once('include/perm_upgrade.php');
|
|||||||
* @param int $seize
|
* @param int $seize
|
||||||
* @return boolean|array
|
* @return boolean|array
|
||||||
*/
|
*/
|
||||||
function import_channel($channel, $account_id, $seize) {
|
function import_channel($channel, $account_id, $seize, $newname = '') {
|
||||||
|
|
||||||
if(! array_key_exists('channel_system',$channel)) {
|
if(! array_key_exists('channel_system',$channel)) {
|
||||||
$channel['channel_system'] = (($channel['channel_pageflags'] & 0x1000) ? 1 : 0);
|
$channel['channel_system'] = (($channel['channel_pageflags'] & 0x1000) ? 1 : 0);
|
||||||
@ -30,6 +30,11 @@ function import_channel($channel, $account_id, $seize) {
|
|||||||
|
|
||||||
$channel['channel_hash'] = make_xchan_hash($channel['channel_guid'],$channel['channel_guid_sig']);
|
$channel['channel_hash'] = make_xchan_hash($channel['channel_guid'],$channel['channel_guid_sig']);
|
||||||
|
|
||||||
|
if($newname) {
|
||||||
|
$channel['channel_address'] = $newname;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Check for duplicate channels
|
// Check for duplicate channels
|
||||||
|
|
||||||
$r = q("select * from channel where (channel_guid = '%s' or channel_hash = '%s' or channel_address = '%s' ) limit 1",
|
$r = q("select * from channel where (channel_guid = '%s' or channel_hash = '%s' or channel_address = '%s' ) limit 1",
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
{{include file="field_checkbox.tpl" field=$make_primary}}
|
{{include file="field_checkbox.tpl" field=$make_primary}}
|
||||||
{{include file="field_checkbox.tpl" field=$moving}}
|
{{include file="field_checkbox.tpl" field=$moving}}
|
||||||
|
{{include file="field_input.tpl" field=$newname}}
|
||||||
|
|
||||||
<div id="import-common-desc" class="section-content-info-wrapper">{{$pleasewait}}</div>
|
<div id="import-common-desc" class="section-content-info-wrapper">{{$pleasewait}}</div>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user