Hola, acabo de publicar un topic sobre este tema en el grupo de desarrollo de plugins:
http://community.elgg.org/mod/groups/topicposts.php?topic=211824&group_guid=7
Resumiendo en español:
Cuando un nombre de usuario tiene caracteres no alfanuméricos y se tiene activada la "site-caché" el icono de dicho usuario no se ve correctamente.
Esto ocurre porque los iconos se guardan en un árbol de directorio creado a partir de las letras del nombre de usuario. Como muchos sistemas no soportan directorios con este tipo de caracteres, el icono parece que no se guarda bien.
Aunque el asunto requeriría una solución más limpia, hay una forma para hacer que al menos en español salgan bien y es deshabilitando la caché para este error en concreto. No recomiendo hacer esto sin tener conocimiento pleno de lo que significa:
En
mod/profile/icondirect.php
sobre la línea 75, comentamos la sacada de icono para elementos no encontrados y lo sustituimos por el mismo código que si la caché no está activada:
if ($simplecache_enabled) {
$filename = $dataroot . $matrix . "{$username}/profile/" . $username . $size . ".jpg";
$contents = @file_get_contents($filename);
if (empty($contents)) {
mysql_close($mysql_dblink);
require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
set_input('username',$username);
set_input('size',$size);
require_once(dirname(__FILE__).'/icon.php');
/*
global $viewinput;
$viewinput['view'] = 'icon/user/default/'.$size;
ob_start();
include(dirname(dirname(dirname(__FILE__))).'/simplecache/view.php');
$loc = ob_get_clean();
header('Location: ' . $loc);
exit;
//$contents = @file_get_contents(dirname(__FILE__) . "/graphics/default{$size}.jpg");
*/
} else {
header("Content-type: image/jpeg");
header('Expires: ' . date('r',time() + 864000));
header("Pragma: public");
header("Cache-Control: public");
header("Content-Length: " . strlen($contents));
$splitString = str_split($contents, 1024);
foreach($splitString as $chunk)
echo $chunk;
}
} else {
mysql_close($mysql_dblink);
require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
set_input('username',$username);
set_input('size',$size);
require_once(dirname(__FILE__).'/icon.php');
}
info@elgg.org
Security issues should be reported to security@elgg.org!
©2014 the Elgg Foundation
Elgg is a registered trademark of Thematic Networks.
Cover image by Raül Utrera is used under Creative Commons license.
Icons by Flaticon and FontAwesome.
- Tripi@tripi
Tripi - 0 likes
You must log in to post replies.Muy buena la aportación, esto me pasaba con un usuario y no sabía la razón.