/**
  * Import Settings
  *
  * @access	public
  * @return	void
  **/
 public function settings()
 {
     /* INIT */
     $vars = $this->getVars();
     $output = array();
     $errors = array();
     $knownSettings = array();
     $this->registry->class_localization->loadLanguageFile(array('admin_tools'));
     if (file_exists($this->app_full_path . 'xml/' . $vars['app_directory'] . '_settings.xml')) {
         /* Get the settings class */
         require_once IPS_ROOT_PATH . 'applications/core/modules_admin/tools/settings.php';
         $settings = new admin_core_tools_settings($this->registry);
         $settings->makeRegistryShortcuts($this->registry);
         $this->request['app_dir'] = $vars['app_directory'];
         //-----------------------------------------
         // Known settings
         //-----------------------------------------
         if (substr($this->settings['_original_base_url'], -1) == '/') {
             IPSSetUp::setSavedData('install_url', substr($this->settings['_original_base_url'], 0, -1));
         }
         if (substr($this->settings['base_dir'], -1) == '/') {
             IPSSetUp::setSavedData('install_dir', substr($this->settings['base_dir'], 0, -1));
         }
         /* Fetch known settings  */
         if (file_exists(IPSLib::getAppDir($vars['app_directory']) . '/setup/versions/install/knownSettings.php')) {
             require IPSLib::getAppDir($vars['app_directory']) . '/setup/versions/install/knownSettings.php';
         }
         $settings->importAllSettings(1, 1, $knownSettings);
         $settings->settingsRebuildCache();
     } else {
         $this->registry->output->global_message = $this->lang->words['settings_nofile'];
     }
     $output[] = $this->registry->output->global_message;
     /* Clear main messaage */
     $this->registry->output->global_message = '';
     /* Show redirect... */
     $this->showRedirectScreen($vars['app_directory'], $output, $errors, $this->getNextURL('hooks', $vars));
 }
 /**
  * Show the configuration page
  *
  * @access	private
  * @return	void		[Outputs to screen]
  */
 private function _chatConfig()
 {
     //-----------------------------------------
     // Load libby-do-dah
     //-----------------------------------------
     require_once IPSLib::getAppDir('core') . '/modules_admin/tools/settings.php';
     $settings = new admin_core_tools_settings();
     $settings->makeRegistryShortcuts($this->registry);
     $settings->html = $this->registry->output->loadTemplate('cp_skin_tools', 'core');
     ipsRegistry::getClass('class_localization')->loadLanguageFile(array('admin_tools'), 'core');
     $settings->form_code = $settings->html->form_code = 'module=tools&section=settings';
     $settings->form_code_js = $settings->html->form_code_js = 'module=tools&section=settings';
     //-----------------------------------------
     // Did we reset the component?
     //-----------------------------------------
     if (!$this->settings['chat04_account_no']) {
         $this->_chatSplash();
     } else {
         //-----------------------------------------
         // Update version 6 or 7
         //-----------------------------------------
         if (preg_match("#^\\d#", $this->settings['chat04_account_no'])) {
             $this->DB->update('core_sys_conf_settings', array('conf_value' => 7), "conf_key='parachat_version'");
         } else {
             $this->DB->update('core_sys_conf_settings', array('conf_value' => 6), "conf_key='parachat_version'");
         }
         $settings->settingsRebuildCache();
     }
     $this->request['conf_title_keyword'] = 'chat04';
     $settings->return_after_save = $this->settings['base_url'] . $this->form_code . '&do=chatsettings';
     $settings->_viewSettings();
 }
 /**
  * Save your key to enable chat
  *
  * @access	private
  * @return	void		[Outputs to screen]
  */
 private function _chatSave()
 {
     $acc_number = $this->request['account_no'];
     if ($acc_number == "") {
         $this->registry->output->showError($this->lang->words['addon_invalid_key'], 1190);
     }
     //-----------------------------------------
     // Load libby-do-dah
     //-----------------------------------------
     require_once IPSLib::getAppDir('core') . '/modules_admin/tools/settings.php';
     $settings = new admin_core_tools_settings();
     $settings->makeRegistryShortcuts($this->registry);
     $settings->html = $this->registry->output->loadTemplate('cp_skin_tools', 'core');
     ipsRegistry::getClass('class_localization')->loadLanguageFile(array('admin_tools'), 'core');
     $settings->form_code = $settings->html->form_code = 'module=tools&section=settings';
     $settings->form_code_js = $settings->html->form_code_js = 'module=tools&section=settings';
     $this->DB->update('core_sys_conf_settings', array('conf_value' => $acc_number), "conf_key='chat_account_no'");
     $this->DB->update('core_sys_conf_settings', array('conf_value' => ''), "conf_key='chat04_account_no'");
     $settings->settingsRebuildCache();
     $this->DB->update('core_sys_module', array('sys_module_position' => 2), "sys_module_key='parachat'");
     $this->DB->update('core_sys_module', array('sys_module_position' => 1), "sys_module_key='addonchat'");
     $this->cache->rebuildCache('module_cache', 'global');
     //-----------------------------------------
     // Show config
     //-----------------------------------------
     $this->_chatConfig();
 }