/** * Method to get and save the module core menu assignments * * @param int $id The module id. * * @return boolean True on success. * @since 1.6 */ public function initAssignments($id, &$module, $params = array()) { if (!$id) { $id = JRequest::getInt('id'); } $params = array(); $assign = 0; $menuitems = array(); if (!empty($id)) { $db = $this->getDbo(); // Determine the page assignment mode. $db->setQuery('SELECT menuid' . ' FROM #__modules_menu' . ' WHERE moduleid = ' . $id); $menuitems = $db->loadResultArray(); if (!empty($menuitems)) { $assign = 1; if ($menuitems['0'] == 0) { $assign = 0; $menuitems = array(); } else { if ($menuitems['0'] < 0) { $assign = 2; } } foreach ($menuitems as $i => $menuitem) { if ($menuitem < 0) { $menuitems[$i] = $menuitem * -1; } } } if (isset($module->publish_up) && (int) $module->publish_up || isset($module->publish_down) && (int) $module->publish_down) { $params['assignto_date'] = 1; $params['assignto_date_publish_up'] = isset($module->publish_up) ? $module->publish_up : ''; $params['assignto_date_publish_down'] = isset($module->publish_down) ? $module->publish_down : ''; } if (isset($module->language) && $module->language && $module->language != '*') { $params['assignto_languages'] = 1; $params['assignto_languages_selection'] = array($module->language); } } $params['assignto_menuitems'] = $assign; $params['assignto_menuitems_selection'] = $menuitems; foreach ($params as $key => $val) { $params[$key] = $val; } AdvancedModulesModelModule::saveAdvancedParams($params, $id); return $params; }
/** * Method to get and save the module core menu assignments * * @param int $id The module id. * * @return boolean True on success. * @since 1.6 */ public function initAssignments($id, &$module) { if (!$id) { $id = JFactory::getApplication()->input->getInt('id'); } if (empty($id)) { $module->advancedparams = array('assignto_menuitems' => $this->config->default_menu_assignment, 'assignto_menuitems_selection' => array()); AdvancedModulesModelModule::saveAdvancedParams($module->advancedparams, $id); return $module->advancedparams; } if (is_object($module->advancedparams)) { $module->advancedparams = (array) $module->advancedparams; } if (!isset($module->advancedparams['assignto_menuitems'])) { $db = $this->getDbo(); $query = $db->getQuery(true)->select('m.menuid')->from('#__modules_menu as m')->where('m.moduleid = ' . (int) $id); $db->setQuery($query); $module->advancedparams['assignto_menuitems_selection'] = $db->loadColumn(); $module->advancedparams['assignto_menuitems'] = 0; if (!empty($module->advancedparams['assignto_menuitems_selection'])) { if ($module->advancedparams['assignto_menuitems_selection']['0'] == 0) { $module->advancedparams['assignto_menuitems'] = 0; $module->advancedparams['assignto_menuitems_selection'] = array(); } else { if ($module->advancedparams['assignto_menuitems_selection']['0'] < 0) { $module->advancedparams['assignto_menuitems'] = 2; } else { $module->advancedparams['assignto_menuitems'] = 1; } } foreach ($module->advancedparams['assignto_menuitems_selection'] as $i => $menuitem) { if ($menuitem < 0) { $module->advancedparams['assignto_menuitems_selection'][$i] = $menuitem * -1; } } } } else { if (isset($module->advancedparams['assignto_menuitems_selection']['0']) && strpos($module->advancedparams['assignto_menuitems_selection']['0'], ',') !== false) { $module->advancedparams['assignto_menuitems_selection'] = explode(',', $module->advancedparams['assignto_menuitems_selection']['0']); } } if (!isset($module->advancedparams['assignto_date']) || !$module->advancedparams['assignto_date']) { if (isset($module->publish_up) && (int) $module->publish_up || isset($module->publish_down) && (int) $module->publish_down) { $module->advancedparams['assignto_date'] = 1; $module->advancedparams['assignto_date_publish_up'] = isset($module->publish_up) ? $module->publish_up : ''; $module->advancedparams['assignto_date_publish_down'] = isset($module->publish_down) ? $module->publish_down : ''; } } if (!isset($module->advancedparams['assignto_languages']) || !$module->advancedparams['assignto_languages']) { if (isset($module->language) && $module->language && $module->language != '*') { $module->advancedparams['assignto_languages'] = 1; $module->advancedparams['assignto_languages_selection'] = array($module->language); } } AdvancedModulesModelModule::saveAdvancedParams($module->advancedparams, $id); return $module->advancedparams; }
/** * Method to get and save the module core menu assignments * * @param int $id The module id. * * @return boolean True on success. * @since 1.6 */ public function initAssignments($id, &$module, $params = array()) { if (!$id) { $id = JFactory::getApplication()->input->getInt('id'); } $params = array(); $assign = 0; $menuitems = array(); if (!empty($id)) { $db = $this->getDbo(); $query = $db->getQuery(true); $query->select('m.menuid')->from('#__modules_menu as m')->where('m.moduleid = ' . (int) $id); $db->setQuery($query); $menuitems = $db->loadColumn(); $assign = 1; if (!empty($menuitems)) { if ($menuitems['0'] == 0) { $assign = 0; $menuitems = array(); } else { if ($menuitems['0'] < 0) { $assign = 2; } } foreach ($menuitems as $i => $menuitem) { if ($menuitem < 0) { $menuitems[$i] = $menuitem * -1; } } } if (isset($module->publish_up) && (int) $module->publish_up || isset($module->publish_down) && (int) $module->publish_down) { $params['assignto_date'] = 1; $params['assignto_date_publish_up'] = isset($module->publish_up) ? $module->publish_up : ''; $params['assignto_date_publish_down'] = isset($module->publish_down) ? $module->publish_down : ''; } if (isset($module->language) && $module->language && $module->language != '*') { $params['assignto_languages'] = 1; $params['assignto_languages_selection'] = array($module->language); } } $params['assignto_menuitems'] = $assign; $params['assignto_menuitems_selection'] = $menuitems; foreach ($params as $key => $val) { $params[$key] = $val; } AdvancedModulesModelModule::saveAdvancedParams($params, $id); return $params; }