diff options
| author | Simon | 2011-03-06 18:24:51 +0100 |
|---|---|---|
| committer | Simon | 2011-03-06 18:24:51 +0100 |
| commit | 398f25856f0f8a398fd9326eb027816ee035b7a6 (patch) | |
| tree | 24cc098acaa80cb5a912e87ce245f4199999b8c8 /application | |
| parent | print_a funktion zum debugging hinzugefügt damit sie von überall benutzbar ... (diff) | |
| parent | Config fertig (diff) | |
| download | pbs2-398f25856f0f8a398fd9326eb027816ee035b7a6.tar.gz pbs2-398f25856f0f8a398fd9326eb027816ee035b7a6.tar.xz pbs2-398f25856f0f8a398fd9326eb027816ee035b7a6.zip | |
Merge branch 'master' of openslx.org:lsfks/master-teamprojekt/pbs2
Diffstat (limited to 'application')
| -rw-r--r-- | application/controllers/BootosController.php | 2 | ||||
| -rw-r--r-- | application/controllers/ConfigController.php | 82 | ||||
| -rw-r--r-- | application/forms/BootosEdit.php | 8 | ||||
| -rw-r--r-- | application/forms/ConfigCreate.php | 45 | ||||
| -rw-r--r-- | application/forms/ConfigEdit.php | 45 | ||||
| -rw-r--r-- | application/models/Config.php | 22 | ||||
| -rw-r--r-- | application/models/ConfigMapper.php | 6 | ||||
| -rw-r--r-- | application/views/scripts/config/createconfig.phtml | 5 | ||||
| -rw-r--r-- | application/views/scripts/config/editconfig.phtml | 5 | ||||
| -rw-r--r-- | application/views/scripts/config/index.phtml | 8 |
10 files changed, 201 insertions, 27 deletions
diff --git a/application/controllers/BootosController.php b/application/controllers/BootosController.php index 5f096a6..69621f0 100644 --- a/application/controllers/BootosController.php +++ b/application/controllers/BootosController.php @@ -52,7 +52,7 @@ class BootosController extends Zend_Controller_Action if (!isset($_POST["editbootos"])){ $bootosID = $this->_request->getParam('bootosID'); - if (!isset($bootosID)){ + if (!isset($bootosID) || !is_numeric($bootosID)){ $this->_redirect('/bootos'); } else { $bootos = new Application_Model_BootOs(); diff --git a/application/controllers/ConfigController.php b/application/controllers/ConfigController.php index 61d58f1..de64cbf 100644 --- a/application/controllers/ConfigController.php +++ b/application/controllers/ConfigController.php @@ -5,27 +5,97 @@ class ConfigController extends Zend_Controller_Action public function init() { - /* Initialize action controller here */ - } + $db = Zend_Db_Table::getDefaultAdapter(); + } public function indexAction() { - // action body + $configmapper = new Application_Model_ConfigMapper(); + $this->view->configlist = $configmapper->fetchAll(); } public function createconfigAction() { - // action body + if (!isset($_POST["createconfig"])){ + $createconfigForm = new Application_Form_ConfigCreate(); + } else { + + $createconfigForm = new Application_Form_ConfigCreate($_POST); + + if ($createconfigForm->isValid($_POST)) { + + $config = new Application_Model_Config($_POST); + $configmapper = new Application_Model_ConfigMapper(); + + try { + $configmapper->save($config); + }catch(Zend_Exception $e) + { + echo "Caught exception: " . get_class($e) . "<br/>"; + echo "Message: " . $e->getMessage() . "<br/>"; + + } + $this->_redirect('/config'); + } + } + + $this->view->createconfigForm = $createconfigForm; } public function editconfigAction() { - // action body + $configID = $this->_request->getParam('configID'); + + if (!isset($_POST["editconfig"])){ + $configID = $this->_request->getParam('configID'); + if (!isset($configID) || !is_numeric($configID)){ + $this->_redirect('/config'); + } else { + $config = new Application_Model_Config(); + $configmapper = new Application_Model_ConfigMapper(); + $configmapper->find($configID, $config); + + $editconfigForm = new Application_Form_ConfigEdit(); + $editconfigForm->populate($config->toArray()); + } + }else{ + $editconfigForm = new Application_Form_ConfigEdit($_POST); + + if ($editconfigForm->isValid($_POST)) { + + $config = new Application_Model_Config($_POST); + $configmapper = new Application_Model_ConfigMapper(); + + $config->setID($configID); + + try { + $configmapper->save($config); + }catch(Zend_Exception $e) + { + echo "Caught exception: " . get_class($e) . "<br/>"; + echo "Message: " . $e->getMessage() . "<br/>"; + } + + $this->_redirect('/config'); + } + + } + + $this->view->editconfigForm = $editconfigForm; } public function deleteconfigAction() { - // action body + $configID = $this->_request->getParam('configID'); + if (!isset($configID)){ + $this->_redirect('/config'); + } else { + $config = new Application_Model_Config(); + $config->setID($configID); + $configmapper = new Application_Model_ConfigMapper(); + $configmapper->delete($config); + } + $this->_redirect('/config'); } diff --git a/application/forms/BootosEdit.php b/application/forms/BootosEdit.php index 3bc522f..89edf79 100644 --- a/application/forms/BootosEdit.php +++ b/application/forms/BootosEdit.php @@ -17,6 +17,14 @@ class Application_Form_BootosEdit extends Zend_Form 'label' => 'Title:', )); + $this->addElement('text', 'title', array( + 'filters' => array('StringTrim'), + 'validators' => array( + array('StringLength', false, array(0, 50)), + ), + 'required' => true, + 'label' => 'Title:', + )); $this->addElement('text', 'configID', array( 'filters' => array('StringTrim'), diff --git a/application/forms/ConfigCreate.php b/application/forms/ConfigCreate.php index 2c9516d..705fd62 100644 --- a/application/forms/ConfigCreate.php +++ b/application/forms/ConfigCreate.php @@ -1,13 +1,52 @@ <?php -class Application_Form_ConfigAdd extends Zend_Form +class Application_Form_ConfigCreate extends Zend_Form { public function init() { - /* Form Elements & Other Definitions Here ... */ - } + $this->setName("ConfigCreate"); + $this->setMethod('post'); + + $this->addElement('text', 'title', array( + 'filters' => array('StringTrim'), + 'validators' => array( + array('StringLength', false, array(0, 50)), + ), + 'required' => true, + 'label' => 'Title:', + )); + + $this->addElement('text', 'groupID', array( + 'filters' => array('StringTrim'), + 'validators' => array( + array('StringLength', false, array(0, 50)), + ), + 'required' => true, + 'label' => 'GroupID:', + 'value' => '1', + )); + + $this->addElement('textarea', 'shellscript', array( + 'filters' => array('StringTrim'), + 'validators' => array( + array('StringLength', false, array(0, 50)), + ), + 'required' => true, + 'label' => 'Shellscript:', + )); + + $this->addElement('submit', 'createconfig', array( + 'required' => false, + 'ignore' => true, + 'label' => 'Create Config', + )); + + $this->addElement('button', 'Cancel', array( + 'onclick' => 'self.location="/config"' + )); + } } diff --git a/application/forms/ConfigEdit.php b/application/forms/ConfigEdit.php index 6403f06..3883595 100644 --- a/application/forms/ConfigEdit.php +++ b/application/forms/ConfigEdit.php @@ -3,11 +3,50 @@ class Application_Form_ConfigEdit extends Zend_Form { - public function init() + public function init() { - /* Form Elements & Other Definitions Here ... */ - } + $this->setName("ConfigEdit"); + $this->setMethod('post'); + + $this->addElement('text', 'title', array( + 'filters' => array('StringTrim'), + 'validators' => array( + array('StringLength', false, array(0, 50)), + ), + 'required' => true, + 'label' => 'Title:', + )); + + $this->addElement('text', 'groupID', array( + 'filters' => array('StringTrim'), + 'validators' => array( + array('StringLength', false, array(0, 50)), + ), + 'required' => true, + 'label' => 'GroupID:', + 'value' => '1', + )); + + $this->addElement('textarea', 'shellscript', array( + 'filters' => array('StringTrim'), + 'validators' => array( + array('StringLength', false, array(0, 50)), + ), + 'required' => true, + 'label' => 'Shellscript:', + )); + + $this->addElement('submit', 'editconfig', array( + 'required' => false, + 'ignore' => true, + 'label' => 'Edit Config', + )); + + $this->addElement('button', 'Cancel', array( + 'onclick' => 'self.location="/config"' + )); + } } diff --git a/application/models/Config.php b/application/models/Config.php index b9a29dc..8107705 100644 --- a/application/models/Config.php +++ b/application/models/Config.php @@ -3,7 +3,8 @@ class Application_Model_Config { protected $_configID; - protected $_membershipID; + protected $_groupID; + protected $_title; protected $_shellscript; public function __construct(array $options = null) @@ -53,13 +54,13 @@ class Application_Model_Config $this->_configID = $_configID; return $this; } - public function getMembershipID() + public function getGroupID() { - return $this->_membershipID; + return $this->_groupID; } - public function setMembershipID($_membershipID) + public function setGroupID($_groupID) { - $this->_membershipID = $_membershipID; + $this->_groupID = $_groupID; return $this; } public function getShellscript() @@ -71,6 +72,17 @@ class Application_Model_Config $this->_shellscript = $_shellscript; return $this; } + public function getTitle() + { + return $this->_title; + } + public function setTitle($_title) + { + $this->_title = $_title; + return $this; + } + + /** * Returns current data as associative array using ReflectionClass * diff --git a/application/models/ConfigMapper.php b/application/models/ConfigMapper.php index 10d590b..52dcb86 100644 --- a/application/models/ConfigMapper.php +++ b/application/models/ConfigMapper.php @@ -32,7 +32,7 @@ class Application_Model_ConfigMapper public function save(Application_Model_Config $config) { - $data = array('configID'=> $config->getID() ,'membershipID'=> $config->getMembershipID() ,'shellscript'=> $config->getShellscript() ); + $data = array('configID'=> $config->getID() ,'groupID'=> $config->getGroupID() ,'shellscript'=> $config->getShellscript(), 'title'=> $config->getTitle() ); if (null === ($id = $config->getID()) ) { unset($data['configID']); @@ -60,7 +60,7 @@ class Application_Model_ConfigMapper $row = $result->current(); - $config->setID($row->configID)->setMembershipID($row->membershipID)->setShellscript($row->shellscript); + $config->setID($row->configID)->setGroupID($row->groupID)->setShellscript($row->shellscript)->setTitle($row->title); } public function fetchAll() @@ -70,7 +70,7 @@ class Application_Model_ConfigMapper foreach ($resultSet as $row) { $entry = new Application_Model_Config(); - $entry->setID($row->configID)->setMembershipID($row->membershipID)->setShellscript($row->shellscript); + $entry->setID($row->configID)->setGroupID($row->groupID)->setShellscript($row->shellscript)->setTitle($row->title); $entries[] = $entry; } diff --git a/application/views/scripts/config/createconfig.phtml b/application/views/scripts/config/createconfig.phtml index 5b92915..e6edf7b 100644 --- a/application/views/scripts/config/createconfig.phtml +++ b/application/views/scripts/config/createconfig.phtml @@ -1 +1,4 @@ -<br /><br /><center>View script for controller <b>Config</b> and script/action name <b>createconfig</b></center>
\ No newline at end of file +<?php +$this->createconfigForm->setAction($this->url()); +echo $this->createconfigForm; +?> diff --git a/application/views/scripts/config/editconfig.phtml b/application/views/scripts/config/editconfig.phtml index 0e002b7..4971f2e 100644 --- a/application/views/scripts/config/editconfig.phtml +++ b/application/views/scripts/config/editconfig.phtml @@ -1 +1,4 @@ -<br /><br /><center>View script for controller <b>Config</b> and script/action name <b>editconfig</b></center>
\ No newline at end of file +<?php +$this->editconfigForm->setAction($this->url()); +echo $this->editconfigForm; +?> diff --git a/application/views/scripts/config/index.phtml b/application/views/scripts/config/index.phtml index a91cb9c..ea6c381 100644 --- a/application/views/scripts/config/index.phtml +++ b/application/views/scripts/config/index.phtml @@ -24,16 +24,16 @@ array( 'controller' => 'config', 'action' => 'deleteconfig', - 'bootosID' => $bootos->getID() + 'configID' => $config->getID() ), 'default', - true) ?>">Delete BootOS</a></td> + true) ?>">Delete Config</a></td> </tr> <?php endforeach; ?> </table> <br/> -<?php echo $this->formButton('createbootos', 'Create BootOS', array( - 'onclick' => 'self.location="/bootos/createbootos"'))?> +<?php echo $this->formButton('createconfig', 'Create Config', array( + 'onclick' => 'self.location="/config/createconfig"'))?> |
