lovebyte

Manager Tools Logging Zend DB Table

Oct 8th, 2013
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 8.08 KB | None | 0 0
  1. <?php
  2. /**
  3.  * @author Nathan Daly <[email protected]>
  4.  */
  5. class Application_Model_DbTable_Logging extends Zend_Db_Table_Abstract
  6. {
  7.     protected $_name = 'pay_administrator_actions';
  8.     protected $_primary = 'action_id';
  9.     protected $_sequence = true;
  10.  
  11.     /**
  12.      *
  13.      * @param int $adminId
  14.      * @param int $page
  15.      * @param int $rowCount
  16.      * @return Zend_Db_Table_Rowset
  17.      */
  18.     public function findActionsById($adminId, $pageNo, $rowCount)
  19.     {
  20.         $select = $this->select();
  21.         $select->setIntegrityCheck(false);
  22.         $select->where('pay_administrator_actions.admin_uid = ?', $adminId);
  23.         $select->join('pay_administrator', 'pay_administrator.admin_uid = pay_administrator_actions.admin_uid');
  24.         $select->limitPage($pageNo, $rowCount);
  25.         return $this->fetchAll($select);
  26.     }
  27.  
  28.     /**
  29.      *
  30.      * @param int $loanId
  31.      * @param int $page
  32.      * @param int $rowCount
  33.      * @return Zend_Db_Table_Rowset
  34.      */
  35.     public function findActionsByLoanId($loanId, $pageNo = 1, $rowCount = 1000)
  36.     {
  37.         $select = $this->select();
  38.         $select->setIntegrityCheck(false);
  39.         $select->from('pay_administrator_actions', 'pay_administrator.*');
  40.         $select->join('pay_administrator', 'pay_administrator.admin_uid = pay_administrator_actions.admin_uid', 'pay_administrator_actions.*');
  41.         $select->where('pay_administrator_actions.loc_id = ?', $loanId);
  42.         $select->order(array('create_timestamp DESC'));
  43.         $select->limitPage($pageNo, $rowCount);
  44.         return $this->fetchAll($select);
  45.     }
  46.  
  47.     /**
  48.      *
  49.      * @param string $name
  50.      * @param int $page
  51.      * @param int $rowCount
  52.      * @return Zend_Db_Table_Rowset
  53.      */
  54.     public function findActionsByName($name, $pageNo, $rowCount)
  55.     {
  56.         $name = '%' . $name . '%';
  57.         $select = $this->select();
  58.         $select->setIntegrityCheck(false);
  59.         $select->from('pay_administrator_actions', 'pay_administrator.*');
  60.         $select->join('pay_administrator', 'pay_administrator.admin_uid = pay_administrator_actions.admin_uid', 'pay_administrator_actions.*');
  61.         $select->where('CONCAT(pay_administrator.admin_vfname, pay_administrator.admin_vlname) LIKE  ?', $name);
  62.         $select->limitPage($pageNo, $rowCount);
  63.         return $this->fetchAll($select);
  64.     }
  65.  
  66.     /**
  67.      *
  68.      * @param date $date1
  69.      * @param date $date2
  70.      * @return Zend_Db_Table_Rowset
  71.      */
  72.     public function actionsBetweenDates($date1, $date2)
  73.     {
  74.         $select = $this->select();
  75.         $select->setIntegrityCheck(false);
  76.         $select->where('pay_administrator_actions.create_timestamp between ? AND ?', $date1, $date2);
  77.         $select->order('pay_administrator_actions.create_timestamp DESC');
  78.         $select->join('pay_administrator', 'pay_administrator.admin_uid = pay_administrator_actions.admin_uid');
  79.         return $this->fetchAll($select);
  80.     }
  81.  
  82.     /**
  83.      *
  84.      * @param int $page
  85.      * @param int $rowCount
  86.      * @return Zend_Db_Table_Rowset
  87.      */
  88.     public function allActions($pageNo, $rowCount)
  89.     {
  90.         $select = $this->select(array('pay_administrator.admin_vfname', 'pay_administrator.admin_vlname'));
  91.         $select->setIntegrityCheck(false);
  92.         //$select->where('pay_administrator_actions.admin_uid = ?', $adminId);
  93.         $select->join('pay_administrator', 'pay_administrator.admin_uid = pay_administrator_actions.admin_uid');
  94.         $select->order('pay_administrator_actions.create_timestamp DESC');
  95.         $select->limitPage($pageNo, $rowCount);
  96.         //echo $select;
  97.         return $this->fetchAll($select);
  98.     }
  99.  
  100.     public function rowCount($_GET)
  101.     {
  102.         $order = (!isset($_GET['order']) || empty($_GET['order'])) ? 'DESC' : strtoupper($_GET['order']);
  103.         $orderby = (!isset($_GET['orderby']) || empty($_GET['orderby'])) ? 'create_timestamp' : strtoupper($_GET['orderby']);
  104.         $d1 = (!isset($_GET['from']) && !empty($_GET['from'])) ? trim($_GET['from']) :  date('d/m/Y', strtotime("now -30 days"));
  105.         $d2 = (!isset($_GET['to']) && !empty($_GET['to'])) ? trim($_GET['to']) : date('d/m/Y');
  106.  
  107.         //Reverse date string
  108.         $arr1 = explode("/", $d1);
  109.         $arr2 = explode("/", $d2);
  110.         $arrV1 = array_reverse($arr1);
  111.         $arrV2 = array_reverse($arr2);
  112.         $dateFrom = implode($arrV1, "/");
  113.         $dateTo = implode($arrV2, "/");
  114.         //Build Query
  115.         $select = $this->select();
  116.         $select->setIntegrityCheck(false);
  117.         $select->from('pay_administrator_actions', 'pay_administrator.*');
  118.         $select->join('pay_administrator', 'pay_administrator.admin_uid = pay_administrator_actions.admin_uid', 'pay_administrator_actions.*');
  119.         if (!empty($_GET['loanId'])) {
  120.             $select->where('pay_administrator_actions.loc_id = ?', trim($_GET['loanId']));
  121.         }
  122.         if (!empty($_GET['userId'])) {
  123.             $select->where('pay_administrator_actions.admin_uid = ?', trim($_GET['userId']));
  124.         }
  125.         if (!empty($_GET['csr'])) {
  126.             $name = '%' . trim($_GET['csr']) . '%';
  127.             $select->where('CONCAT(pay_administrator.admin_vfname, pay_administrator.admin_vlname) LIKE  ?', $name);
  128.         }
  129.         $select->where('pay_administrator_actions.create_timestamp between \'' . str_replace('/', '-', $dateFrom) . '\' AND DATE_ADD(\'' . str_replace('/', '-', $dateTo) . '\', INTERVAL 1 DAY)');
  130.         $select->order('pay_administrator_actions.' . $orderby . ' ' . $order);
  131.         return sizeof($this->fetchAll($select));
  132.     }
  133.  
  134.     /**
  135.      *
  136.      * @param int $adminId
  137.      * @param int $locId
  138.      * @param string $action
  139.      * @return Zend_Db_Table
  140.      */
  141.     public function logThisAction($adminId, $locId, $action)
  142.     {
  143.         $data = array(
  144.             'admin_uid' => $adminId,
  145.             'loc_id' => $locId,
  146.             'create_timestamp' => new Zend_Db_Expr('now()'),
  147.             'action' => $action
  148.         );
  149.         return $this->insert($data);
  150.     }
  151.  
  152.     /**
  153.      *
  154.      * @param array $_GET
  155.      * @param int $page
  156.      * @param int $rowCount
  157.      * @return Zend_Db_Table
  158.      */
  159.     public function buildQuery($_GET, $pageNo, $rowCount)
  160.     {
  161.         $order = (!isset($_GET['order']) || empty($_GET['order'])) ? 'DESC' : strtoupper($_GET['order']);
  162.         $orderby = (!isset($_GET['orderby']) || empty($_GET['orderby'])) ? 'create_timestamp' : strtoupper($_GET['orderby']);
  163.         $d1 = (!isset($_GET['from']) && !empty($_GET['from'])) ? trim($_GET['from']) :  date('d/m/Y', strtotime("now -30 days"));
  164.         $d2 = (!isset($_GET['to']) && !empty($_GET['to'])) ? trim($_GET['to']) : date('d/m/Y');
  165.  
  166.         //Reverse date string
  167.         $arr1 = explode("/", $d1);
  168.         $arr2 = explode("/", $d2);
  169.         $arrV1 = array_reverse($arr1);
  170.         $arrV2 = array_reverse($arr2);
  171.         $dateFrom = implode($arrV1, "/");
  172.         $dateTo = implode($arrV2, "/");
  173.         //Build Query
  174.         $select = $this->select();
  175.         $select->setIntegrityCheck(false);
  176.         $select->from('pay_administrator_actions', 'pay_administrator.*');
  177.         $select->join('pay_administrator', 'pay_administrator.admin_uid = pay_administrator_actions.admin_uid', 'pay_administrator_actions.*');
  178.         if (!empty($_GET['loanId'])) {
  179.             $select->where('pay_administrator_actions.loc_id = ?', trim($_GET['loanId']));
  180.         }
  181.         if (!empty($_GET['userId'])) {
  182.             $select->where('pay_administrator_actions.admin_uid = ?', trim($_GET['userId']));
  183.         }
  184.         if (!empty($_GET['csr'])) {
  185.             $name = '%' . trim($_GET['csr']) . '%';
  186.             $select->where('CONCAT(pay_administrator.admin_vfname, pay_administrator.admin_vlname) LIKE  ?', $name);
  187.         }
  188.         $select->where('pay_administrator_actions.create_timestamp between \'' . str_replace('/', '-', $dateFrom) . '\' AND DATE_ADD(\'' . str_replace('/', '-', $dateTo) . '\', INTERVAL 1 DAY)');
  189.         $select->order('pay_administrator_actions.' . $orderby . ' ' . $order);
  190.         $select->limitPage($pageNo, $rowCount);
  191.         return $this->fetchAll($select);
  192.     }
  193. }
Advertisement
Add Comment
Please, Sign In to add comment