[SOLUCIONADO] PROBLEMAS AL IDENTIFICARSE EN 3W VER 2.06.3

Hola,

les planteo el siguiente problema:
instalamos el 3W version 2.06.3 en un Linux Lenny, Apache2, y el PHP es el 5.3.3-6
y hasta el momento hemos tenido algunos problemas por la version del PHP.

Una de las cosas que tuvimos que cambiar fue lo siguiente:
En std_functions.lib.php , en la línea 343 figuraba esto:
// Ahora saco la pagina siguiente y anterior si es que existen…
$sPagina = ereg_replace(‘^’ . $parametros[“sALIAS”] , ‘’,
$_SERVER[“SCRIPT_NAME”]);

Lo cambiamos por esto:
// Ahora saco la pagina siguiente y anterior si es que existen…
$sPagina = preg_replace(‘^’ . $parametros[“sALIAS”] , ‘’,
$_SERVER[“SCRIPT_NAME”]);

Ahora los que nos está pasando es que sale el login y al poner el usuario y clave y querer ingresar nos vuelve a aparecer la misma pagina de login.

Mirando el log del apache registra esto:

PHP Deprecated:
Assigning the return value of new by reference is deprecated in /home/wfcad/www/wfcad/guarani/adodb/adodb.inc.php on line 888, referer: http://www.fcad.uner.edu.ar/guarani/a_general/identificarse.php?operacion=
Assigning the return value of new by reference is deprecated in /home/wfcad/www/wfcad/guarani/adodb/adodb.inc.php on line 1913, referer: [error] PHP Deprecated: Assigning the return value of new by reference is deprecated in
/home/wfcad/www/wfcad/guarani/adodb/adodb.inc.php on line 1985, referer: http://www.fcad.uner.edu.ar/guarani/a_general/identificarse.php?operacion= [error] PHP Warning: preg_replace() [<ahref=‘function.preg-replace’>function.preg-replace]: No endingdelimiter ‘^’ found in /home/wfcad/www/wfcad/guarani/www/library/std_functions.lib.php on line
343, referer: http://www.fcad.uner.edu.ar/guarani/a_general/identificarse.php?operacion= [error] PHP Notice: Undefined index: PagSiguiente in /home/wfcad/www/wfcad/guarani/www/a_general/identificarse.php on [error] PHP Notice: Undefined index: operacion in /home/wfcad/www/wfcad/guarani/www/a_general/identificarse.php on line 28, referer: http://www.fcad.uner.edu.ar/guarani/a_general/identificarse.php?operacion=

Parece ser un error del deprecated, deberia cambia lo siguiente en PHP y probar?:
error_reporting E_ALL & ~E_NOTICE & ~E_DEPRECATED

A alguno les ha sucedido esto?

Desde ya gracias.
Saludos.

MARTIN

Hola Martin

probá con

$sPagina = preg_replace('^' . $parametros["sALIAS"].'^'  , '', $_SERVER["SCRIPT_NAME"]);

y te aviso que esa construcción está en otros dos lugares mas.

Como haces la conexión a la base? con odbc?

Emilio

Hola, Emilio,

ya lo pruebo,

Si, via ODBC hacemos la conexion.

Gracias!
MARTIN

Hola Emilio,
cambiamis eso y sigue sin andar…

Seguimos mirando…

martin

fijate como se arma la funcion puesto que el error que tenías es

No endingdelimiter ‘^’ found in

por ahi tiene al final una \ y lo confunde.

Emilio

Hola Emilio,

seguí probando sin resultado.

Probe:

$sPagina = preg_replace(‘^’ . $parametros[“sALIAS”].‘^’ , ‘’, $_SERVER[“SCRIPT_NAME”]);

Y no anduvo, mire como se forma la funcion, vi en una pagina que dice que a diferencia de ereg_replace, esta va con delimitadores.
Pero no me anda igual, en vez de ^ le puse / y tampoco, en la pagina usaban como ejemplo el # pero tampoco anduvo.

No se que mas probar.

Que es lo que me conviene hacer?

Saludos
MARTIN

Hola Martin, en ese server solo corre el sitio de 3w? pueden pasarse a la última de 5.2.x de PHP?

Hola Damian,

ese es el problema, en ese server corre la pagina WEB, preinscripcion y varios servicios mas.
Por ahi tenemos miedo de actualizar y que se pinche algo. Sino creo que sería la mejor solucion.

Saludos
MARTIN

Hola Martin

esto estuvo andando y se pincho o no anduvo nunca?
El error que te aparecía antes, sigue apareciendo?

Emilio

Hola Emilio,

no, es una instalacion nueva, es decir, nunca anduvo.
Al agragarle al final como me pasaste la linea directamente sale que no encuentra la pagina.

Por las dudas mando el archivo original comprimido sin ninguna modificacion , el objetivo sería lograr hacer andar las funciones de ese archivo con la version que tenemos de PHP (PHP Version 5.3.3-6)

Saludos y gracias
MARTIN


Damian,

me olvidaba, estamos en la ultima version del PHP, version 5.3.3-6

Saludos
MARTIN

te fijastes como se arma el link a la página siguiente?

yo la probé a la preg_replace en 5.2.5 y funcionó.

Hola Emilio,

como lo probaste? pasame las modificaciones que le hiciste al archivo. Como te quedaron las lineas?

Yo probe tal cual vos me pasaste:
$sPagina = preg_replace(‘^’ . $parametros[“sALIAS”].‘^’ , ‘’, $_SERVER[“SCRIPT_NAME”]);
Y no pasa nada.

Mi version es 5.3.3-6 de PHP. Quizás no sea lo mismo que en la 5.2.5.

Por las dudas pasame como te quedo todo.

Saludos
MARTIN

esa linea, tal cual.
en todo caso “debugueala”

$sPagina = preg_replace(‘^’ . $parametros[“sALIAS”].‘^’ , ‘’, $_SERVER[“SCRIPT_NAME”]);
echo ‘^’ . $parametros[“sALIAS”].‘^’ .’
‘;
echo $sPagina .’
';

y fijate que te aparece.

ustedes recompilaron el php?

http://ar2.php.net/manual/en/pcre.installation.php

Hola Emilio,
si, está recompilado.

Ahí le pusimos los echo’s para “debuguear”, pero ahora no encuentra ninguna pagina, ni Iniciar Secion, Ver Mensajes, ni Fechas de Examen. Sin embargo salen de las operaciones y de las barras.

Te paso una imagen de como sale.

Saludos
MARTIN


eso anda bien.
te está mostrando correctamente la pagina siguiente.
acabo de entrar y algo te está truncando el querystring.

Hola Emilio,

que parte estaría truncando?
Será problema exclusivo de la version del PHP? Ayer mirando la página que me enviaste vi que la función es soportada por esta version, salvo que haya cambiado algo la función para esta versión en particular. Sino no se me ocurre pq está sucediendo esto. Espero se pueda solucionar.

Saludos
MARTIN

de lo que veo, algunas cosas funcionan.
fijate la funcion para cargar los parámetros a ver si está bien.
sacale lo que pusimos de la página porque eso funciona correctamente.

otra cosa. hay páginas en ese sitio que tienen acceso denegado.

no tendrás un problema con las sesiones?
se generan los archivos de sesion en php?