Пример #1
0
 /**
  * Get current items to display on current page
  * @access public 
  * @return object ArrayIterator
  */
 public function getCurrentItems()
 {
     $this->_paginator->setItemCountPerPage($this->_itemCountPerPage);
     $this->_paginator->setCurrentPageNumber($this->_currentPage);
     if ($this->_currentItems === null) {
         $this->_currentItems = $this->_paginator->getCurrentItems();
     }
     return $this->_currentItems;
 }
Пример #2
0
 public static function fetchByType($type = 1, $page = 1, $perpage = 30)
 {
     if ($type != 0 && $type != 1 && $type != 2) {
         return array();
     }
     $select = self::select();
     if ($type != 0) {
         $select->where('type = ?', $type);
     }
     $select->order('sort asc');
     $adapter = new Zend_Paginator_Adapter_DbTableSelect($select);
     $paginator = new Zend_Paginator($adapter);
     $paginator->setItemCountPerPage($perpage)->setCurrentPageNumber($page);
     $data = $paginator->getCurrentItems();
     $pages = $paginator->count();
     $destinations = array();
     if (count($data) > 0) {
         foreach ($data as $da) {
             $destinationModel = new Application_Model_O_Destination();
             $destinationModel->setId($da->id)->setCity($da->city)->setType($da->type)->setLongitude($da->longitude)->setLatitude($da->latitude)->setImg($da->img)->setSort($da->sort)->setCtime($da->ctime)->setUtime($da->utime)->setStatus($da->status);
             array_push($destinations, $destinationModel);
         }
     }
     $res = array('destinations' => $destinations, 'pages' => $pages);
     return $res;
 }
Пример #3
0
 public static function fetchByType($type = 1, $filter, $order, $page = 1)
 {
     if ($type != 1 && $type != 2 && $type != 3) {
         return array();
     }
     $select = self::select();
     $select->where('type = ?', $type)->where('status =1');
     if ($filter == 1 || $filter == 2) {
         $select->where('location_type = ?', $filter);
     }
     if ($order == 1) {
         $select->order('adult_dprice desc');
     } elseif ($order == 2) {
         $select->order('adult_dprice asc');
     } elseif ($order == 3) {
         $select->order('sales desc');
     } elseif ($order == 4) {
         $select->order('sales asc');
     }
     $adapter = new Zend_Paginator_Adapter_DbTableSelect($select);
     $paginator = new Zend_Paginator($adapter);
     $paginator->setItemCountPerPage(10)->setCurrentPageNumber($page);
     $data = $paginator->getCurrentItems();
     $pages = $paginator->count();
     $travels = array();
     if (count($data) > 0) {
         foreach ($data as $da) {
             $travelModel = new Application_Model_O_Travel();
             $travelModel->setId($da->id)->setType($da->type)->setLocation_type($da->location_type)->setAdult_oprice($da->adult_oprice)->setAdult_dprice($da->adult_dprice)->setChild_oprice($da->child_oprice)->setChild_dprice($da->child_dprice)->setArea($da->area)->setSales($da->sales)->setTitle($da->title)->setSubtitle($da->subtitle)->setImg($da->img)->setCtime($da->ctime)->setUtime($da->utime)->setStatus($da->status);
             array_push($travels, $travelModel);
         }
     }
     $res = array('travels' => $travels, 'pages' => $pages);
     return $res;
 }
Пример #4
0
 public static function fetchAllPage($role, $page = 1, $perpage = 30)
 {
     if ($role != 0 && $role != 1 && $role != 2 && $role != 3) {
         return array();
     }
     $select = self::select();
     if ($role != 0) {
         $select->where('urole = ?', $role)->order('ctime desc');
     }
     $adapter = new Zend_Paginator_Adapter_DbTableSelect($select);
     $paginator = new Zend_Paginator($adapter);
     $paginator->setItemCountPerPage($perpage)->setCurrentPageNumber($page);
     $data = $paginator->getCurrentItems();
     $pages = $paginator->count();
     $orders = array();
     if (count($data) > 0) {
         foreach ($data as $da) {
             $orderModel = new Application_Model_O_MemberCardOrder();
             $orderModel->setId($da->id)->setOrder_id($da->order_id)->setUid($da->uid)->setUrole($da->urole)->setMember_card_id($da->member_card_id)->setTotal_price($da->total_price)->setPayment_status($da->payment_status)->setRemark($da->remark)->setCtime($da->ctime)->setUtime($da->utime)->setStatus($da->status);
             array_push($orders, $orderModel);
         }
     }
     $res = array('orders' => $orders, 'pages' => $pages);
     return $res;
 }
