function updateList($listId, $listUpdated, $status, $new) { $erro = new xerr(__FILE__, __FUNCTION__, __CLASS__); $total = 0; @set_time_limit(0); if ($listUpdated->list_type != '7' and $listUpdated->delay_min > $listUpdated->delay_max) { $listUpdated->delay_min = $listUpdated->delay_max; } $erro->ck = lists::updateListData($listUpdated); if (!$erro->Eck(__LINE__, '8304')) { return false; } else { if ($listUpdated->auto_add == 2) { subscribers::updateSubscribers(true); $subscribers = subscribers::getSubscribers(-1, -1, '', $total, 0, '', 1, 1, ''); $subId = acajoom::convertObjectToIdList($subscribers, 'id'); if (!empty($subId)) { $erro->ck = queue::updateQueues($subId, '', $listId, $listUpdated->acc_id, $new); if (!$erro->Eck(__LINE__, '8305')) { return false; } } } elseif ($status == '' and $listUpdated->list_type == 2) { $queues = queue::getAllOneList($listId); $qid = acajoom::convertObjectToIdList($queues, 'qid'); $erro->ck = queue::updatePublished($qid, $status); if (!$erro->Eck(__LINE__, '8306')) { return false; } } else { if (class_exists('auto')) { auto::updateListNb($listUpdated->list_type, $listUpdated->id); } } } lisType::updateNewsletters(); return true; }
function writeLogs($list, $log_simple, $log_detailed) { global $database; if ($GLOBALS[ACA . 'send_log_simple']) { $send = $log_simple; } else { $send = $log_detailed; } if (lisType::sendLogs($list->list_type)) { $database->setQuery("SELECT * FROM `#__users` WHERE `gid` = 25 LIMIT 1"); $database->loadObject($admin); if ($GLOBALS[ACA . 'send_log'] == 1) { $owner = subscribers::getSubscriberIdFromUserId($list->owner, false); if (!empty($owner->email)) { mosMail($admin->email, $admin->username, $owner->email, 'Acajoom mailing report', $send); } else { mosMail($admin->email, $admin->username, $admin->email, 'Acajoom mailing report', $send); } } else { if ($GLOBALS[ACA . 'send_log_closed'] == 1 && connection_aborted()) { if (!empty($owner->email)) { mosMail($admin->email, $admin->username, $owner->email, 'Acajoom mailing report', $send); } else { mosMail($admin->email, $admin->username, $admin->email, 'Acajoom mailing report', $send); } } } } if ($GLOBALS[ACA . 'save_log']) { if ($GLOBALS[ACA . 'save_log_simple']) { @file_put_contents($GLOBALS['mosConfig_absolute_path'] . $GLOBALS[ACA . 'save_log_file'], $log_simple, FILE_APPEND); } else { @file_put_contents($GLOBALS['mosConfig_absolute_path'] . $GLOBALS[ACA . 'save_log_file'], $log_detailed, FILE_APPEND); } } }
function _header($task, $action, $listType, $message, $screen = '') { if ($screen == 'edit') { lisType::chooseType($task, $action, $listType, 'mailing_edit_header', $message, ''); } else { lisType::chooseType($task, $action, $listType, 'mailing_header', $message, ''); } }
/** * @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 subscribers($action, $task, $userid, $listId, $cid) { $erro = new xerr(__FILE__, __FUNCTION__); if (ACA_CMSTYPE) { // joomla 15 $subscriberId = intval(JRequest::getVar('subscriber_id', '')); $message = JRequest::getVar('message', ''); } else { //joomla 1x $subscriberId = intval(mosGetParam($_REQUEST, 'subscriber_id', '')); $message = mosGetParam($_REQUEST, 'message', ''); } //endif $doShowSubscribers = true; subscribers::updateSubscribers(); switch ($task) { case 'updateOneSub': $doShowSubscribers = true; $message = acajoom::printYN(subscribers::updateOneSubscriber(), _ACA_UPDATED_SUCCESSFULLY, _ACA_ERROR); backHTML::_header(_ACA_MENU_SUBSCRIBERS, 'addusers.png', $message, $task, $action); break; case 'deleteOneSub': $doShowSubscribers = true; $message = acajoom::printYN(subscribers::deleteOneSubscriber($subscriberId), _ACA_SUBSCRIBER_DELETED, _ACA_ERROR); backHTML::_header(_ACA_MENU_SUBSCRIBERS, 'addusers.png', $message, $task, $action); break; case 'cancelSub': $doShowSubscribers = true; backHTML::_header(_ACA_MENU_SUBSCRIBERS, 'addusers.png', $message, $task, $action); break; case 'edit': foreach ($cid as $id) { compa::redirect('index2.php?option=com_acajoom&act=subscribers&task=show&userid=' . $id); } break; case 'show': $doShowSubscribers = false; $qid[0] = $userid; $subscriber = subscribers::getSubscribersFromId($qid, false); $lists = lists::getLists(0, 0, 1, '', false, false); $queues = queue::getSubscriberLists($userid); $forms['main'] = " <form action='index2.php' method='post' name='adminForm'> \n"; backHTML::_header(_ACA_MENU_SUBSCRIBERS, 'addusers.png', $message, $task, $action); backHTML::formStart('', 0, ''); echo subscribersHTML::editSubscriber($subscriber, $lists, $queues, $forms, acajoom::checkPermissions('admin'), false, false); $go[] = acajoom::makeObj('act', $action); $go[] = acajoom::makeObj('subscriber_id', $subscriber->id); $go[] = acajoom::makeObj('user_id', $subscriber->user_id); backHTML::formEnd($go); break; case 'new': case 'add': $doShowSubscribers = false; $newSubscriber->id = ''; $newSubscriber->user_id = 0; $newSubscriber->name = ''; $newSubscriber->email = ''; $newSubscriber->receive_html = 1; $newSubscriber->confirmed = 1; $newSubscriber->blacklist = 0; $newSubscriber->timezone = '00:00:00'; $newSubscriber->language_iso = 'eng'; $newSubscriber->params = ''; $newSubscriber->subscribe_date = acajoom::getNow(); $lists = lists::getLists(0, 0, 1, '', false, false); $queues = ''; $forms['main'] = " <form action='index2.php' method='post' name='adminForm'> \n"; backHTML::_header(_ACA_MENU_SUBSCRIBERS, 'addusers.png', $message, $task, $action); backHTML::formStart('', 0, ''); echo subscribersHTML::editSubscriber($newSubscriber, $lists, $queues, $forms, acajoom::checkPermissions('admin'), false, false); $go[] = acajoom::makeObj('act', $action); $go[] = acajoom::makeObj('subscriber_id', $newSubscriber->id); $go[] = acajoom::makeObj('user_id', $newSubscriber->user_id); backHTML::formEnd($go); break; case 'doNew': $doShowSubscribers = true; $message = acajoom::printYN(subscribers::insertOneSubscriber(), _ACA_UPDATED_SUCCESSFULLY, _ACA_ERROR); backHTML::_header(_ACA_MENU_SUBSCRIBERS, 'addusers.png', $message, $task, $action); break; case 'delete': if (!is_array($cid) || count($cid) < 1) { echo "<script> alert('Select an item to delete'); window.history.go(-1);</script>\n"; return false; } else { $status = true; foreach ($cid as $id) { $erro->ck = subscribers::deleteOneSubscriber($id); if (!$erro->ck) { $status = false; } } $message = acajoom::printYN($status, _ACA_SUBSCRIBER_DELETED, _ACA_ERROR); backHTML::_header(_ACA_MENU_SUBSCRIBERS, 'addusers.png', $message, $task, $action); } break; case 'update': if (!is_array($cid) || count($cid) < 1) { echo "<script> alert('Select an item to update'); window.history.go(-1);</script>\n"; return false; } else { foreach ($cid as $id) { if (ACA_CMSTYPE) { // joomla 15 $changes = JRequest::getVar($id, array(0)); } else { //joomla 1x $changes = mosGetParam($_REQUEST, $id, array(0)); } //endif if (!isset($changes['receive_html'])) { $changes['receive_html'] = 0; } if (!isset($changes['confirmed'])) { $changes['confirmed'] = 0; } } } $message = acajoom::print_message(_ACA_UPDATED_SUCCESSFULLY, 1); break; case 'export': $doShowSubscribers = false; subscribersHTML::export($action, $listId); break; case 'doExport': $message = acajoom::printYN(subscribers::export($listId), _EXPORT, _ACA_ERROR); backHTML::_header(_ACA_MENU_SUBSCRIBERS, 'addusers.png', $message, $task, $action); break; case 'import': $doShowSubscribers = false; $lists = lists::getLists(0, 0, 1, 'listnameA', false, false, true); subscribersHTML::import($action, $lists); break; case 'doImport': $message = acajoom::printYN(subscribers::import($listId), _ACA_IMPORT_FINISHED, _ACA_ERROR); backHTML::_header(_ACA_MENU_SUBSCRIBERS, 'addusers.png', $message, $task, $action); break; break; case 'subscribeAll': break; case 'unsubscribeAll': break; case 'cancel': if ($listId != 0) { $listId = 0; } else { compa::redirect('index2.php?option=com_acajoom'); } backHTML::_header(_ACA_MENU_SUBSCRIBERS, 'addusers.png', $message, $task, $action); break; case 'cpanel': backHTML::controlPanel(); $doShowSubscribers = 0; break; default: backHTML::_header(_ACA_MENU_SUBSCRIBERS, 'addusers.png', $message, $task, $action); break; } if ($doShowSubscribers) { if (ACA_CMSTYPE) { // joomla 15 $start = intval(JRequest::getVar('start', 0)); $conf =& JFactory::getConfig(); $mail->Mailer = $conf->getValue('config.mailer'); // $GLOBALS['mosConfig_mailer']; $limit = intval(JRequest::getVar('limit', $conf->getValue('config.list_limit'))); $emailsearch = JRequest::getVar('emailsearch', ''); } else { //joomla 1x $mail->Mailer = $GLOBALS['mosConfig_mailer']; $start = intval(mosGetParam($_REQUEST, 'start', 0)); $limit = intval(mosGetParam($_REQUEST, 'limit', $GLOBALS['mosConfig_list_limit'])); $emailsearch = mosGetParam($_REQUEST, 'emailsearch', ''); } //endif $total = 0; $subscribers = subscribers::getSubscribers($start, $limit, $emailsearch, $total, $listId, '', '', '', 'sub_dateD'); if ($listId != 0) { $showAdmin = true; } else { $showAdmin = false; } $dropDownList = lisType::getListsDropList(0, '', ''); if (ACA_CMSTYPE) { // joomla 15 $lists['listid'] = JHTML::_('select.genericlist', $dropDownList, 'listid', 'class="inputbox" size="1" onchange="document.AcajoomFilterForm.submit();"', 'id', 'list_name', $listId); } else { //joomla 1x $lists['listid'] = mosHTML::selectList($dropDownList, 'listid', 'class="inputbox" size="1" onchange="document.AcajoomFilterForm.submit();"', 'id', 'list_name', $listId); } //endif $forms['main'] = " <form action='index2.php' method='post' name='adminForm'> \n"; $forms['select'] = " <form action='index2.php' method='post' name='AcajoomFilterForm'> \n"; backHTML::formStart('show_mailing', 0, ''); subscribersHTML::showSubscribers($subscribers, $action, $listId, $lists, $start, $limit, $total, $showAdmin, $listId, $emailsearch, $forms); } return true; }
function lists($action, $task, $listId, $listType) { global $database, $my; $message = ''; $xf = new xonfig(); $erro = new xerr(__FILE__, __FUNCTION__); $erro->show(); $showLists = true; switch ($task) { case 'new': if ($listType < 1) { $listType = 1; } $filename = $GLOBALS['mosConfig_absolute_path'] . '/components/com_acajoom/templates/default/default.html'; $handle = fopen($filename, "rb"); $template = fread($handle, filesize($filename)); fclose($handle); $template = str_replace('src="', 'src="' . $GLOBALS['mosConfig_live_site'] . '/', $template); $subscriber = subscribers::getSubscriberInfoFromUserId($my->id); $showLists = false; $newList->id = ''; $newList->html = 1; $newList->new_letter = 1; $newList->list_name = ''; $newList->list_desc = ''; $newList->sendername = $subscriber->name; $newList->senderemail = $subscriber->email; $newList->bounceadres = $subscriber->email; $newList->layout = $template; $newList->template = 0; $newList->hidden = 1; $newList->auto_add = 0; $newList->list_type = $listType; $newList->delay_min = 1; $newList->delay_max = 7; $newList->user_choose = 0; $newList->cat_id = 0; $newList->follow_up = ''; $newList->notify_id = 0; $newList->owner = $my->id; $newList->acc_level = 25; $newList->acc_id = 29; $newList->published = 0; $newList->start_date = date('Y-m-d', time()); $newList->next_date = time(); $newList->subscribemessage = _ACA_DEFAULT_SUBSCRIBE_MESS; $newList->unsubscribemessage = _ACA_DEFAULT_UNSUBSCRIBE_MESS; $newList->unsubscribesend = 1; $newList->footer = 1; $forms['main'] = " <form action='index2.php' method='post' name='adminForm'> \n "; $show = lisType::showType($newList->list_type, 'editlist'); backHTML::_header(_ACA_NEW . ' ' . _ACA_LIST, $GLOBALS[ACA . 'listlogo0'], $message, $task, $action); backHTML::formStart('listedit', $newList->html, ''); listsHTML::editList($newList, $forms, $show); $go[] = acajoom::makeObj('act', $action); $go[] = acajoom::makeObj('listid', $newList->id); backHTML::formEnd($go); break; case 'doNew': $listname = mosGetParam($_REQUEST, 'list_name', ''); $listType = mosGetParam($_REQUEST, 'list_type', 0); $now = acajoom::getNow(); $query = "SELECT `id` FROM `#__acajoom_lists` WHERE `list_name`= '{$listname}' "; $database->setQuery($query); $lId = $database->loadResult(); $erro->err = $database->getErrorMsg(); $erro->E(__LINE__, '1091', $database); if ($lId > 0) { echo "<script> alert(' This list already exist, please choose another name. '); window.history.go(-1);</script>\n"; return false; } else { $query = "INSERT INTO `#__acajoom_lists` (`list_name`,`createdate`) VALUES ( '" . addslashes($listname) . "' , '{$now}' )"; $database->setQuery($query); $database->query(); $erro->err = $database->getErrorMsg(); } if ($erro->E(__LINE__, '1001', $database)) { $query = "SELECT * FROM `#__acajoom_lists` WHERE `list_name`= '{$listname}' "; $database->setQuery($query); $database->loadObject($mynewlist); $mynewlist->list_name = stripslashes($mynewlist->list_name); $mynewlist->list_desc = stripslashes($mynewlist->list_desc); $mynewlist->layout = stripslashes($mynewlist->layout); $mynewlist->subscribemessage = stripslashes($mynewlist->subscribemessage); $mynewlist->unsubscribemessage = stripslashes($mynewlist->unsubscribemessage); $erro->err = $database->getErrorMsg(); $erro->E(__LINE__, '1005'); $listId = $mynewlist->id; $message = acajoom::printYN(lists::updateListFromEdit($listId, '', true), _ACA_LIST_ADDED, _ACA_ERROR); $xf->plus('totallist0', 1); $xf->plus('act_totallist0', 1); $xf->plus('totallist' . $listType, 1); $xf->plus('act_totallist' . $listType, 1); } break; case 'edit': if ($listId == 0) { echo "<script> alert('" . addslashes(_ACA_SELECT_LIST) . "'); window.history.go(-1);</script>\n"; return false; } else { $showLists = false; $query = 'SELECT * FROM `#__acajoom_lists` WHERE `id` = ' . intval($listId); $database->setQuery($query); $database->loadObject($listEdit); $erro->err = $database->getErrorMsg(); if (!$erro->E(__LINE__, '1002')) { return false; } else { $listEdit->list_name = stripslashes($listEdit->list_name); $listEdit->list_desc = stripslashes($listEdit->list_desc); $listEdit->layout = stripslashes($listEdit->layout); $listEdit->subscribemessage = stripslashes($listEdit->subscribemessage); $listEdit->unsubscribemessage = stripslashes($listEdit->unsubscribemessage); $listEdit->new_letter = 0; $forms['main'] = " <form action='index2.php' method='post' name='adminForm'> \n "; $show = lisType::showType($listEdit->list_type, 'editlist'); backHTML::_header(_ACA_EDIT_A . @constant($GLOBALS[ACA . 'listname' . $listEdit->list_type]) . ' ' . _ACA_LIST, $GLOBALS[ACA . 'listlogo0'], $message, $task, $action); backHTML::formStart('listedit', $listEdit->html, ''); listsHTML::editList($listEdit, $forms, $show); $go[] = acajoom::makeObj('act', $action); $go[] = acajoom::makeObj('listid', $listEdit->id); backHTML::formEnd($go); } } break; case 'update': $message = acajoom::printYN(lists::updateListFromEdit($listId, '', false), _ACA_LIST_UPDATED, _ACA_ERROR); break; case 'delete': $message = acajoom::printYN(lists::deleteList($listId), _ACA_LIST . _ACA_SUCCESS_DELETED, _ACA_ERROR); break; case 'copy': $message = acajoom::printYN(lists::copyList($listId), _ACA_LIST_COPY, _ACA_ERROR); break; case 'publish': $message = acajoom::printYN(lists::updateListFromList($listId, true, false), _ACA_PUBLISHED, _ACA_ERROR); break; case 'unpublish': $message = acajoom::printYN(lists::updateListFromList($listId, false, false), _ACA_UNPUBLISHED, _ACA_ERROR); break; case 'forms': case 'make': if (class_exists('createForm')) { createForm::taskOptions($task); $showLists = false; } else { $showLists = true; } break; case 'cpanel': backHTML::controlPanel(); return true; break; } if ($showLists) { backHTML::_header(_ACA_MENU_LIST, $GLOBALS[ACA . 'listlogo0'], $message, $task, $action); $show = lisType::showType(0, 'showListsBack'); $forms['main'] = " <form action='index2.php' method='post' name='adminForm'> \n"; backHTML::formStart('show_mailing', '', ''); $listing = lists::getLists(0, 0, 1, '', false, false, false); if ($show['list_type']) { $show['list_type'] = lisType::checkOthers(); } listsHTML::showListingLists($listing, $action, 'edit', $forms, $show); $go[] = acajoom::makeObj('act', $action); backHTML::formEnd($go); return true; } }
function prepList($listEdit) { global $my, $acl; $lists = array(); $jour = array(); $jour[] = mosHTML::makeOption('1', _ACA_AUTO_DAY_CH1); $jour[] = mosHTML::makeOption('3', _ACA_AUTO_DAY_CH3); $jour[] = mosHTML::makeOption('5', _ACA_AUTO_DAY_CH5); $jour[] = mosHTML::makeOption('6', _ACA_AUTO_DAY_CH6); $jour[] = mosHTML::makeOption('7', _ACA_AUTO_DAY_CH7); $jour[] = mosHTML::makeOption('8', _ACA_AUTO_DAY_CH8); $jour[] = mosHTML::makeOption('9', _ACA_AUTO_DAY_CH9); $auto_option[] = mosHTML::makeOption('0', _ACA_AUTO_OPTION_NONE); $auto_option[] = mosHTML::makeOption('1', _ACA_AUTO_OPTION_NEW); if ($listEdit->new_letter == 1) { $auto_option[] = mosHTML::makeOption('2', _ACA_AUTO_OPTION_ALL); } $lists['delay_min'] = mosHTML::selectList($jour, 'delay_min', 'class="inputbox" size="1"', 'value', 'text', $listEdit->delay_min); $lists['auto_add'] = mosHTML::radioList($auto_option, 'auto_add', 'class="inputbox"', $listEdit->auto_add); $lists['published'] = mosHTML::yesnoRadioList('published', 'class="inputbox"', $listEdit->published); $lists['hidden'] = mosHTML::yesnoRadioList('hidden', 'class="inputbox"', $listEdit->hidden); $lists_option = lisType::getListOption(); $lists['list_type'] = listsHTML::aca_radioList($lists_option, 'list_type', 'class="inputbox"', $listEdit->list_type); $lists['html_mailings'] = mosHTML::yesnoRadioList('html', 'class="inputbox"', $listEdit->html); $lists['unsubscribesend'] = mosHTML::yesnoRadioList("unsubscribesend", 'class="inputbox"', $listEdit->unsubscribesend); $lists['footer'] = mosHTML::yesnoRadioList("footer", 'class="inputbox"', $listEdit->footer); $my_group = strtolower($acl->get_group_name($listEdit->acc_id, 'ARO')); $gtree = $acl->get_group_children_tree(null, 'USERS', false); $lists['gid'] = mosHTML::selectList($gtree, 'acc_id', 'size="10"', 'value', 'text', $listEdit->acc_id); $lists['edit_perms'] = mosHTML::selectList($gtree, 'acc_level', 'size="10"', 'value', 'text', $listEdit->acc_level); return $lists; }
function writeLogs($list, $log_simple, $log_detailed) { if (ACA_CMSTYPE) { $database =& JFactory::getDBO(); } else { global $database; } //endif if ($GLOBALS[ACA . 'send_log_simple']) { $send = $log_simple; } else { $send = $log_detailed; } if (lisType::sendLogs($list->list_type)) { $database->setQuery("SELECT * FROM `#__users` WHERE `gid` = 25 LIMIT 1"); if (ACA_CMSTYPE) { // joomla 15 $admin = $database->loadObject(); $owner = subscribers::getSubscriberInfoFromUserId($list->owner); if ($GLOBALS[ACA . 'send_log'] == 1) { if (!empty($owner->email)) { JUTility::sendMail($admin->email, $admin->username, $owner->email, 'Acajoom mailing report', $send); } else { JUTility::sendMail($admin->email, $admin->username, $admin->email, 'Acajoom mailing report', $send); } } else { if ($GLOBALS[ACA . 'send_log_closed'] == 1 && connection_aborted()) { if (!empty($owner->email)) { JUTility::sendMail($admin->email, $admin->username, $owner->email, 'Acajoom mailing report', $send); } else { JUTility::sendMail($admin->email, $admin->username, $admin->email, 'Acajoom mailing report', $send); } } } } else { //joomla 1x $database->loadObject($admin); $owner = subscribers::getSubscriberInfoFromUserId($list->owner); if ($GLOBALS[ACA . 'send_log'] == 1) { if (!empty($owner->email)) { mosMail($admin->email, $admin->username, $owner->email, 'Acajoom mailing report', $send); } else { mosMail($admin->email, $admin->username, $admin->email, 'Acajoom mailing report', $send); } } else { if ($GLOBALS[ACA . 'send_log_closed'] == 1 && connection_aborted()) { if (!empty($owner->email)) { mosMail($admin->email, $admin->username, $owner->email, 'Acajoom mailing report', $send); } else { mosMail($admin->email, $admin->username, $admin->email, 'Acajoom mailing report', $send); } } } } //endif } if ($GLOBALS[ACA . 'save_log']) { if ($GLOBALS[ACA . 'save_log_simple']) { @file_put_contents(ACA_JPATH_ROOT_NO_ADMIN . $GLOBALS[ACA . 'save_log_file'], $log_simple, FILE_APPEND); } else { @file_put_contents(ACA_JPATH_ROOT_NO_ADMIN . $GLOBALS[ACA . 'save_log_file'], $log_detailed, FILE_APPEND); } } }
/** * @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 mailingEdit($subscriberId, $mailingId, $listId, $listType, $action) { global $my, $Itemid; if (ACA_CMSTYPE) { // joomla 15 $issue_nb = JRequest::getVar('issue_nb', '0'); $my =& JFactory::getUser(); } else { //joomla 1x $issue_nb = intval(mosGetParam($_REQUEST, 'issue_nb', 0)); global $my; } //endif $accessGrant = false; $new = 0; if (class_exists('pro')) { if ($issue_nb == 0) { $issue_nb = xmailing::countMailings($listId, ''); $issue_nb++; } if ($listId > 0) { $list = lists::getOneList($listId); $mailing = xmailing::getOneMailing($list, $mailingId, $issue_nb, $new); $acc_level = $list->acc_level; } else { return false; } if (acajoom::checkPermissions('hello', 0, $acc_level)) { $accessGrant = true; } } else { if ($subscriberId != 0 and ($my->usertype == 'Administrator' or $my->usertype == 'Super Administrator')) { $accessGrant = true; } } if ($accessGrant) { if ($issue_nb == 0) { $issue_nb = xmailing::countMailings($listId, ''); $issue_nb++; } if (empty($mailing)) { if ($mailingId > 0) { $mailing = xmailing::getOneMailing('', $mailingId, $issue_nb, $new); } else { if ($listId > 0) { $list = lists::getOneList($listId); $mailing = xmailing::getOneMailing($list, $mailingId, $issue_nb, $new); } else { return false; } } } $mainLink = '.php?option=com_acajoom&act=savemailing'; compa::completeLink($mainLink, false); $forms['main'] = '<form method="post" enctype="multipart/form-data" action="' . $mainLink . '" onsubmit="submitbutton();return false;" name="adminForm" >' . "\n\r"; $forms['main'] .= '<input type="hidden" name="Itemid" value="' . $Itemid . '" />'; $show = lisType::showType($mailing->list_type, 'editmailing'); frontHTML::formStart(_ACA_EDIT_A . @constant($GLOBALS[ACA . 'listname' . $mailing->list_type]), $mailing->html, 'edit_mailing'); mailingsHTML::editMailing($mailing, $new, $listId, $forms, $show); $go[] = acajoom::makeObj('act', $action); frontHTML::formEnd(_CMN_SAVE . ' ' . @constant($GLOBALS[ACA . 'listname' . $mailing->list_type]), $go); } else { echo acajoom::printM('red', _NOT_AUTH); } return true; }
function prepList($listEdit) { $lists = array(); $jour = array(); if (ACA_CMSTYPE) { // joomla 15 $my =& JFactory::getUser(); $acl =& JFactory::getACL(); $gtree = $acl->get_group_children_tree(null, 'USERS', false); $jour[] = JHTML::_('select.option', '1800', 'Every 30 minutes'); $jour[] = JHTML::_('select.option', '3600', 'Every hour'); $jour[] = JHTML::_('select.option', '43200', 'Every 12 hours'); $jour[] = JHTML::_('select.option', '1', _ACA_AUTO_DAY_CH1); $jour[] = JHTML::_('select.option', '3', _ACA_AUTO_DAY_CH3); $jour[] = JHTML::_('select.option', '5', _ACA_AUTO_DAY_CH5); $jour[] = JHTML::_('select.option', '6', _ACA_AUTO_DAY_CH6); $jour[] = JHTML::_('select.option', '7', _ACA_AUTO_DAY_CH7); $jour[] = JHTML::_('select.option', '8', _ACA_AUTO_DAY_CH8); $jour[] = JHTML::_('select.option', '9', _ACA_AUTO_DAY_CH9); $auto_option[] = JHTML::_('select.option', '0', _ACA_AUTO_OPTION_NONE); $auto_option[] = JHTML::_('select.option', '1', _ACA_AUTO_OPTION_NEW); if ($listEdit->new_letter == 1) { $auto_option[] = JHTML::_('select.option', '2', _ACA_AUTO_OPTION_ALL); } $lists['delay_min'] = JHTML::_('select.genericlist', $jour, 'delay_min', 'class="inputbox" size="1"', 'value', 'text', $listEdit->delay_min); $lists['gid'] = JHTML::_('select.genericlist', $gtree, 'acc_id', 'size="10"', 'value', 'text', $listEdit->acc_id); $lists['edit_perms'] = JHTML::_('select.genericlist', $gtree, 'acc_level', 'size="10"', 'value', 'text', $listEdit->acc_level); $lists['auto_add'] = JHTML::_('select.genericlist', $auto_option, 'auto_add', 'class="inputbox"', 'value', 'text', $listEdit->auto_add); $lists['published'] = JHTML::_('select.booleanlist', 'published', 'class="inputbox"', $listEdit->published); $lists['hidden'] = JHTML::_('select.booleanlist', 'hidden', 'class="inputbox"', $listEdit->hidden); $lists_option = lisType::getListOption(); $lists['list_type'] = listsHTML::aca_radioList($lists_option, 'list_type', 'class="inputbox"', $listEdit->list_type); $lists['html_mailings'] = JHTML::_('select.booleanlist', 'html', 'class="inputbox"', $listEdit->html); $lists['unsubscribesend'] = JHTML::_('select.booleanlist', "unsubscribesend", 'class="inputbox"', $listEdit->unsubscribesend); $lists['footer'] = JHTML::_('select.booleanlist', "footer", 'class="inputbox"', $listEdit->footer); } else { //joomla 1x global $acl, $my; $gtree = $acl->get_group_children_tree(null, 'USERS', false); $jour[] = mosHTML::makeOption('1', _ACA_AUTO_DAY_CH1); $jour[] = mosHTML::makeOption('3', _ACA_AUTO_DAY_CH3); $jour[] = mosHTML::makeOption('5', _ACA_AUTO_DAY_CH5); $jour[] = mosHTML::makeOption('6', _ACA_AUTO_DAY_CH6); $jour[] = mosHTML::makeOption('7', _ACA_AUTO_DAY_CH7); $jour[] = mosHTML::makeOption('8', _ACA_AUTO_DAY_CH8); $jour[] = mosHTML::makeOption('9', _ACA_AUTO_DAY_CH9); $jour[] = mosHTML::makeOption('1800', 'Every 30 minutes'); $jour[] = mosHTML::makeOption('3600', 'Every hour'); $auto_option[] = mosHTML::makeOption('0', _ACA_AUTO_OPTION_NONE); $auto_option[] = mosHTML::makeOption('1', _ACA_AUTO_OPTION_NEW); if ($listEdit->new_letter == 1) { $auto_option[] = mosHTML::makeOption('2', _ACA_AUTO_OPTION_ALL); } $lists['delay_min'] = mosHTML::selectList($jour, 'delay_min', 'class="inputbox" size="1"', 'value', 'text', $listEdit->delay_min); $lists['gid'] = mosHTML::selectList($gtree, 'acc_id', 'size="10"', 'value', 'text', $listEdit->acc_id); $lists['edit_perms'] = mosHTML::selectList($gtree, 'acc_level', 'size="10"', 'value', 'text', $listEdit->acc_level); $lists['auto_add'] = mosHTML::radioList($auto_option, 'auto_add', 'class="inputbox"', $listEdit->auto_add); $lists['published'] = mosHTML::yesnoRadioList('published', 'class="inputbox"', $listEdit->published); $lists['hidden'] = mosHTML::yesnoRadioList('hidden', 'class="inputbox"', $listEdit->hidden); $lists_option = lisType::getListOption(); $lists['list_type'] = listsHTML::aca_radioList($lists_option, 'list_type', 'class="inputbox"', $listEdit->list_type); $lists['html_mailings'] = mosHTML::yesnoRadioList('html', 'class="inputbox"', $listEdit->html); $lists['unsubscribesend'] = mosHTML::yesnoRadioList("unsubscribesend", 'class="inputbox"', $listEdit->unsubscribesend); $lists['footer'] = mosHTML::yesnoRadioList("footer", 'class="inputbox"', $listEdit->footer); } //endif $my_group = strtolower($acl->get_group_name($listEdit->acc_id, 'ARO')); return $lists; }