* * See the enclosed file license.txt for license information (LGPL). If you * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html. * * @author Jai Ivarsson * @author Harvey Kane - Uses code from Harvey's jojo_newsletter plugin * @license http://www.fsf.org/copyleft/lgpl.html GNU Lesser General Public License * @link http://www.jojocms.org JojoCMS */ class JOJO_Plugin_jojo_autoresponder extends JOJO_Plugin { /** * when the contact forms module runs the success hook this is called * * receives the form id of the successful form */ function subscribeAutoresponder($formid = false, $formSubmission = false) { /* if no formid then we can't do anything */ if (!$formid || !$formSubmission) { return false; } /* get the form submission details */ $details = Jojo::selectRow("SELECT * FROM {formsubmission} WHERE formsubmissionid = ? LIMIT 1", $formSubmission); if (!$details) { return false; } $details['content'] = unserialize($details['content']); /* get the auto responder campaign */ $responder = Jojo::selectRow("SELECT * FROM {autoresponder} WHERE form = ? LIMIT 1", $formid); if (!$responder) { return false; } /* get the messages for this campaign */ $messages = Jojo::selectQuery("SELECT * FROM {autorespondermessage} WHERE autoresponder = ?", $responder['autoresponderid']); if (!$messages) { return false; } /* include the required classes */ foreach (Jojo::listPlugins('classes/jojo_autoresponder_message.class.php') as $pluginfile) { require_once($pluginfile); break; } /* process and queue each message */ foreach ($messages as $message) { $m = new jojo_autoresponder_message($message['autorespondermessageid'], $details); $m->queue(); } return true; } }