Beispiel #1
0
 /**
  * Get the template
  *
  * @return	string	The template name
  * @since	1.0
  */
 public function loadLetter($id = false)
 {
     $letter = MailHelper::loadLetter($id);
     // set the letter id for the Helper
     MigurModuleHelper::$itemId = $letter->newsletter_id;
     MigurModuleHelper::$clean = null;
     return $letter;
 }
Beispiel #2
0
 /**
  * Load all the modules used in the newsletter
  *
  * @return array
  * @since  1.0
  */
 protected static function &_load()
 {
     if (!empty(self::$clean)) {
         return self::$clean;
     }
     if (self::$itemId < 1) {
         self::$clean = array();
         return self::$clean;
     }
     $app = JFactory::getApplication();
     $user = JFactory::getUser();
     $groups = implode(',', $user->getAuthorisedViewLevels());
     $lang = JFactory::getLanguage()->getTag();
     $clientId = (int) $app->getClientId();
     $db = JFactory::getDbo();
     $query = $db->getQuery(true);
     $query->select('newsletters_ext_id as id, ne.title, extension as module, position, NULL as content, ne.showtitle, ne.params as params, e.params as params_default, NULL as menuid, 0 as native');
     $query->from('#__newsletter_extensions AS e');
     $query->join('', '#__newsletter_newsletters_ext AS ne ON e.extension_id = ne.extension_id');
     $query->where('type = 1');
     $query->where('ne.newsletter_id = "' . self::$itemId . '"');
     $query->where('ne.native = 0');
     // Set the query
     $db->setQuery($query);
     $modulesCom = $db->loadObjectList();
     $query = $db->getQuery(true);
     $query->select('newsletters_ext_id AS id, ne.title, element AS module, position, ' . 'NULL AS content, ne.showtitle, ne.params AS params, ' . 'e.params AS params_default, NULL AS menuid, 1 AS native');
     $query->from('#__extensions AS e');
     $query->join('', '#__newsletter_newsletters_ext AS ne ON e.extension_id = ne.extension_id');
     $query->where('e.type = "module"');
     $query->where('ne.newsletter_id = "' . self::$itemId . '"');
     $query->where('ne.native = 1');
     // Set the query
     $db->setQuery($query);
     $modulesNat = $db->loadObjectList();
     $modules = array_merge($modulesCom, $modulesNat);
     self::$clean = array();
     if ($db->getErrorNum()) {
         JError::raiseWarning(500, JText::sprintf('JLIB_APPLICATION_ERROR_MODULE_LOAD', $db->getErrorMsg()));
         return self::$clean;
     }
     // Apply negative selections and eliminate duplicates
     $negId = self::$itemId ? -(int) self::$itemId : false;
     $dupes = array();
     for ($i = 0, $n = count($modules); $i < $n; $i++) {
         $module =& $modules[$i];
         //determine if this is a custom module
         $file = $module->module;
         $custom = substr($file, 0, 4) == 'mod_' ? 0 : 1;
         $module->user = $custom;
         // Custom module name is given by the title field, otherwise strip off "com_"
         $module->name = $custom ? $module->title : substr($file, 4);
         $module->style = null;
         $module->position = strtolower($module->position);
         if (empty($module->params)) {
             $module->params = $module->params_default;
         }
         self::$clean[$module->id] = $module;
     }
     // Return to simple indexing that matches the query order.
     self::$clean = array_values(self::$clean);
     return self::$clean;
 }