/** * List all Routes of the system */ public function indexAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Routing"), $this->view->translate("Routes"))); $db = Zend_Registry::get('db'); $select = $db->select()->from("regras_negocio", array("id", "origem", "destino", "desc", "ativa", "prio")); if ($this->_request->getPost('filtro')) { $field = mysql_escape_string($this->_request->getPost('campo')); $query = mysql_escape_string($this->_request->getPost('filtro')); $select->where("`{$field}` like '%{$query}%'"); } $select->order("prio DESC"); $select->order("id ASC"); $routes = $db->query($select)->fetchAll(); foreach ($routes as $key => $route) { $routes[$key]['origem'] = $this->cleanSrcDst($route['origem']); $routes[$key]['destino'] = $this->cleanSrcDst($route['destino']); } $this->view->routes = $routes; $this->view->filtro = $this->_request->getParam('filtro'); $options = array("id" => $this->view->translate("Code"), "origem" => $this->view->translate("Source"), "destino" => $this->view->translate("Destiny"), "desc" => $this->view->translate("Description")); // Formulário de filtro. $filter = new Snep_Form_Filter(); $filter->setAction($this->getFrontController()->getBaseUrl() . '/route'); $filter->setValue($this->_request->getPost('campo')); $filter->setFieldOptions($options); $filter->setFieldValue($this->_request->getParam('filtro')); $filter->setResetUrl("{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/"); $this->view->form_filter = $filter; $this->view->filter = array(array("url" => "{$this->view->baseUrl()}/index.php/simulator/", "display" => $this->view->translate("Simulator"), "css" => "debugger"), array("url" => "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/add/", "display" => $this->view->translate("Add Rule"), "css" => "include")); }
public function indexAction() { // @todo localização das datas na listagem da view $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Manage"), $this->view->translate("Users"))); $this->view->url = $this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName(); $db = Zend_Registry::get('db'); $select = $db->select()->from("user"); if ($this->_request->getPost('filtro')) { $field = mysql_escape_string($this->_request->getPost('campo')); $query = mysql_escape_string($this->_request->getPost('filtro')); $select->where("{$field} LIKE '%{$query}%'"); } $page = $this->_request->getParam('page'); $this->view->page = isset($page) && is_numeric($page) ? $page : 1; $this->view->filtro = $this->_request->getParam('filtro'); $paginatorAdapter = new Zend_Paginator_Adapter_DbSelect($select); $paginator = new Zend_Paginator($paginatorAdapter); $paginator->setCurrentPageNumber($this->view->page); $paginator->setItemCountPerPage(Zend_Registry::get('config')->ambiente->linelimit); $this->view->users = $paginator; $this->view->pages = $paginator->getPages(); $this->view->PAGE_URL = "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/index/"; $opcoes = array('ds_login' => $this->view->translate('Name'), 'ds_mail' => $this->view->translate('E-mail')); $this->view->active = array(1 => $this->view->translate('Yes'), 0 => $this->view->translate('No')); $filter = new Snep_Form_Filter(); $filter->setAction($this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/index'); $filter->setValue($this->_request->getPost('campo')); $filter->setFieldOptions($opcoes); $filter->setFieldValue($this->_request->getPost('filtro')); $filter->setResetUrl("{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/index/page/{$page}"); $this->view->form_filter = $filter; $this->view->filter = array(array("url" => "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/add/", "display" => $this->view->translate("Add User"), "css" => "include")); }
/** * List all Contacts */ public function indexAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Manage"), $this->view->translate("Contacts"))); $this->view->url = $this->getFrontController()->getBaseUrl() . "/" . $this->getRequest()->getControllerName(); $db = Zend_Registry::get('db'); $select = $db->select()->from(array("n" => "contact"), array("n.id_contact as id", "n.ds_name as name", "n.ds_city as city", "n.ds_state as state", "n.ds_cep as cep", "n.ds_phone as phone", "n.ds_cell_phone as cellphone", "g.ds_name as group"))->join(array("g" => "contact_group"), 'n.id_contact_group = g.id_contact_group', array())->order('n.id_contact'); if ($this->_request->getPost('filtro')) { $field = pg_escape_string($this->_request->getPost('campo')); $query = pg_escape_string($this->_request->getPost('filtro')); $select->where("{$field} like '%{$query}%'"); } $page = $this->_request->getParam('page'); $this->view->page = isset($page) && is_numeric($page) ? $page : 1; $this->view->filtro = $this->_request->getParam('filtro'); $paginatorAdapter = new Zend_Paginator_Adapter_DbSelect($select); $paginator = new Zend_Paginator($paginatorAdapter); $paginator->setCurrentPageNumber($this->view->page); $paginator->setItemCountPerPage(Zend_Registry::get('config')->ambiente->linelimit); $this->view->contacts = $paginator; $this->view->pages = $paginator->getPages(); $this->view->PAGE_URL = "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/index/"; /*Opcoes do Filtro*/ $opcoes = array("n.ds_name" => $this->view->translate("Name"), "n.ds_city" => $this->view->translate("City"), "n.ds_state" => $this->view->translate("State"), "n.ds_cep" => $this->view->translate("ZIP Code"), "n.ds_phone" => $this->view->translate("Phone"), "n.ds_cell_phone" => $this->view->translate("Cellphone")); $filter = new Snep_Form_Filter(); $filter->setAction($this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/index'); $filter->setValue($this->_request->getPost('campo')); $filter->setFieldOptions($opcoes); $filter->setFieldValue($this->_request->getPost('filtro')); $filter->setResetUrl("{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/index/page/{$page}"); $this->view->form_filter = $filter; $this->view->filter = array(array("url" => "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/add/", "display" => $this->view->translate("Add Contact"), "css" => "include"), array("url" => "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/multi-remove/", "display" => $this->view->translate("Remove Multiple"), "css" => "exclude"), array("url" => "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/import/", "display" => $this->view->translate("Import CSV"), "css" => "import"), array("url" => "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/export/", "display" => $this->view->translate("Export CSV"), "css" => "export")); }
public function indexAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Manage"), $this->view->translate("Pickup Groups"))); $db = Zend_Registry::get('db'); $select = $db->select()->from("pickup_group"); if ($this->_request->getPost('filtro')) { $field = mysql_escape_string($this->_request->getPost('campo')); $query = mysql_escape_string($this->_request->getPost('filtro')); $select->where("`{$field}` like '%{$query}%'"); } $page = $this->_request->getParam('page'); $this->view->page = isset($page) && is_numeric($page) ? $page : 1; $this->view->filtro = $this->_request->getParam('filtro'); $paginatorAdapter = new Zend_Paginator_Adapter_DbSelect($select); $paginator = new Zend_Paginator($paginatorAdapter); $paginator->setCurrentPageNumber($this->view->page); $paginator->setItemCountPerPage(Zend_Registry::get('config')->ambiente->linelimit); $this->view->pickupgroups = $paginator; $this->view->pages = $paginator->getPages(); $this->view->URL = "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/"; $this->view->PAGE_URL = "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/index/"; $opcoes = array("ds_name" => $this->view->translate("Name")); // Formulário de filtro. $filter = new Snep_Form_Filter(); $filter->setAction($this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/index'); $filter->setValue($this->_request->getPost('campo')); $filter->setFieldOptions($opcoes); $filter->setFieldValue($this->_request->getPost('filtro')); $filter->setResetUrl("{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/index/page/{$page}"); $this->view->form_filter = $filter; $this->view->filter = array(array("url" => "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/add", "display" => $this->view->translate("Add Pickup Group"), "css" => "include")); }
/** * List all Queues */ public function indexAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Manage"), $this->view->translate("Queues"))); $this->view->url = $this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName(); $db = Zend_Registry::get('db'); $select = $db->select()->from("queue"); if ($this->_request->getPost('filtro')) { $field = mysql_escape_string($this->_request->getPost('campo')); $query = mysql_escape_string($this->_request->getPost('filtro')); $select->where("{$field} LIKE '%{$query}%'"); } $page = $this->_request->getParam('page'); $this->view->page = isset($page) && is_numeric($page) ? $page : 1; $this->view->filtro = $this->_request->getParam('filtro'); $paginatorAdapter = new Zend_Paginator_Adapter_DbSelect($select); $paginator = new Zend_Paginator($paginatorAdapter); $paginator->setCurrentPageNumber($this->view->page); $paginator->setItemCountPerPage(Zend_Registry::get('config')->ambiente->linelimit); $this->view->queues = $paginator; $this->view->pages = $paginator->getPages(); $this->view->PAGE_URL = "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/index/"; $opcoes = array("name" => $this->view->translate("Name"), "musiconhold" => $this->view->translate("Audio Class"), "strategy" => $this->view->translate("Strategy"), "servicelevel" => $this->view->translate("SLA"), "timeout" => $this->view->translate("Timeout")); $filter = new Snep_Form_Filter(); $filter->setAction($this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/index'); $filter->setValue($this->_request->getPost('campo')); $filter->setFieldOptions($opcoes); $filter->setFieldValue($this->_request->getPost('filtro')); $filter->setResetUrl("{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/index/page/{$page}"); $this->view->form_filter = $filter; $this->view->filter = array(array("url" => "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/add/", "display" => $this->view->translate("Add Queue"), "css" => "include")); }
/** * List all sound files */ public function indexAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Configure"), $this->view->translate("Sound Files"))); $this->view->url = $this->getFrontController()->getBaseUrl() . "/" . $this->getRequest()->getControllerName(); $db = Zend_Registry::get('db'); $select = $db->select()->from("sounds")->where("tipo = 'AST'")->order('arquivo'); if ($this->_request->getPost('filtro')) { $field = mysql_escape_string($this->_request->getPost('campo')); $query = mysql_escape_string($this->_request->getPost('filtro')); $select->where("`{$field}` like '%{$query}%'"); } $objInspector = new Snep_Inspector('Permissions'); $inspect = $objInspector->getInspects(); $this->view->error = $inspect['Permissions']; $stmt = $db->query($select); $files = $stmt->fetchAll(); foreach ($files as $id => $file) { $info = Snep_SoundFiles_Manager::verifySoundFiles($file['arquivo']); $_files[] = array_merge($file, $info); } $page = $this->_request->getParam('page'); $this->view->page = isset($page) && is_numeric($page) ? $page : 1; $this->view->filtro = $this->_request->getParam('filtro'); $paginatorAdapter = new Zend_Paginator_Adapter_Array($_files); $paginator = new Zend_Paginator($paginatorAdapter); $paginator->setCurrentPageNumber($this->view->page); $paginator->setItemCountPerPage(Zend_Registry::get('config')->ambiente->linelimit); $this->view->files = $paginator; $this->view->pages = $paginator->getPages(); $this->view->PAGE_URL = "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/index/"; $opcoes = array("arquivo" => $this->view->translate("Filename"), "descricao" => $this->view->translate("Description")); $filter = new Snep_Form_Filter(); $filter->setAction($this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/index'); $filter->setValue($this->_request->getPost('campo')); $filter->setFieldOptions($opcoes); $filter->setFieldValue($this->_request->getPost('filtro')); $filter->setResetUrl("{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/index/page/{$page}"); $this->view->form_filter = $filter; $this->view->filter = array(array("url" => "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/add/", "display" => $this->view->translate("Add Sound File"), "css" => "include")); }
/** * List all Billing */ public function indexAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Carrier"), $this->view->translate("Billing"))); $this->view->url = $this->getFrontController()->getBaseUrl() . "/" . $this->getRequest()->getControllerName(); /*$select = $db->select() ->from("tarifas_valores", array('DATE_FORMAT(data,\'%d/%m/%Y %T\') as data', 'vcel', 'vfix')) ->from("billing") ->from("carrier", array('nome')) ->where("operadoras.codigo = tarifas.operadora") ->where("tarifas_valores.codigo = tarifas.codigo"); */ $billing = new Snep_Billing_Manager(); Zend_Debug::dump($billing->select()->from('billing')); exit(1); if ($this->_request->getPost('filtro')) { $field = mysql_escape_string($this->_request->getPost('campo')); $query = mysql_escape_string($this->_request->getPost('filtro')); $select->where("`{$field}` like '%{$query}%'"); } $page = $this->_request->getParam('page'); $this->view->page = isset($page) && is_numeric($page) ? $page : 1; $this->view->filtro = $this->_request->getParam('filtro'); $paginatorAdapter = new Zend_Paginator_Adapter_DbSelect($select); $paginator = new Zend_Paginator($paginatorAdapter); $paginator->setCurrentPageNumber($this->view->page); $paginator->setItemCountPerPage(Zend_Registry::get('config')->ambiente->linelimit); $this->view->billing = $paginator; $this->view->pages = $paginator->getPages(); $this->view->PAGE_URL = "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/index/"; $opcoes = array("nome" => $this->view->translate("Carrier"), "pais" => $this->view->translate("Country"), "estado" => $this->view->translate("State"), "cidade" => $this->view->translate("City"), "prefixo" => $this->view->translate("Prefix"), "ddd" => $this->view->translate("City Code")); $filter = new Snep_Form_Filter(); $filter->setAction($this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/index'); $filter->setValue($this->_request->getPost('campo')); $filter->setFieldOptions($opcoes); $filter->setFieldValue($this->_request->getPost('filtro')); $filter->setResetUrl("{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/index/page/{$page}"); $this->view->form_filter = $filter; $this->view->filter = array(array("url" => "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/add/", "display" => $this->view->translate("Add Billing"), "css" => "include")); }
/** * List all Contact Groups */ public function indexAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Manage"), $this->view->translate("Contact Group"))); $this->view->url = $this->getFrontController()->getBaseUrl() . "/" . $this->getRequest()->getControllerName(); $db = Zend_Registry::get('db'); $select = $db->select()->from("contact_group"); if ($this->_request->getPost('campo') == 'id_contact_group') { $field = pg_escape_string($this->_request->getPost('campo')); $query = pg_escape_string($this->_request->getPost('filtro')); if (preg_match('/^[0-9]+$/', $query)) { $select->where("{$field} = '{$query}'"); } } else { if ($this->_request->getPost('campo') == 'ds_name') { $field = pg_escape_string($this->_request->getPost('campo')); $query = pg_escape_string($this->_request->getPost('filtro')); $select->where("{$field} like '%{$query}%'"); } } $page = $this->_request->getParam('page'); $this->view->page = isset($page) && is_numeric($page) ? $page : 1; $this->view->filtro = pg_escape_string($this->_request->getParam('filtro')); $paginatorAdapter = new Zend_Paginator_Adapter_DbSelect($select); $paginator = new Zend_Paginator($paginatorAdapter); $paginator->setCurrentPageNumber($this->view->page); $paginator->setItemCountPerPage(Zend_Registry::get('config')->ambiente->linelimit); $this->view->contactgroups = $paginator; $this->view->pages = $paginator->getPages(); $this->view->PAGE_URL = "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/index/"; $opcoes = array("id_contact_group" => $this->view->translate("Code"), "ds_name" => $this->view->translate("Name")); $filter = new Snep_Form_Filter(); $filter->setAction($this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/index'); $filter->setValue($this->_request->getPost('campo')); $filter->setFieldOptions($opcoes); $filter->setFieldValue($this->_request->getPost('filtro')); $filter->setResetUrl("{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/index/page/{$page}"); $this->view->form_filter = $filter; $this->view->filter = array(array("url" => "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/add/", "display" => $this->view->translate("Add Contact Group"), "css" => "include")); }
public function indexAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Manage"), $this->view->translate("Extensions"))); $this->view->url = $this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName(); $extension = new Snep_Extensions(); $extensions = array(); foreach ($extension->fetchAll() as $ext) { $peer = $ext->findParentRow('Snep_Peer_Manager'); $group = $ext->findParentRow('Snep_ExtensionsGroups_Manager'); array_push($extensions, array('id_extension' => $ext->id_extension, 'ds_channel' => $peer->ds_channel, 'ds_callerid' => $peer->ds_callerid, 'ds_group' => $group->ds_name)); } if ($this->_request->getPost('filtro')) { $field = mysql_escape_string($this->_request->getPost('campo')); $query = mysql_escape_string($this->_request->getPost('filtro')); $select->where("`{$field}` like '%{$query}%'"); } $page = $this->_request->getParam('page'); $this->view->page = isset($page) && is_numeric($page) ? $page : 1; $this->view->filtro = $this->_request->getParam('filtro'); $paginatorAdapter = new Zend_Paginator_Adapter_Array($extensions); $paginator = new Zend_Paginator($paginatorAdapter); $paginator->setCurrentPageNumber($this->view->page); $paginator->setItemCountPerPage(Zend_Registry::get('config')->ambiente->linelimit); $this->view->extensions = $paginator; $this->view->pages = $paginator->getPages(); $this->view->PAGE_URL = "/snep/index.php/extensions/index/"; $options = array("name" => $this->view->translate("Extension"), "callerid" => $this->view->translate("Name"), "group" => $this->view->translate("Group")); $baseUrl = $this->getFrontController()->getBaseUrl(); // Formulário de filtro. $filter = new Snep_Form_Filter(); $filter->setAction($baseUrl . '/extensions/index'); $filter->setValue($this->_request->getPost('campo')); $filter->setFieldOptions($options); $filter->setFieldValue($this->_request->getParam('filtro')); $filter->setResetUrl("{$this->getFrontController()->getBaseUrl()}/" . "{$this->getRequest()->getControllerName()}/index/page/{$page}"); $this->view->form_filter = $filter; $this->view->filter = array(array("url" => $baseUrl . "/extensions/multiadd", "display" => $this->view->translate("Add Multiple Extensions"), "css" => "includes"), array("url" => $baseUrl . "/extensions/add", "display" => $this->view->translate("Add Extension"), "css" => "include")); }
/** * List all Cost Center's */ public function indexAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Manage"), $this->view->translate("Cost Center"))); $this->view->url = $this->getFrontController()->getBaseUrl() . "/" . $this->getRequest()->getControllerName(); $db = Zend_Registry::get('db'); $select = $db->select()->from("cost_center", array("id_costcenter", "cd_code", "cd_type", "ds_name", "ds_description")); if ($this->_request->getPost('filtro')) { $field = mysql_escape_string($this->_request->getPost('campo')); $query = mysql_escape_string($this->_request->getPost('filtro')); if ($field == 'cd_type') { $types = array($this->view->translate('Incoming') => 'E', $this->view->translate('Outgoing') => 'S', $this->view->translate('Others') => 'O'); $query = $types[$query]; } $select->where("{$field} LIKE '%{$query}%'"); } $this->view->types = array('E' => $this->view->translate('Incoming'), 'S' => $this->view->translate('Outgoing'), 'O' => $this->view->translate('Others')); $page = $this->_request->getParam('page'); $this->view->page = isset($page) && is_numeric($page) ? $page : 1; $this->view->filtro = $this->_request->getParam('filtro'); $paginatorAdapter = new Zend_Paginator_Adapter_DbSelect($select); $paginator = new Zend_Paginator($paginatorAdapter); $paginator->setCurrentPageNumber($this->view->page); $paginator->setItemCountPerPage(Zend_Registry::get('config')->ambiente->linelimit); $this->view->costcenter = $paginator; $this->view->pages = $paginator->getPages(); $this->view->PAGE_URL = "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/index/"; $opcoes = array("cd_code" => $this->view->translate("Code"), "ds_name" => $this->view->translate("Name"), "ds_description" => $this->view->translate("Description")); $filter = new Snep_Form_Filter(); $filter->setAction($this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/index'); $filter->setValue($this->_request->getPost('campo')); $filter->setFieldOptions($opcoes); $filter->setFieldValue($this->_request->getPost('filtro')); $filter->setResetUrl("{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/index/page/{$page}"); $this->view->form_filter = $filter; $this->view->filter = array(array("url" => "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/add", "display" => $this->view->translate("Add Cost Center"), "css" => "include")); }
public function indexAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Manage"), $this->view->translate("Trunks"))); $this->view->url = $this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName(); $db = Zend_Registry::get('db'); $select = "SELECT t.id, t.callerid, t.name, t.type, t.trunktype, t.time_chargeby, t.time_total,\n (\n SELECT th.used\n FROM time_history AS th\n WHERE th.owner = t.id AND th.owner_type='T'\n ORDER BY th.changed DESC limit 1\n ) as used,\n (\n SELECT th.changed\n FROM time_history AS th\n WHERE th.owner = t.id AND th.owner_type='T'\n ORDER BY th.changed DESC limit 1\n ) as changed\n FROM trunks as t "; if ($this->_request->getPost('filtro')) { $field = mysql_escape_string($this->_request->getPost('campo')); $query = mysql_escape_string($this->_request->getPost('filtro')); $select->where("`{$field}` like '%{$query}%'"); } $page = $this->_request->getParam('page'); $this->view->page = isset($page) && is_numeric($page) ? $page : 1; $this->view->filtro = $this->_request->getParam('filtro'); $datasql = $db->query($select); $trunks = $datasql->fetchAll(); foreach ($trunks as $id => $val) { $trunks[$id]['saldo'] = null; if (!is_null($val['time_total'])) { $ligacao = $val['changed']; $anoLigacao = substr($ligacao, 6, 4); $mesLigacao = substr($ligacao, 3, 2); $diaLigacao = substr($ligacao, 0, 2); switch ($val['time_chargeby']) { case 'Y': if ($anoLigacao == date('Y')) { $saldo = $val['time_total'] - $val['used']; if ($val['used'] >= $val['time_total']) { $saldo = 0; } } else { $saldo = $val['time_total']; } break; case 'M': if ($anoLigacao == date('Y') && $mesLigacao == date('m')) { $saldo = $val['time_total'] - $val['used']; if ($val['used'] >= $val['time_total']) { $saldo = 0; } } else { $saldo = $val['time_total']; } break; case 'D': if ($anoLigacao == date('Y') && $mesLigacao == date('m') && $diaLigacao == date('d')) { $saldo = $val['time_total'] - $val['used']; } else { $saldo = $val['time_total']; } break; } $trunks[$id]['saldo'] = $saldo; } } $paginatorAdapter = new Zend_Paginator_Adapter_Array($trunks); $paginator = new Zend_Paginator($paginatorAdapter); $paginator->setCurrentPageNumber($this->view->page); $paginator->setItemCountPerPage(Zend_Registry::get('config')->ambiente->linelimit); $this->view->trunks = $paginator; $this->view->pages = $paginator->getPages(); $this->view->PAGE_URL = "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/index/"; $opcoes = array("name" => $this->view->translate("Code"), "callerid" => $this->view->translate("Name")); // Formulário de filtro. $filter = new Snep_Form_Filter(); $filter->setAction($this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/index'); $filter->setValue($this->_request->getPost('campo')); $filter->setFieldOptions($opcoes); $filter->setFieldValue($this->_request->getPost('filtro')); $filter->setResetUrl("{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/index/page/{$page}"); $this->view->form_filter = $filter; $this->view->filter = array(array("url" => "{$this->getFrontController()->getBaseUrl()}/{$this->getRequest()->getControllerName()}/add/", "display" => $this->view->translate("Add Trunk"), "css" => "include")); }