コード例 #1
0
 /**
  * Displayes Overview of all registered Users
  */
 public function action_list()
 {
     // Set Pagetitle and Breadcrumbs
     Clansuite_Breadcrumb::add(_('Show'), '/users/show');
     // Defining initial variables
     $currentPage = (int) $this->request->getParameter('page');
     $resultsPerPage = (int) self::getConfigValue('resultsPerPage', '10');
     /* @todo news with status: draft, published, private, private+protected*/
     // Creating Pager Object with a Query Object inside
     $pager_layout = new Doctrine_Pager_Layout(new Doctrine_Pager(Doctrine_Query::create()->select('u.user_id, u.nick, u.email, u.joined, g.name, g.color, p.icq')->from('CsUsers u')->leftJoin('u.CsGroups g')->leftJoin('u.CsProfiles p')->orderby('u.user_id ASC'), $currentPage, $resultsPerPage), new Doctrine_Pager_Range_Sliding(array('chunk' => 5)), '?mod=news&action=show&page={%page}');
     // Assigning templates for page links creation
     $pager_layout->setTemplate('[<a href="{%url}">{%page}</a>]');
     $pager_layout->setSelectedTemplate('[{%page}]');
     // Retrieving Doctrine_Pager instance
     $pager = $pager_layout->getPager();
     // Fetching userslist
     $userslist = $pager->execute(array(), Doctrine::HYDRATE_ARRAY);
     // Get Number of Rows
     $count = count($userslist);
     // Get Render Engine
     $view = $this->getView();
     // Assign $userslist array to Smarty for template output
     $view->assign('userslist', $userslist);
     // Pagination
     $view->assignGlobal('pager', $pager);
     $view->assignGlobal('pager_layout', $pager_layout);
     // specifiy the template manually
     #$view->setTemplate('userslist/view/show.tpl');
     $this->display();
 }
コード例 #2
0
 public function action_admin_list()
 {
     // Set Pagetitle and Breadcrumbs
     Clansuite_Breadcrumb::add(_('Show'), '/users/admin/show');
     // Get Render Engine
     $view = $this->getView();
     $currentPage = (int) $this->request->getParameterFromGet('page');
     $resultsPerPage = (int) self::getConfigValue('resultsPerPage', '25');
     $searchletter = $this->request->getParameter('searchletter');
     // SmartyColumnSort -- Easy sorting of html table columns.
     include ROOT_LIBRARIES . 'smarty/libs/SmartyColumnSort.class.php';
     // A list of database columns to use in the table.
     $columns = array('u.user_id', 'u.nick', 'u.email', 'u.timestamp', 'u.joined');
     // Create the columnsort object
     $columnsort = new SmartyColumnSort($columns);
     // And set the the default sort column and order.
     $columnsort->setDefault('u.nick', 'asc');
     // Get sort order from columnsort
     $sortorder = $columnsort->sortOrder();
     // Returns 'name ASC' as default
     // Creating Pager Object with a Query Object inside
     $pager_layout = new Doctrine_Pager_Layout(new Doctrine_Pager(Doctrine_Query::create()->select('u.user_id, u.nick, u.email, u.joined, u.timestamp')->from('CsUsers u')->orderby($sortorder), $currentPage, $resultsPerPage), new Doctrine_Pager_Range_Sliding(array('chunk' => 5)), '?mod=users/admin/show&page={%page}');
     // Assigning templates for page links creation
     $pager_layout->setTemplate('[<a href="{%url}">{%page}</a>]');
     $pager_layout->setSelectedTemplate('[{%page}]');
     #var_dump($pager_layout);
     // Retrieving Doctrine_Pager instance
     $pager = $pager_layout->getPager();
     // Query users
     $users = $pager->execute(array(), Doctrine::HYDRATE_ARRAY);
     // Get Number of Rows
     #$count = count($users);
     if (is_array($users)) {
         $view->assign('users', $users);
         // @todo smarty3 bug ? assign/assign global
         $view->assignGlobal('pager', $pager);
         $view->assignGlobal('pager_layout', $pager_layout);
     } else {
         $error['no_users'] = 1;
         $view->assign('error', $error);
     }
     $this->display();
 }
