function display($tpl = null) { $layout = $this->getLayout(); if ($layout == 'multisubscription') { $this->newsletters = array(); if (isset($this->mmsg)) { jincimport('utility.servicelocator'); $servicelocator = ServiceLocator::getInstance(); $logger = $servicelocator->getLogger(); jincimport('core.newsletterfactory'); $ninstance = NewsletterFactory::getInstance(); foreach ($this->mmsg as $news_id => $text) { if ($newsletter = $ninstance->loadNewsletter($news_id, true)) { $this->newsletters[$news_id] = $newsletter; } } } } else { $news_id = JRequest::getInt('id', 0); jincimport('core.newsletterfactory'); $ninstance = NewsletterFactory::getInstance(); if ($newsletter = $ninstance->loadNewsletter($news_id, true)) { $this->newsletter = $newsletter; } } parent::display($tpl); }
/** * Method to get an array of data items. * * @return mixed An array of data items on success, false on failure. * @since 1.6 */ public function getItems() { $items = array(); $news_id = JRequest::getInt('news_id', 0); if ($news_id != 0) { jincimport('core.newsletterfactory'); $ninstance = NewsletterFactory::getInstance(); if ($newsletter = $ninstance->loadNewsletter($news_id, false)) { $items = $newsletter->getTagsList(); } } $msg_id = JRequest::getInt('msg_id', 0); if ($msg_id != 0) { jincimport('core.messagefactory'); $minstance = MessageFactory::getInstance(); if ($message = $minstance->loadMessage($msg_id)) { $news_id = $message->get('news_id'); jincimport('core.newsletterfactory'); $ninstance = NewsletterFactory::getInstance(); if ($newsletter = $ninstance->loadNewsletter($news_id, false)) { $items = $newsletter->getTagsList(); if ($message->getType() == MESSAGE_TYPE_MASSIVE) { unset($items['USER']); } unset($items['OPTIN']); } } } return $items; }
protected function getInput() { jincimport('core.newsletterfactory'); $themes = array(); $ninstance = NewsletterFactory::getInstance(); if ($themes = $ninstance->loadThemes()) { return JHTML::_('select.genericlist', $themes, $this->name, 'class="inputbox"', 'value', 'id', $this->value, $this->id); } return false; }
function getData() { jincimport('core.newsletterfactory'); $id = JRequest::getInt('id', 0, 'GET'); $ninstance = NewsletterFactory::getInstance(); if (!($notice = $ninstance->loadNotice($id))) { $this->setError('COM_JINC_ERR023'); return false; } return $notice; }
public function getInfo() { if ($item = parent::getItem()) { jincimport('core.newsletterfactory'); $ninstance = NewsletterFactory::getInstance(); if ($newsletter = $ninstance->loadNewsletter($item->news_id)) { return $newsletter->getSubscriber($item->id); } } return false; }
function getDefaultTemplate() { header("Content-Type: text/plain; charset=UTF-8"); jincimport('core.newsletterfactory'); jincimport('utility.jsonresponse'); jincimport('utility.jinchtmlhelper'); $id = JRequest::getInt('id', 0); $tem_id = 0; $tag_string = ''; $ninstance = NewsletterFactory::getInstance(); if ($newsletter = $ninstance->loadNewsletter($id, false)) { $tem_id = $newsletter->get('default_template'); } // Building JSON response $response = new JSONResponse(); $response->set('tem_id', (int) $tem_id); echo $response->toString(); }
function stats() { jincimport('statistics.statisticfactory'); jincimport('core.newsletterfactory'); $session = JFactory::getSession(); $config = JFactory::getConfig(); $tzoffset = $config->getValue('config.offset'); $id = JRequest::getInt('id', 0); $stat_type = JRequest::getInt('stat_type', 0); $time_type = JRequest::getInt('time_type', 0); $start_date = JRequest::getString('start_date'); $end_date = JRequest::getString('end_date'); $sdate = JFactory::getDate($start_date, $tzoffset); $edate = JFactory::getDate($end_date, $tzoffset); $stat = StatisticFactory::getStatistic($stat_type, $time_type, $sdate->toUNIX(), $edate->toUNIX(), $id); $values = $stat->getValues(); $legend = $stat->getTimeValues(); $session->set('stats.values', $values); $session->set('stats.legend', $legend); $timeline = $stat->getTimeLine(); JRequest::setVar('start_date', $timeline->getStartTime()); JRequest::setVar('end_date', $timeline->getEndTime()); $stattypes = StatisticFactory::getTypeList(); $timetypes = StatisticFactory::getTimeList(); $time_format = $timeline->getJFormat(); JRequest::setVar('view', 'stats'); $view = $this->getView('stats', 'html'); $ninstance = NewsletterFactory::getInstance(); if ($newsletters = $ninstance->loadNames()) { $empty_filter = array("id" => "0", "name" => JText::_('COM_JINC_SELECT_NEWSLETTER')); array_unshift($newsletters, $empty_filter); } else { $newsletters = array(array("id" => "0", "name" => JText::_('COM_JINC_SELECT_NEWSLETTER'))); } $view->assignRef('time_format', $time_format); $view->assignRef('stattypes', $stattypes); $view->assignRef('timetypes', $timetypes); $view->assignRef('newsletters', $newsletters); parent::display(); }
/** * Method to remove attributes after unsubscription. * * @access private * @param integer $sub_id subscription identifier * @since 0.7 * @abstract */ function removeAttributeOnUnsubscription($sub_id) { jincimport('utility.servicelocator'); $servicelocator = ServiceLocator::getInstance(); $logger = $servicelocator->getLogger(); $dbo =& JFactory::getDBO(); $news_id = $this->get('id'); $ninstance = NewsletterFactory::getInstance(); $attributes = $ninstance->loadAttributesList(); foreach ($attributes as $attribute) { $attr_name_db = $dbo->getEscaped($attribute['name']); $query = 'DELETE FROM `#__jinc_attribute_' . $attr_name_db . '` ' . 'WHERE news_id = ' . (int) $news_id . ' AND id = ' . (int) $sub_id; $logger->debug('PublicNewsletter: Executing query: ' . $query); $dbo->setQuery($query); if (!$dbo->query()) { $this->setError('COM_JINC_ERR048'); $logger->warning($this->getError()); } } }
* You should have received a copy of the GNU General Public License * along with JINC. If not, see <http://www.gnu.org/licenses/>. */ defined('_JEXEC') or die('Restricted access'); jimport('joomla.plugin.plugin'); jimport('joomla.filesystem.file'); // Preload the JINCFactory jimport('joomla.filesystem.file'); require_once JPATH_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_jinc' . DIRECTORY_SEPARATOR . 'classes' . DIRECTORY_SEPARATOR . 'factory.php'; $lang = JFactory::getLanguage(); $lang->load('com_jinc'); $lang->load('mod_jinc_subscription'); $id = $params->get('id', 0); jincimport('core.newsletterfactory'); $input_style = $params->get('mod_input_style', INPUT_STYLE_INHERITED); $ninstance = NewsletterFactory::getInstance(); if ($newsletter = $ninstance->loadNewsletter($id, true)) { $user = JFactory::getUser(); if ($newsletter->getType() == NEWSLETTER_PRIVATE_NEWS && $user->guest) { echo JText::_('COM_JINC_ERR005'); } else { if ($user->authorise('jinc.subscribe', 'com_jinc.newsletter.' . $id)) { if ($input_style == INPUT_STYLE_INHERITED) { $input_style = $newsletter->get('input_style'); } $layout = JModuleHelper::getLayoutPath('mod_jinc_unsubscription'); require $layout; } else { echo JText::_('COM_JINC_ERR005'); } }
function delconfirm($id, $user_mail, $random) { jincimport('core.newsletterfactory'); $ninstance = NewsletterFactory::getInstance(); if (!($newsletter = $ninstance->loadNewsletter($id, true))) { $this->setError('COM_JINC_ERR020'); return false; } if ($newsletter->getType() != NEWSLETTER_PUBLIC_NEWS) { $this->setError('COM_JINC_ERR020'); return false; } if (!$newsletter->confirmUnsubscription($user_mail, $random)) { $this->setError('ERROR_FER004'); return false; } return true; }
/** * The newsletter loader. It load newsletter the message belongs to from his * newsletter identifier. * * @access public * @param boolean $reload true to force newsletter info reloading * @return The loaded newsletter * @since 0.6 * @see NewsletterFactory */ function loadNewsletter($reload = false) { if (is_null($this->_newsletter) || $reload) { $ninstance = NewsletterFactory::getInstance(); $this->_newsletter = $ninstance->loadNewsletter($this->get('news_id')); } return $this->_newsletter; }
function getNewsletter() { jincimport('core.newsletterfactory'); jincimport('core.messagefactory'); jincimport('utility.servicelocator'); $servicelocator = ServiceLocator::getInstance(); $logger = $servicelocator->getLogger(); $id = JRequest::getInt('id', 0); $minstance = MessageFactory::getInstance(); $ninstance = NewsletterFactory::getInstance(); if ($message = $minstance->loadMessage($id)) { $news_id = $message->get('news_id'); if ($newsletter = $ninstance->loadNewsletter($news_id)) { return $newsletter; } } return false; }
/** * Method to construct a Newsletter Object from id. * * @param integer The id of the primary key. * * @return mixed Object on success, false on failure. */ public function getNewsletter($pk = null) { if ($item = parent::getItem($pk)) { jincimport('core.newsletterfactory'); $ninstance = NewsletterFactory::getInstance(); $newsletter = $ninstance->loadNewsletter($item->id); return $newsletter; } return false; }
/** * It ussubscribes just deleted user from every newsletters. * * @param array $user Array of user info * @param boolean $succes true if user is created successfully * @param string $msg User deletion message */ public function onUserAfterDelete($user, $succes, $msg) { if (!$succes) { return; } if (is_array($user)) { $user_id = $user['id']; $user_email = $user['email']; } elseif (is_object($user)) { $user_id = $user->id; $user_email = $user->email; } else { return; } jincimport('core.newsletterfactory'); jincimport('utility.servicelocator'); $servicelocator = ServiceLocator::getInstance(); $logger = $servicelocator->getLogger(); $query = 'SELECT id FROM #__jinc_newsletter n ' . 'WHERE type = ' . (int) NEWSLETTER_PRIVATE_NEWS; $logger->debug('plgUserJINCSubscription: Executing query: ' . $query); $dbo =& JFactory::getDBO(); $dbo->setQuery($query); // Unsubscribing user from every JINC newsletter if ($result = $dbo->loadAssocList()) { foreach ($result as $row) { $news_id = (int) $row['id']; $ninstance = NewsletterFactory::getInstance(); if ($newsletter = $ninstance->loadNewsletter($news_id, false)) { $subscriber_info = array('user_id' => $user_id); $newsletter->unsubscribe($subscriber_info); } } } }