Current File : /home/karenpetzb/application/modules/backoffice/controllers/AnnoncefooterController.php
<?php
class Backoffice_AnnoncefooterController extends Modules_Backoffice_Controllers_MainController
{

	public function init()
	{
		$this->view->title = "Gestion des annonces en bas de page";
		$this->view->currentMenu = "AnnonceFooter";
		$this->isConnectedWithRole('isPromo');
	}
	public function indexAction()
	{
		$this->_forward('/list');
	}

	public function editAction()
	{
			
		$this->view->titlePage = "Modifier une annonce";
		$this->view->messageSuccess = "";
		$this->view->messageError = "";
			
		//filtres pour changer les chaines
		$filter = new Zend_Filter();
		$filter	->addFilter(new Zend_Filter_StripTags())
		->addFilter(new Zend_Filter_StringTrim());

		//valideurs pour les chaines
		$validator = new Zend_Validate();
		$validator -> addValidator(new Zend_Validate_NotEmpty())
		-> addValidator(new Zend_Validate_StringLength(3));

		$annonce = new AnnonceFooter();
		if ($this->getRequest()->getParam('id')) {
			$id = (int)$this->getRequest()->getParam('id');
			if ($id>0) {
				$this->view->populateFormAnnonceFooter = $annonce->fetchRow('ID = '.$id);
			}
		}
		if ($this->getRequest()->isPost()) {

			//get the form params
			$params = $this->_request->getPost();

			//Refractor the params
			$dataAnnonce = array (
			 		'ID' => (int)$params['id'],
			 		'TITRE' => $filter->filter($params['titre']),
			 		'CONTENT' => $params['content'],
			 		'isSHOW' => $params['isshow'],
					'CONT_NAME' => '',
					'CAT_ID' => ''
					);

					if (isset($params['controllername'])) {
						foreach($params['controllername'] as $value)
						{
							$dataAnnonce['CONT_NAME'] .= $value.";";
						}
					}
					if (isset($params['categorie'])) {
						foreach($params['categorie'] as $value)
						{
							$dataAnnonce['CAT_ID'] .= $value.";";
						}
					}

					if ($validator->isValid($dataAnnonce['TITRE']) &&
					$validator->isValid($dataAnnonce['CONTENT'])
					) {
						try {
							$id = (int)$params['id'];
							if ( $id > 0) {
									
								$annonce->update($dataAnnonce,'ID = '.$id);
								$this->view->messageSuccess = "L'annonce a �t� modifi�e";
								$this->view->populateFormAnnonceFooter = $annonce->fetchRow('ID = '.$id);
								$this->log("L'annonce a �t� modifi�e ".$id,'info');
							}
						} catch (Zend_Exception $e) {
							$this->log($e->getMessage(),'err');
							$this->view->populateFormAnnonceFooter = $dataAnnonce;
						}
					} else {
						foreach ($validator->getErrors() as $errorCode) {
							$this->view->messageError .=  $this->getErrorValidator($errorCode);
						}
						$this->view->populateFormAnnonceFooter = $dataAnnonce;
					}

		}
		$this->_forward('/list');
	}


	public function addAction()
	{
			
		$this->view->titlePage = "Ajouter une annonce";
		$this->view->messageSuccess = "";
		$this->view->messageError = "";

		if ($this->_request->isPost()) {

			//filtres pour changer les chaines
			$filter = new Zend_Filter();
			$filter	->addFilter(new Zend_Filter_StripTags())
			->addFilter(new Zend_Filter_StringTrim());

			//valideurs pour les chaines
			$validator = new Zend_Validate();
			$validator -> addValidator(new Zend_Validate_NotEmpty())
			-> addValidator(new Zend_Validate_StringLength(3));


			//get the form params
			$params = $this->_request->getPost();

			//Refractor the params
			$dataAnnonce = array (
			 		'TITRE' => $filter->filter($params['titre']),
			 		'CONTENT' => $params['content'],
			 		'isSHOW' => $params['isshow'],
					'CONT_NAME' => '',
					'CAT_ID' => ''
					);
					if (isset($params['controllername'])) {
						foreach($params['controllername'] as $value)
						{
							$dataAnnonce['CONT_NAME'] .= $value.";";
						}
					}
					if (
					$validator->isValid($dataAnnonce['TITRE']) &&
					$validator->isValid($dataAnnonce['CONTENT'])
					) {
						try {
							$annonce = new AnnonceFooter();
							$annonce->insert($dataAnnonce);
							$this->view->messageSuccess = "L'annonce a �t� ajout�e";
							$this->log("L'annonce a �t� ajout�e",'info');
						} catch (Zend_Exception $e) {
							$this->log($e->getMessage(),'err');
							$this->view->populateFormAnnonceFooter = $dataAnnonce;
						}

					} else {
						foreach ($validator->getErrors() as $errorCode) {
							$this->view->messageError .=  $this->getErrorValidator($errorCode);
						}
						$this->view->populateFormAnnonceFooter = $dataAnnonce;
					}

		}
		$this->_forward('/list');
	}

	public function listAction()
	{
		$this->view->titlePage = "Gestion des annonces en bas de page";
			
		//Appel model pour listing
		$annonces = new AnnonceFooter();
		$result = $annonces->select()->order('isSHOW ASC')->order('TITRE ASC')->query()->fetchAll();
			
		$this->view->listannoncefooter = $result;
	}



	public function delAction() {

		$this->view->messageSuccess = "";
		$this->view->messageError = "";

		if($this->_request->getParam('id')) {
			$id = (int)$this->_request->getParam('id');
			if ($id > 0) {
				try {
					$annonce = new AnnonceFooter();

					$annonce->delete('ID = '.$id);
					$this->view->messageSuccess = "L'annonce a �t� supprim�e";

					$this->log("L'annonce a �t� supprim�e",'info');
				} catch (Zend_Exception $e) {
					$this->log($e->getMessage(),'err');
					$this->view->messageError = $e->getMessage();
				}
			}
		}
		$this->_forward('/list');
	}

}
?>