No se ve la lista de correos enviados en el modulo MaMMLde Mambo.

Al enviar (publicar) correos de la lista de distribución (MaMML de Mambo) no me aparecia la lista de correos enviados y parecia que la página quedaba trabada y no hacia nada aunque en realidad si enviaba los email’s. Despues de investigar un poco me di cuenta que utiliza la función flush() de PHP la cual nos ayuda a enviar la salida del buffer al navegador del cliente sin importar que aun no se ha cargado la página completamente.

En palabras de la ayuda de PHP tenemos lo siguiente:

”Vacía los búferes de salida de PHP y de cualquiera que sea el motor que PHP esté usando (CGI, un servidor web, etc). Esto en efecto trata de enviar toda la salida acumulada hasta el momento al navegador del usuario.”

Y tambien indica en la ayuda que puede tener un comportamiento extraño cuando se utiliza compresion Gzip desde Apache y ya con esta información revise la configuración de Mambo y me di cuenta que efectivamente la directiva $mosConfig_gzip del archivo configuration.php estaba activada (1) y por lo tanto mandaba los encabezados de compresión.

Para solucionar el problema del modulo MaMML pero seguir teniendo compresión Gzip (ya que esto ayuda en la velocidad de transferencia de datos desde el servidor web) es necesario modificar el archivo includes/mambo.php y buscar la función initGzip y despues reemplazar la linea del IF que dice:

<br /> if ($mosConfig_gzip == 1) {<br /> 

y cambiarla por la siguiente linea:

<br /> if ($mosConfig_gzip == 1 &#038;&#038; mosGetParam($_REQUEST,'option','') != 'com_mamml') {<br /> 

Digo es un mega parche pero funciona bastante bien, supongo que si se tienen varias páginas con este problema del flush se podria buscar una comparación en un arreglo de modulos o algo asi, pero para este problema especifico ese error se soluciona.

Javascript: Error c00ce56e en IE7 y Error -1072896658 en IE6 cuando se utiliza Mootools (Meteora)

He estado probando Meteora y Mootools para un buscador de teléfonos y en Firefox me funciona de maravilla pero al querer probar la aplicación en Internet Explorer 7 me aparece el siguiente error:

Could not complete the operation due to error c00ce56e

Y al probar la página en Internet Explorer 6 me aparece otro error muy diferente a el del IE7

System error: -1072896658

La solución para eliminar el problema del IE7 y del IE6 es quitar el encabezado del content type de mi archivo que mando llamar mediante Ajax.

<br /> header('Content-Type: text/plain; charset=utf8');<br /> 

Eliminando esa parte de código ya funciona correctamente la página web, ahora solo falta saber el porque del error que solo aparece en el Internet Explorer??, pues la verdad quien sabe pero ya ven que el IE simplemente es un asco para visualizar páginas web (y yo que pensaba que la versión 7 hiba a ser mas compatible pero nada de nada)

[actualizado]
Me acabo de dar cuenta que el resultado de mi Ajax no se ve bien los acentos debido a la codificación ya que necesito utilizar UTF-8 porque en el encabezado de mi página manejo:


y cuando me regresaba el resultado del Ajax pues como quite el content type pues ya me fallaba el asunto, así que para solucionar el problema del UTF y de la misma forma no afecte el error del IE solo se tiene que agregar la siguiente linea:

<br /> header('Content-type: application/xhtml+xml; charset=utf-8');<br /> 

Y listo!, todo funciona como debe de ser B-)