jueves, 20 de septiembre de 2007

Squirrelmail y dominios virtuales.

Hace un par de días se me presento un problema en el trabajo, el cual me pedian que al accesar a un dominio virtual para revisar el correo apareciera un logo, y que cuando se accesará a otro dominio apareciera otro logo. Ej.

http://mail.dominio1.com -> logo1
http://mail.dominio2.com -> logo2

Tambien pedian, que si me logueaba con un usuario del dominio1 el correo saliera como que fuera del dominio1 por que esto no lo hacia, fuese del dominio 1 o 2, siempre salian como si fuera el dominio principal.

Entonces me di a la tarea de buscar una solución y empezé a navegar en la red, al primer sitio que fui a para es al de squirrelmail que es el que usamos en el trabajo, afortunadamente me tope con un plugin que solucionaba lo de los dominios, pero seguia teniendo el problema de las imagenes, así que se me ocurrio darle un vistazo al codigo del plugin y este me dio una idea de como poder hacerlo.

Lo que hice fue editar los archivos del squirelmail, en especial el archivo que se llama (login.php) que esta en la ruta /usr/share/squirrelmail/src, el sistema que estamos usando es Linux CentOS 4.4.

Ahi agregue el siguiente codigo despues de la linea 120, que es antes de que se genere el código que colocal la ruta de la imagen a mostrar con la variable ($org_logo):

//inicio
$domain_img = getenv('HTTP_HOST');
/* trim useless things on the front */
if (strcmp(strtolower(substr($domain_img,0,5)),"mail.") == 0){
/* remove the mail. from the front of the string */
$domain_img = substr($domain_img,5);
}
if (strcmp(strtolower(substr($domain_img,0,4)),"www.") == 0) {
/* remove the www. from the front of the string */
$domain_img = substr($domain_img,4);
}

if(strcmp($domain_img,'dominio2.com')==0){
//aqui se altera la ruta de la imagen.
$org_logo = '../images/imagen.gif';
}
//final de la modificacion

Con este código solucioné el problema de las imagenes a mostrar cuando se accede a cualquiera de los dos dominios que tenemos.

No hay comentarios: