Current File : /home/karenpetzb/library/Modules/Backoffice/Controllers/MainController.php
<?php
class Modules_Backoffice_Controllers_MainController extends Modules_Common_Controllers_MainController
{ 
	protected function getSession(){ 
		$registry = Zend_Registry::getInstance();
		$setting = $registry->get('setting');
		return new Zend_Session_Namespace($setting->session_admin_variable);
	}

	protected function getSessionStorage() {
		$registry = Zend_Registry::getInstance();
		$setting = $registry->get('setting');
		return new Zend_Auth_Storage_Session($setting->session_admin_storage);
	}
	
	protected function errorHandler($e) {
		$this->log($e->getMessage(), 'err');
	}
	 
	protected function setPaginator($listprods, $page, $pageCount) {
		$paginator = Zend_Paginator::factory($listprods);
		$paginator->setItemCountPerPage($pageCount);
		$paginator->setCurrentPageNumber($page);
		$this->view->paginator=$paginator;
	}
	
	protected function delete_directory($dirname) {
		if (is_dir($dirname))
		$dir_handle = opendir($dirname);
		if (!isset($dir_handle))
		return false;
		while($file = readdir($dir_handle)) {
			if ($file != "." && $file != "..") {
				if (!is_dir($dirname."/".$file))
				unlink($dirname."/".$file);
				else
				delete_directory($dirname.'/'.$file);
			}
		}
		closedir($dir_handle);
		rmdir($dirname);
		return true;
	}


	private function initLog() {
		$registry = Zend_Registry::getInstance();
		$loggerAdmin = $registry->get('loggerAdmin');

		$controller = Zend_Controller_Front::getInstance()->getRequest();
		$loggerAdmin->setEventItem('controller', $controller->getControllerName().'::'.$controller->getActionName());
			
		$registry->set('loggerAdmin', $loggerAdmin);
	}

	protected function log($message , $level) {
		$loggerAdmin = Zend_Registry::get('loggerAdmin');
		if ($level == 'info') {
			//$loggerAdmin->info($message);
		} elseif ($level == 'err') {
			$loggerAdmin->err($message);
		} elseif ($level == 'warn') {
			$loggerAdmin->warn($message);
		} elseif ($level == 'crit') {
			$loggerAdmin->crit($message);
		}
	}

	private function isConnected() {
		$auth = Zend_Auth::getInstance();
		$auth->setStorage($this->getSessionStorage());  
		$storage = $auth->getStorage()->read(); 
		
		if ($auth->hasIdentity() && isset($storage['user'])) {
			$this->_redirect('/');
		} else {
			if ($auth->hasIdentity() && isset($storage['useradmin']) && $storage['useradmin']['role'] == '100') {
				$this->view->useradmin = $storage['useradmin'];
			} else {
				$this->_redirect('/backoffice/auth/login');
			}
		} 
	}
	protected function isConnectedWithRole($role) {
		$auth = Zend_Auth::getInstance();
		$auth->setStorage($this->getSessionStorage());  
		$storage = $auth->getStorage()->read(); 
		
		if ($auth->hasIdentity() && isset($storage['user'])) {
			$this->_redirect('/');
		} else {
			if ($auth->hasIdentity() && isset($storage['useradmin']) && $storage['useradmin'][$role] == 0) { 
				$this->_redirect('/backoffice/');
			}
		} 
	}
	
	
	function preDispatch()
	{
		$this->initVariables();
		$this->initLog();

		//Listing Categories
		$category = new Category();
		$this->view->listallcategories = $category->getAllCategoriesByID(0);

		$this->isConnected();
	}

	protected function getCurrentTva($datevalue) {
		$date = new Zend_Date();
		$date->set($datevalue);
		$result = 20;
		if (intval($date->toString('YYYY')) < 2014) {
			$result = 19.60;
		}
		return $result;
	}
}
?>