Current File : /home/karenpetzb/application/modules/backoffice/controllers/StatisticController.php
<?php

class Backoffice_StatisticController extends Modules_Backoffice_Controllers_MainController
{

	function init()
	{
		$this->view->title = "Administration";
		$this->view->currentMenu = "Logs";
		$this->isConnectedWithRole('isStats');  
	}
	function indexAction()
	{
		$this->_forward('/');

	}

	function logdefaultcleanAction() {
		$logDefault = new LogDefault();
		$logDefault->delete("1=1");
		$this->_forward('logdefault');
	}
	function logadmincleanAction() {
		$logAdmin = new LogAdmin();
		$logAdmin->delete("1=1");
		$this->_forward('logadmin');
	}
	function statsAction() {
		try {
			$this->view->titlePage = "Logs des administrateurs";
			$this->view->currentMenu = "Stats";

			$command = new Command();
			$this->view->statsBestSellYear = $command->statsBestSellForYear();
			$this->view->statsBestSellMonth = $command->statsBestSellForMonth();
			$this->view->statsNbProductYear = $command->statsNbProductYear();
			$this->view->statsNbProductMonth = $command->statsNbProductMonth();
			$this->view->statsCategoryCmdYear = $command->statsCategoryCmdYear();
			$this->view->statsCategoryCmdMonth = $command->statsCategoryCmdMonth();
			
			$statsSearch = new StatsSearch();
			$this->view->statsKeyWordYear = $statsSearch->statsKeyWordYear();
			
		} catch (Zend_Exception $e) {
			$this->log($e->getMessage(),'err');
			$this->view->messageError = $e->getMessage();
		}
			
	}
	
	function logadminAction() {
		try {
			$this->view->titlePage = "Logs des administrateurs";
			$this->view->currentMenu = "Logs";
			$adminNamespace = $this->getSession();

			//Gestion des tris
			$table = 'DATE_LOG';
			$tri = 'DESC';

			if ($this->_request->getParam('col'))
			{
				$adminNamespace->triAdminCol_logadmin = $this->_request->getParam('col');
				($adminNamespace->triAdminSens_logadmin == 'ASC') ? $adminNamespace->triAdminSens_logadmin = 'DESC' : $adminNamespace->triAdminSens_logadmin = 'ASC';
			}
			if (isset($adminNamespace->triAdminCol_logadmin)) {
				$table = $adminNamespace->triAdminCol_logadmin;
				$tri = $adminNamespace->triAdminSens_logadmin;
			}
			
			if (!isset($adminNamespace->triAdminNumber_logadmin)) {
				$adminNamespace->triAdminNumber_logadmin = 100;
			}
			if ($this->_request->getParam('nb')) {
				$adminNamespace->triAdminNumber_logadmin = $this->_request->getParam('nb');
			}
			$paginationNumber = $adminNamespace->triAdminNumber_logadmin;
			
			$logAdmin = new LogAdmin();
			$listlogs = $logAdmin->select()->order($table.' '.$tri);
			
			$this->setPaginator($listlogs, $this->_getParam('page',1), $paginationNumber);
		
		
		} catch (Zend_Exception $e) {
			$this->log($e->getMessage(),'err');
			$this->view->messageError = $e->getMessage();
		}
			
	}

	function logdefaultAction() {
		try {
			$this->view->titlePage = "Logs des utilisateurs";
			$this->view->currentMenu = "Logs";
			$adminNamespace = $this->getSession();
				
			//Gestion des tris
			$table = 'DATE_LOG';
			$tri = 'DESC';

			if ($this->_request->getParam('col'))
			{
				$adminNamespace->triAdminCol_logdefault = $this->_request->getParam('col');
				($adminNamespace->triAdminSens_logdefault == 'ASC') ? $adminNamespace->triAdminSens_logdefault = 'DESC' : $adminNamespace->triAdminSens_logdefault = 'ASC';
			}
			if (isset($adminNamespace->triAdminCol_logdefault)) {
				$table = $adminNamespace->triAdminCol_logdefault;
				$tri = $adminNamespace->triAdminSens_logdefault;
			}
				 
			if (!isset($adminNamespace->triAdminNumber_logdefault)) {
				$adminNamespace->triAdminNumber_logdefault = 100;
			}
			if ($this->_request->getParam('nb')) {
				$adminNamespace->triAdminNumber_logdefault = $this->_request->getParam('nb');
			}
			$paginationNumber = $adminNamespace->triAdminNumber_logdefault;
			
			$logDefault = new LogDefault();
			$listlogs = $logDefault->select()->order($table.' '.$tri);
			
			$this->setPaginator($listlogs, $this->_getParam('page',1), $paginationNumber);
		 
		} catch (Zend_Exception $e) {
			$this->log($e->getMessage(),'err');
			$this->view->messageError = $e->getMessage();
		}
			
	}
	 
	function searchkeyAction() {
	try {
			$this->view->titlePage = "Liste des recherches";
			$adminNamespace = $this->getSession();
				
			//Gestion des tris
			$table = 'DATESTART';
			$tri = 'DESC';

			if ($this->_request->getParam('col'))
			{
				$adminNamespace->triAdminCol_logsearch = $this->_request->getParam('col');
				($adminNamespace->triAdminSens_logsearch == 'ASC') ? $adminNamespace->triAdminSens_logsearch = 'DESC' : $adminNamespace->triAdminSens_logsearch = 'ASC';
			}
			if (isset($adminNamespace->triAdminCol_logsearch)) {
				$table = $adminNamespace->triAdminCol_logsearch;
				$tri = $adminNamespace->triAdminSens_logsearch;
			}
			
			if (!isset($adminNamespace->triAdminNumber_logsearch)) {
				$adminNamespace->triAdminNumber_logsearch = 100;
			}
			
			if ($this->_request->getParam('nb')) {
				$adminNamespace->triAdminNumber_logsearch = $this->_request->getParam('nb');
			}
			 
			$paginationNumber = $adminNamespace->triAdminNumber_logsearch;
			
			$statsSearch = new StatsSearch();
			$listlogs = $statsSearch->select()->order($table.' '.$tri);
			 
			$this->setPaginator($listlogs, $this->_getParam('page',1), $paginationNumber);
		  
		} catch (Zend_Exception $e) {
			$this->log($e->getMessage(),'err');
			$this->view->messageError = $e->getMessage();
		}
	}

