X-Git-Url: http://git.inspyration.org/?a=blobdiff_plain;f=module%2FGalerie%2Fsrc%2FGalerie%2FController%2FIndexController.php;h=b8847a0cbde5f5032355eebd8f6582091f289114;hb=be46560bc8bd090930c4d0ede944a9b74ab59a15;hp=48b3b61b68d02859d25232eb61693614cad2e0cf;hpb=82ecfb3e24417c3f3b37bad291715260b63ed9fb;p=zf2.biz%2Fgalerie.git diff --git a/module/Galerie/src/Galerie/Controller/IndexController.php b/module/Galerie/src/Galerie/Controller/IndexController.php index 48b3b61..b8847a0 100644 --- a/module/Galerie/src/Galerie/Controller/IndexController.php +++ b/module/Galerie/src/Galerie/Controller/IndexController.php @@ -3,27 +3,81 @@ namespace Galerie\Controller; use Zend\Mvc\Controller\AbstractActionController; - +use Zend\View\Model\ViewModel; class IndexController extends AbstractActionController -{ +{ + + private $_galerieTable; + private $_galerieInfoTable; + + + private function _getGalerieTable() + { + if (!$this->_galerieTable) { + $sm = $this->getServiceLocator(); + $this->_galerieTable = $sm->get('Galerie\Model\GalerieTable'); + } + return $this->_galerieTable; + } + + private function _getGalerieInfoTable() + { + if (!$this->_galerieInfoTable) { + $sm = $this->getServiceLocator(); + $this->_galerieInfoTable = $sm->get('Galerie\Model\GalerieInfoTable'); + } + return $this->_galerieInfoTable; + } + + public function indexAction() { - return array(); + return new ViewModel(array( + 'galeries' => $this->_getGalerieInfoTable()->all(), + )); } public function editAction() { - return array(); + // Récupération de l'objet de travail + $id = $this->params()->fromRoute('id', null); + $galerie = $this->_getGalerieTable()->any($id); + + // Récupération de l'objet requête + $request = $this->getRequest(); + if ($request->isPost()) { + // Validation des données + + if (true) {//TODO: Si les données sont valides + // Sauvegarde des données + // $this->_getGalerieTable()->save(?TODO?); + + // Redirection + return $this->redirect()->toRoute('galerie'); + } + } + return new ViewModel(array( + 'id' => $id, + 'galerie' => $galerie, + )); } public function delAction() { - return array(); + return $this->redirect()->toRoute('galerie/view', array( + 'id' => $id, + )); } public function viewAction() - { - return array(); + { + $id = $this->params()->fromRoute('id', null); + $galerie = $this->_getGalerieInfoTable()->any($id); + return new ViewModel(array( + 'id' => $id, + 'galerie' => $galerie, + )); } + }