diff --git a/application/controllers/SettingController.php b/application/controllers/SettingController.php new file mode 100644 index 0000000..89ac366 --- /dev/null +++ b/application/controllers/SettingController.php @@ -0,0 +1,58 @@ +_getServerSettingMapper()->fetchAll(); + $this->view->assign('settings', $defaultStreamSettings); + } + + public function editDefaultStreamSettingAction() + { + $serverSettingModel = $this->_getSettingModelFromRequestOrRedirectToListing(); + $editServerSettingForm = new Application_Form_ServerSettingEdit(array('model' => $serverSettingModel)); + + /** @var $request Zend_Controller_Request_Http */ + $request = $this->getRequest(); + if ($request->isPost() && $editServerSettingForm->isValid($request->getPost())) { + $serverSettingModel->setFromArray($editServerSettingForm->getValues()); + $this->_getServerSettingMapper()->save($serverSettingModel); + + $this->getFlashMessenger()->addSuccessMessage(sprintf('successfully edited default stream setting (%s)', $serverSettingModel->getName())); + $this->_redirect($this->url('default-stream-settings'), array('exit' => true)); + } + + $this->view->assign(array( + 'form' => $editServerSettingForm, + 'setting' => $serverSettingModel, + )); + } + + protected function _getSettingModelFromRequestOrRedirectToListing() + { + $id = $this->_getParam('id'); + $settingModel = $this->_getServerSettingMapper()->find($id); + + if (!$settingModel) { + $this->getFlashMessenger()->addErrorMessage(sprintf('unknown setting with id %d', $id)); + $this->_redirect($this->url('default-stream-settings'), array('exit' => true)); + } + + return $settingModel; + } + + protected function _getServerSettingMapper() + { + static $serverSettingMapper; + if ($serverSettingMapper === null) { + $serverSettingMapper = new Application_Model_ServerSettingMapper; + } + + return $serverSettingMapper; + } +} \ No newline at end of file diff --git a/application/forms/ServerSettingEdit.php b/application/forms/ServerSettingEdit.php new file mode 100644 index 0000000..006ef3a --- /dev/null +++ b/application/forms/ServerSettingEdit.php @@ -0,0 +1,21 @@ +setLabel('Default value'); + + $submitButton = new Zend_Form_Element_Submit('edit'); + + $this->addElements(array( + $defaultValueField, + $submitButton, + )); + } +} \ No newline at end of file diff --git a/application/views/scripts/setting/default-stream-settings.phtml b/application/views/scripts/setting/default-stream-settings.phtml new file mode 100644 index 0000000..c8789df --- /dev/null +++ b/application/views/scripts/setting/default-stream-settings.phtml @@ -0,0 +1,37 @@ + +

list default stream settings

+ + + + + + + + + + + settings as $setting): ?> + + + + + + + + + +
idnamevalue#
+ escape($setting->getId()) ?> + + escape($setting->getName()) ?> + + escape($setting->getDefaultValue()) ?> + + edit +
\ No newline at end of file diff --git a/application/views/scripts/setting/edit-default-stream-setting.phtml b/application/views/scripts/setting/edit-default-stream-setting.phtml new file mode 100644 index 0000000..fd5cd31 --- /dev/null +++ b/application/views/scripts/setting/edit-default-stream-setting.phtml @@ -0,0 +1,9 @@ + +

edit default stream setting - escape($this->setting->getName()) ?>

+ form ?> \ No newline at end of file