Пример #5
0
 public static function fetchByDepartmentHospital($department, $hospital, $sort, $page)
 {
     $select = self::select();
     if ($department) {
         $select->where("department like '%{$department}%'")->orWhere("special like '%{$department}%'");
     }
     if ($hospital) {
         $select->where('hospital = ?', $hospital);
     }
     if ($sort == 1) {
         //asc
         $select->order('reservation_number asc');
     } elseif ($sort == 2) {
         //desc
         $select->order('reservation_number desc');
     }
     $select->where('status = 1');
     $adapter = new Zend_Paginator_Adapter_DbTableSelect($select);
     $paginator = new Zend_Paginator($adapter);
     $paginator->setItemCountPerPage(10)->setCurrentPageNumber($page);
     $data = $paginator->getCurrentItems();
     $pages = $paginator->count();
     $doctors = array();
     if (count($data) > 0) {
         foreach ($data as $da) {
             $doctorModel = new Application_Model_O_Doctor();
             $doctorModel->setId($da->id)->setName($da->name)->setAvatar($da->avatar)->setSex($da->sex)->setBirthday($da->birthday)->setEmail($da->email)->setPasswd($da->passwd)->setPhone($da->phone)->setDepartment($da->department)->setPoint($da->point)->setCity($da->city)->setCertified($da->certified)->setSpecial($da->special)->setCountry($da->country)->setIntroduction($da->introduction)->setHospital($da->hospital)->setArea($da->area)->setQualification($da->qualification)->setReservation_fee($da->reservation_fee)->setReservation_number($da->reservation_number)->setCtime($da->ctime)->setUtime($da->utime)->setStatus($da->status);
             array_push($doctors, $doctorModel);
         }
     }
     $res = array('doctors' => $doctors, 'pages' => $pages);
     return $res;
 }
Пример #6
0
 public function testPaginator()
 {
     $countries = My_ShantyMongo_Country::all();
     $this->assertEquals(239, $countries->count());
     $paginator = new Zend_Paginator(new Shanty_Paginator_Adapter_Mongo($countries));
     $paginator->setItemCountPerPage(10);
     $paginator->setCurrentPageNumber(3);
     $this->assertEquals(24, $paginator->count());
     // Count pages
     $this->assertEquals(239, $paginator->getTotalItemCount());
     // count total items
     $this->assertEquals(10, $paginator->getCurrentItemCount());
     // count items on this page
     $paginator->getCurrentItems()->rewind();
     $firstItem = $paginator->getCurrentItems()->current();
     $this->assertEquals($firstItem->code, 'BB');
     $this->assertEquals($firstItem->name, 'Barbados');
 }
Пример #7
0
 public function testWithCacheDisabled()
 {
     $this->_paginator->setCacheEnabled(false);
     $this->_paginator->setCurrentPageNumber(1)->getCurrentItems();
     $cachedPageItems = $this->_paginator->getPageItemCache();
     $expected = new \ArrayIterator(range(1, 10));
     $this->assertEquals(array(), $cachedPageItems);
     $pageItems = $this->_paginator->getCurrentItems();
     $this->assertEquals($expected, $pageItems);
 }
Пример #8
0
 public function testGetCurrentItems()
 {
     $this->_restorePaginatorDefaults();
     $items = $this->_paginator->getCurrentItems();
     $this->assertType('ArrayIterator', $items);
     $count = 0;
     foreach ($items as $item) {
         $count++;
     }
     $this->assertEquals(10, $count);
 }
