summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorYaco <franco@reevo.org>2019-08-29 14:06:02 -0300
committerYaco <franco@reevo.org>2019-08-29 14:06:02 -0300
commit0e91a3531c4ae776746358d0314011e3230c8501 (patch)
tree52572315257fd70920a679a2f858ade59630d8ec /bin
parent34956fa757491949dc68396d090580d500249546 (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.mw4
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 }}'''