Problemas al enviar boletines con Acymailing

Hoy me he encontrado con un problema un tanto extraño con el componente de envíos de boletines de joomla Acymailing. La cuestión es que al enviar un email de prueba me devolvió el siguiente error:

could not instantiate mail function

He probado a enviar un correo masivo desde herramientas de joomla y este si que se enviaba, por lo que la función mail de PHP funcionaba correctamente (¿porque no lo iba a hacer?).

Buscando por google he dado con la solución en el foro de los desarrolladores de este componente (aquí). Hay una opción en la zona de configuración. En la primera pestaña, la última opción de información del Remitente pone Agregar Nombres. Por defecto está marcado que sí. Le pones No y se soluciona el problema.

Debe ser un Bug del componente y quizá habría que depurarlo, ¿quién se anima? Si sabéis para que sirve esa opción seria de ayuda.

Clase para validar fechas y horas por javascript

Con esta clase javascript, la validación de fechas y/o horas será pan comido.

Se controla si la fecha es en formato europeo o de estados unidos. Controla el número de días que tiene casa mes, e incluso controla el número de dias del mes de febrero, según si el año es bisiesto o no.

Aquí teneis el fichero para descargar: date_validator

Y aquí os dejamos el código completo:

Seguir leyendo

Problema de múltiples llamadas ajax en el FullCalendar

Vaya! Otro problema de estos que cuestan resolver y que gustan de compartir con la gente…
Resulta que usando el FullCalendar, nuestra aplicación empezaba a realizar más de una llamada ajax cada vez que pulsabamos un botón del calendario.

Pues el problema estaba básicamente en que cuando recargamos el calendario segun ciertas acciones del usuario, lo haciemos de la siguiente forma:

$('#calendar').fullCalendar('removeEvents');
$('#calendar').fullCalendar('addEventSource', my_url);

Y nada… Resulta que de esta manera, se iban creando ‘event sources‘ en el calendario y FullCalendar no tiene una forma de hacer limpieza de estos de forma sencilla.

Menos mal que gracias a este hilo de google code, encontramos esta faena hecha.

Sólo tenemos que abrir nuestro fullcalendar.js (actualmente versión 1.4.11) e irnos al apartado de EventManager y añadir:

t.removeEventSources = removeEventSources;
function removeEventSources() {
   sources = [];
   // remove all client events from all sources
   cache = [];
   reportEvents(cache);
}

Ahora ya si que podemos recargar el calendario correctamente:

$('#calendar').fullCalendar('removeEvents');
$('#calendar').fullCalendar('removeEventSources');
$('#calendar').fullCalendar('addEventSource', my_url);

Bueno. Espero que os ayude…