コード例 #3
0
ファイル: OrdersItems.php プロジェクト: moay/shineisp
 /**
  * findAll
  * Get records the orders from the DB
  * @param $currentPage
  * @param $rowNum
  * @param $sort
  * @param $where
  * @return array
  */
 public static function findAll($fields = "*", $currentPage = 1, $rowNum = 2, array $sort = array(), array $where = array(), $locale = 1)
 {
     $module = Zend_Controller_Front::getInstance()->getRequest()->getModuleName();
     $controller = Zend_Controller_Front::getInstance()->getRequest()->getControllerName();
     try {
         // Defining the url sort
         $uri = isset($sort[1]) ? "/sort/{$sort['1']}" : "";
         $dq = Doctrine_Query::create()->select($fields)->from('OrdersItems d')->leftJoin('d.Orders o')->leftJoin('d.OrdersItemsDomains oid ON d.detail_id = oid.orderitem_id')->leftJoin('d.BillingCycle bc')->leftJoin('oid.Domains dm')->leftJoin('dm.DomainsTlds dt')->leftJoin('dt.WhoisServers ws')->leftJoin('d.Products p')->leftJoin("p.ProductsData pd WITH pd.language_id = {$locale}")->leftJoin('p.Taxes t')->leftJoin('o.Customers c')->leftJoin('d.Statuses s')->where('p.type <> ?', 'domain');
         // Show all the records but not the Expired services // Show only the services and not the domains
         $pagerLayout = new Doctrine_Pager_Layout(new Doctrine_Pager($dq, $currentPage, $rowNum), new Doctrine_Pager_Range_Sliding(array('chunk' => 10)), "/{$module}/{$controller}/list/page/{%page_number}" . $uri);
         // Get the pager object
         $pager = $pagerLayout->getPager();
         // Set the Order criteria
         if (isset($sort[0])) {
             $pager->getQuery()->orderBy($sort[0]);
         }
         if (isset($where) && is_array($where)) {
             foreach ($where as $filters) {
                 if (isset($filters[0]) && is_array($filters[0])) {
                     foreach ($filters as $filter) {
                         $method = $filter['method'];
                         $value = $filter['value'];
                         $criteria = $filter['criteria'];
                         $pager->getQuery()->{$method}($criteria, $value);
                     }
                 } else {
                     $method = $filters['method'];
                     $value = $filters['value'];
                     $criteria = $filters['criteria'];
                     $pager->getQuery()->{$method}($criteria, $value);
                 }
             }
         }
         $pagerLayout->setTemplate('<a href="{%url}">{%page}</a> ');
         $pagerLayout->setSelectedTemplate('<a class="active" href="{%url}">{%page}</a> ');
         $records = $pagerLayout->execute(array(), Doctrine_Core::HYDRATE_ARRAY);
         $pagination = $pagerLayout->display(null, true);
         return array('records' => $records, 'pagination' => $pagination, 'pager' => $pager, 'recordcount' => $dq->count());
     } catch (Exception $e) {
         die($e->getMessage());
     }
 }
