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

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

	}
     
    public function searchAction()
	{
        $this->view->titlePage = "Rechercher un sujet";  
		$data = array (  
			 	'title' => "",
			 	'is_publish' => 0,
			 	'is_close' => 0, 
			 	'id_category' => 0
		);
        $blogCategory = new BlogCategory();
        $this->view->listallblogcategories = $blogCategory->AllCategories(0); 
        $this->view->listallsubjects = array();
        try { 
        
		    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 (  
                         'title' => $filter->filter($params['title']),
                         'is_publish' => (int)$params['is_publish'],
                         'is_close' => (int)$params['is_close'],
                         'id_category' => (int)$params['id_category']
                ); 
                
                $blogSubject = new BlogSubject(); 
                $this->view->listallsubjects = $blogSubject->getPostBySearch($data);  
		    }
		    $this->view->populateData = $data; 
        } catch (Zend_Exception $e) {
            $this->view->populateData = $data;
            $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 { 
					$subject = new BlogSubject(); 
					$subject->delete('id = '.$id); 
					$this->view->messageSuccess = "Le sujet a et� supprim�";
					$this->log("Le sujet a et� supprim�",'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' => "", 
                 'id_category' => 0
        );
		try {
            $blogCategory = new BlogCategory();
            $this->view->listallblogcategories = $blogCategory->AllCategories(0);
		    $this->view->titlePage = "Ajouter un sujet";
		    $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_category' => (int)$params['id_category'] 
		        );  
			    $validator = new Zend_Validate();
			    $validator -> addValidator(new Zend_Validate_NotEmpty());
                 if (
			    $validator->isValid($data['title']) && 
                $data['id_category'] > 0
			    ) { 
                        $blogSubject = new BlogSubject();
				        $blogSubject->insert($data);
				        $this->view->messageSuccess = "Le sujet a �t� ajout�"; 
                        $data['title'] = "";
                        $data['sub_title'] = "";
                        $data['message'] = "";
                 } else {
                     foreach ($validator->getErrors() as $errorCode) {
                         $this->view->messageError .=  $this->getErrorValidator($errorCode);
                     }
                     if ($data['id_category'] == 0) {
                         $this->view->messageError .= "Choisissez une cat�gorie.";
                     }
                 } 
            }
		}
        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' => "", 
                 'id_category' => 0
        );
		try {
		    $blogCategory = new BlogCategory();
            $blogSubject = new BlogSubject();
            $this->view->listallblogcategories = $blogCategory->AllCategories(0);
		    $this->view->titlePage = "Modifier un sujet";
		    $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 = $blogSubject->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_category' => (int)$params['id_category'] 
		        );  
                $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) { 
					    $blogSubject->update($data,'ID = '.$id); 
					    $this->view->messageSuccess = "Le sujet a �t� modifi�.";
					    $this->view->populateData = $blogSubject->fetchRow('ID = '.$id);
				    }
                 } else {
                     foreach ($validator->getErrors() as $errorCode) {
                         $this->view->messageError .=  $this->getErrorValidator($errorCode);
                     }
                     if ($data['id_category'] == 0) {
                         $this->view->messageError .= "Choisissez une cat�gorie.";
                     }
                 } 
		    }
        }
        catch (Zend_Exception $e) {
            $this->view->populateData = $data;
            $this->log($e->getMessage(),'err');
        } 
	}

}
?>