diff options
author | Yaco <franco@reevo.org> | 2019-08-29 14:06:02 -0300 |
---|---|---|
committer | Yaco <franco@reevo.org> | 2019-08-29 14:06:02 -0300 |
commit | 0e91a3531c4ae776746358d0314011e3230c8501 (patch) | |
tree | 52572315257fd70920a679a2f858ade59630d8ec /bin | |
parent | 34956fa757491949dc68396d090580d500249546 (diff) |
actualiza herramienta ImportarPerfil haciendo que no chupe los datos de Elgg sino de una base de datos de json
Diffstat (limited to 'bin')
-rw-r--r-- | bin/wiki/ImportarPerfil/ImportarPerfil.php (renamed from bin/wiki/ImportarPerfil.php) | 47 | ||||
-rw-r--r-- | bin/wiki/reevoPages/int/Plantilla:Sistema-ImportarPerfil.mw | 4 |
2 files changed, 29 insertions, 22 deletions
diff --git a/bin/wiki/ImportarPerfil.php b/bin/wiki/ImportarPerfil/ImportarPerfil.php index 09e7972e..4e5681d8 100644 --- a/bin/wiki/ImportarPerfil.php +++ b/bin/wiki/ImportarPerfil/ImportarPerfil.php @@ -6,10 +6,10 @@ # ---- -error_reporting(0); +error_reporting(-1); // Load all the stuff -require_once( __DIR__ . '/vendor/autoload.php' ); -require_once( __DIR__ .'/../../etc/global_config.php' ); +require_once( __DIR__ . '/../vendor/autoload.php' ); +require_once( __DIR__ .'/../../../etc/global_config.php' ); // Log in to a wiki $api = new \Mediawiki\Api\MediawikiApi( $wgServer .'/api.php' ); @@ -31,34 +31,42 @@ if ($options['u']) { $email = $options['e']; $force = $options['f']; $new = $options['n']; - echo "NEW es $new"; + // echo "NEW es $new"; + + $strJsonFileContents = file_get_contents("/srv/reevo-2020/bin/wiki/ImportarPerfil/export-elgg-usuarios.json"); + $fullarray = json_decode($strJsonFileContents, true); + // print_r($fullarray); // print array + if ($email) { // Verifico si existe un usuario con el email indicado, entonces lo cargo - $byEmail = exec('cd /srv/reevo-web/www/red/vendor/hypejunction/elgg-cli && ./elgg-cli user:get --email '.$email); + $byEmail = array_search($email, array_column($fullarray, 'email')); + // $byEmail = exec('cd /srv/reevo-web/www/red/vendor/hypejunction/elgg-cli && ./elgg-cli user:get --email '.$email); // error_log($byEmail); if ($byEmail) { error_log('Voy a crearlo por email'); - CrearPerfil($username, $byEmail, $services); + $datos = $fullarray[$byEmail]; + CrearPerfil($username, $datos, $services); exit(); } } - $byUsername = exec('cd /srv/reevo-web/www/red/vendor/hypejunction/elgg-cli && ./elgg-cli user:get --username '.$username); + $byUsername = array_search(strtolower($username), array_map('strtolower', array_column($fullarray, 'username'))); if ($byUsername) { if ($force == 'true') { error_log('Voy a importar los datos porque estoy forzado'); - CrearPerfil($username, $byUsername, $services); - // $services->newPageDeleter()->delete( - // $services->newPageGetter()->getFromTitle( 'Usuario:'.$username.'/ImportarPerfil' ), - // array( 'reason' => 'Ya se importaron los datos del perfil anterior' ) - // ); + $datos = $fullarray[$byUsername]; + CrearPerfil($username, $datos, $services); + $services->newPageDeleter()->delete( + $services->newPageGetter()->getFromTitle( 'Usuario:'.$username.'/ImportarPerfil' ), + array( 'reason' => 'Ya se importaron los datos del perfil anterior' ) + ); exit(); } else { error_log('Voy a crear la subpagina de username'); CrearSubImportarPerfil($username, $services); if ($new == 'true') { CrearPerfilLimpio($username, $services); - error_log("No existe un usuario llamado '$username' en la versión anterior de REEVO. Pero es nuevo, asi que creo una pagina de usuario vacia.\n"); + error_log("Existe un usuario llamado '$username' en la versión anterior de REEVO. No importo los datos pero le doy la opción para que lo importe.\n"); } // exit(); } @@ -83,19 +91,18 @@ if ($options['u']) { // } function CrearPerfil($username, $profiledata,$services) { - $userdata = json_decode($profiledata, true); - - if (strpos($userdata['icon'], 'defaultmaster') == false) { - $partes = explode('/',$userdata['icon']); - $icon = $partes[9].'/'.$partes[10].'/'.$partes[11].'/'.$partes[12]; - echo $icon; + // print_r($profiledata); + $userdata = $profiledata; + $icon = exec("find /srv/reevo-web/files/red/ -name {$userdata['guid']}master.jpg"); + if ($icon) { + echo "Imagen de usuario: $icon \n"; // Definimos el nombre del archivo de la imagen $snapshot_name = 'Avatar-' . $username . '.jpg'; $snaphot_pagecontent = 'Imagen de usuario migrada desde la plataforma web'; $snaphot_desc = 'Imagen de usuario migrada desde la plataforma web'; $fileUploader = $services->newFileUploader(); $fileUploader->setChunkSize( 1024 * 1024 * 10 ); - $fileUploader->upload( $snapshot_name, '/srv/reevo-web/files/red/'.$icon, $snaphot_pagecontent, $snaphot_desc ); + $fileUploader->upload( $snapshot_name, $icon, $snaphot_pagecontent, $snaphot_desc ); } $content = '{{Usuario diff --git a/bin/wiki/reevoPages/int/Plantilla:Sistema-ImportarPerfil.mw b/bin/wiki/reevoPages/int/Plantilla:Sistema-ImportarPerfil.mw index ea6d03b4..90ff2c55 100644 --- a/bin/wiki/reevoPages/int/Plantilla:Sistema-ImportarPerfil.mw +++ b/bin/wiki/reevoPages/int/Plantilla:Sistema-ImportarPerfil.mw @@ -1,7 +1,7 @@ <includeonly> -Existe una cuenta con este mismo nombre de usuario en la versión anterior de REEVO, puedes ver dicho perfil siguiente [https://red.reevo.org/profile/{{#USERNAME:}} este enlace]. +Existe una cuenta con este mismo nombre de usuario en la versión anterior de REEVO, puedes ver dicho perfil siguiente [https://red.reevo.org/profile/{{BASEPAGENAME}} este enlace]. -Si es una cuenta tuya, podemos importar los datos de ese usuario a [[Usuario:{{#USERNAME:}}|tu perfil en la versión actual de REEVO]]. <b>Ten en cuenta que Se reemplazará todo el contenido de tu perfil actual</b>. +Si es una cuenta tuya, podemos importar los datos de ese usuario a [[Usuario:{{BASEPAGENAME}}|tu perfil en la versión actual de REEVO]]. <b>Ten en cuenta que Se reemplazará todo el contenido de tu perfil actual</b>. '''{{#ifeq: {{BASEPAGENAME}} | {{#USERNAME:}} | [[Especial:ImportarPerfil|¡Importar datos de mi usuario anterior!]] | Identificate como este usuario para poder realizar la importación desde esta página }}''' |