コード例 #4
0
ファイル: Domains.php プロジェクト: kokkez/shineisp
 /**
  * findAll
  * Get records the domains from the DB
  * @param $currentPage
  * @param $rowNum
  * @param $sort
  * @param $where
  * @return array
  */
 public static function findAll($fields = "*", $currentPage = 1, $rowNum = 2, array $sort = array(), array $where = array())
 {
     $module = Zend_Controller_Front::getInstance()->getRequest()->getModuleName();
     $controller = Zend_Controller_Front::getInstance()->getRequest()->getControllerName();
     // Defining the url sort
     $uri = isset($sort[1]) ? "/sort/{$sort['1']}" : "";
     $dq = Doctrine_Query::create()->select($fields)->from('Domains d')->leftJoin('d.DomainsTlds dt')->leftJoin('dt.WhoisServers ws')->leftJoin('d.TagsConnections tc')->leftJoin('d.Customers c')->leftJoin('c.Customers r')->leftJoin('d.OrdersItems oi')->leftJoin('d.Statuses s')->orderBy('d.domain')->addWhere("c.isp_id = ?", Isp::getCurrentId());
     $pagerLayout = new Doctrine_Pager_Layout(new Doctrine_Pager($dq, $currentPage, $rowNum), new Doctrine_Pager_Range_Sliding(array('chunk' => 10)), "/{$module}/{$controller}/list/page/{%page_number}" . $uri);
     // Get the pager object
     $pager = $pagerLayout->getPager();
     // Set the Order criteria
     if (isset($sort[0])) {
         $pager->getQuery()->orderBy($sort[0]);
     }
     if (isset($where) && is_array($where)) {
         foreach ($where as $filters) {
             if (isset($filters[0]) && is_array($filters[0])) {
                 foreach ($filters as $filter) {
                     $method = $filter['method'];
                     $value = $filter['value'];
                     $criteria = $filter['criteria'];
                     $pager->getQuery()->{$method}($criteria, $value);
                 }
             } else {
                 $method = $filters['method'];
                 $value = $filters['value'];
                 $criteria = $filters['criteria'];
                 $pager->getQuery()->{$method}($criteria, $value);
             }
         }
     }
     $pagerLayout->setTemplate('<li><a href="{%url}">{%page}</a></li>');
     $pagerLayout->setSelectedTemplate('<li class="active"><a href="{%url}">{%page}</a></li>');
     $domains = $pagerLayout->execute(array(), Doctrine_Core::HYDRATE_ARRAY);
     $pagination = $pagerLayout->display(null, true);
     return array('records' => $domains, 'pagination' => $pagination, 'pager' => $pager, 'recordcount' => $dq->count());
 }
コード例 #5
0
ファイル: Orders.php プロジェクト: kokkez/shineisp
 /**
  * Get records the orders from the DB
  *
  * @param $currentPage
  * @param $rowNum
  * @param $sort
  * @param $where
  * @return array
  */
 public static function findAll($fields = "*", $currentPage = 1, $rowNum = 2, array $sort = array(), array $where = array())
 {
     $module = Zend_Controller_Front::getInstance()->getRequest()->getModuleName();
     $controller = Zend_Controller_Front::getInstance()->getRequest()->getControllerName();
     // Defining the url sort
     $uri = isset($sort[1]) ? "/sort/{$sort['1']}" : "";
     $dq = self::getDQL()->select($fields)->orderBy('order_date desc');
     $pagerLayout = new Doctrine_Pager_Layout(new Doctrine_Pager($dq, $currentPage, $rowNum), new Doctrine_Pager_Range_Sliding(array('chunk' => 10)), "/{$module}/{$controller}/list/page/{%page_number}" . $uri);
     // Get the pager object
     $pager = $pagerLayout->getPager();
     // Set the Order criteria
     if (isset($sort[0])) {
         $pager->getQuery()->orderBy($sort[0]);
     }
     if (isset($where) && is_array($where)) {
         foreach ($where as $filters) {
             if (isset($filters[0]) && is_array($filters[0])) {
                 foreach ($filters as $filter) {
                     $method = $filter['method'];
                     $value = $filter['value'];
                     $criteria = $filter['criteria'];
                     $pager->getQuery()->{$method}($criteria, $value);
                 }
             } else {
                 $method = $filters['method'];
                 $value = $filters['value'];
                 $criteria = $filters['criteria'];
                 $pager->getQuery()->{$method}($criteria, $value);
             }
         }
     }
     $pagerLayout->setTemplate('<li><a href="{%url}">{%page}</a></li>');
     $pagerLayout->setSelectedTemplate('<li class="active"><a href="{%url}">{%page}</a></li>');
     $orders = $pagerLayout->execute(array(), Doctrine_Core::HYDRATE_ARRAY);
     $pagination = $pagerLayout->display(null, true);
     return array('records' => $orders, 'pagination' => $pagination, 'pager' => $pager, 'recordcount' => $dq->count());
 }