Пример #9
0
 /**
  * Returns a paginated list of all sites matching the given parameters.
  * 
  * @param array $params
  * @return array
  */
 public static function search(array $params)
 {
     $siteDb = Yadda_Db_Table::getInstance('site');
     $select = $siteDb->select()->setIntegrityCheck(false)->from('site')->joinLeft('deal', 'site.id = deal.site_id', array('latest_deal' => 'MAX(deal.created)'))->where('site.status = ?', 'active')->group('site.id')->order('site.name');
     // fetch
     $paginator = new Zend_Paginator(new Zend_Paginator_Adapter_DbSelect($select));
     $paginator->setCurrentPageNumber(isset($params['page']) ? (int) $params['page'] : 1);
     $paginator->setItemCountPerPage(isset($params['count']) ? (int) $params['count'] : 10);
     $return = array('params' => $params, 'total' => $paginator->getTotalItemCount(), 'page' => $paginator->getCurrentPageNumber(), 'pages' => $paginator->count(), 'results' => array());
     $sites = new Zend_Db_Table_Rowset(array('table' => $siteDb, 'data' => (array) $paginator->getCurrentItems()));
     foreach ($sites as $site) {
         $return['results'][] = self::toArray($site);
     }
     return $return;
 }
Пример #10
0
 public static function search($params)
 {
     // build query
     $subscriptionDb = Yadda_Db_Table::getInstance('subscription');
     $select = $subscriptionDb->select()->setIntegrityCheck(false)->from('subscription')->joinLeft('user', 'subscription.user_id = user.id', array('user_email' => 'email'))->where('subscription.status = ?', 'active')->order('created DESC');
     // fetch
     $paginator = new Zend_Paginator(new Zend_Paginator_Adapter_DbSelect($select));
     $paginator->setCurrentPageNumber(isset($params['page']) ? (int) $params['page'] : 1);
     $paginator->setItemCountPerPage(isset($params['count']) ? (int) $params['count'] : 10);
     $return = array('params' => $params, 'total' => $paginator->getTotalItemCount(), 'page' => $paginator->getCurrentPageNumber(), 'pages' => $paginator->count(), 'results' => array());
     $subscriptions = new Zend_Db_Table_Rowset(array('table' => $subscriptionDb, 'data' => (array) $paginator->getCurrentItems()));
     foreach ($subscriptions as $subscription) {
         $return['results'][] = self::toArray($subscription);
     }
     return $return;
 }
Пример #11
0
 /**
  * Returns a paginated list of regions matching the given parameters.
  * 
  * @param array $params
  * @return array
  */
 public static function search(array $params)
 {
     // build query
     $regionDb = Yadda_Db_Table::getInstance('region');
     $select = $regionDb->select()->from('region')->where('status = ?', 'active')->order('name');
     // fetch
     $paginator = new Zend_Paginator(new Zend_Paginator_Adapter_DbSelect($select));
     $paginator->setCurrentPageNumber(isset($params['page']) ? (int) $params['page'] : 1);
     $paginator->setItemCountPerPage(isset($params['count']) ? (int) $params['count'] : 10);
     $return = array('params' => $params, 'total' => $paginator->getTotalItemCount(), 'page' => $paginator->getCurrentPageNumber(), 'pages' => $paginator->count(), 'results' => array());
     $regions = new Zend_Db_Table_Rowset(array('table' => $regionDb, 'data' => (array) $paginator->getCurrentItems()));
     foreach ($regions as $region) {
         $return['results'][] = self::toArray($region);
     }
     return $return;
 }
Пример #12
0
 public static function fetchAllPage($page = 1, $perpage = 30)
 {
     $select = self::select();
     $adapter = new Zend_Paginator_Adapter_DbTableSelect($select);
     $paginator = new Zend_Paginator($adapter);
     $paginator->setItemCountPerPage($perpage)->setCurrentPageNumber($page);
     $data = $paginator->getCurrentItems();
     $pages = $paginator->count();
     $cards = array();
     if (count($data) > 0) {
         foreach ($data as $da) {
             $cardModel = new Application_Model_O_MemberCard();
             $cardModel->setId($da->id)->setName($da->name)->setOprice($da->oprice)->setDprice($da->dprice)->setPoints($da->points)->setCtime($da->ctime)->setUtime($da->utime)->setStatus($da->status);
             array_push($cards, $cardModel);
         }
     }
     $res = array('cards' => $cards, 'pages' => $pages);
     return $res;
 }
