Пример #1
0
 /**
  * Saves the website settings
  *
  */
 function _save_settings()
 {
     // Config library
     require_once './class/Config.php';
     // Check if data are empty
     if (empty($_POST['lang_code'])) {
         $this->_send_error('settings', lang('settings_error_missing_lang_code'), $_POST);
     }
     if (empty($_POST['lang_name'])) {
         $this->_send_error('settings', lang('settings_error_missing_lang_name'), $_POST);
     }
     // Lang code must be on 2 or 3 chars
     if (strlen($_POST['lang_code']) > 8) {
         $this->_send_error('settings', lang('settings_error_lang_code_8_chars'), $_POST);
     }
     // Check if admin URL is correct
     if (!preg_match("/^([a-z0-9])+\$/i", $_POST['admin_url']) or empty($_POST['admin_url'])) {
         $this->_send_error('settings', lang('settings_error_admin_url'), $_POST);
     }
     // Save the Admin URL
     $conf = new ION_Config(APPPATH . 'config/', 'config.php');
     $conf->set_config('admin_url', $_POST['admin_url']);
     if ($conf->save() == FALSE) {
         $this->_send_error('settings', lang('settings_error_write_rights_config'), $_POST);
     }
     $lang_code = strtolower($_POST['lang_code']);
     // DB save
     $this->db_connect();
     $data = array('lang' => $lang_code, 'name' => $_POST['lang_name'], 'online' => '1', 'def' => '1', 'ordering' => '1');
     // Check if the lang exists
     $this->db->where('lang', $lang_code);
     $query = $this->db->get('lang');
     if ($query->num_rows() > 0) {
         // updates the lang
         $this->db->where('lang', $lang_code);
         $this->db->update('lang', $data);
     } else {
         // insert the lang
         $this->db->insert('lang', $data);
     }
     $data = array(0 => $data);
     return $this->_save_language_config_file($data);
 }