Y se hizo la LUZ !!!! < Nada como una noche de sueño y una lluvia de
ideas>,
Por fin logre hacer magia con el CAKE, esta si que fue una semana
interesante y aprendí muchas cosas, por ejemplo a mi problema he
logrado darle solucion después de mucho buscar, debbugear y un poco de
suerte, di con la solución a mi problema por mi cuenta =), la
proporciono al Grupo para el que lo llegue a necesitar sepa que hacer.
Lo primero es que Cake no solo tiene un archivo core.php son dos!!
--El PRIMERO es el que creo todos conocemos que se encuentra en "/cake/
app/config/core.php"
--El SEGUNDO el hermano gemelo malvado de mi historia esta en "/cake/
cake/scripts/template/skel/config/core.php"
Lo que no sabia es que de alguna forma ambas configuraciones están
relacionas durante la inicialización, por lo que las configuraciones
de la sesiones debe ser la mismas, tanto en nombre de la sesión como
en el nivel de Seguridad:
define('CAKE_SESSION_COOKIE', 'PHPSESSID');
define('CAKE_SECURITY', 'low');
Debe ser igual si no esto causara conflictos y causara que la sesión
se comporte de forma inesperada <la razón que se comporte de forma
inesperada es que te genera dos sesiones que poseen el mismo nombre
pero diferentes ID's>.
Como saber si esto te esta pasando!?!?!?!
1.- Limpia el navegador de sesiones y cookies,
2.- Imprime el arreglo con las variables de $_SERVER, si ves tu sesión
dos veces en el HTTP_COOKIE y con diferente ID, ya sabes como
resolverlo ;) ejemplo:
[HTTP_COOKIE] => PHPSESSID=192614432b2f59e6d243372fb59da955,
PHPSESSID=c2b4636b72803ce72dd1f9a84a6ec528
Pero aquí mi problema no se había resuelto por completo jejeje aunque
esto te permite tener una sesión valida para la ejecución del cake no
resuelve el problema si tu como yo tratas de hacer dinámica la
incializacion del Database.php con variables de sesion, como explique
anteriormente.
Que sucede es mi interpretación de la inicalización del CAKE primero
se crea la base de datos y después las sesiones y lo demás necesario
para la ejecución de tu aplicación, para agregar diversión cake
verifica si ya se inicio una sesión en el framework caso contrario el
lo hace por considerar que es la primera ves que se esta creando la
aplicación y debe darle sus valores a la sesión que se va a manejar,
en el caso que detecte que ya esta una sesión en ejecución ignora esto
y sigue con lo demás <Ahora esto funciona siempre y cuando no estés
iniciando una sesión en tu aplicación antes que cake lo haga, aquí mi
otro problema>
Como Resolver esto; en el archivo "/cake/cake/libs/session.php" en el
método"__initSession()" que es el que se encarga de iniciar la sesión
en base a las características del cake forzamos la inicializacion de
nuestra sesión para que todas las características sean puestas en
nuestra sesión que venimos manipulando desde antes,
Y Wolaa CAKE ya funciona como siempre y usando una conexión dinámica
con datos de una sesion inicializada previamente a su aplicación de
CAKE!
Seguro tendré errores o suposiciones incorrectas o incluso haya
sugerencias de optimizacion o consejos, todo esto es bien recibido
Saludos y Espero este largo post sea útil para los que lo lean!
Quien dice que NO se PUEDE!!!
Un agradecimiento a Gera por las ideas, Man si alguna ves lees esto
gracias por los consejos fueron una buena guía!