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

	public function init()
	{
		$this->view->title = "Administration"; 
		$this->view->currentMenu = "BlogCategory";
	}
    function indexAction()
	{
		$this->_forward('/list');

	}

	function listAction()
	{
		try {
		    $this->view->titlePage = "Gestion des cat�gories du blog";
            
		    $blogCategory = new BlogCategory();
            $this->view->listallblogcategories = $blogCategory->AllCategories(0);
        } catch (Zend_Exception $e) { 
			$this->view->messageError = $e->getMessage();
			$this->log($e->getMessage(),'err');
		}
	}
    function delAction() {

		$this->view->messageSuccess = "";
		$this->view->messageError = "";
		if($this->_request->getParam('id')) {
			$id = (int)$this->_request->getParam('id');
			if ($id > 0) {
				try {
					$category = new BlogCategory();
					if ($category->fetchRow('id_parent = '.$id)) {
						$this->view->messageError = 'Cette cat�gorie est parente';
					} else {
						$subject = new BlogSubject();
						$select = $subject->fetchRow('id_category = '.$id);
						if ($select) {
							$this->view->messageError = 'Cette cat�gorie est utilis�e par le sujet : <b>'.$select->title."<b/>";
						} else {

							$category->delete('id = '.$id); 
							$this->view->messageSuccess = "La cat�gorie du blog a et� supprim�e";
							$this->log("La cat�gorie du blog a et� supprim�e",'info');

						}
					}
				}
                catch (Zend_Exception $e) {
					$this->view->messageError = $e->getMessage();
					$this->log($e->getMessage(),'err');
				}
			}
		}
		$this->_forward('/list');

	} 
	public function addAction()
	{
        $data = array ( 
                 'is_publish' => 0, 
                 'is_close' => 0, 
                 'title' => "",
                 'sub_title' => "",
                 'message' => ""
        );
		try {
            $blogCategory = new BlogCategory();
            $this->view->listallblogcategories = $blogCategory->AllCategories(0);
		    $this->view->titlePage = "Ajouter une cat�gorie";
		    $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());
             
		        //get the form params
		        $params = $this->_request->getPost();

		        //Refractor the params
		        $data = array ( 
			 	        'is_publish' =>  (int)$params['is_publish'], 
			 	        'title' => $filter->filter($params['title']),
			 	        'message' => $params['message'],
			 	        'sub_title' => $params['sub_title'],
			 	        'is_close' =>  (int)$params['is_close'],
                        'date_updated' => date('Y-m-d H:i:s') ,
                        'id_parent' => (int)$params['idparent'] 
		        );  
			    $validator = new Zend_Validate();
			    $validator -> addValidator(new Zend_Validate_NotEmpty());
                 if (
			    $validator->isValid($data['title']) && 
                $data['id_parent'] > 0
			    ) { 
				        $blogCategory->insert($data);
				        $this->view->messageSuccess = "La cat�gorie a �t� ajout�e"; 
                        $data['title'] = "";
                        $data['sub_title'] = "";
                        $data['message'] = "";
                 } else {
                     foreach ($validator->getErrors() as $errorCode) {
                         $this->view->messageError .=  $this->getErrorValidator($errorCode);
                     }
                     if ($data['id_parent'] == 0) {
                         $this->view->messageError .= "Choisissez une cat�gorie parente.";
                     }
                 } 
            }
		}
        catch (Zend_Exception $e) { 
			$this->log($e->getMessage(),'err');
        } 
		$this->view->populateData = $data; 
	}
    
    public function editAction()
	{
        $data = array ( 
                 'is_publish' => 0, 
                 'is_close' => 0, 
                 'title' => "",
                 'sub_title' => "",
                 'message' => ""
        );
		try {
		    $blogCategory = new BlogCategory();
            $this->view->listallblogcategories = $blogCategory->AllCategories(0);
		    $this->view->titlePage = "Modifier une cat�gorie";
		    $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());
         
		    if ($this->getRequest()->getParam('id')) {
			    $id = (int)$this->getRequest()->getParam('id');
			    if ($id>0) {
				    $this->view->populateData = $blogCategory->fetchRow('ID = '.$id);
			    }
		    }
		    if ($this->getRequest()->isPost()) {

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

			    //Refractor the params
			    $data = array ( 
                        'id' => (int)$params['id'],
			 	        'is_publish' =>  (int)$params['is_publish'], 
			 	        'title' => $filter->filter($params['title']),
			 	        'message' => $params['message'],
			 	        'sub_title' => $params['sub_title'],
			 	        'is_close' =>  (int)$params['is_close'],
                        'date_updated' => date('Y-m-d H:i:s') ,
                        'id_parent' => (int)$params['idparent'] 
		        );  
                $this->view->populateData = $data;

			    $validator = new Zend_Validate();
			    $validator -> addValidator(new Zend_Validate_NotEmpty());
                 if (
			    $validator->isValid($data['title']) 
			    ) { 
				    $id = (int)$params['id'];
				    if ( $id > 0) {
							
					    $blogCategory->update($data,'ID = '.$id); 
					    $this->view->messageSuccess = "La cat�gorie a �t� modifi�e";
					    $this->view->populateData = $blogCategory->fetchRow('ID = '.$id);
				    }
                 } else {
                     foreach ($validator->getErrors() as $errorCode) {
                         $this->view->messageError .=  $this->getErrorValidator($errorCode);
                     }
                     if ($data['id_parent'] == 0) {
                         $this->view->messageError .= "Choisissez une cat�gorie parente.";
                     }
                 } 
		    }
        }
        catch (Zend_Exception $e) {
            $this->view->populateData = $data;
            $this->log($e->getMessage(),'err');
        } 
	}

}
?>