예제 #1
0
파일: newsletter.php 프로젝트: Rikisha/proj
 JPluginHelper::importPlugin('migur');
 $app = JFactory::getApplication();
 $app->triggerEvent('onMigurNewsletterStart');
 // Handle the messages from previous requests
 $sess = JFactory::getSession();
 $msg = $sess->get('migur.queue');
 if ($msg) {
     $sess->set('application.queue', $msg);
     $sess->set('migur.queue', null);
 }
 JFormHelper::addRulePath(JPATH_COMPONENT_ADMINISTRATOR . DS . 'models' . DS . 'rules');
 JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR . DS . 'tables');
 JModel::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR . DS . 'models' . DS . 'entities', 'NewsletterModelEntity');
 // Add the site root and user's ACL to JS
 JavascriptHelper::addStringVar('migurSiteRoot', JUri::root());
 JavascriptHelper::addObject('migurUserAcl', AclHelper::toArray());
 // Setup the cache
 $cache = JFactory::getCache('com_newsletter');
 $cache->setCaching(true);
 $cache->setLifeTime(900);
 // cache to 5 min
 // Get an instance of the controller
 // Here we get full task
 $controller = JController::getInstance('Newsletter');
 // Perform the Request task
 // Here we get only tail of a task
 $controller->execute(JRequest::getCmd('task'));
 // Trigger events after exacution
 $app->triggerEvent('onMigurNewsletterEnd');
 // Redirect if set by the controller
 $controller->redirect();