Пример #13
0
 public static function fetchAllPage($page = 1, $perpage = 30)
 {
     $select = self::select();
     $adapter = new Zend_Paginator_Adapter_DbTableSelect($select);
     $paginator = new Zend_Paginator($adapter);
     $paginator->setItemCountPerPage($perpage)->setCurrentPageNumber($page);
     $data = $paginator->getCurrentItems();
     $pages = $paginator->count();
     $feedbacks = array();
     if (count($data) > 0) {
         foreach ($data as $da) {
             $feedbackModel = new Application_Model_O_Feedback();
             $feedbackModel->setId($da->id)->setContent($da->content)->setContact($da->contact)->setCtime($da->ctime)->setUtime($da->utime)->setStatus($da->status);
             array_push($feedbacks, $feedbackModel);
         }
     }
     $res = array('feedbacks' => $feedbacks, 'pages' => $pages);
     return $res;
 }
 public static function fetchAllPage($page = 1, $perpage = 30)
 {
     $select = self::select();
     $adapter = new Zend_Paginator_Adapter_DbTableSelect($select);
     $paginator = new Zend_Paginator($adapter);
     $paginator->setItemCountPerPage($perpage)->setCurrentPageNumber($page);
     $data = $paginator->getCurrentItems();
     $pages = $paginator->count();
     $applys = array();
     if (count($data) > 0) {
         foreach ($data as $da) {
             $applyModel = new Application_Model_O_GlobalConsultationApply();
             $applyModel->setId($da->id)->setDepartment_category_id($da->department_category_id)->setDepartment_id($da->department_id)->setEmail($da->email)->setMobile($da->mobile)->setAge($da->age)->setSex($da->sex)->setLocation($da->location)->setTreatment_time($da->treatment_time)->setOpinion($da->opinion)->setReport($da->report)->setCtime($da->ctime)->setUtime($da->utime)->setStatus($da->status);
             array_push($applys, $applyModel);
         }
     }
     $res = array('applys' => $applys, 'pages' => $pages);
     return $res;
 }
Пример #15
0
 public static function fetchAllPage($type = 1, $page = 1, $perpage = 30)
 {
     $select = self::select();
     $select->where('type = ?', $type)->order('sort asc');
     $adapter = new Zend_Paginator_Adapter_DbTableSelect($select);
     $paginator = new Zend_Paginator($adapter);
     $paginator->setItemCountPerPage($perpage)->setCurrentPageNumber($page);
     $data = $paginator->getCurrentItems();
     $pages = $paginator->count();
     $articles = array();
     if (count($data) > 0) {
         foreach ($data as $da) {
             $articleModel = new Application_Model_O_Article();
             $articleModel->setId($da->id)->setTitle($da->title)->setContent($da->content)->setImg($da->img)->setSort($da->sort)->setType($da->type)->setCtime($da->ctime)->setUtime($da->utime)->setStatus($da->status);
             array_push($articles, $articleModel);
         }
     }
     $res = array('articles' => $articles, 'pages' => $pages);
     return $res;
 }
Пример #16
0
 public static function fetchAllPage($page = 1, $perpage = 30)
 {
     $select = self::select();
     $select->order('sort asc');
     $adapter = new Zend_Paginator_Adapter_DbTableSelect($select);
     $paginator = new Zend_Paginator($adapter);
     $paginator->setItemCountPerPage($perpage)->setCurrentPageNumber($page);
     $data = $paginator->getCurrentItems();
     $pages = $paginator->count();
     $departments = array();
     if (count($data) > 0) {
         foreach ($data as $da) {
             $departmentModel = new Application_Model_O_Departments();
             $departmentModel->setId($da->id)->setName($da->name)->setImg($da->img)->setCategory_id($da->category_id)->setSort($da->sort)->setCtime($da->ctime)->setUtime($da->utime)->setStatus($da->status);
             array_push($departments, $departmentModel);
         }
     }
     $res = array('departments' => $departments, 'pages' => $pages);
     return $res;
 }
