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

	public function init()
	{
		$this->view->title = "Administration";

		$this->isConnectedWithRole('isProduct'); 
	}
	public function indexAction()
	{
		$this->_forward('/option');

	}
public function optionAction() {
		$this->view->titlePage = "Gestion des caract�ristiques s�lectionnable";
		$this->view->currentMenu = "Option";
		
		$optionList = new OptionList();
		if ($this->_request->isPost() && (int)$this->_request->getParam('id') ==0) {

			//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());


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

			$values = explode(",", $params['value']);
			$result = "";
			foreach ($values as $value) {
				$valTemp = $filter->filter($value);
				if (!empty($valTemp)) {
					if (empty($result))  {
						$result .= $filter->filter($valTemp);
					} else {
						$result .= "::".$filter->filter($valTemp);
					}
				}
			}	
						
			$data = array (
			 		'NAME' => $filter->filter($params['name']),
			 		'VALUE' => $result
			);

			if ($validator->isValid($data['NAME']) && $validator->isValid($data['VALUE'])) {

				try { 
					$optionList->insert($data); 
					$this->view->messageSuccess = "La caract�ristique a �t� ajout�e"; 
				} catch (Zend_Exception $e) { 
					$this->log($e->getMessage(),'err');
					$this->view->messageError = "La caract�ristique existe d�j�"; 
				}
			} else {
				foreach ($validator->getErrors() as $errorCode) {
					$this->view->messageError .=  $this->getErrorValidator($errorCode);
				}
			} 
		} 
		$this->view->listoption = $optionList->getAll();
	}
	public function optioneditAction()
	{
		$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());


			//get the form params
			$params = $this->_request->getPost();
			
			$values = explode(",", $params['value']);
			$result = "";
			foreach ($values as $value) {
				$valTemp = $filter->filter($value);
				if (!empty($valTemp)) {
					if (empty($result))  {
						$result .= $filter->filter($valTemp);
					} else {
						$result .= "::".$filter->filter($valTemp);
					}
				}
			}	
			
			$data = array (
			 		'NAME' => $filter->filter($params['name']),
			 		'VALUE' => $result,
			 		'ID' => $filter->filter($params['id'])
			);

			if ($validator->isValid($data['NAME']) && $validator->isValid($data['VALUE']) ) {

				try {
					$optionList = new OptionList();
					$optionList->update($data, 'ID = '.$data['ID']);

					$this->view->messageSuccess = "La caract�ristique a �t� modifi�e";

				} catch (Zend_Exception $e) {
					$this->log($e->getMessage(),'err');
					$this->view->messageError = "La caract�ristique existe d�ja";

					$this->_forward('option');
				}
			} else {
				foreach ($validator->getErrors() as $errorCode) {
					$this->view->messageError .=  $this->getErrorValidator($errorCode);
				}
			}
		}
		$this->_forward('option');
	}
	public function optiondelAction() {

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

		if($this->_request->getParam('id')) {
			$id = (int)$this->_request->getParam('id');
			if ($id > 0) {
				try { 
					$optionList = new OptionList();
					$isExistProduct = $optionList->getProductByIdOption($id); 
					if (!$isExistProduct) { 
						$optionList->delete('ID = '.$id);

						$this->view->messageSuccess = "La caract�ristique a �t� supprim�e";
					} else {
						$this->view->messageError = "La caract�ristique est utilis�e par : <b/>".$isExistProduct['NOM']."</b>";
					}
				} catch (Zend_Exception $e) {
					$this->log($e->getMessage(),'err');
					$this->view->messageError = $e->getMessage();
					$this->_forward('/option');
				}
			}
		}
		$this->_forward('/option');
	}
	
}
?>