public function execute() { $action = 'browse'; if (isset($_GET['action'])) { $action = $_GET['action']; } if (strcmp($action, 'browse') == 0) { $this->view = SettingsAdministrationAction::$BrowseSettings; } else { if (strcmp($action, 'new_setting') == 0) { $this->view = SettingsAdministrationAction::$NewSettingForm; } else { if (strcmp($action, 'add_setting') == 0) { if (isset($_POST['setting_name']) && isset($_POST['setting_value'])) { DbSetting::Add($_POST['setting_name'], $_POST['setting_value']); $this->addAlert(Alert::CreateSuccess('Success', 'Setting added.')); $this->reloadSettings(); } $this->reexecute(array('action' => 'browse')); } else { if (strcmp($action, 'delete_setting') == 0) { if (isset($_GET['setting_id'])) { DbSetting::Delete($_GET['setting_id']); $this->addAlert(Alert::CreateSuccess('Success', 'Setting deleted.')); $this->reloadSettings(); } $this->reexecute(array('action' => 'browse')); } else { if (strcmp($action, 'save_settings') == 0) { $settings = DbSetting::GetAll(); foreach ($settings as $setting) { if (isset($_POST['setting_' . $setting->id])) { $setting->value = $_POST['setting_' . $setting->id]; } } $container = new SettingContainer($settings); DbSetting::Save($container); $this->addAlert(Alert::CreateSuccess('Success', 'Settings saved.')); $this->reloadSettings(); $this->reexecute(array('action' => 'browse')); } } } } } }
protected function initSettings() { //$this->settings = new SettingContainer(); //put that into a SettingFile for import at intial runtime //hash type setting /*$hashtype = new Setting(); $hashtype->name = "hash_type"; $hashtype->value = "sha256"; $user_min = new Setting(); $user_min->name = "username_min"; $user_min->value = "4"; $user_max = new Setting(); $user_max->name = "username_max"; $user_max->value = "12"; $signup_method = new Setting(); $signup_method->name = "signup_method"; $signup_method->value = "admin_creation"; $this->settings->add($hashtype); $this->settings->add($user_min); $this->settings->add($user_max); $this->settings->add($signup_method);*/ $settingFile = new SettingFile('actions/initial_settings.conf'); $settingFile->readFile(); $settings = $settingFile->getContainer(); DbSetting::Save($settings); }