Пример #17
0
 public static function fetchByPlatformPage($os = NULL, $page = 1, $perpage = 30)
 {
     $select = self::select();
     $select->order('version desc');
     if ($os) {
         $select->where('platform = ?', $os);
     }
     $adapter = new Zend_Paginator_Adapter_DbTableSelect($select);
     $paginator = new Zend_Paginator($adapter);
     $paginator->setItemCountPerPage($perpage)->setCurrentPageNumber($page);
     $data = $paginator->getCurrentItems();
     $pages = $paginator->count();
     $packages = array();
     if (count($data) > 0) {
         foreach ($data as $da) {
             $packageModel = new Application_Model_O_PackageMgt();
             $packageModel->setId($da->id)->setName($da->name)->setDescription($da->description)->setVersion($da->version)->setPlatform($da->platform)->setUrl($da->url)->setCtime($da->ctime)->setUtime($da->utime)->setStatus($da->status);
             array_push($packages, $packageModel);
         }
     }
     $res = array('packages' => $packages, 'pages' => $pages);
     return $res;
 }
Пример #18
0
 /**
  * Create the grid data structure
  * 
  * @return object
  */
 protected function _createGridData(Zend_Controller_Request_Abstract $request)
 {
     // Instantiate Zend_Paginator with the required data source adaptor
     if (!$this->_paginator instanceof Zend_Paginator) {
         $this->_paginator = new Zend_Paginator($this->_adapter);
         $this->_paginator->setDefaultItemCountPerPage($request->getParam('rows', $this->_defaultItemCountPerPage));
     }
     // Filter items by supplied search criteria
     if ($request->getParam('_search') == 'true') {
         $filter = $this->_getFilterParams($request);
         $this->_paginator->getAdapter()->filter($filter['field'], $filter['value'], $filter['expression'], $filter['options']);
     }
     // Sort items by the supplied column field
     if ($request->getParam('sidx')) {
         $this->_paginator->getAdapter()->sort($request->getParam('sidx'), $request->getParam('sord', 'asc'));
     }
     // Pass the current page number to paginator
     $this->_paginator->setCurrentPageNumber($request->getParam('page', 1));
     // Fetch a row of items from the adapter
     $rows = $this->_paginator->getCurrentItems();
     $grid = new stdClass();
     $grid->page = $this->_paginator->getCurrentPageNumber();
     $grid->total = $this->_paginator->getItemCountPerPage();
     $grid->records = $this->_paginator->getTotalItemCount();
     $grid->rows = array();
     foreach ($rows as $k => $row) {
         if (isset($row['id'])) {
             $grid->rows[$k]['id'] = $row['id'];
         }
         $grid->rows[$k]['cell'] = array();
         foreach ($this->_columns as $column) {
             array_push($grid->rows[$k]['cell'], $column->cellValue($row));
         }
     }
     return $grid;
 }
