[DUDA] - Como enviar MP o correo a los usuarios antes de caducar suscripción de pago

txuski Seguir

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
16 Feb 2012
Mensajes
7
Buenas,

he estado buscando información por el foro pero no he encontrado nada referente a este problema.

He creado una suscripción de pago para 1 año en mi foro y quiero que antes de que se caduque la suscripción, mande automáticamente un MP y/o correo electrónico al usuario, avisándole que va a expirar.

¿Como puedo hacerlo?


Gracias de antemano.
 

txuski

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
16 Feb 2012
Mensajes
7
Re: [DUDA] - Como enviar MP o correo a los usuarios antes de caducar suscripción de p

Nadie sabe como puedo hacer esto?
 

imported_isispe

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
22 Jun 2011
Mensajes
162
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Re: [DUDA] - Como enviar MP o correo a los usuarios antes de caducar suscripción de p

No tengo ni idea no he creado suscripciones de pago todavía !!
 

Duditas

Épsilon
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
19 Jul 2006
Mensajes
811
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Re: [DUDA] - Como enviar MP o correo a los usuarios antes de caducar suscripción de p

Yo tampoco sé, lo siento =(
 

Gorgias

Gamma
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
19 Ene 2008
Mensajes
182
Re: [DUDA] - Como enviar MP o correo a los usuarios antes de caducar suscripción de p

Creo que lo que buscas es esto: MNG - Send Custom PM or Email to User on Paid Subscription. De hecho, es lo que usé en su momento con vB3 (hay un mensaje mío por ahí confirmando que funciona). Se supone que funciona en vB4, pero no lo he probado.

De todos modos vB4 envía unos correos al usuario cuando la suscripción de pago va a caducar (yo ya no uso la modificación anterior y dejo en manos de vB los avisos). Busca las frase "paidsubscription_reminder", y te aparecerán un par de resultados haciendo referencia al título y al mensaje que se envía por correo. El otro día un usuario me avisó de que le había llegado el correo y no sabía de qué iba la fiesta (no recordaba que tenía dicha suscripción), así que funcionar, funciona. Por defecto el aviso se envía entre 2 y 3 días antes de que caduque. Si lo quieres cambiar, hay que editar el archivo "/includes/cron/subscriptions.php" y buscar el siguiente código (debería aparecerte en la línea 48):
PHP:
$subscriptions_reminders = $vbulletin->db->query_read("
        SELECT subscriptionlog.subscriptionid, subscriptionlog.userid, subscriptionlog.expirydate, user.username, user.email, user.languageid
        FROM " . TABLE_PREFIX . "subscriptionlog AS subscriptionlog
        LEFT JOIN " . TABLE_PREFIX . "user AS user ON (user.userid = subscriptionlog.userid)
        WHERE subscriptionlog.expirydate >= " . (TIMENOW + (86400 * 2)) . "
            AND subscriptionlog.expirydate <= " . (TIMENOW + (86400 * 3)) . "
            AND status = 1
    ");

Por explicarlo un poco... TIMENOW es la fecha en la que el script se ejecuta para comprobar el estado de las suscripciones. Eso de 86400 son los segundos que hay en un día (24 horas · 60 minutos · 60 segundos). De modo que las condiciones que figuran son:
Insertar CODE, HTML o PHP:
subscriptionlog.expirydate >= " . (TIMENOW + (86400 * 2)) . "
Que hace referencia a que la fecha de caducidad esté a más de dos días desde TIMENOW. Y la otra línea:

Insertar CODE, HTML o PHP:
subscriptionlog.expirydate <= " . (TIMENOW + (86400 * 3)) . "
Parecido, pero no igual: que la fecha de caducidad esté a menos de tres días desde TIMENOW.

Así que cuando el script se ejecuta y la fecha de caducidad está en ese margen, entre 2 y 3 días, se enviará el aviso. Que quieres que el aviso se envíe 7 días antes (bueno, entre 7 y 8 días)¿? Pues cambia en la primera línea el 2 por un 7 y en la segunda el 3 por un 8.

Espero haberme explicado bien (y no haberme colado :) ). En cualquier caso, no he probado esto y no puedo garantizar que funcione (no soy programador ni mucho menos), y lo digo por intuición y por cómo lo haría yo. De modo que antes de hacer cualquier cambio, haz una copia de seguridad del archivo subscriptions.php, aunque los cambios sean simples y fáciles de corregir. Por si acaso. Repito: haz copia de seguridad.

Un saludo!!!
 

txuski

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
16 Feb 2012
Mensajes
7
Re: [DUDA] - Como enviar MP o correo a los usuarios antes de caducar suscripción de p

Creo que lo que buscas es esto: MNG - Send Custom PM or Email to User on Paid Subscription. De hecho, es lo que usé en su momento con vB3 (hay un mensaje mío por ahí confirmando que funciona). Se supone que funciona en vB4, pero no lo he probado.

De todos modos vB4 envía unos correos al usuario cuando la suscripción de pago va a caducar (yo ya no uso la modificación anterior y dejo en manos de vB los avisos). Busca las frase "paidsubscription_reminder", y te aparecerán un par de resultados haciendo referencia al título y al mensaje que se envía por correo. El otro día un usuario me avisó de que le había llegado el correo y no sabía de qué iba la fiesta (no recordaba que tenía dicha suscripción), así que funcionar, funciona. Por defecto el aviso se envía entre 2 y 3 días antes de que caduque. Si lo quieres cambiar, hay que editar el archivo "/includes/cron/subscriptions.php" y buscar el siguiente código (debería aparecerte en la línea 48):
PHP:
$subscriptions_reminders = $vbulletin->db->query_read("
        SELECT subscriptionlog.subscriptionid, subscriptionlog.userid, subscriptionlog.expirydate, user.username, user.email, user.languageid
        FROM " . TABLE_PREFIX . "subscriptionlog AS subscriptionlog
        LEFT JOIN " . TABLE_PREFIX . "user AS user ON (user.userid = subscriptionlog.userid)
        WHERE subscriptionlog.expirydate >= " . (TIMENOW + (86400 * 2)) . "
            AND subscriptionlog.expirydate <= " . (TIMENOW + (86400 * 3)) . "
            AND status = 1
    ");

Por explicarlo un poco... TIMENOW es la fecha en la que el script se ejecuta para comprobar el estado de las suscripciones. Eso de 86400 son los segundos que hay en un día (24 horas · 60 minutos · 60 segundos). De modo que las condiciones que figuran son:
Insertar CODE, HTML o PHP:
subscriptionlog.expirydate >= " . (TIMENOW + (86400 * 2)) . "
Que hace referencia a que la fecha de caducidad esté a más de dos días desde TIMENOW. Y la otra línea:

Insertar CODE, HTML o PHP:
subscriptionlog.expirydate <= " . (TIMENOW + (86400 * 3)) . "
Parecido, pero no igual: que la fecha de caducidad esté a menos de tres días desde TIMENOW.

Así que cuando el script se ejecuta y la fecha de caducidad está en ese margen, entre 2 y 3 días, se enviará el aviso. Que quieres que el aviso se envíe 7 días antes (bueno, entre 7 y 8 días)¿? Pues cambia en la primera línea el 2 por un 7 y en la segunda el 3 por un 8.

Espero haberme explicado bien (y no haberme colado :) ). En cualquier caso, no he probado esto y no puedo garantizar que funcione (no soy programador ni mucho menos), y lo digo por intuición y por cómo lo haría yo. De modo que antes de hacer cualquier cambio, haz una copia de seguridad del archivo subscriptions.php, aunque los cambios sean simples y fáciles de corregir. Por si acaso. Repito: haz copia de seguridad.

Un saludo!!!


Muchisimas gracias.
En cuanto tenga un momento lo pruebo y te aviso, pero tiene mu buena pinta.
Yo soy programador, pero no de HTML ni nada de esto, lo tengo muy olvidado... pero poco a poco voy recordando cosillas jejeje
 

txuski

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
16 Feb 2012
Mensajes
7
Re: [DUDA] - Como enviar MP o correo a los usuarios antes de caducar suscripción de p



Gracias, gracias gracias.... y mil gracias!
He metido los 2 hacks (creo que se llaman así... :$) y aunque al principio me ha costado averiguar como se hacía porque es la primera vez que hago estas cosas... ya están funcionando a la perfección.

Gracias a todos!
 
Arriba