コード例 #6
0
ファイル: Datagrid.php プロジェクト: kokkez/shineisp
 /**
  * getRecords
  * Get records from the DB
  * @return mixed
  */
 public function getRecords(Doctrine_Query $dq, $currentPage = 1, $rowNum = 2, array $sort = array(), array $where = array())
 {
     $uri = "";
     $module = Zend_Controller_Front::getInstance()->getRequest()->getModuleName();
     $controller = Zend_Controller_Front::getInstance()->getRequest()->getControllerName();
     // Defining the url sort
     if (!empty($sort)) {
         foreach ($sort as $s) {
             $arrSort[] = "/sort/" . str_replace(" ", ",", $s);
         }
         $arrSort = array_unique($arrSort);
         $uri = implode("", $arrSort);
     }
     $pagerLayout = new Doctrine_Pager_Layout(new Doctrine_Pager($dq, $currentPage, $rowNum), new Doctrine_Pager_Range_Sliding(array('chunk' => 10)), "/{$module}/{$controller}/list/page/{%page_number}" . $uri);
     // Get the pager object
     $pager = $pagerLayout->getPager();
     // Set the Order criteria
     if (!empty($sort)) {
         $pager->getQuery()->orderBy(implode(", ", $sort));
     }
     if (isset($where) && is_array($where)) {
         foreach ($where as $filters) {
             if (isset($filters[0]) && is_array($filters[0])) {
                 foreach ($filters as $filter) {
                     $method = $filter['method'];
                     $value = $filter['value'];
                     $criteria = $filter['criteria'];
                     $pager->getQuery()->{$method}($criteria, $value);
                 }
             } else {
                 $method = $filters['method'];
                 $value = $filters['value'];
                 $criteria = $filters['criteria'];
                 $pager->getQuery()->{$method}($criteria, $value);
             }
         }
     }
     $pagerLayout->setTemplate('<a href="{%url}">{%page}</a> ');
     $pagerLayout->setSelectedTemplate('<a class="active" href="{%url}">{%page}</a> ');
     $this->data = $pagerLayout->execute(array(), Doctrine_Core::HYDRATE_ARRAY);
     $this->paging = $pagerLayout->display(null, true);
     $this->recordcount = $dq->count();
     #print_r ( $this->data );
     return $this;
 }
