Foros Joomla! Spanish

Zona técnica, debate y cooperación sobre Joomla!

Zonas Joomla! Spanish

Portal Joomla! Spansih
Portal Joomla! Spansih NoticiasComunidad JSZona de Extensiones

Estar informado de J!S

Boletines JS
Sigue el proyecto desde joomlacode
Joomla! Spanish 1.5.26 liberada
Sigue el proyecto desde joomlacode de la 1.7
Joomla! Spanish 1.7.5 liberada
Sigue el proyecto desde joomlacode de la 2.5
Joomla! Spanish 2.5.4 Liberada

Estadistícas del foro

  • Miembros en el foro: 374,559
  • Total Temas: 64,834
  • Total Mensajes: 1
Hay 342 usuarios actualmente navegando en los foros.

Colaboradores Gold

Soporte Publicitario


Responder
Antiguo 25-05-2010, 11:22 PM   #1
Joomla! Spanish full time
 
Avatar de shacker
 
Fecha de Ingreso: Nov 2005
Ubicación: Barcelona-Catalunya-Spain
Mensajes: 2,448
shacker has a reputation beyond reputeshacker has a reputation beyond reputeshacker has a reputation beyond reputeshacker has a reputation beyond reputeshacker has a reputation beyond reputeshacker has a reputation beyond reputeshacker has a reputation beyond reputeshacker has a reputation beyond reputeshacker has a reputation beyond reputeshacker has a reputation beyond reputeshacker has a reputation beyond repute

Medallero

Enviar un mensaje por Skype™ a shacker
Exclamation Otro problema del instalador de extensiones de Joomla

Hay un problema con la función de PHP gunzip () que en las primeras versiones de PHP 5 se sabe que hace demanda de mucha memoria e innecesaria en algunas circunstancias.
Este error es susceptible por Joomla en algunas versiones en el rango de PHP 5.1.x .
Además, hay un problema con una parte del código de Joomla.

Además, para los sitios usando PHP 5.2.0 o posterior Joomla usaría funciones de PHP para descomprimir archivos zip, pero con versiones anteriores se utiliza el código de Joomla.
Un problema se presenta finalmente a la clase JFile y su método de lectura. Se puede encontrar en la ruta del root de joomla ..../libraries/joomla/filesystem/file.php. El método de lectura viejo es:

Código PHP:
function read($filename$incpath false$amount 0
    
$chunksize 8192$offset 0)
    {
            
// Initialize variables
            
$data null;
            if(
$amount && $chunksize $amount) { $chunksize $amount; }
            if (
false === $fh fopen($filename'rb'$incpath)) {
                    
JError::raiseWarning(21'JFile::read: '.
                    
JText::_('Unable to open file') . ": '$filename'");
                    return 
false;
            }
            
clearstatcache();
            if(
$offsetfseek($fh$offset);
            if (
$fsize = @ filesize($filename)) {
                    if(
$amount && $fsize $amount) {
                            
$data fread($fh$amount);
                    } else {
                            
$data fread($fh$fsize);
                    }
            } else {
                    
$data '';
                    
$x 0;
                    
// While its:
                    // 1: Not the end of the file AND
                    // 2a: No Max Amount set OR
                    // 2b: The length of the data is less than the max amount 
                    // we want
                    
while (!feof($fh) && (!$amount || strlen($data) < $amount)) {
                            
$data .= fread($fh$chunksize);
                    }
            }
            
fclose($fh);

            return 
$data;
    } 
Esto no esta especialmente bien escrito, y podemos ver que no funciona correctamente para un archivo de más de 8192 bytes. Puede ser sustituido por:

Código PHP:
function read($filename$incpath false$amount 0
$chunksize 8192$offset 0)
{
    
// Initialize variables
    
if (false === $fh fopen($filename'rb'$incpath)) {
        
JError::raiseWarning(21'JFile::read: '.
        
JText::_('Unable to open file') . ": '$filename'");
        return 
false;
    }
    if(
$offsetfseek($fh$offset);
    
$data '';
    
// While its:
    // 1: Not the end of the file AND
    // 2a: No Max Amount set OR
    // 2b: The length of the data is less than the max amount we want
    
while (!feof($fh) AND $trysize $amount 
    
min($chunksize, ($amount strlen($data))) : $chunksize) {
        
$data .= fread($fh$trysize);
    }
    
fclose($fh);

    return 
$data;

que parece proporcionar la funcionalidad deseada. Con este código en su lugar, se puede instalar cualquiera de los archivos zip o tar.gz.

Fuente:: Martin Brampton

Un saludo
__________________
Promoción, Desarrollo, Soporte y Extensiones para Joomla!
Joomla! Spanish | Joomla! Spanish Foros | Centro de ayuda Joomla! Spanish | Centro de Extensiones Joomla! Spanish | Proyecto top 2 en Joomlacode|
Las preguntas sobre soporte no se atenderán por mensajes privados (2005-2011)

shacker no está en línea   Responder Con Cita


Responder

Marcadores

Herramientas
Desplegado

Permisos de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Códigos BB están Activo
Los Emoticonos están Activo
Código [IMG] está Activo
Código HTML está Inactivo
Trackbacks are Activo
Pingbacks are Activo
Refbacks are Activo


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
Problema con instalador Shanecito Foro general (1.5) 1 04-03-2011 12:42 PM
Problema instalador de componentes searga Foro general (1.0) 0 20-11-2009 05:32 PM
Problema al acceder al instalador de mambot zedmix Mambots (1.0) 1 17-04-2009 03:59 AM
Problema de instalador|templates... PelotaCaliente Foro general (1.0) 2 02-09-2007 09:53 PM
Problema con instalador serbaumo Administración (1.0) 0 31-07-2006 09:01 AM