Пример #19
0
 public function reportAction()
 {
     $db = Zend_Registry::get('db');
     $config = Zend_Registry::get('config');
     $format = new Formata();
     // View labels
     $this->view->seq = $this->view->translate("SEQ");
     $this->view->calldate = $this->view->translate("Call's date");
     $this->view->origin = $this->view->translate("Source");
     $this->view->destination = $this->view->translate("Destination");
     $this->view->callstatus = $this->view->translate("Status");
     $this->view->duration = $this->view->translate("Duration");
     $this->view->conversation = $this->view->translate("Conversation");
     $this->view->cost_center = $this->view->translate("Cost Center");
     $this->view->city = $this->view->translate("City");
     $this->view->state = $this->view->translate("State");
     $this->view->filter = $this->view->translate("Filter");
     $this->view->calls = $this->view->translate("Calls");
     $this->view->totals_sub = $this->view->translate("Totals");
     $this->view->times = $this->view->translate("Times");
     $this->view->tot_tariffed = $this->view->translate("Total tariffed");
     $this->view->answered = $this->view->translate("Answered");
     $this->view->nanswered = $this->view->translate("Not Answered");
     $this->view->busy = $this->view->translate("Busy");
     $this->view->failure = $this->view->translate("Failed");
     $this->view->other = $this->view->translate("Other");
     $this->view->tarrifation = $this->view->translate("Charging");
     $this->view->wait = $this->view->translate("Waiting");
     $this->view->sub_total = $this->view->translate("Subtotal");
     $this->view->gravation = $this->view->translate("Records");
     $this->view->back = $this->view->translate("Back");
     $defaultNS = new Zend_Session_Namespace('call_sql');
     $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Reports"), $this->view->translate("Calls"), $defaultNS->sub_title));
     $this->view->totals = $defaultNS->totais;
     $this->view->tariffed = $defaultNS->view_tarif;
     $this->view->files = $defaultNS->view_files;
     $this->view->status = $defaultNS->status;
     $this->view->compress_files = $this->view->translate("Compress selected files");
     $this->view->duration_call = $format->fmt_segundos(array("a" => $defaultNS->totais['duration'], "b" => 'hms'));
     $this->view->bill_sec = $format->fmt_segundos(array("a" => $defaultNS->totais['billsec'], "b" => 'hms'));
     $this->view->wait_call = $format->fmt_segundos(array("a" => $defaultNS->totais['espera'], "b" => 'hms'));
     $row = $defaultNS->row;
     if ($defaultNS->report_type == 'synth') {
         // Cost center treatment
         $cc = $defaultNS->contas;
         if ($cc != '') {
             $valores = '';
             $sqlcc = "select nome from ccustos where codigo IN (" . $cc . ")";
             $ccs = $db->query($sqlcc)->fetchAll(PDO::FETCH_ASSOC);
             $ccusto_sintetic = '';
             foreach ($ccs as $id => $value) {
                 $ccusto_sintetic .= $ccs[$id]['nome'] . ", ";
             }
         } else {
             $ccusto_sintetic = $this->view->translate("Any");
         }
         $this->view->cost_center_res = $ccusto_sintetic;
         // Groups treatment
         $sint_destino = $defaultNS->dst;
         $sint_groupdst = $defaultNS->groupdst;
         if ($sint_destino != '' && $sint_groupdst == '') {
             $sint_dest = $sint_destino;
         }
         if ($sint_groupdst != '' && $sint_destino == '') {
             $sqldst = "select name from peers where peers.group = '{$sint_groupdst}' ";
             $sint_dst = $db->query($sqldst)->fetchAll(PDO::FETCH_ASSOC);
             $sint_dest = '';
             foreach ($sint_dst as $id => $value) {
                 $sint_dest .= $sint_dst[$id]['name'] . ", ";
             }
         }
         if (!empty($sint_dest)) {
             $this->view->sinteticdst = $sint_dest;
         }
         $sint_origem = $defaultNS->src;
         $sint_groupsrc = $defaultNS->groupsrc;
         if ($sint_origem != '' && $sint_groupsrc == '') {
             $src_sintetic = trim($sint_origem);
         }
         if ($sint_groupsrc != '' && $sint_origem == '') {
             $sqlsrc = "select name from peers where peers.group = '{$sint_groupsrc}' ";
             $sint_src = $db->query($sqlsrc)->fetchAll(PDO::FETCH_ASSOC);
             $src_sintetic = '';
             foreach ($sint_src as $id => $value) {
                 $src_sintetic .= $sint_src[$id]['name'] . ", ";
             }
         }
         if (!empty($sint_dest)) {
             $this->view->sinteticsrc = $src_sintetic;
         }
         $this->renderScript('calls-report/synthetic-report.phtml');
     } else {
         // Analytical Report
         $paginatorAdapter = new Zend_Paginator_Adapter_Array($row);
         $paginator = new Zend_Paginator($paginatorAdapter);
         $paginator->setCurrentPageNumber($this->_request->page);
         $paginator->setItemCountPerPage(Zend_Registry::get('config')->ambiente->linelimit);
         $items = $paginator->getCurrentItems();
         $this->view->pages = $paginator->getPages();
         $this->view->PAGE_URL = "/snep/index.php/calls-report/report/";
         $listItems = array();
         foreach ($items as $item) {
             // Status
             switch ($item['disposition']) {
                 case 'ANSWERED':
                     $item['disposition'] = $this->view->translate('Answered');
                     break;
                 case 'NO ANSWER':
                     $item['disposition'] = $this->view->translate('Not Answered');
                     break;
                 case 'FAILED':
                     $item['disposition'] = $this->view->translate('Failed');
                     break;
                 case 'BUSY':
                     $item['disposition'] = $this->view->translate('Busy');
                     break;
                 case 'OTHER':
                     $item['disposition'] = $this->view->translate('Others');
                     break;
             }
             // Search for a city or format the telephone type
             if (strlen($item['src']) > 7 && strlen($item['dst']) < 5) {
                 $item['city'] = $this->telType($item['src']);
             } else {
                 $item['city'] = $this->telType($item['dst']);
             }
             $item['nome'] = $item['tipo'] . " : " . $item['codigo'] . " - " . $item['nome'];
             if ($defaultNS->view_tarif) {
                 $item['rate'] = $format->fmt_tarifa(array("a" => $item['dst'], "b" => $item['billsec'], "c" => $item['accountcode'], "d" => $item['calldate'], "e" => $item['tipo']));
             }
             $item['src'] = $format->fmt_telefone(array("a" => $item['src']));
             $item['dst'] = $format->fmt_telefone(array("a" => $item['dst']));
             // Tarrifation
             $item['billsec'] = $format->fmt_segundos(array("a" => $item['billsec'], "b" => 'hms'));
             $item['duration'] = $format->fmt_segundos(array("a" => $item['duration'], "b" => 'hms'));
             if ($defaultNS->view_files) {
                 $filePath = Snep_Manutencao::arquivoExiste($item['calldate'], $item['userfield']);
                 $item['file_name'] = $item['userfield'] . ".wav";
                 if ($filePath) {
                     $item['file_path'] = $filePath;
                 } else {
                     $item['file_path'] = 'N.D.';
                 }
             }
             array_push($listItems, $item);
         }
         $this->view->call_list = $listItems;
         $this->view->compact_success = $this->view->translate("The files were compressed successfully! Wait for the download start.");
         $this->renderScript('calls-report/analytical-report.phtml');
     }
     return;
 }