コード例 #7
0
ファイル: paginacao.php プロジェクト: patrix/oraculum
$retorno = null;
if (isset($this->_table)) {
    // Metodo de paginacao
    $page = isset($this->_page) ? floor($this->_page) > 0 ? floor($this->_page) : 1 : 1;
    $results = isset($this->_results) ? floor($this->_results) > 0 ? floor($this->_results) : 10 : 10;
    $urlpager = isset($urlpager) ? $urlpager : BASE_URL . "/" . strtolower($this->_table);
    if (!is_null($results)) {
        $where = isset($where) ? $where : null;
        if (!is_null($where)) {
            $pagerlayout = new Doctrine_Pager_Layout(new Doctrine_Pager(Doctrine_Query::create()->from($this->_table . ' t')->where($where)->orderby('1'), $page, $results), new Doctrine_Pager_Range_Sliding(array('chunk' => 5)), $urlpager . 'page/{%page_number}');
        } else {
            $pagerlayout = new Doctrine_Pager_Layout(new Doctrine_Pager(Doctrine_Query::create()->from($this->_table . ' t')->orderby('1'), $page, $results), new Doctrine_Pager_Range_Sliding(array('chunk' => 5)), $urlpager . 'page/{%page_number}');
        }
        $pagerlayout->setTemplate('<a href="{%url}">{%page}</a>');
        $pagerlayout->setSelectedTemplate('<span>{%page}</span>');
        $pager = $pagerlayout->getPager();
        $users = $pager->execute();
        if ($pager->haveToPaginate()) {
            $retorno .= "<div>\n";
            if ($pager->getFirstPage() != $pager->getPage()) {
                $retorno .= "<a href=\"" . $urlpager . "page/" . $pager->getFirstPage() . "\" class=\"btnxt\">&lt;&lt;</a>";
            } else {
                $retorno .= "<span class=\"disabled\">&lt;&lt;</span>";
            }
            if ($pager->getPreviousPage() != $pager->getPage()) {
                $retorno .= "<a href=\"" . $urlpager . "page/" . $pager->getPreviousPage() . "\" class=\"btnxt\">&lt;</a>";
            } else {
                $retorno .= "<span class=\"disabled\">&lt;</span>";
            }
            $retorno .= $pagerlayout->display(array(), true);
            if ($pager->getNextPage() != $pager->getPage()) {
コード例 #8
0
 public function listAction()
 {
     // Set Defaults
     $heading = 'Users';
     $display = array('id', 'username', 'email', 'first_name', 'middle_name', 'last_name', 'address1', 'address2', 'city', 'state', 'zip', 'phone', 'cell', 'fax', 'organization', 'password', 'user_role_id', 'active', 'user_notes', 'created_at', 'updated_at');
     $filters = array('id', 'username', 'email', 'first_name', 'middle_name', 'last_name', 'address1', 'address2', 'city', 'state', 'zip', 'phone', 'cell', 'fax', 'organization', 'password', 'user_role_id', 'active', 'user_notes', 'created_at', 'updated_at');
     $labels = array('id', 'username', 'email', 'first_name', 'middle_name', 'last_name', 'address1', 'address2', 'city', 'state', 'zip', 'phone', 'cell', 'fax', 'organization', 'password', 'user_role_id', 'active', 'user_notes', 'created_at', 'updated_at');
     $resultsPerPage = 20;
     $configFile = APPLICATION_DIRECTORY . DIRECTORY_SEPARATOR . 'modules' . DIRECTORY_SEPARATOR . Zend_Controller_Front::getInstance()->getRequest()->getModuleName() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.yml';
     if (!file_exists($configFile)) {
         $configFile = realpath(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.yml');
     }
     if (file_exists($configFile)) {
         $config = sfYaml::load($configFile);
         $this->view->ymlConfig = $config['list'];
         key_exists('title', $config['list']) ? $heading = $config['list']['title'] : '';
         key_exists('display', $config['list']) ? $display = $config['list']['display'] : '';
         key_exists('filters', $config['list']) ? $filters = $config['list']['filters'] : '';
         key_exists('perpage', $config['list']) ? $resultsPerPage = $config['list']['perpage'] : '';
         $labels = $config['labels'];
     }
     $this->view->labels = $labels;
     $this->view->display = $display;
     $this->view->heading = $heading;
     $filter = $this->_getParam('filter');
     foreach ($filters as $y) {
         $filters2[$y] = is_array($filter) && key_exists($y, $filter) ? $filter[$y] : '';
     }
     $this->view->filter = $filters2;
     if (!($currentPage = $this->_getParam('page'))) {
         $currentPage = 1;
     }
     $baseUrl = Zend_Controller_Front::getInstance()->getBaseUrl();
     // add filter to pager
     $append_url = array();
     if ($filter) {
         foreach ($filter as $k => $v) {
             $append_url[] = 'filter[' . $k . ']=' . $v;
         }
     }
     $append_url = implode('&', $append_url);
     $doc = $this->listQuery($filter);
     // Creating pager layout
     $pager_layout = new Doctrine_Pager_Layout(new Doctrine_Pager($doc, $currentPage, $resultsPerPage), new Doctrine_Pager_Range_Sliding(array('chunk' => 5)), $baseUrl . '/Users/index/list/page/{%page_number}?' . $append_url);
     $pager_layout->setTemplate('[<a href="{%url}">{%page}</a>]');
     $pager_layout->setSelectedTemplate('[{%page}]');
     $pager = $pager_layout->getPager();
     $this->view->list = $pager->execute();
     $this->view->pager_layout = $pager_layout;
     $this->view->pager = $pager;
 }
コード例 #9
0
 public function action_show()
 {
     // Set Pagetitle and Breadcrumbs
     Clansuite_Breadcrumb::add(_('Show'), '/guestbook/show');
     // Defining initial variables
     // Pager Chapter in Doctrine Manual  -> http://www.phpdoctrine.org/documentation/manual/0_10?one-page#utilities
     $currentPage = $this->request->getParameter('page');
     $resultsPerPage = (int) self::getConfigValue('resultsPerPage', '10');
     // Creating Pager Object with a Query Object inside
     $pager_layout = new Doctrine_Pager_Layout(new Doctrine_Pager(Doctrine_Query::create()->select('i.*,g.*,u.nick')->from('CsGuestbook g')->leftJoin('g.CsImages i')->leftJoin('g.CsUsers u')->orderby('g.gb_added DESC'), $currentPage, $resultsPerPage), new Doctrine_Pager_Range_Sliding(array('chunk' => 5)), '?mod=guestbook&action=show&page={%page}');
     // Assigning templates for page links creation
     $pager_layout->setTemplate('[<a href="{%url}">{%page}</a>]');
     $pager_layout->setSelectedTemplate('[{%page}]');
     // Retrieving Doctrine_Pager instance
     $pager = $pager_layout->getPager();
     // Fetching guestbook entries
     #var_dump($pager->getExecuted());
     $guestbook = $pager->execute(array(), Doctrine::HYDRATE_ARRAY);
     // if array contains data proceed, else show empty message
     if (!is_array($guestbook)) {
         $error['gb_empty'] = '1';
     } else {
         // total number of guestbook entries by counting the array
         $number_of_guestbook_entries = count($guestbook);
         // Finally: assign total number of rows to SmartyPaginate
         #$SmartyPaginate->setTotal($number_of_guestbook_entries);
         // assign the {$paginate} to $tpl (smarty var)
         #$SmartyPaginate->assign($tpl);
         $bbcode = new Clansuite_Bbcode($this->getInjector());
         // Set 'not specified's
         foreach ($guestbook as $entry_key => $entry_value) {
             foreach ($entry_value as $key => $value) {
                 switch ($key) {
                     case 'gb_comment':
                         if (empty($value)) {
                             unset($guestbook[$entry_key][$key]);
                         } else {
                             $guestbook[$entry_key][$key] = $bbcode->parse($guestbook[$entry_key][$key]);
                         }
                         break;
                     case 'gb_text':
                         $guestbook[$entry_key][$key] = $bbcode->parse($guestbook[$entry_key][$key]);
                         break;
                     default:
                         $guestbook[$entry_key][$key] = empty($value) ? '<span class="not_specified">' . _('not specified') . '</span>' : $value;
                         break;
                 }
             }
         }
     }
     $view = $this->getView();
     $view->assign('guestbook', $guestbook);
     if (isset($error)) {
         $view->assign('error', $error);
     }
     $view->assignGlobal('pager', $pager);
     $view->assignGlobal('pager_layout', $pager_layout);
     $form = new Clansuite_Form('eingabe', 'post', $_SERVER['PHP_SELF']);
     $view->assign('form', $form);
     $this->display();
 }