Biblioteca: Novedades > Joomla
MUY IMPORTANTE - Actualizaciones de software en servidores - Joomla 1.0.x, 1.5 y Moodle 1.6, 1.7, 1.8 y 1.9.x - PHP 5.3.x – Solución temporal al problema de compatibilidad
Publicado por - NA -, Last modified by nosolored.com (Nosolored SL) el 22/02/2014 05:43 PM
Le indicamos a continuación información adicional previa a las actualizaciones previstas a Php 5.3.9 en todos los hostings/servidores de Nosolored SL.

Si sigue usando software obsoleto su sitio puede quedar expuesto a virus, hackeos, defaces o a inserción de malware. 
Es muy recomendable que actualice el software que utiliza a las últimas versiones para 
Versiones Joomla/Moodle soportan Php 5.3

Moodle versiones obsoletas:
---------------------------------
Moodle 1.8.14 (3/12/2010)
Moodle 1.7.7 (28/01/2009)
Moodle 1.6.9 (28/01/2009)
Se recomienda encarecidamente actualizar la versión actual de su aula desde las ramas 1.6, 1.7 y 1.8 a 1.9.16 o 2.2. Aumentará la funcionalidades y seguridad de su aula virtual Moodle.
Si no actualiza su aula Moodle a la versión 1.9 lo más probable es que deje de funcionar al utilizar un software con más de 3 años de antigüedad y no estar preparado para la rama php 5.3

Joomla 1.5.15+ o superior. Si tiene una versión inferior es aconsejable como mínimo actualizar a 1.5.25.
Moodle 1.9.12+ o superior. Si tiene una versión inferior es aconsejable como mínimo actualizar a 1.9.16.
En caso de utilizar Joomla 1.0 (obsoleto desde 22/03/2008) - Siendo por tanto un RIESGO PARA LA SEGURIDAD DE SU SITIO SEGUIR UTILIZANDO JOOMLA 1.0 EN CUALQUIER RAMA.
Si su web Joomla 1.0 ha dejado de funcionar la solución ideal sería que migrara a la version 1.5/1.6/1.7 o 2.5, pero si no desea le indicamos una solución temporal (PARCHES) comentada en los foros de joomla.org. Esta solución no garantiza que funcionen las extensiones externas a Joomla.:

IMPORTANTE: Sobre una instalación 1.0.15. Si sigue utilizando versiones previas tales como la 1.0.11, 1.0.12, 1.0.13 o 1.0.14 (o anteriores) debe primero actualizar a 1.0.15. 
En su sitio Web debe editar el archivo ../includes/Cache/Lite/Function.php

En la línea 74 reemplace la cadena siguiente

$arguments = func_get_args();


con

$arguments = func_get_args();
$numargs = func_num_args();
for($i=1; $i < $numargs; $i++){
$arguments[$i] = &$arguments[$i];
}
Edita el fichero ../includes/vcard.class.php
Localiza en la línea 36
// taken from PHP documentation comments
function quoted_printable_encode($input, $line_max = 76) {
 $hex  = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
 $lines  = preg_split("/(?:\r\n|\r|\n)/", $input);
 $eol  = "\r\n";
 $linebreak  = '=0D=0A';
 $escape  = '=';
 $output  = '';
 for ($j=0;$j<count($lines);$j++) {
 $line  = $lines[$j];
 $linlen  = strlen($line);
 $newline  = '';
 
 for($i = 0; $i < $linlen; $i++) {
 $c  = substr($line, $i, 1);
 $dec  = ord($c);
 
 if ( ($dec == 32) && ($i == ($linlen - 1)) ) { // convert space at eol only
 $c = '=20';
 } elseif ( ($dec == 61) || ($dec < 32 ) || ($dec > 126) ) { // always encode "\t", which is *not* required
 $h2 = floor($dec/16); 
 $h1 = floor($dec%16);
 $c  = $escape.$hex["$h2"] . $hex["$h1"];
 }
 if ( (strlen($newline) + strlen($c)) >= $line_max ) { // CRLF is not counted
 $output .= $newline.$escape.$eol; // soft line break; " =\r\n" is okay
 $newline = "    ";
 }
 $newline .= $c;
 } // end of for
 $output .= $newline;
 if ($j<count($lines)-1) {
 $output .= $linebreak;
 }
 }
 
 return trim($output);
}
hasta la línea en blanco 75
reemplace el contenido con:
if(!function_exists('quoted_printable_encode'))
{
// taken from PHP documentation comments
function quoted_printable_encode($input, $line_max = 76) {
 $hex  = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
 $lines  = preg_split("/(?:\r\n|\r|\n)/", $input);
 $eol  = "\r\n";
 $linebreak  = '=0D=0A';
 $escape  = '=';
 $output  = '';
 for ($j=0;$j<count($lines);$j++) {
 $line  = $lines[$j];
 $linlen  = strlen($line);
 $newline  = '';
 
 for($i = 0; $i < $linlen; $i++) {
 $c  = substr($line, $i, 1);
 $dec  = ord($c);
 
 if ( ($dec == 32) && ($i == ($linlen - 1)) ) { // convert space at eol only
 $c = '=20';
 } elseif ( ($dec == 61) || ($dec < 32 ) || ($dec > 126) ) { // always encode "\t", which is *not* required
 $h2 = floor($dec/16); 
 $h1 = floor($dec%16);
 $c  = $escape.$hex["$h2"] . $hex["$h1"];
 }
 if ( (strlen($newline) + strlen($c)) >= $line_max ) { // CRLF is not counted
 $output .= $newline.$escape.$eol; // soft line break; " =\r\n" is okay
 $newline = "    ";
 }
 $newline .= $c;
 } // end of for
 $output .= $newline;
 if ($j<count($lines)-1) {
 $output .= $linebreak;
 }
 }
 
 return trim($output);
}
}
Esta solución ha sido probada en varias instalaciones Joomla 1.0.15 con Php 5.2.17 y siguen funcionando con normalidad. Realice estas acciones previamente a la actualización prevista a Php 5.3.9 en los hostings/servidores de Nosolored SL.

Consúltenos previamente a través de la cuenta soporte@nosolored.com o a través de esta área de tickets.


Adjuntos 
 
 parche para Joomla 1.0 con lenguaje Php 5.3.9 includes.zip (11.50 KB)