0byt3m1n1-V2
Path:
/
home
/
phangnga
/
administrator
/
components
/
com_acymailing
/
controllers
/
[
Home
]
File: send.php
<?php /** * @package AcyMailing for Joomla! * @version 5.5.0 * @author acyba.com * @copyright (C) 2009-2016 ACYBA S.A.R.L. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><?php class SendController extends acymailingController{ function sendready(){ if(!$this->isAllowed('newsletters', 'send')) return; JRequest::setVar('layout', 'sendconfirm'); return parent::display(); } function send(){ if(!$this->isAllowed('newsletters', 'send')) return; JRequest::checkToken() or die('Invalid Token'); JRequest::setVar('tmpl', 'component'); $mailid = acymailing_getCID('mailid'); if(empty($mailid)) exit; $user = JFactory::getUser(); $time = time(); $queueClass = acymailing_get('class.queue'); $queueClass->onlynew = JRequest::getInt('onlynew'); $queueClass->mindelay = JRequest::getInt('mindelay'); $totalSub = $queueClass->queue($mailid, $time); if(empty($totalSub)){ acymailing_display(JText::_('NO_RECEIVER'), 'warning'); return; } $mailObject = new stdClass(); $mailObject->senddate = $time; $mailObject->published = 1; $mailObject->mailid = $mailid; $mailObject->sentby = $user->id; $db = JFactory::getDBO(); $db->updateObject(acymailing_table('mail'), $mailObject, 'mailid'); $config =& acymailing_config(); $queueType = $config->get('queue_type'); if($queueType == 'onlyauto'){ $messages = array(); $messages[] = JText::sprintf('ADDED_QUEUE', $totalSub); $messages[] = JText::_('AUTOSEND_CONFIRMATION'); acymailing_display($messages, 'success'); return; }else{ JRequest::setVar('totalsend', $totalSub); $app = JFactory::getApplication(); $app->redirect(acymailing_completeLink('send&task=continuesend&mailid='.$mailid.'&totalsend='.$totalSub, true, true)); exit; } } function continuesend(){ $config = acymailing_config(); if(acymailing_level(1) && $config->get('queue_type') == 'onlyauto'){ JRequest::setVar('tmpl', 'component'); acymailing_display(JText::_('ACY_ONLYAUTOPROCESS'), 'warning'); return; } $newcrontime = time() + 120; if($config->get('cron_next') < $newcrontime){ $newValue = new stdClass(); $newValue->cron_next = $newcrontime; $config->save($newValue); } $mailid = acymailing_getCID('mailid'); $totalSend = JRequest::getVar('totalsend', 0, '', 'int'); $alreadySent = JRequest::getVar('alreadysent', 0, '', 'int'); $helperQueue = acymailing_get('helper.queue'); $helperQueue->mailid = $mailid; $helperQueue->report = true; $helperQueue->total = $totalSend; $helperQueue->start = $alreadySent; $helperQueue->pause = $config->get('queue_pause'); $helperQueue->process(); JRequest::setVar('tmpl', 'component'); } function spamtest(){ $mailid = JRequest::getInt('mailid'); if(empty($mailid)) return; $config = acymailing_config(); ob_start(); $urlSite = trim(base64_encode(preg_replace('#https?://(www\.)?#i', '', ACYMAILING_LIVE)), '=/'); $url = ACYMAILING_SPAMURL.'spamTestSystem&component=acymailing&level='.strtolower($config->get('level', 'starter')).'&urlsite='.$urlSite; $spamtestSystem = acymailing_fileGetContent($url, 30); $warnings = ob_get_clean(); if(empty($spamtestSystem) || $spamtestSystem === false || !empty($warnings)){ acymailing_display('Could not load your information from our server'.((!empty($warnings) && defined('JDEBUG') && JDEBUG) ? $warnings : ''), 'error'); return; } $decodedInformation = json_decode($spamtestSystem, true); if(!empty($decodedInformation['messages']) || !empty($decodedInformation['error'])){ $msgError = (!empty($decodedInformation['messages'])) ? $decodedInformation['messages'].'<br />' : ''; $msgError .= (!empty($decodedInformation['error'])) ? $decodedInformation['error'] : ''; acymailing_display($msgError, 'error'); return; } if(empty($decodedInformation['email'])){ acymailing_display('Missing test mail address', 'error'); return; } $receiver = new stdClass(); $receiver->subid = 0; $receiver->email = $decodedInformation['email']; $receiver->name = $decodedInformation['name']; $receiver->html = 1; $receiver->confirmed = 1; $receiver->enabled = 1; $mailerHelper = acymailing_get('helper.mailer'); $mailerHelper->checkConfirmField = false; $mailerHelper->checkEnabled = false; $mailerHelper->checkPublished = false; $mailerHelper->checkAccept = false; $mailerHelper->loadedToSend = true; $mailerHelper->report = false; if(!$mailerHelper->sendOne($mailid, $receiver)){ acymailing_display($mailerHelper->reportMessage, 'error'); return; } $app = JFactory::getApplication(); $app->redirect($decodedInformation['displayURL']); return; } }
©
2018.