	function keymapAction() {
	try {
			$this->view->titlePage = "Carte des mots cl�s";
			$adminNamespace = $this->getSession();
			
			$keymap = new KeyMap();
			$this->view->listMapCat = $keymap->getAllByCAT();
			$this->view->listMapBrend = $keymap->getAllByBREND();
			
			$categorie = new Category();
			$select = $categorie->select()->order('NOM ASC');
			$this->view->listCat = $categorie->fetchAll($select);
			
			$brend = new SupplierBrend();
			$select = $brend->select()->order('BREND ASC');
			$this->view->listBrend = $brend->fetchAll($select);
			
		} catch (Zend_Exception $e) {
			$this->log($e->getMessage(),'err');
			$this->view->messageError = $e->getMessage();
		}
	}
	
	function keymapcateditAction() {
		try {
			if ($this->_request->isPost()) {
					
				$params = $this->_request->getPost();
				$catId = (int) $params['catId'];
				$color = 'DEFAULT';
				if (!empty($params['colorKey'])) {
					$color = $params['colorKey'];
				}
								
				if ($catId > 0) {
					$keymap = new KeyMap();
					$key = $keymap->getKeyByCatID($catId);
					if (isset($key) && $key != null && !empty($key['CAT_NOM'])) {
						$data = array (
				 		'SIZE' => $params['sizeKey'],
				 		'POSITION' => $params['positionKey'],
						'TYPE' => 'CAT',
						'COLOR' => $color
						);
						$keymap->update($data, 'ID = '.$key['ID']);
					} else {
						$data = array (
						'CATID' => $catId,
				 		'SIZE' => $params['sizeKey'],
				 		'POSITION' => $params['positionKey'],
						'TYPE' => 'CAT',
						'COLOR' => $color
						);
						$keymap->insert($data);
					}
				}
			}
		} catch (Zend_Exception $e) {
			$this->log($e->getMessage(),'err');
			$this->view->messageError = $e->getMessage();
		}
		$this->_forward('/keymap');
	}
	
function keymapbrendeditAction() {
	try {
			if ($this->_request->isPost()) {
						
				$params = $this->_request->getPost();
				$brendId = (int) $params['brendId'];
				$color = 'DEFAULT';
				if (!empty($params['colorKey'])) {
					$color = $params['colorKey'];
				}
				
				if ($brendId > 0) {
					$keymap = new KeyMap();
					$key = $keymap->getKeyByBrendID($brendId);
					
					if (isset($key) && $key != null && !empty($key['BREND_NOM'])) {
						
						$data = array (
				 		'SIZE' => $params['sizeKey'],
				 		'POSITION' => $params['positionKey'],
						'TYPE' => 'BREND',
						'COLOR' => $color
						);
						$keymap->update($data, 'ID = '.$key['ID']);
					} else {
						$data = array (
						'BRENDID' => $brendId,
				 		'SIZE' => $params['sizeKey'],
				 		'POSITION' => $params['positionKey'],
						'TYPE' => 'BREND',
						'COLOR' => $color
						);
						$keymap->insert($data);
					}
				}
			}
		} catch (Zend_Exception $e) {
			$this->log($e->getMessage(),'err');
			$this->view->messageError = $e->getMessage();
		}
		$this->_forward('/keymap');
	}
	

function keymapshowAction()
	{
		if ($this->_request->isPost()) {
				
			$params = $this->_request->getPost();
			
			if ($params['keyType'] == 'CAT') {
				$id = $params['catIdShow'];
			} else {
				$id = $params['brendIdShow'];
			}
			$data = array('isSHOW' => $params['showvalue']); 
			
			try {
				if ( $id > 0) {
					$keymap = new KeyMap();
					if ($params['keyType'] == 'CAT') {
						$keymap->update($data, 'CATID = '.$id);
					} else {
						$keymap->update($data, 'BRENDID = '.$id);
					}
				}
			} catch (Zend_Exception $e) {
					$this->log($e->getMessage(),'err');
				$this->view->messageError = $e->getMessage();
				$this->_forward('/keymap');
			}
		}
		$this->_forward('/keymap');
	}
	
	function clickstatsipAction() {
		try {
			$this->view->titlePage = "Statistiques des clicks";
			
			$clickStats = new ClickStats();
			$this->view->listSource = $clickStats->getSourceStats();
			
			$listIp = $clickStats->getIPStats();
			
			$this->view->listIp = $listIp;
			
		} catch (Zend_Exception $e) {
			$this->log($e->getMessage(),'err');
			$this->view->messageError = $e->getMessage();
		}
	}
	
	function clickstatsproductAction() {
		try {
			$this->view->titlePage = "Statistiques des clicks";
			
			$clickStats = new ClickStats();
			$this->view->listClick = $clickStats->getProductDetail();
			
		} catch (Zend_Exception $e) {
			$this->log($e->getMessage(),'err');
			$this->view->messageError = $e->getMessage();
		}
	}
}

	
?>