%PDF- %PDF-
Direktori : /home/lightco1/luminero.com.au/components/com_cmc/controllers/ |
Current File : /home/lightco1/luminero.com.au/components/com_cmc/controllers/subscription.php |
<?php /** * @package CMC * @author Compojoom <contact-us@compojoom.com> * @date 2016-04-15 * * @copyright Copyright (C) 2008 - 2016 compojoom.com - Daniel Dimitrov, Yves Hoppe. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ defined('_JEXEC') or die('Restricted access'); jimport('joomla.application.component.controllerlegacy'); /** * Class CmcControllerSubscription * * @since 1.0 */ class CmcControllerSubscription extends JControllerLegacy { /** * Sends an email with information how to update the form * * @return bool */ public function update() { $appl = JFactory::getApplication(); $input = $appl->input; $listId = $input->getString('listid'); $email = $input->getString('email'); $mailer = JFactory::getMailer(); $chimp = new cmcHelperChimp; if (!$listId && !$email) { $appl->enqueueMessage(JText::_('COM_CMC_INVALID_LIST_OR_EMAIL')); $appl->redirect($_SERVER['HTTP_REFERER']); return false; } $dc = "us1"; if (strstr($chimp->api_key, "-")) { list($key, $dc) = explode("-", $chimp->api_key, 2); if (!$dc) { $dc = "us1"; } } $account = $chimp->getAccountDetails(); $memberInfo = $chimp->listMemberInfo($listId, $email); $listInfo = $chimp->lists($listId); $url = 'https://' . $account['username'] . '.' . $dc . '.list-manage.com/profile?u=' . $account['account_id'] . '&id=' . $listId . '&e=' . $memberInfo['unique_email_id']; $subject = JText::sprintf('COM_CMC_CHANGE_YOUR_SUBSCRIPTION_PREFERENCES_EMAIL_TITLE', $listInfo['data'][0]['name']); $text = JText::sprintf('COM_CMC_CHANGE_YOUR_SUBSCRIPTION_PREFERENCES_EMAIL_CONTENT', $listInfo['data'][0]['name'], $url); $config = JFactory::getConfig(); if ($mailer->sendMail($config->get('mailfrom'), $config->get('fromname'), $email, $subject, $text, true)) { $appl->enqueueMessage(JText::sprintf('COM_CMC_EMAIL_WITH_FURTHER_INSTRUCTIONS_UPDATE', $email)); $appl->redirect($_SERVER['HTTP_REFERER']); return true; } $appl->enqueueMessage(JText::_('COM_CMC_SOMETHING_WENT_WRONG')); $appl->redirect($_SERVER['HTTP_REFERER']); return false; } /** * Delete the user subscription * * @return void */ public function delete() { JSession::checkToken('request') or jexit(JText::_('JINVALID_TOKEN')); $user = JFactory::getUser(); $appl = JFactory::getApplication(); $input = $appl->input; $listId = $input->getString('listid'); $db = JFactory::getDbo(); $query = $db->getQuery(true); if ($user->guest) { $appl->enqueueMessage(JText::_('COM_CMC_YOU_NEED_TO_BE_LOGGED_IN_TO_UNSUBSCRIBE')); } $query->select('*')->from('#__cmc_users') ->where('(' . $db->qn('user_id') . '=' . $db->q($user->get('id')) . ' OR email = ' . $db->q($user->email) . ')') ->where($db->qn('list_id') . '=' . $db->q($listId)); $db->setQuery($query); $subscription = $db->loadObject(); if ($subscription) { $chimp = new CmcHelperChimp; if ($chimp->listUnsubscribe($listId, $subscription->email)) { $appl->enqueueMessage(JText::_('COM_CMC_YOU_WERE_SUCCESSFULLY_UNSUBSCRIBED')); } $query->clear('select'); $query->clear('from'); $query->delete('#__cmc_users'); $db->setQuery($query); $db->execute(); } $appl->redirect($_SERVER['HTTP_REFERER']); } }