php
/*
* Copyright (c) 2011 - OpenSLX GmbH, RZ Uni Freiburg
* This program is free software distributed under the GPL version 2.
* See http://gpl.openslx.org/
*
* If you have any feedback please consult http://feedback.openslx.org/ and
* send your suggestions, praise, or complaints to feedback@openslx.org
*
* General information about OpenSLX can be found at http://openslx.org/
*/
class dev_ConfigController extends Zend_Controller_Action {
public function init() {
$db = Zend_Db_Table::getDefaultAdapter();
}
public function indexAction() {
$configmapper = new Application_Model_ConfigMapper();
$groupmapper = new Application_Model_GroupMapper();
$membershipmapper = new Application_Model_MembershipMapper();
$personmapper = new Application_Model_PersonMapper();
$this->view->configlist = $configmapper->fetchAll();
foreach ($this->view->configlist as $config) {
$config->setGroupID("[".$config->getGroupID()."] ".$groupmapper->find($config->getGroupID())->getTitle());
$config->setMembershipID("[".$config->getMembershipID()."] ".$personmapper->find($membershipmapper->find($config->getMembershipID())->getPersonID())->getFirstname());
}
}
public function createconfigAction() {
$groupmapper = new Application_Model_GroupMapper();
if (!isset($_POST["createconfig"])) {
$createconfigForm = new dev_Form_ConfigCreate(array('grouplist' => $groupmapper->fetchAll()));
} else {
$createconfigForm = new dev_Form_ConfigCreate(array('grouplist' => $groupmapper->fetchAll()), $_POST);
if ($createconfigForm->isValid($_POST)) {
$config = new Application_Model_Config($_POST);
$config->setCreated(time());
$config->setMembershipID('1');
$configmapper = new Application_Model_ConfigMapper();
try {
$configmapper->save($config);
} catch(Zend_Exception $e) {
echo "Caught exception: " . get_class($e) . "
";
echo "Message: " . $e->getMessage() . "
";
}
$this->_redirect('/dev/config');
}
}
$this->view->createconfigForm = $createconfigForm;
}
public function editconfigAction() {
$configID = $this->_request->getParam('configID');
$groupmapper = new Application_Model_GroupMapper();
if (!isset($_POST["editconfig"])) {
$configID = $this->_request->getParam('configID');
if (!isset($configID) || !is_numeric($configID)) {
$this->_redirect('/dev/config');
} else {
$config = new Application_Model_Config();
$configmapper = new Application_Model_ConfigMapper();
$config = $configmapper->find($configID);
$editconfigForm = new dev_Form_ConfigEdit(array('grouplist' => $groupmapper->fetchAll()));
$editconfigForm->populate($config->toArray());
}
} else {
$editconfigForm = new dev_Form_ConfigEdit(array('grouplist' => $groupmapper->fetchAll()), $_POST);
if ($editconfigForm->isValid($_POST)) {
$config = new Application_Model_Config($_POST);
$configmapper = new Application_Model_ConfigMapper();
$config->setCreated(time());
$config->setMembershipID('1');
$config->setID($configID);
try {
$configmapper->save($config);
} catch(Zend_Exception $e) {
echo "Caught exception: " . get_class($e) . "
";
echo "Message: " . $e->getMessage() . "
";
}
$this->_redirect('/dev/config');
}
}
$this->view->editconfigForm = $editconfigForm;
}
public function deleteconfigAction() {
$configID = $this->_request->getParam('configID');
if (!isset($configID)) {
$this->_redirect('/dev/config');
} else {
$config = new Application_Model_Config();
$config->setID($configID);
$configmapper = new Application_Model_ConfigMapper();
$configmapper->delete($config);
}
$this->_redirect('/dev/config');
}
}