Пример #20
0
function fun_paginator($ArrData)
{
    $pager = new Zend_Paginator(new Zend_Paginator_Adapter_Array($ArrData));
    $currentPage = isset($_GET['p']) ? (int) htmlentities($_GET['p']) : 1;
    $pager->setCurrentPageNumber($currentPage);
    $itemsPerPage = 12;
    $pager->setItemCountPerPage($itemsPerPage);
    $pager->setPageRange(10);
    $pages = $pager->getPages();
    $pageLinks = array();
    $separator = ' | ';
    //$this->view->separator=$separator;
    if ($pages->pageCount > 1) {
        if ($pages->current == $pages->first) {
            $pageLinks[] = "<li >First</li>";
            $pageLinks[] = "<li >Privious</li>";
        } else {
            $previous = $pages->current - 1;
            $first = $pages->first;
            $pageLinks[] = "<li  ><a href=\"?p={$first}\">First</a></li>";
            $pageLinks[] = "<li><a href=\"?p={$previous}\">Privious</a></li>";
        }
        for ($x = $pages->firstPageInRange; $x <= $pages->lastPageInRange; $x++) {
            if ($x == $pages->current) {
                $pageLinks[] = "<li>" . $x . "</li>";
            } else {
                $q = http_build_query(array('p' => $x));
                $pageLinks[] = "<li><a href=\"?{$q}\">{$x}</a></li>";
            }
        }
        if ($pages->current == $pages->last) {
            $pageLinks[] = "<li>Next</li>";
            $pageLinks[] = "<li>Last</li>";
        } else {
            $last = $pages->last;
            $next = $pages->current + 1;
            $pageLinks[] = "<li><a href=\"?p={$next}\">Next</a></li>";
            $pageLinks[] = "<li><a href=\"?p={$last}\">Last</a></li>";
        }
    }
    $pagedata['pageLinks'] = $pageLinks;
    $pagedata['pagingdata'] = $pager->getCurrentItems();
    return $pagedata;
}
Пример #21
0
 public function listAction()
 {
     if ($this->_request->isXmlHttpRequest()) {
         $pageId = $this->_getParam('page', 1);
         $limit = $this->_getParam('limit', 10);
         $sortCol = $this->_getParam('sortCol', 1);
         $sortOrder = $this->_getParam('sortOrder', 'asc');
         $whereParam = $this->_getParam('where', '');
         $modelTable = $this->_getModel();
         $modelTableName = $modelTable->info(Centurion_Db_Table_Abstract::NAME);
         $where = $this->_getSelect();
         if (get_magic_quotes_gpc()) {
             $whereParam = stripslashes($whereParam);
         }
         $whereParam = (array) json_decode($whereParam);
         foreach ($whereParam as $param => $values) {
             if (isset($this->_filters[$param]['type']) && $this->_filters[$param]['type'] === self::FILTER_EXPR) {
                 foreach ($values as $key => $value) {
                     $where->filter($this->_filters[$param]['data'][$value]['expr']);
                 }
                 unset($whereParam[$param]);
             }
             if (isset($this->_filters[$param]) && $this->_filters[$param]['type'] === self::FILTER_CUSTOM && is_callable($this->_filters[$param]['callback'])) {
                 $where = call_user_func($this->_filters[$param]['callback'], $where, $values, $param);
                 unset($whereParam[$param]);
             }
             if (isset($this->_filters[$param]['method']) && is_callable($this->_filters[$param]['method'])) {
                 call_user_func_array($this->_filters[$param]['method'], array($where, $values));
                 unset($whereParam[$param]);
             }
         }
         $where->filter($whereParam);
         $cols = array();
         $naturals = $modelTable->info(Centurion_Db_Table_Abstract::COLS);
         $queryCols = $where->getColumnsName();
         foreach ($this->_displays as $col => $value) {
             if (is_array($value)) {
                 if ($value['expr'] instanceof Zend_Db_Expr) {
                     $cols[] = $value['expr'];
                 }
             } else {
                 if (in_array($col, $naturals)) {
                     if (!$where->isInQuery($col, $modelTableName)) {
                         $cols[] = new Zend_Db_Expr(sprintf(sprintf('%s.%s', $modelTable->getAdapter()->quoteIdentifier($modelTableName), $modelTable->getAdapter()->quoteIdentifier($col))));
                     }
                 } else {
                     if (!in_array($col, $queryCols)) {
                         $cols[] = new Zend_Db_Expr(sprintf('%s AS %s', $where->addRelated($col), $modelTable->getAdapter()->quoteIdentifier($col)));
                     }
                 }
             }
         }
         $where->columns($cols);
         if (in_array($sortCol, array_keys($this->_extras)) && method_exists($this, 'resolveCol' . ucfirst($sortCol))) {
             $sortCol = $this->{'resolveCol' . ucfirst($sortCol)}($where);
             $where->order(sprintf('%s %s', $sortCol, $sortOrder));
         } else {
             if ($sortCol !== 1 && in_array($sortCol, array_keys($this->_displays))) {
                 $where->order(sprintf('%s %s', $sortCol, $sortOrder));
             }
         }
         $this->_preList();
         $adapter = new Zend_Paginator_Adapter_DbTableSelect($where);
         $paginator = new Zend_Paginator($adapter);
         $paginator->setCurrentPageNumber($pageId)->setItemCountPerPage($limit);
         $result = array('pageId' => $paginator->getCurrentPageNumber(), 'nbPages' => $paginator->count(), 'nbRows' => $paginator->getTotalItemCount(), 'rows' => array());
         foreach ($paginator->getCurrentItems() as $modelRow) {
             $tempArray = $modelRow->toArray();
             foreach ($this->_extras as $key => $extra) {
                 if (method_exists($this, $key)) {
                     $tempArray[$key] = $this->{$key}($modelRow);
                 } elseif (method_exists($modelRow, $key)) {
                     $tempArray[$key] = call_user_func(array($modelRow, $key));
                 } else {
                     $tempArray[$key] = $modelRow->{$key};
                 }
             }
             array_push($result['rows'], array('id' => $modelRow->pk, 'cell' => $tempArray));
         }
         $result = $this->_postList($result);
         $json = Zend_Json::encode($result);
         $this->getResponse()->appendBody($json);
     }
 }
Пример #22
0
 /**
  * @group ZF-4207
  */
 public function testAcceptsTraversableInstanceFromAdapter()
 {
     $paginator = new Zend_Paginator(new Zf4207());
     $this->assertType('ArrayObject', $paginator->getCurrentItems());
 }