function export() { $selectedMail = JRequest::getInt('filter_mail', 0); $selectedStatus = JRequest::getString('filter_status', ''); $filters = array(); if (!empty($selectedMail)) { $filters[] = 'a.mailid = ' . $selectedMail; } if (!empty($selectedStatus)) { if ($selectedStatus == 'bounce') { $filters[] = 'a.bounce > 0'; } elseif ($selectedStatus == 'open') { $filters[] = 'a.open > 0'; } elseif ($selectedStatus == 'notopen') { $filters[] = 'a.open < 1'; } elseif ($selectedStatus == 'failed') { $filters[] = 'a.fail > 0'; } } $query = 'SELECT `subid` FROM `#__acymailing_userstats` as a '; if (!empty($filters)) { $query .= ' WHERE (' . implode(') AND (', $filters) . ')'; } $db =& JFactory::getDBO(); $db->setQuery($query); $_SESSION['acymailing']['exportusers'] = $db->loadResultArray(); $this->setRedirect(acymailing::completeLink('data&task=export&sessionvalues=1', false, true)); }
function export() { $listClass = acymailing::get('class.list'); $db =& JFactory::getDBO(); $fields = reset($db->getTableFields(acymailing::table('subscriber'))); acymailing::setTitle(JText::_('ACY_EXPORT'), 'acyexport', 'data&task=export'); $bar =& JToolBar::getInstance('toolbar'); JToolBarHelper::custom('doexport', 'acyexport', '', JText::_('ACY_EXPORT'), false); $bar->appendButton('Link', 'cancel', JText::_('ACY_CANCEL'), acymailing::completeLink('subscriber')); JToolBarHelper::divider(); $bar->appendButton('Pophelp', 'data-export'); $this->assignRef('charset', $charsetType = acymailing::get('type.charset')); $this->assignRef('lists', $listClass->getLists()); $this->assignRef('fields', $fields); if (JRequest::getInt('sessionvalues') and !empty($_SESSION['acymailing']['exportusers'])) { $i = 1; $subids = array(); foreach ($_SESSION['acymailing']['exportusers'] as $subid) { $subids[] = (int) $subid; $i++; if ($i > 10) { break; } } $db->setQuery('SELECT `name`,`email` FROM `#__acymailing_subscriber` WHERE `subid` IN (' . implode(',', $subids) . ')'); $users = $db->loadObjectList(); $this->assignRef('users', $users); } }
function continuesend() { $config = acymailing::config(); $newcrontime = time() + 120; if ($config->get('cron_next') < $newcrontime) { $newValue = null; $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(); $alreadySent = $alreadySent + $helperQueue->nbprocess; if (!$helperQueue->finish) { $app =& JFactory::getApplication(); $app->redirect(acymailing::completeLink('send&task=continuesend&mailid=' . $mailid . '&alreadysent=' . $alreadySent . '&totalsend=' . $totalSend, true, true)); exit; } ob_start(); }
function listing() { $app =& JFactory::getApplication(); $pageInfo = null; $paramBase = ACYMAILING_COMPONENT . '.' . $this->getName(); $pageInfo->filter->order->value = $app->getUserStateFromRequest($paramBase . ".filter_order", 'filter_order', 'a.listid', 'cmd'); $pageInfo->filter->order->dir = $app->getUserStateFromRequest($paramBase . ".filter_order_Dir", 'filter_order_Dir', 'desc', 'word'); $pageInfo->search = $app->getUserStateFromRequest($paramBase . ".search", 'search', '', 'string'); $pageInfo->search = JString::strtolower($pageInfo->search); $selectedCreator = $app->getUserStateFromRequest($paramBase . "filter_creator", 'filter_creator', 0, 'int'); $pageInfo->limit->value = $app->getUserStateFromRequest($paramBase . '.list_limit', 'limit', $app->getCfg('list_limit'), 'int'); $pageInfo->limit->start = $app->getUserStateFromRequest($paramBase . '.limitstart', 'limitstart', 0, 'int'); $database =& JFactory::getDBO(); $filters = array(); if (!empty($pageInfo->search)) { $searchVal = '\'%' . $database->getEscaped($pageInfo->search) . '%\''; $filters[] = "a.name LIKE {$searchVal} OR a.description LIKE {$searchVal} OR a.listid LIKE {$searchVal}"; } $filters[] = 'a.type = \'campaign\''; if (!empty($selectedCreator)) { $filters[] = 'a.userid = ' . $selectedCreator; } $query = 'SELECT SQL_CALC_FOUND_ROWS a.*, d.name as creatorname, d.username, d.email'; $query .= ' FROM ' . acymailing::table('list') . ' as a'; $query .= ' LEFT JOIN ' . acymailing::table('users', false) . ' as d on a.userid = d.id'; $query .= ' WHERE (' . implode(') AND (', $filters) . ') '; $query .= ' GROUP BY a.listid'; if (!empty($pageInfo->filter->order->value)) { $query .= ' ORDER BY ' . $pageInfo->filter->order->value . ' ' . $pageInfo->filter->order->dir; } $database->setQuery($query, $pageInfo->limit->start, $pageInfo->limit->value); $rows = $database->loadObjectList(); $database->setQuery('SELECT FOUND_ROWS()'); $pageInfo->elements->total = $database->loadResult(); if (!empty($pageInfo->search)) { $rows = acymailing::search($pageInfo->search, $rows); } $pageInfo->elements->page = count($rows); $followupClass = acymailing::get('class.listmail'); if (!empty($rows)) { foreach ($rows as $id => $onerow) { $rows[$id]->followup = $followupClass->getFollowup($onerow->listid); } } jimport('joomla.html.pagination'); $pagination = new JPagination($pageInfo->elements->total, $pageInfo->limit->start, $pageInfo->limit->value); acymailing::setTitle(JText::_('CAMPAIGN'), 'campaign', 'campaign'); JToolBarHelper::addNew(); JToolBarHelper::editList(); JToolBarHelper::deleteList(JText::_('VALIDDELETEITEMS', true)); JToolBarHelper::divider(); $bar =& JToolBar::getInstance('toolbar'); $bar->appendButton('Pophelp', 'campaign-listing'); $bar->appendButton('Link', 'acymailing', JText::_('JOOMEXT_CPANEL'), acymailing::completeLink('dashboard')); $this->assignRef('rows', $rows); $this->assignRef('pageInfo', $pageInfo); $this->assignRef('pagination', $pagination); $this->assignRef('toggleClass', acymailing::get('helper.toggle')); $this->assignRef('delay', acymailing::get('type.delaydisp')); }
function massremove() { JRequest::checkToken() or die('Invalid Token'); $importHelper = acymailing::get('helper.import'); if (!$importHelper->mass(false)) { return $this->addusers(); } $this->setRedirect(acymailing::completeLink('list', false, true)); }
function doimport() { JRequest::checkToken() or die('Invalid Token'); $function = JRequest::getCmd('importfrom'); $importHelper = acymailing::get('helper.import'); if (!$importHelper->{$function}()) { return $this->import(); } $this->setRedirect(acymailing::completeLink('subscriber', false, true)); }
function _quickiconButton($link, $image, $text, $description, $level) { $url = acymailing::level($level) ? 'onclick="document.location.href=\'' . acymailing::completeLink($link) . '\';"' : ''; $html = '<div style="float:left;width: 100%;" ' . $url . ' class="icon"><a href="'; $html .= acymailing::level($level) ? acymailing::completeLink($link) : '#'; $html .= '"><table width="100%"><tr><td style="text-align: center;" width="120px">'; $html .= '<span class="icon-48-' . $image . '" style="background-repeat:no-repeat;background-position:center;height:48px" title="' . $text . '"> </span>'; $html .= '<span>' . $text . '</span></td><td>' . $description . '</td></tr></table></a>'; $html .= '</div>'; return $html; }
function update() { $config = acymailing::config(); if (!acymailing::isAllowed($config->get('acl_config_manage', 'all'))) { acymailing::display(JText::_('ACY_NOTALLOWED'), 'error'); return false; } acymailing::setTitle(JText::_('UPDATE_ABOUT'), 'install', 'update'); $bar =& JToolBar::getInstance('toolbar'); $bar->appendButton('Link', 'back', JText::_('ACY_CLOSE'), acymailing::completeLink('dashboard')); return $this->_iframe(ACYMAILING_UPDATEURL . 'update'); }
function export() { if (!$this->isAllowed('subscriber', 'export')) { return; } $cids = JRequest::getVar('cid'); if (!empty($cids)) { $_SESSION['acymailing']['exportusers'] = $cids; $this->setRedirect(acymailing::completeLink('data&task=export&sessionvalues=1', false, true)); } else { $this->setRedirect(acymailing::completeLink('data&task=export', false, true)); } }
function display($tpl = null) { global $Itemid; $db =& JFactory::getDBO(); $app =& JFactory::getApplication(); $document =& JFactory::getDocument(); $params =& $app->getParams(); $feedEmail = @$app->getCfg('feed_email') ? $app->getCfg('feed_email') : 'author'; $siteEmail = $app->getCfg('mailfrom'); $menus =& JSite::getMenu(); $menu = $menus->getActive(); if (empty($menu) and !empty($Itemid)) { $menus->setActive($Itemid); $menu = $menus->getItem($Itemid); } $myItem = empty($Itemid) ? '' : '&Itemid=' . $Itemid; if (is_object($menu)) { jimport('joomla.html.parameter'); $menuparams = new JParameter($menu->params); } $listid = acymailing::getCID('listid'); if (empty($listid) and !empty($menuparams)) { $listid = $menuparams->get('listid'); } $document->link = acymailing::completeLink('archive&listid=' . intval($listid)); $listClass = acymailing::get('class.list'); if (empty($listid)) { return JError::raiseError(404, 'Mailing List not found'); } $oneList = $listClass->get($listid); if (empty($oneList->listid)) { return JError::raiseError(404, 'Mailing List not found : ' . $listid); } if (!acymailing::isAllowed($oneList->access_sub) || !$oneList->published || !$oneList->visible) { return JError::raiseError(404, JText::_('ACY_NOTALLOWED')); } $filters = array(); $filters[] = 'a.type = \'news\''; $filters[] = 'a.published = 1'; $filters[] = 'a.visible = 1'; $filters[] = 'c.listid = ' . $oneList->listid; $query = 'SELECT a.*'; $query .= ' FROM ' . acymailing::table('listmail') . ' as c'; $query .= ' LEFT JOIN ' . acymailing::table('mail') . ' as a on a.mailid = c.mailid '; $query .= ' WHERE (' . implode(') AND (', $filters) . ')'; $query .= ' ORDER BY a.senddate DESC, c.mailid DESC'; $db->setQuery($query, 0, $app->getCfg('feed_limit')); $rows = $db->loadObjectList(); foreach ($rows as $row) { } }
function view() { $mailid = acymailing::getCID('mailid'); if (empty($mailid)) { $db =& JFactory::getDBO(); $query = 'SELECT m.`mailid` FROM `#__acymailing_list` as l LEFT JOIN `#__acymailing_listmail` as lm ON l.listid=lm.listid LEFT JOIN `#__acymailing_mail` as m on lm.mailid = m.mailid'; $query .= ' WHERE l.`visible` = 1 AND l.`published` = 1 AND m.`visible`= 1 AND m.`published` = 1'; if (!empty($listid)) { $query .= ' AND l.`listid` = ' . (int) $listid; } $query .= ' ORDER BY m.`mailid` DESC LIMIT 1'; $db->setQuery($query); $mailid = $db->loadResult(); if (empty($mailid)) { return JError::raiseError(404, 'Newsletter not found'); } } $access_sub = true; $mailClass = acymailing::get('helper.mailer'); $oneMail = $mailClass->load($mailid); if (empty($oneMail->mailid)) { return JError::raiseError(404, 'Newsletter not found : ' . $mailid); } if (!$access_sub or !$oneMail->published or !$oneMail->visible) { $key = JRequest::getString('key'); if (empty($key) or $key !== $oneMail->key) { $app =& JFactory::getApplication(); $app->enqueueMessage('You can not have access to this e-mail', 'error'); $app->redirect(acymailing::completeLink('lists', false, true)); return false; } } $user =& JFactory::getUser(); if (!empty($user->email)) { $userClass = acymailing::get('class.subscriber'); $receiver = $userClass->get($user->email); } else { $receiver = null; $receiver->name = JText::_('VISITOR'); } $oneMail->sendHTML = true; $mailClass->dispatcher->trigger('acymailing_replaceusertagspreview', array(&$oneMail, &$receiver)); $document =& JFactory::getDocument(); $document->setTitle($oneMail->subject); if (!empty($oneMail->text)) { echo nl2br($mailClass->textVersion($oneMail->text, false)); } else { echo nl2br($mailClass->textVersion($oneMail->body, true)); } }
function subscribe() { $user = JFactory::getUser(); $userClass = acymailing::get('class.subscriber'); if (!empty($user->id) and $userClass->identify(true)) { return $this->modify(); } $config = acymailing::config(); $allowvisitor = $config->get('allow_visitor', 1); if (empty($allowvisitor)) { $app =& JFactory::getApplication(); $app->enqueueMessage(JText::_('ONLY_LOGGED'), 'notice'); $app->redirect(acymailing::completeLink('lists', false, true)); return; } JRequest::setVar('layout', 'modify'); return parent::display(); }
function display($tpl = null) { include ACYMAILING_FRONT . 'inc' . DS . 'openflash' . DS . 'php-ofc-library' . DS . 'open-flash-chart.php'; $function = $this->getLayout(); $this->setLayout('diagram'); if (method_exists($this, $function)) { $this->{$function}(); } $filters = null; $diagramType = acymailing::get('type.diagram'); $filters->task = $diagramType->display('task', JRequest::getCmd('task')); $this->assignRef('filters', $filters); $bar =& JToolBar::getInstance('toolbar'); $bar->appendButton('Link', 'back', JText::_('GLOBAL_STATISTICS'), acymailing::completeLink('stats')); JToolBarHelper::divider(); $bar->appendButton('Pophelp', 'diagram-' . JRequest::getCmd('task', 'lists')); parent::display($tpl); }
function export() { $selectedMail = JRequest::getInt('filter_mail', 0); $selectedUrl = JRequest::getInt('filter_url', 0); $filters = array(); if (!empty($selectedMail)) { $filters[] = 'a.mailid = ' . $selectedMail; } if (!empty($selectedMail)) { $filters[] = 'a.urlid = ' . $selectedUrl; } $query = 'SELECT `subid` FROM `#__acymailing_urlclick` as a '; if (!empty($filters)) { $query .= ' WHERE (' . implode(') AND (', $filters) . ')'; } $db =& JFactory::getDBO(); $db->setQuery($query); $_SESSION['acymailing']['exportusers'] = $db->loadResultArray(); $this->setRedirect(acymailing::completeLink('data&task=export&sessionvalues=1', true, true)); }
function send() { if (!$this->isAllowed('newsletters', 'send')) { return; } JRequest::checkToken() or die('Invalid Token'); $mailid = acymailing::getCID('mailid'); if (empty($mailid)) { exit; } $user =& JFactory::getUser(); $time = time(); $queueClass = acymailing::get('class.queue'); $onlyNew = JRequest::getInt('onlynew'); $totalSub = $queueClass->queue($mailid, $time, $onlyNew); if (empty($totalSub)) { acymailing::display(JText::_('NO_RECEIVER'), 'warning'); return; } $mailObject = null; $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 listing() { $db =& JFactory::getDBO(); $db->setQuery('SELECT * FROM `#__acymailing_fields` ORDER BY `ordering` ASC'); $rows = $db->loadObjectList(); $bar =& JToolBar::getInstance('toolbar'); JToolBarHelper::addNew(); JToolBarHelper::editList(); JToolBarHelper::deleteList(JText::_('VALIDDELETEITEMS')); JToolBarHelper::divider(); $bar->appendButton('Pophelp', 'fields-listing'); $bar->appendButton('Link', 'acymailing', JText::_('JOOMEXT_CPANEL'), acymailing::completeLink('dashboard')); jimport('joomla.html.pagination'); $total = count($rows); $pagination = new JPagination($total, 0, $total); acymailing::setTitle(JText::_('EXTRA_FIELDS'), 'fields', 'fields'); $this->assignRef('rows', $rows); $this->assignRef('toggleClass', acymailing::get('helper.toggle')); $this->assignRef('pagination', $pagination); $this->assignRef('fieldtype', acymailing::get('type.fields')); $this->assignRef('fieldsClass', acymailing::get('class.fields')); }
$k = 0; $my = JFactory::getUser(); foreach ($this->rows as $i => $oneList) { $row =& $this->rows[$i]; $frontEndAccess = true; $frontEndManagement = false; if (!$frontEndManagement and (!$frontEndAccess or !$row->published or !$row->visible)) { continue; } ?> <div class="<?php echo "acymailing_list acymailing_row{$k}"; ?> "> <div class="list_name"><a href="<?php echo acymailing::completeLink('archive&listid=' . $row->listid . '-' . $row->alias . $this->item); ?> "><?php echo $row->name; ?> </a></div> <div class="list_description"><?php echo $row->description; ?> </div> </div> <?php $k = 1 - $k; } ?> </div>
function form() { $subid = acymailing::getCID('subid'); if (!empty($subid)) { $subscriberClass = acymailing::get('class.subscriber'); $subscriber = $subscriberClass->getFull($subid); $subscription = $subscriberClass->getSubscription($subid); } else { $listType = acymailing::get('class.list'); $subscription = $listType->getLists(); $subscriber = null; $subscriber->created = time(); $subscriber->html = 1; $subscriber->confirmed = 1; $subscriber->blocked = 0; $subscriber->accept = 1; $subscriber->enabled = 1; $iphelper = acymailing::get('helper.user'); $subscriber->ip = $iphelper->getIP(); } if (acymailing::level(3)) { $fieldsClass = acymailing::get('class.fields'); $this->assignRef('fieldsClass', $fieldsClass); $this->assignRef('extraFields', $fieldsClass->getFields('backend', $subscriber)); } acymailing::setTitle(JText::_('USER'), 'user', 'subscriber&task=edit&subid=' . $subid); $bar =& JToolBar::getInstance('toolbar'); if (!empty($subid) && acymailing::level(2)) { $bar->appendButton('Popup', 'send', JText::_('SEND'), acymailing::completeLink("send&task=addqueue&subid=" . $subid, true)); JToolBarHelper::divider(); } if (!empty($subscriber->userid)) { $bar->appendButton('Link', 'edit', JText::_('EDIT_JOOMLA_USER'), 'index.php?option=com_users&task=edit&cid[]=' . $subscriber->userid); JToolBarHelper::spacer(); } JToolBarHelper::save(); JToolBarHelper::apply(); JToolBarHelper::cancel(); JToolBarHelper::divider(); $bar->appendButton('Pophelp', 'subscriber-form'); $filters = null; $quickstatusType = acymailing::get('type.statusquick'); $filters->statusquick = $quickstatusType->display('statusquick'); $this->assignRef('subscriber', $subscriber); $this->assignRef('subscription', $subscription); $this->assignRef('filters', $filters); $this->assignRef('statusType', acymailing::get('type.status')); }
</td> <?php foreach ($this->displayFields as $map => $oneField) { if ($map == 'html') { continue; } ?> <td> <?php if ($map == 'name' and empty($row->accept)) { $text = JText::_('USER_REFUSE', true); echo JHTML::_('tooltip', $text, '', 'warning.png'); } if ($map == 'email') { echo '<a href="' . acymailing::completeLink('subscriber&task=edit&subid=' . $row->subid) . '">'; } echo $row->{$map}; if ($map == 'email') { echo '</a>'; } ?> </td> <?php } if (acymailing::level(2)) { include dirname(__FILE__) . DS . 'level2.' . basename(__FILE__); } ?>
function view() { $app =& JFactory::getApplication(); $pathway =& $app->getPathway(); $my = JFactory::getUser(); $frontEndManagement = false; $listid = acymailing::getCID('listid'); if (!empty($listid)) { $listClass = acymailing::get('class.list'); $oneList = $listClass->get($listid); if (!empty($oneList->visible) and $oneList->published) { $pathway->addItem($oneList->name, acymailing::completeLink('archive&listid=' . $oneList->listid . ':' . $oneList->alias)); } if (!empty($oneList->listid) and acymailing::level(3)) { if (!empty($my->id) and (int) $my->id == (int) $oneList->userid) { $frontEndManagement = true; } if (!empty($my->gid) and !empty($my->id)) { if ($oneList->access_manage == 'all' or in_array($my->gid, explode(',', $oneList->access_manage))) { $frontEndManagement = true; } } } } $mailid = acymailing::getCID('mailid'); if (empty($mailid)) { $db =& JFactory::getDBO(); $query = 'SELECT m.`mailid` FROM `#__acymailing_list` as l LEFT JOIN `#__acymailing_listmail` as lm ON l.listid=lm.listid LEFT JOIN `#__acymailing_mail` as m on lm.mailid = m.mailid'; $query .= ' WHERE l.`visible` = 1 AND l.`published` = 1 AND m.`visible`= 1 AND m.`published` = 1'; if (!empty($listid)) { $query .= ' AND l.`listid` = ' . (int) $listid; } $query .= ' ORDER BY m.`mailid` DESC LIMIT 1'; $db->setQuery($query); $mailid = $db->loadResult(); if (empty($mailid)) { return JError::raiseError(404, 'Newsletter not found'); } } $access_sub = true; if (acymailing::level(3)) { $listmail = acymailing::get('class.listmail'); $allLists = $listmail->getLists($mailid); $access_sub = false; if (!empty($allLists)) { foreach ($allLists as $alist) { if (empty($alist->mailid)) { continue; } if (!$alist->published or !$alist->visible or $alist->access_sub == 'none') { continue; } if ($alist->access_sub == 'all') { $access_sub = true; break; } if (empty($my->id) or empty($my->gid)) { continue; } if (in_array($my->gid, explode(',', $alist->access_sub))) { $access_sub = true; break; } } } } $mailClass = acymailing::get('helper.mailer'); $oneMail = $mailClass->load($mailid); if (empty($oneMail->mailid)) { return JError::raiseError(404, 'Newsletter not found : ' . $mailid); } if (!$frontEndManagement and (!$access_sub or !$oneMail->published or !$oneMail->visible)) { $key = JRequest::getString('key'); if (empty($key) or $key !== $oneMail->key) { $app->enqueueMessage('You can not have access to this e-mail', 'error'); $app->redirect(acymailing::completeLink('lists', false, true)); return false; } } if (!empty($my->email)) { $userClass = acymailing::get('class.subscriber'); $receiver = $userClass->get($my->email); } else { $subkeys = JRequest::getString('sub'); if (!empty($subkeys)) { $db =& JFactory::getDBO(); $subid = intval(substr($subkeys, 0, strpos($subkeys, '-'))); $subkey = substr($subkeys, strpos($subkeys, '-') + 1); $db->setQuery('SELECT * FROM ' . acymailing::table('subscriber') . ' WHERE `subid` = ' . $db->Quote($subid) . ' AND `key` = ' . $db->Quote($subkey) . ' LIMIT 1'); $receiver = $db->loadObject(); } if (empty($receiver)) { $receiver = null; $receiver->name = JText::_('VISITOR'); } } $oneMail->sendHTML = true; $mailClass->dispatcher->trigger('acymailing_replaceusertagspreview', array(&$oneMail, &$receiver)); $pathway->addItem($oneMail->subject); $document =& JFactory::getDocument(); $document->setTitle($oneMail->subject); $this->assignRef('mail', $oneMail); $this->assignRef('frontEndManagement', $frontEndManagement); $this->assignRef('list', $oneList); $this->assignRef('config', acymailing::config()); $this->assignRef('my', $my); }
function form() { $db =& JFactory::getDBO(); $config = acymailing::config(); $filid = acymailing::getCID('filid'); $filterClass = acymailing::get('class.filter'); if (!empty($filid)) { $filter = $filterClass->get($filid); } else { $filter = null; $filter->action = JRequest::getVar('action'); $filter->filter = JRequest::getVar('filter'); $filter->published = 1; } JPluginHelper::importPlugin('acymailing'); $this->dispatcher =& JDispatcher::getInstance(); $typesFilters = array(); $typesActions = array(); $outputFilters = implode('', $this->dispatcher->trigger('onAcyDisplayFilters', array(&$typesFilters))); $outputActions = implode('', $this->dispatcher->trigger('onAcyDisplayActions', array(&$typesActions))); $typevaluesFilters = array(); $typevaluesActions = array(); $typevaluesFilters[] = JHTML::_('select.option', '', JText::_('FILTER_SELECT')); $typevaluesActions[] = JHTML::_('select.option', '', JText::_('ACTION_SELECT')); $doc =& JFactory::getDocument(); $js = "function updateFilter(filterNum){"; foreach ($typesFilters as $oneType => $oneName) { $typevaluesFilters[] = JHTML::_('select.option', $oneType, $oneName); $js .= "filterArea = 'filter'+filterNum+'{$oneType}';\r\n\t\t\t\tif(window.document.getElementById(filterArea)){window.document.getElementById(filterArea).style.display = 'none';}"; } $js .= "filterArea = 'filter'+filterNum+window.document.getElementById('filtertype'+filterNum).value;\r\n\t\t\t\tif(window.document.getElementById(filterArea)){window.document.getElementById(filterArea).style.display = 'block';}\r\n\t\t\t}"; $js .= "function updateAction(actionNum){"; foreach ($typesActions as $oneType => $oneName) { $typevaluesActions[] = JHTML::_('select.option', $oneType, $oneName); $js .= "actionArea = 'action'+actionNum+'{$oneType}';\r\n\t\t\t\tif(window.document.getElementById(actionArea)){window.document.getElementById(actionArea).style.display = 'none';}"; } $js .= "actionArea = 'action'+actionNum+window.document.getElementById('actiontype'+actionNum).value;\r\n\t\t\t\tif(window.document.getElementById(actionArea)){window.document.getElementById(actionArea).style.display = 'block';}\r\n\t\t\t}"; $js .= "var numFilters = 0;\r\n\t\t\t\tvar numActions = 0;\r\n\t\t\t\tfunction addFilter(){\r\n\t\t\t\t\tvar newdiv = document.createElement('div');\r\n\t\t\t\t\tnewdiv.id = 'filter'+numFilters;\r\n\t\t\t\t\tnewdiv.className = 'plugarea';\r\n\t\t\t\t\tnewdiv.innerHTML = document.getElementById('filters_original').innerHTML.replace(/__num__/g, numFilters);\r\n\t\t\t\t\tdocument.getElementById('allfilters').appendChild(newdiv); updateFilter(numFilters); numFilters++; }\n\t\t\t\tfunction addAction(){\r\n\t\t\t\t\tvar newdiv = document.createElement('div');\r\n\t\t\t\t\tnewdiv.id = 'action'+numActions;\r\n\t\t\t\t\tnewdiv.className = 'plugarea';\r\n\t\t\t\t\tnewdiv.innerHTML = document.getElementById('actions_original').innerHTML.replace(/__num__/g, numActions);\r\n\t\t\t\t\tdocument.getElementById('allactions').appendChild(newdiv); updateAction(numActions); numActions++; }"; $js .= "window.addEvent('domready', function(){ addFilter(); addAction(); });"; if (version_compare(JVERSION, '1.6.0', '<')) { $js .= 'function submitbutton(pressbutton){ if (pressbutton != \'save\') { submitform( pressbutton ); return; }'; } else { $js .= 'Joomla.submitbutton = function(pressbutton) { if (pressbutton != \'save\') { Joomla.submitform(pressbutton,document.adminForm); return; }'; } $js .= "if(window.document.getElementById('filterinfo').style.display == 'none'){\r\n\t\t\t\t\t\twindow.document.getElementById('filterinfo').style.display = 'block';\r\n\t\t\t\t\t\ttry{allspans = window.document.getElementById('toolbar-save').getElementsByTagName(\"span\"); allspans[0].className = 'icon-32-apply';}catch(err){}\r\n\t\t\t\t\t\treturn false;}\r\n\t\t\t\t\tif(window.document.getElementById('title').value.length < 2){alert('" . JText::_('ENTER_TITLE', true) . "'); return false;}"; if (version_compare(JVERSION, '1.6.0', '<')) { $js .= "submitform( pressbutton );} "; } else { $js .= "Joomla.submitform(pressbutton,document.adminForm);}; "; } $doc->addScriptDeclaration($js); $js = ''; $data = array('action', 'filter'); foreach ($data as $datatype) { if (empty($filter->{$datatype})) { continue; } foreach ($filter->{$datatype}['type'] as $num => $oneType) { if (empty($oneType)) { continue; } $js .= "while(!document.getElementById('" . $datatype . "type{$num}')){add" . ucfirst($datatype) . "();}\r\n\t\t\t\t\t\tdocument.getElementById('" . $datatype . "type{$num}').value= '{$oneType}';\r\n\t\t\t\t\t\tupdate" . ucfirst($datatype) . "({$num});"; if (empty($filter->{$datatype}[$num][$oneType])) { continue; } foreach ($filter->{$datatype}[$num][$oneType] as $key => $value) { $js .= "document.adminForm.elements['" . $datatype . "[{$num}][{$oneType}][{$key}]'].value = '" . addslashes(str_replace(array("\n", "\r"), ' ', $value)) . "';"; } } } $listid = JRequest::getInt('listid'); if (!empty($listid)) { $js .= "document.getElementById('actiontype0').value = 'list'; updateAction(0); document.adminForm.elements['action[0][list][selectedlist]'].value = '" . $listid . "';"; } $doc->addScriptDeclaration("window.addEvent('domready', function(){ {$js} });"); $triggers = array(); $triggers['daycron'] = JText::_('AUTO_CRON_FILTER'); $nextDate = $config->get('cron_plugins_next'); if (!empty($nextDate)) { $triggers['daycron'] .= ' (' . JText::_('NEXT_RUN') . ' : ' . acymailing::getDate($nextDate, '%d %B %H:%M') . ')'; } $triggers['subcreate'] = JText::_('ON_USER_CREATE'); $triggers['subchange'] = JText::_('ON_USER_CHANGE'); $this->dispatcher->trigger('onAcyDisplayTriggers', array(&$triggers)); $name = empty($filter->name) ? '' : ' : ' . $filter->name; acymailing::setTitle(JText::_('ACY_FILTER') . $name, 'filter', 'filter&task=edit&filid=' . $filid); $bar =& JToolBar::getInstance('toolbar'); $bar->appendButton('Confirm', JText::_('PROCESS_CONFIRMATION'), 'process', JText::_('PROCESS'), 'process', false, false); JToolBarHelper::divider(); if (acymailing::level(3)) { JToolBarHelper::save(); if (!empty($filter->filid)) { $bar->appendButton('Link', 'new', JText::_('NEW'), acymailing::completeLink('filter&task=edit&filid=0')); } } $bar->appendButton('Link', 'cancel', JText::_('ACY_CLOSE'), acymailing::completeLink('list')); JToolBarHelper::divider(); $bar->appendButton('Pophelp', 'filter'); $subid = JRequest::getString('subid'); if (!empty($subid)) { $subArray = explode(',', trim($subid, ',')); JArrayHelper::toInteger($subArray); $db->setQuery('SELECT `name`,`email` FROM `#__acymailing_subscriber` WHERE `subid` IN (' . implode(',', $subArray) . ')'); $users = $db->loadObjectList(); if (!empty($users)) { $this->assignRef('users', $users); $this->assignRef('subid', $subid); } } $this->assignRef('typevaluesFilters', $typevaluesFilters); $this->assignRef('typevaluesActions', $typevaluesActions); $this->assignRef('outputFilters', $outputFilters); $this->assignRef('outputActions', $outputActions); $this->assignRef('filter', $filter); $this->assignRef('triggers', $triggers); $doc->addStyleSheet(ACYMAILING_CSS . 'frontendedition.css'); if (acymailing::level(3) and JRequest::getCmd('tmpl') != 'component') { $db->setQuery('SELECT * FROM #__acymailing_filter ORDER BY `published` DESC, `filid` DESC'); $filters = $db->loadObjectList(); $this->assignRef('toggleClass', acymailing::get('helper.toggle')); $this->assignRef('filters', $filters); } }
function listing() { $app =& JFactory::getApplication(); $pageInfo = null; JHTML::_('behavior.modal', 'a.modal'); $paramBase = ACYMAILING_COMPONENT . '.' . $this->getName() . $this->getLayout(); $pageInfo->filter->order->value = $app->getUserStateFromRequest($paramBase . ".filter_order", 'filter_order', 'a.senddate', 'cmd'); $pageInfo->filter->order->dir = $app->getUserStateFromRequest($paramBase . ".filter_order_Dir", 'filter_order_Dir', 'desc', 'word'); $pageInfo->search = $app->getUserStateFromRequest($paramBase . ".search", 'search', '', 'string'); $pageInfo->search = JString::strtolower($pageInfo->search); $pageInfo->limit->value = $app->getUserStateFromRequest($paramBase . '.list_limit', 'limit', $app->getCfg('list_limit'), 'int'); $pageInfo->limit->start = $app->getUserStateFromRequest($paramBase . '.limitstart', 'limitstart', 0, 'int'); $database =& JFactory::getDBO(); $filters = array(); if (!empty($pageInfo->search)) { $searchVal = '\'%' . $database->getEscaped($pageInfo->search, true) . '%\''; $filters[] = implode(" LIKE {$searchVal} OR ", $this->searchFields) . " LIKE {$searchVal}"; } $query = 'SELECT SQL_CALC_FOUND_ROWS ' . implode(' , ', $this->selectFields); $query .= ' FROM ' . acymailing::table('stats') . ' as a'; $query .= ' LEFT JOIN ' . acymailing::table('mail') . ' as b on a.mailid = b.mailid'; if (!empty($filters)) { $query .= ' WHERE (' . implode(') AND (', $filters) . ')'; } if (!empty($pageInfo->filter->order->value)) { $query .= ' ORDER BY ' . $pageInfo->filter->order->value . ' ' . $pageInfo->filter->order->dir; } $database->setQuery($query, $pageInfo->limit->start, $pageInfo->limit->value); $rows = $database->loadObjectList(); $database->setQuery('SELECT FOUND_ROWS()'); $pageInfo->elements->total = $database->loadResult(); if (!empty($pageInfo->search)) { $rows = acymailing::search($pageInfo->search, $rows); } $pageInfo->elements->page = count($rows); jimport('joomla.html.pagination'); $pagination = new JPagination($pageInfo->elements->total, $pageInfo->limit->start, $pageInfo->limit->value); acymailing::setTitle(JText::_('GLOBAL_STATISTICS'), 'stats', 'stats'); $bar =& JToolBar::getInstance('toolbar'); if (acymailing::level(1)) { $bar->appendButton('Link', 'stats', JText::_('CHARTS'), acymailing::completeLink('diagram')); } JToolBarHelper::spacer(); JToolBarHelper::spacer(); JToolBarHelper::deleteList(JText::_('VALIDDELETEITEMS')); JToolBarHelper::divider(); $bar->appendButton('Pophelp', 'stats-listing'); $bar->appendButton('Link', 'acymailing', JText::_('JOOMEXT_CPANEL'), acymailing::completeLink('dashboard')); $this->assignRef('rows', $rows); $this->assignRef('pageInfo', $pageInfo); $this->assignRef('pagination', $pagination); }
echo "row{$k}"; ?> "> <td align="center"> <?php echo $this->pagination->getRowOffset($i); ?> </td> <td align="center"> <?php echo JHTML::_('grid.id', $i, $row->tempid); ?> </td> <td> <a href="<?php echo acymailing::completeLink('template&task=edit&cid[]=' . $row->tempid); ?> "><?php echo $row->name; ?> </a> </td> <td> <?php echo acymailing::absoluteURL($row->description); ?> </td> <td class="order"> <span><?php echo $this->pagination->orderUpIcon($i, $this->order->reverse xor $row->ordering >= @$this->rows[$i - 1]->ordering, $this->order->orderUp, 'Move Up', $this->order->ordering); ?>
function setTitle($name, $picture, $link) { JToolBarHelper::title('<a href="' . acymailing::completeLink($link) . '">' . $name . '</a>', $picture . '.png'); }
function listing() { $listid = JRequest::getInt('listid'); $redirect = empty($listid) ? acymailing::completeLink('lists', false, true) : acymailing::completeLink('archive&listid=' . $listid, false, true); $this->setRedirect($redirect); }
echo $this->pageInfo->filter->order->value; ?> " /> <input type="hidden" name="filter_order_Dir" value="<?php echo $this->pageInfo->filter->order->dir; ?> " /> </form> </td> </tr> </table> <?php if ($this->access->frontEndManament) { ?> <span class="acynewbutton"><a href="<?php echo acymailing::completeLink('newsletter&task=add&listid=' . $this->list->listid); ?> " title="<?php echo JText::_('CREATE_EMAIL', true); ?> " ><img class="icon16" src="<?php echo ACYMAILING_IMAGES; ?> icons/icon-16-add.png" alt="<?php echo JText::_('CREATE_EMAIL', true); ?> "/></a></span> <?php } ?> </div>
?> " <?php echo $check; ?> value="<?php echo $myListId; ?> "/> <label for="acylist_<?php echo $myListId; ?> "> <?php $joomItem = $config->get('itemid', 0); $addItem = empty($joomItem) ? '' : '&Itemid=' . $joomItem; $archivelink = acymailing::completeLink('archive&listid=' . $allLists[$myListId]->listid . '-' . $allLists[$myListId]->alias . $addItem); if ($params->get('overlay', 0)) { if (!$params->get('link', 1) or !$allLists[$myListId]->visible) { $archivelink = ''; } echo acymailing::tooltip($allLists[$myListId]->description, $allLists[$myListId]->name, '', $allLists[$myListId]->name, $archivelink); } else { if ($params->get('link', 1) and $allLists[$myListId]->visible) { echo '<a href="' . $archivelink . '">'; } echo $allLists[$myListId]->name; if ($params->get('link', 1) and $allLists[$myListId]->visible) { echo '</a>'; } } ?>
function license() { $bar =& JToolBar::getInstance('toolbar'); $bar->appendButton('Link', 'back', 'JavaScript Check', acymailing::completeLink('update&task=licensejs')); return $this->_iframe(ACYMAILING_UPDATEURL . 'license'); }
</a> <?php if (!empty($row->nbwait)) { echo ' '; ?> <?php $title = '(+' . $row->nbwait . ')'; echo acymailing::tooltip(JText::_('NB_PENDING'), ' ', 'tooltip.png', $title, acymailing::completeLink('subscriber&filter_status=2&filter_lists=' . $row->listid)); ?> <?php } ?> </td> <td align="center"> <a href="<?php echo acymailing::completeLink('subscriber&filter_status=-1&filter_lists=' . $row->listid); ?> "> <?php echo $row->nbunsub; ?> </a> </td> <td align="center"> <?php if (!empty($row->userid)) { $text = '<b>' . JText::_('JOOMEXT_NAME') . ' : </b>' . $row->creatorname; $text .= '<br/><b>' . JText::_('ACY_USERNAME') . ' : </b>' . $row->username; $text .= '<br/><b>' . JText::_('JOOMEXT_EMAIL') . ' : </b>' . $row->email; $text .= '<br/><b>' . JText::_('ACY_ID') . ' : </b>' . $row->userid; echo acymailing::tooltip($text, $row->creatorname, 'tooltip.png', $row->creatorname, 'index.php?option=com_users&task=edit&eid[]=' . $row->userid);
function listing() { $app =& JFactory::getApplication(); $pageInfo = null; $config = acymailing::config(); $paramBase = ACYMAILING_COMPONENT . '.' . $this->getName() . $this->getLayout(); $pageInfo->filter->order->value = $app->getUserStateFromRequest($paramBase . ".filter_order", 'filter_order', 'a.ordering', 'cmd'); $pageInfo->filter->order->dir = $app->getUserStateFromRequest($paramBase . ".filter_order_Dir", 'filter_order_Dir', 'asc', 'word'); $pageInfo->search = $app->getUserStateFromRequest($paramBase . ".search", 'search', '', 'string'); $pageInfo->search = JString::strtolower($pageInfo->search); $pageInfo->limit->value = $app->getUserStateFromRequest($paramBase . '.list_limit', 'limit', $app->getCfg('list_limit'), 'int'); $pageInfo->limit->start = $app->getUserStateFromRequest($paramBase . '.limitstart', 'limitstart', 0, 'int'); $database =& JFactory::getDBO(); if (!empty($pageInfo->search)) { $searchVal = '\'%' . $database->getEscaped($pageInfo->search, true) . '%\''; $this->filters[] = "a.name LIKE {$searchVal} OR a.description LIKE {$searchVal} OR a.tempid LIKE {$searchVal}"; } $query = 'SELECT ' . implode(',', $this->selection) . ' FROM ' . acymailing::table('template') . ' as a'; if (!empty($this->filters)) { $query .= ' WHERE (' . implode(') AND (', $this->filters) . ')'; } if (!empty($pageInfo->filter->order->value)) { $query .= ' ORDER BY ' . $pageInfo->filter->order->value . ' ' . $pageInfo->filter->order->dir; } $database->setQuery($query, $pageInfo->limit->start, $pageInfo->limit->value); $this->rows = $database->loadObjectList(); $queryCount = 'SELECT COUNT(a.tempid) FROM ' . acymailing::table('template') . ' as a'; if (!empty($this->filters)) { $queryCount .= ' WHERE (' . implode(') AND (', $this->filters) . ')'; } $database->setQuery($queryCount); $pageInfo->elements->total = $database->loadResult(); if (!empty($pageInfo->search)) { $rows = acymailing::search($pageInfo->search, $this->rows); } else { $rows =& $this->rows; } $pageInfo->elements->page = count($rows); jimport('joomla.html.pagination'); $pagination = new JPagination($pageInfo->elements->total, $pageInfo->limit->start, $pageInfo->limit->value); if ($this->button) { acymailing::setTitle(JText::_('ACY_TEMPLATES'), 'acytemplate', 'template'); $bar =& JToolBar::getInstance('toolbar'); $bar->appendButton('Popup', 'upload', JText::_('IMPORT'), "index.php?option=com_acymailing&ctrl=template&task=upload&tmpl=component"); JToolBarHelper::divider(); JToolBarHelper::addNew(); JToolBarHelper::editList(); if (acymailing::isAllowed($config->get('acl_templates_delete', 'all'))) { JToolBarHelper::deleteList(JText::_('ACY_VALIDDELETEITEMS', true)); } JToolBarHelper::spacer(); JToolBarHelper::custom('copy', 'copy.png', 'copy.png', JText::_('ACY_COPY')); JToolBarHelper::divider(); $bar->appendButton('Pophelp', 'template-listing'); if (acymailing::isAllowed($config->get('acl_cpanel_manage', 'all'))) { $bar->appendButton('Link', 'acymailing', JText::_('ACY_CPANEL'), acymailing::completeLink('dashboard')); } } $toggleClass = acymailing::get('helper.toggle'); $order = null; $order->ordering = false; $order->orderUp = 'orderup'; $order->orderDown = 'orderdown'; $order->reverse = false; if ($pageInfo->filter->order->value == 'a.ordering') { $order->ordering = true; if ($pageInfo->filter->order->dir == 'desc') { $order->orderUp = 'orderdown'; $order->orderDown = 'orderup'; $order->reverse = true; } } $this->assignRef('order', $order); $this->assignRef('toggleClass', $toggleClass); $this->assignRef('rows', $rows); $this->assignRef('pageInfo', $pageInfo); $this->assignRef('pagination', $pagination); }