コード例 #1
0
ファイル: helper.php プロジェクト: juaniiie/mwi
 /**
  * Used by opensim settings form
  * to retrieve all regions and 
  * populate form select input
  * 
  * @return array array will all available regions
  */
 function get_regions()
 {
     $db_is_ready = \Settings\Config::get('settings::core.passes_db_settings');
     if ((bool) $db_is_ready) {
         $all_regions = \Opensim\Model\Os\Region::all();
         $regions = array();
         foreach ($all_regions as $region) {
             $regions[$region->uuid] = $region->regionname;
         }
         return $regions;
     } else {
         return array();
     }
 }
コード例 #2
0
ファイル: settings.php プロジェクト: juaniiie/mwi
 public function put_update()
 {
     $settings = Input::all();
     $raw_rules = Settings\Model\Setting::where_in('slug', array_keys($settings))->where_module_slug('opensim')->get();
     $rules = array();
     foreach ($raw_rules as $setting) {
         if (isset($setting->validation) and !empty($setting->validation)) {
             $rules[$setting->slug] = $setting->validation;
         }
     }
     $validation = \Opensim\Validator::make($settings, $rules)->speaks(ADM_LANG);
     if ($validation->fails()) {
         return Redirect::back()->with_errors($validation->errors);
     }
     if (isset($settings['database_driver'])) {
         $credentials = array('driver' => $settings['database_driver'], 'host' => $settings['database_host'], 'database' => $settings['database_name'], 'username' => $settings['database_user'], 'password' => $settings['database_password'], 'charset' => 'utf8', 'prefix' => $settings['database_table_prefix'], 'port' => $settings['database_port']);
         $db = null;
         switch ($credentials['driver']) {
             case 'sqlite':
                 $db = new \Laravel\Database\Connectors\SQLite();
                 break;
             case 'mysql':
                 $db = new \Laravel\Database\Connectors\MySQL();
                 break;
             case 'pgsql':
                 $db = new \Laravel\Database\Connectors\Postgres();
                 break;
             case 'sqlsrv':
                 $db = new \Laravel\Database\Connectors\SQLServer();
                 break;
         }
         \Config::set('error.detail', false);
         \Event::listen('500', function ($message) {
             \Settings\Config::set('settings::core.passes_db_settings', 0, true);
             $this->data['message'] = $message;
             $this->data['message_type'] = 'error';
             $this->data['settings'] = Settings\Model\Setting::where_module_slug('opensim')->where_section('opensim_db_settings')->get();
             $this->data['section_bar_active'] = Lang::line('opensim::lang.Database Settings')->get(ADM_LANG);
             $content = $this->theme->render('opensim::backend.settings.index', $this->data);
             echo $content;
             die;
         });
         // If we get an exception when
         // trying to connect to the db
         // the event above will catch it
         // and return our view with the
         // error message
         $db->connect($credentials);
         // Set database flag
         Settings\Config::set('settings::core.passes_db_settings', 1, true);
         foreach ($settings as $slug => $value) {
             // Update database configurations
             if (!empty($value)) {
                 $affected = Settings\Model\Setting::where_slug($slug)->where_module_slug('opensim')->update(array('value' => $value));
             }
         }
         $this->data['message'] = Lang::line('opensim::lang.Opensim settings were successfully updated')->get(ADM_LANG);
         $this->data['message_type'] = 'success';
         return Redirect::back()->with($this->data);
     } else {
         $db_is_ready = Config::get('settings::core.passes_db_settings');
         if ((bool) $db_is_ready) {
             foreach ($settings as $slug => $value) {
                 // Update database configurations
                 if (strlen($value) > 0) {
                     $affected = Settings\Model\Setting::where_slug($slug)->where_module_slug('opensim')->update(array('value' => $value));
                 }
             }
             $this->data['message'] = Lang::line('opensim::lang.Opensim settings were successfully updated')->get(ADM_LANG);
             $this->data['message_type'] = 'success';
             return Redirect::back()->with($this->data);
         } else {
             Session::flash('message_type', 'error');
             Session::flash('message', Lang::line('opensim::lang.Your opensim database needs to be configured!')->get(ADM_LANG));
             return Redirect::back()->with($this->data);
         }
     }
 }
コード例 #3
0
ファイル: theme.php プロジェクト: juaniiie/mwi
 /**
  * Set the theme layout to use
  * 
  * @param string    $layout
  * @return void
  */
 public function set_layout($layout, $layer = 'frontend', $save = false)
 {
     $this->_layout = $layout;
     $this->_layer = 'frontend';
     if ($layer != 'frontend') {
         $this->_layer = 'backend';
     }
     if ($save) {
         // Update settings theme
         \Settings\Config::set('settings::core.' . $this->_layer . '_layout', $layout);
     }
     return $this;
 }