Пример #1
0
 /**
  * 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;
 }
Пример #2
0
 /**
  * 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;
 }
Пример #3
0
 /**
  * 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;
 }