function configuration($action, $task) { global $database; $config = array(); $redirect = true; $xf = new xonfig(); $message = mosGetParam($_REQUEST, 'message', ''); switch ($task) { case 'sendQueue': if (class_exists('auto')) { echo acajoom::printYN(auto::processQueue(true, true), _ACA_QUEUE_SENT_SUCCESS, _ACA_ERROR); } backHTML::_header(_ACA_MENU_CONF, 'menu.png', $message, $task, $action); configHTML::showConfigEdit($GLOBALS); break; case 'reset': $xf->update('next_autonews', ''); $xf->update('last_cron', ''); $xf->update('last_sub_update', ''); $query = "UPDATE #__acajoom_lists SET `next_date` = '0' WHERE list_type = 7"; $database->setQuery($query); $database->query(); echo acajoom::printYN(true, ' Smart-Newsletter counter reset successful! ', _ACA_ERROR); backHTML::_header(_ACA_MENU_CONF, 'menu.png', $message, $task, $action); configHTML::showConfigEdit($GLOBALS); case 'syncUsers': echo acajoom::printYN(subscribers::syncSubscribers(), _ACA_SYNC_USERS_SUCCESS, _ACA_ERROR); backHTML::_header(_ACA_MENU_CONF, 'menu.png', $message, $task, $action); configHTML::showConfigEdit($GLOBALS); case 'apply': $clear_log = mosGetParam($_REQUEST, 'clear_log', 0); if ($clear_log != 0) { unlink($GLOBALS['save_log_file']); } if (empty($config)) { $config = $_REQUEST['config']; } $message = acajoom::printYN($xf->saveConfig($config), _ACA_CONFIG_UPDATED, _ACA_ERROR); $xf->updateActiveList(); compa::redirect('index2.php?option=com_acajoom&act=configuration&message=' . $message); break; case 'save': $clear_log = mosGetParam($_REQUEST, 'clear_log', 0); if ($clear_log != 0) { @unlink($GLOBALS['save_log_file']); } if (empty($config)) { $config = $_REQUEST['config']; } $message = acajoom::printYN($xf->saveConfig($config), _ACA_CONFIG_UPDATED, _ACA_ERROR); $xf->updateActiveList(); backHTML::controlPanel(); break; case 'cancel': compa::redirect('index2.php?option=com_acajoom'); break; case 'cpanel': backHTML::controlPanel(); break; default: backHTML::_header(_ACA_MENU_CONF, 'menu.png', $message, $task, $action); configHTML::showConfigEdit($GLOBALS); break; } return true; }
/** * @copyright Copyright (C) 2009 Joobi Limited All rights reserved. * @license This file is released under the GPL license (http://www.gnu.org/licenses ) * @link http://www.ijoobi.com */ function mailing($action, $task, $listId, $listType, $mailingId, $message) { $showMailings = false; switch ($task) { case 'edit': if (ACA_CMSTYPE) { // joomla 15 $issue_nb = intval(JRequest::getVar('issue_nb', 1)); } else { //joomla 1x $issue_nb = intval(mosGetParam($_REQUEST, 'issue_nb', 1)); } //endif $list = lists::getOneList($listId); $mailing = xmailing::getOneMailing($list, $mailingId, $issue_nb, $new); $show = lisType::showType($mailing->list_type, 'editmailing'); if ($mailing->published != 1 or $mailing->list_type != 1 or isset($show['admin']) and $show['admin']) { $forms['main'] = " <form action='index2.php' method='post' enctype='multipart/form-data' name='adminForm'> \n "; xmailing::_header($task, $action, $mailing->list_type, $message, 'edit'); mailingsHTML::editMailing($mailing, $new, $listId, $forms, $show); $go[] = acajoom::makeObj('act', $action); backHTML::formEnd($go); } else { $forms['main'] = " <form action='index2.php' method='post' name='adminForm'> \n\r"; xmailing::_header($task, $action, $mailing->list_type, $message); //backHTML::formStart(); mailingsHTML::viewMailing($mailing, $forms); $go[] = acajoom::makeObj('act', 'mailing'); $go[] = acajoom::makeObj('task', 'viewmailing'); $go[] = acajoom::makeObj('listid', $mailing->list_id); backHTML::formEnd($go); } break; case 'new': case 'add': if ($listId == 0) { echo "<script> alert('" . addslashes(_ACA_SELCT_MAILING) . "'); window.history.go(-1);</script>\n"; return false; } else { $total = xmailing::countMailings($listId, ''); $total++; compa::redirect('index2.php?option=com_acajoom&act=mailing&task=edit&mailingid=0&issue_nb=' . $total . '&listid=' . $listId); } break; case 'saveSend': xmailing::saveMailing($mailingId, $listId); case 'sendNewsletter': if ($listId < 1 or $listType < 0) { $mailing = xmailing::getOneMailing('', $mailingId, '', $new, true); $listId = $mailing->list_id; $listType = $mailing->list_type; } if (lisType::sendType($listType)) { $checkStatus = lists::checkStatus($listId); if ($checkStatus == false) { $message = acajoom::printYN(0, _ACA_MESSAGE_SENT_SUCCESSFULLY, _ACA_NOT_PUBLISHED); $showMailings = true; } else { $receivers = subscribers::getSubscribers(-1, -1, '', $total, $listId, '', 1, 1, 'sub_emailA'); if (empty($receivers)) { $message = acajoom::printYN(0, _ACA_MESSAGE_SENT_SUCCESSFULLY, _ACA_NO_SUSCRIBERS); $showMailings = true; } else { $status = queue::sendNewsletter(true, $mailingId, $listId, $receivers, $message); $message = acajoom::printYN($status, _ACA_MESSAGE_SENT_SUCCESSFULLY, $message); $showMailings = true; flush(); sleep(5); compa::redirect('index2.php?option=com_acajoom&act=mailing&listype=' . $listType, $message); } } } else { if (class_exists('auto')) { $message = acajoom::printYN(auto::processQueue(true), _ACA_QUEUE_SENT_SUCCESS, _ACA_ERROR); } $showMailings = true; } break; case 'savePreview': xmailing::saveMailing($mailingId, $listId); case 'preview': if (ACA_CMSTYPE) { // joomla 15 $emailaddress = JRequest::getVar('emailaddress', ''); } else { //joomla 1x $emailaddress = mosGetParam($_REQUEST, 'emailaddress', ''); } //endif if (!empty($emailaddress)) { $status = xmailing::preview($mailingId, $listId, $message); $message = acajoom::printYN($status, _ACA_MESSAGE_SENT_SUCCESSFULLY, $message); } backHTML::_header(_ACA_PREVIEW_TITLE, 'preview_f2.png', $message, $task, $action); mailingsHTML::previewMailingHTML($mailingId, $listId, $listType); if ($listId > 0) { $archivemailing = xmailing::getMailingView($mailingId, $listId); } else { $archivemailing = xmailing::getMailingView($mailingId); } $forms['main'] = ''; $list = lists::getOneList($archivemailing->list_id); $textonly = ''; acajoom_mail::getContent($archivemailing->images, $list->layout, $archivemailing->htmlcontent, $textonly); acajoom_mail::replaceClass($archivemailing->htmlcontent, $textonly); mailingsHTML::viewMailing($archivemailing, $forms); break; case 'view': if ($mailingId != 0) { if ($listId > 0) { $archivemailing = xmailing::getMailingView($mailingId, $listId); } else { $archivemailing = xmailing::getMailingView($mailingId); } $forms['main'] = " <form action='index2.php' method='post' name='adminForm'> \n\r"; xmailing::_header($task, $action, $listType, $message); backHTML::formStart('', 0, ''); mailingsHTML::viewMailing($archivemailing, $forms); $go[] = acajoom::makeObj('act', 'mailing'); $go[] = acajoom::makeObj('task', 'viewmailing'); $go[] = acajoom::makeObj('listid', $archivemailing->list_id); backHTML::formEnd($go); } break; case 'deleteMailing': $d['mailing'] = xmailing::getOneMailing('', $mailingId, '', $new); $message = acajoom::printYN(xmailing::delete($d), @constant($GLOBALS[ACA . 'listname' . $d['mailing']->list_type]) . _ACA_SUCCESS_DELETED, _ACA_ERROR); $showMailings = true; break; case 'cancel': compa::redirect('index2.php?option=com_acajoom'); break; case 'copy': $message = acajoom::printYN(xmailing::copyMailing($mailingId), _ACA_MAILING_COPY, _ACA_ERROR); $showMailings = true; break; case 'cancelMailing': $showMailings = true; break; case 'publishMailing': $mailing = xmailing::getOneMailing('', $mailingId, '', $new); $message = acajoom::printYN(xmailing::publishMailing($mailingId), @constant($GLOBALS[ACA . 'listname' . $mailing->list_type]) . ' ' . _ACA_PUBLISHED, _ACA_ERROR); $showMailings = true; break; case 'unpublishMailing': $mailing = xmailing::getOneMailing('', $mailingId, '', $new); $message = acajoom::printYN(xmailing::unpublishMailing($mailingId), @constant($GLOBALS[ACA . 'listname' . $mailing->list_type]) . ' ' . _ACA_UNPUBLISHED, _ACA_ERROR); $showMailings = true; break; case 'cpanel': backHTML::controlPanel(); break; case 'save': $message = acajoom::printYN(xmailing::saveMailing($mailingId, $listId), _ACA_MAILING_SAVED, _ACA_ERROR); $showMailings = true; unset($GLOBALS["task"]); unset($_REQUEST["task"]); break; case 'show': default: $showMailings = true; break; } if ($showMailings) { xmailing::showMailings($task, $action, $listId, $listType, $message, true, _ACA_MENU_MAILING); } return true; }
function configuration($action, $task) { if (ACA_CMSTYPE) { $database =& JFactory::getDBO(); } else { global $database; } //endif $config = array(); $redirect = true; $xf = new xonfig(); if (ACA_CMSTYPE) { // joomla 15 $message = JRequest::getVar('message', ''); } else { //joomla 1x $message = mosGetParam($_REQUEST, 'message', ''); } //endif switch ($task) { case 'sendQueue': if (class_exists('auto')) { echo acajoom::printYN(auto::processQueue(true, true), 'Queue processed', _ACA_ERROR); } auto::displayStatus(); backHTML::_header(_ACA_MENU_CONF, 'menu.png', $message, $task, $action); configHTML::showConfigEdit($GLOBALS); break; case 'reset': $xf->update('next_autonews', ''); $xf->update('last_cron', ''); $xf->update('last_sub_update', ''); $query = "UPDATE #__acajoom_lists SET `next_date` = '0' WHERE list_type = 7"; $database->setQuery($query); $database->query(); echo acajoom::printYN(true, ' Smart-Newsletter counter reset successful! ', _ACA_ERROR); backHTML::_header(_ACA_MENU_CONF, 'menu.png', $message, $task, $action); configHTML::showConfigEdit($GLOBALS); break; case 'syncUsers': echo acajoom::printYN(subscribers::syncSubscribers(), _ACA_SYNC_USERS_SUCCESS, _ACA_ERROR); backHTML::_header(_ACA_MENU_CONF, 'menu.png', $message, $task, $action); configHTML::showConfigEdit($GLOBALS); break; case 'apply': if (ACA_CMSTYPE) { // joomla 15 $clear_log = JRequest::getVar('clear_log', '0'); } else { //joomla 1x $clear_log = mosGetParam($_REQUEST, 'clear_log', 0); } //endif if ($clear_log != 0) { unlink(ACA_JPATH_ROOT_NO_ADMIN . $GLOBALS[ACA . 'save_log_file']); } if (empty($config)) { $config = $_REQUEST['config']; } $message = strip_tags(acajoom::printYN($xf->saveConfig($config), _ACA_CONFIG_UPDATED, _ACA_ERROR)); $xf->updateActiveList(); compa::redirect('index2.php?option=com_acajoom&act=configuration&message=' . $message); break; case 'save': if (ACA_CMSTYPE) { // joomla 15 $clear_log = JRequest::getVar('clear_log', '0'); } else { //joomla 1x $clear_log = mosGetParam($_REQUEST, 'clear_log', 0); } //endif if ($clear_log != 0) { @unlink(ACA_JPATH_ROOT_NO_ADMIN . $GLOBALS[ACA . 'save_log_file']); } if (empty($config)) { $config = $_REQUEST['config']; } $message = acajoom::printYN($xf->saveConfig($config), _ACA_CONFIG_UPDATED, _ACA_ERROR); $xf->updateActiveList(); backHTML::controlPanel(); break; case 'cancel': compa::redirect('index2.php?option=com_acajoom'); break; case 'cpanel': backHTML::controlPanel(); break; default: backHTML::_header(_ACA_MENU_CONF, 'menu.png', $message, $task, $action); configHTML::showConfigEdit($GLOBALS); break; } return true; }