Example #1
0
 /**
  *
  *@param string $number the amount you want to convert to kobo
  *@return string formatted string
  *
  */
 static function paginationHelper($paginate_obj, $base_url)
 {
     if (is_object($paginate_obj)) {
         $config['per_page'] = count($paginate_obj->items);
         $config['full_tag_open'] = '<ul class="pagination">';
         $config['full_tag_close'] = '</ul>';
         $config['cur_tag_open'] = '<li class="active"><a href="#">';
         $config['cur_tag_close'] = '</a></li>';
         $config['next_tag_open'] = '<li>';
         $config['next_tag_close'] = '</li>';
         $config['prev_tag_open'] = '<li>';
         $config['prev_tag_close'] = '</li>';
         $config['num_tag_open'] = '<li>';
         $config['num_tag_close'] = '</li>';
         $config['last_tag_open'] = '<li>';
         $config['last_tag_close'] = '</li>';
         $config['first_tag_open'] = '<li>';
         $config['first_tag_close'] = '</li>';
         $config['first_link'] = 'First';
         $config['last_link'] = 'Last';
         $config['next_link'] = 'Next';
         $config['prev_link'] = 'Previous';
         $config['use_page_numbers'] = true;
         $config['num_links'] = 9;
         $config['cur_page'] = $paginate_obj->current;
         $config['base_url'] = $base_url;
         $config['total_rows'] = $paginate_obj->total_items;
         $pagination = new Pagination();
         $pagination->initialize($config);
         echo $pagination->create_links();
     }
 }
Example #2
0
 public function action_index()
 {
     $config = array('pagination_url' => 'admin/users/index', 'total_items' => DB::count_records('users'), 'uri_segment' => 4);
     Pagination::set_config($config);
     $data['posts'] = Model_User::find('all', array('related' => array('profiles'), 'limit' => Pagination::$per_page, 'offset' => Pagination::$offset, 'order_by' => array(array('id', 'desc'))));
     $data['pager'] = Pagination::create_links();
     $this->template->title = "Users";
     $this->template->content = View::forge('admin/users/index', $data, false);
 }
Example #3
0
 public function action_location()
 {
     $config = array('pagination_url' => 'user/' . $this->username . '/year/' . $this->param('location'), 'uri_segment' => 5);
     //Pagination::set_config($config);
     $data['posts'] = DB::select()->from('posts')->where('user_id', '=', $this->user->id)->and_where('status', self::STATUS_DISP)->and_where('location', $this->param('location'))->order_by('serial_dive_no', 'desc')->as_object()->execute();
     $data['pager'] = Pagination::create_links();
     $this->template->content->content = View::forge('user/log', $data, false);
     return $this->template;
 }
Example #4
0
 function _actionIndex($page = 1)
 {
     $this->data['list'] = $this->_getList($page);
     $this->data['page'] = $page;
     $this->data['total_rows'] = $this->data['list']['total'];
     $param_paging = array('base_url' => URL::Base("materi/index"), 'cur_page' => $page, 'total_rows' => $this->data['list']['total'], 'per_page' => $this->limit, 'first_tag_open' => '<li>', 'first_tag_close' => '</li>', 'last_tag_open' => '<li>', 'last_tag_close' => '</li>', 'cur_tag_open' => '<li><span class="pagination__page--current">', 'cur_tag_close' => '</span></li>', 'next_tag_open' => '<li>', 'next_tag_close' => '</li>', 'prev_tag_open' => '<li>', 'prev_tag_close' => '</li>', 'num_tag_open' => '<li>', 'num_tag_close' => '</li>', 'anchor_class' => 'pagination__page');
     $paging = new Pagination($param_paging);
     $this->data['paging'] = $paging->create_links();
     $this->data['limit'] = $this->limit;
     $this->data['limit_arr'] = $this->limit_arr;
     $this->View($this->viewlist);
 }
Example #5
0
 function _actionIndex($page = 1)
 {
     $this->data['header'] = array(array('name' => 'id_member', 'label' => 'ID Member', 'width' => "auto"), array('name' => 'nama', 'label' => 'Nama', 'width' => "auto"), array('name' => 'tgl_lahir', 'label' => 'Tgl Lahir', 'width' => "auto"), array('name' => 'anggota_sejak', 'label' => 'Anggota Sejak', 'width' => "auto"), array('name' => 'tgl_registrasi', 'label' => 'Tgl Registrasi', 'width' => "auto"), array('name' => 'berlaku_sampai', 'label' => 'Berlaku Sampai', 'width' => "auto"), array('name' => 'jenis_kelamin', 'label' => 'Jenis Kelamin', 'width' => "auto"), array('name' => 'alamat', 'label' => 'Alamat', 'width' => "auto"), array('name' => 'kode_pos', 'label' => 'Kode Pos', 'width' => "auto"), array('name' => 'alamat_surat', 'label' => 'Alamat Surat', 'width' => "auto"), array('name' => 'no_hp', 'label' => 'Hp', 'width' => "auto"), array('name' => 'no_identitas', 'label' => 'No. ID', 'width' => "auto"), array('name' => 'catatan', 'label' => 'Catatan', 'width' => "auto"), array('name' => 'email', 'label' => 'Email', 'width' => "auto"), array('name' => 'password', 'label' => 'Password', 'width' => "auto"));
     $this->data['list'] = $this->_getList($page);
     $this->data['page'] = $page;
     $param_paging = array('base_url' => URL::Base("panelbackend/member/index"), 'cur_page' => $page, 'total_rows' => $this->data['list']['total'], 'per_page' => $this->limit);
     $paging = new Pagination($param_paging);
     $this->data['paging'] = $paging->create_links();
     $this->data['limit'] = $this->limit;
     $this->data['limit_arr'] = $this->limit_arr;
     $this->View($this->viewlist);
 }
Example #6
0
 function _actionIndex($page = 1)
 {
     $this->data['header'] = array(array('name' => 'nama', 'label' => 'Nama', 'width' => "auto"), array('name' => 'id_lokasi', 'label' => 'Lokasi', 'width' => "auto", 'type' => 'list', 'value' => $this->data['lokasiarr']), array('name' => 'jumlah', 'label' => 'Jumlah', 'width' => "auto"));
     $this->data['list'] = $this->_getList($page);
     $this->data['page'] = $page;
     $param_paging = array('base_url' => URL::Base("panelbackend/buku/index"), 'cur_page' => $page, 'total_rows' => $this->data['list']['total'], 'per_page' => $this->limit);
     $paging = new Pagination($param_paging);
     $this->data['paging'] = $paging->create_links();
     $this->data['limit'] = $this->limit;
     $this->data['limit_arr'] = $this->limit_arr;
     $this->View($this->viewlist);
 }
 function _actionIndex($page = 1)
 {
     $this->data['header'] = array(array('name' => 'nama', 'label' => 'Nama', 'width' => "auto"), array('name' => 'isi', 'label' => 'Isi', 'width' => "auto"), array('name' => 'is_approve', 'label' => 'Tampil', 'width' => "100px", 'type' => 'list', 'value' => array('' => '-pilih-', '0' => 'Tidak', '1' => 'Iya')));
     $this->data['list'] = $this->_getList($page);
     $this->data['page'] = $page;
     $param_paging = array('base_url' => URL::Base("panelbackend/testimoni/index"), 'cur_page' => $page, 'total_rows' => $this->data['list']['total'], 'per_page' => $this->limit);
     $paging = new Pagination($param_paging);
     $this->data['paging'] = $paging->create_links();
     $this->data['limit'] = $this->limit;
     $this->data['limit_arr'] = $this->limit_arr;
     $this->View($this->viewlist);
 }
Example #8
0
 function _actionIndex($page = 1)
 {
     $this->data['header'] = array(array('name' => 'id_member', 'label' => 'Nama', 'width' => "auto"), array('name' => 'tgl_pinjam', 'label' => 'Tgl. Pinjam', 'type' => 'date'), array('name' => 'tgl_kembali', 'label' => 'Tgl. Kembali', 'type' => 'date'), array('name' => 'jaminan', 'label' => 'Jaminan', 'width' => "auto"), array('name' => 'kode_jaminan', 'label' => 'Kode Jaminan', 'width' => "auto"));
     $this->data['list'] = $this->_getList($page);
     $this->data['page'] = $page;
     $param_paging = array('base_url' => URL::Base("panelbackend/pinjam/index"), 'cur_page' => $page, 'total_rows' => $this->data['list']['total'], 'per_page' => $this->limit);
     $paging = new Pagination($param_paging);
     $this->data['paging'] = $paging->create_links();
     $this->data['limit'] = $this->limit;
     $this->data['limit_arr'] = $this->limit_arr;
     $this->View($this->viewlist);
 }
Example #9
0
 function _actionIndex($page = 1)
 {
     $this->data['header'] = array(array('name' => 'nama', 'label' => 'Nama', 'width' => "auto"), array('name' => 'telp', 'label' => 'Telp.', 'width' => "auto"), array('name' => 'alamat', 'label' => 'Alamat', 'width' => "auto"));
     $this->data['list'] = $this->_getList($page);
     $this->data['page'] = $page;
     $param_paging = array('base_url' => URL::Base("panelbackend/petugas/index"), 'cur_page' => $page, 'total_rows' => $this->data['list']['total'], 'per_page' => $this->limit);
     $paging = new Pagination($param_paging);
     $this->data['paging'] = $paging->create_links();
     $this->data['limit'] = $this->limit;
     $this->data['limit_arr'] = $this->limit_arr;
     $this->View($this->viewlist);
 }
Example #10
0
 function _actionIndex($halaman, $page = 1)
 {
     $this->_setHalaman($halaman);
     $filter = " halaman = '{$halaman}' ";
     $this->_setFilter($filter);
     $this->data['list'] = $this->_getList($page);
     $this->data['page'] = $page;
     $param_paging = array('base_url' => URL::Base("page/index/{$halaman}"), 'cur_page' => $page, 'total_rows' => $this->data['list']['total'], 'per_page' => $this->limit, 'first_tag_open' => '<li>', 'first_tag_close' => '</li>', 'last_tag_open' => '<li>', 'last_tag_close' => '</li>', 'cur_tag_open' => '<li class="selected"><span>', 'cur_tag_close' => '</span></li>', 'next_tag_open' => '<li>', 'next_tag_close' => '</li>', 'prev_tag_open' => '<li>', 'prev_tag_close' => '</li>', 'num_tag_open' => '<li>', 'num_tag_close' => '</li>');
     $paging = new Pagination($param_paging);
     $this->data['paging'] = $paging->create_links();
     $this->data['limit'] = $this->limit;
     $this->data['limit_arr'] = $this->limit_arr;
     $this->View($this->viewlist);
 }
Example #11
0
 function _actionIndex($halaman, $page = 1)
 {
     $this->_setHalaman($halaman);
     $this->data['header'] = array(array('name' => 'nama', 'label' => 'Judul', 'width' => "auto"), array('name' => 'isi', 'label' => 'Isi', 'width' => "auto"));
     $this->_setFilter(" halaman = '{$halaman}' ");
     $this->data['list'] = $this->_getList($page);
     $this->data['page'] = $page;
     $param_paging = array('base_url' => URL::Base("panelbackend/page/index/{$halaman}"), 'cur_page' => $page, 'total_rows' => $this->data['list']['total'], 'per_page' => $this->limit);
     $paging = new Pagination($param_paging);
     $this->data['paging'] = $paging->create_links();
     $this->data['limit'] = $this->limit;
     $this->data['limit_arr'] = $this->limit_arr;
     $this->View($this->viewlist);
 }
Example #12
0
 function _actionIndex($page = 1, $jadwal_kategori_id = 0)
 {
     $this->data['header'] = array(array('name' => 'jadwal_kategori_id', 'label' => 'Spesialis', 'width' => "300px", 'type' => 'list', 'value' => $this->data['listkategori']), array('name' => 'nama', 'label' => 'Nama', 'width' => "auto"));
     if ($jadwal_kategori_id) {
         $this->post['act'] = 'list_search';
         $this->post['list_search'] = array('jadwal_kategori_id' => $jadwal_kategori_id);
     }
     $this->data['list'] = $this->_getList($page);
     $this->data['page'] = $page;
     $param_paging = array('base_url' => URL::Base("jadwal/index"), 'cur_page' => $page, 'total_rows' => $this->data['list']['total'], 'per_page' => $this->limit, 'first_tag_open' => '<li>', 'first_tag_close' => '</li>', 'last_tag_open' => '<li>', 'last_tag_close' => '</li>', 'cur_tag_open' => '<li class="selected"><span>', 'cur_tag_close' => '</span></li>', 'next_tag_open' => '<li>', 'next_tag_close' => '</li>', 'prev_tag_open' => '<li>', 'prev_tag_close' => '</li>', 'num_tag_open' => '<li>', 'num_tag_close' => '</li>');
     $paging = new Pagination($param_paging);
     $this->data['paging'] = $paging->create_links();
     $this->data['limit'] = $this->limit;
     $this->data['limit_arr'] = $this->limit_arr;
     $this->View($this->viewlist);
 }
 function getdatas()
 {
     global $modx;
     $resource_id = $modx->resource->get('id');
     $now = time();
     $month = abs($this->bloxconfig['month']);
     $year = $this->bloxconfig['year'];
     $timestart = xetadodb_mktime(0, 0, 0, $month, 01, $year);
     $timeend = $this->xettcal->get_ts_monthend($timestart);
     $timestampstart = strftime('%Y-%m-%d %H:%M:%S', $timestart);
     //umwandlung zu mysql-dateformat
     $timestampend = strftime('%Y-%m-%d %H:%M:%S', $timeend);
     $category = $this->bloxconfig['custom']['category'];
     $sync_list = isset($_REQUEST['sync_list']) ? $_REQUEST['sync_list'] : 0;
     unset($_GET['sync_list']);
     if ($sync_list) {
         $_GET['tsmonth'] = $timestart;
         unset($_GET['tsday']);
         unset($_GET['tsweek']);
     }
     $listmode = 'upcoming';
     if (isset($_GET['tsday'])) {
         $listmode = 'dayevents';
         unset($_GET['tsmonth']);
         unset($_GET['tsweek']);
     }
     if (isset($_GET['tsmonth'])) {
         $listmode = 'monthevents';
         unset($_GET['tsday']);
         unset($_GET['tsweek']);
     }
     if (isset($_GET['tsweek'])) {
         $listmode = 'weekevents';
         unset($_GET['tsday']);
         unset($_GET['tsmonth']);
     }
     $listmode = isset($_REQUEST['listmode']) ? $_REQUEST['listmode'] : $listmode;
     unset($_GET['listmode']);
     //Monatsevents laden
     $limit = 0;
     $events = $this->getEvents($timestampstart, $timestampend, $limit, $category);
     //$events = addCustomFields($mxCalApp, $events);
     $timestampfirstday = xetadodb_mktime(0, 0, 0, $month, 01, $year);
     $limit = 0;
     switch ($listmode) {
         case 'dayevents':
             $timestamp = (int) $_GET['tsday'];
             $d = xetadodb_date("d", $timestamp);
             $m = xetadodb_date("m", $timestamp);
             $y = xetadodb_date("Y", $timestamp);
             $tseventlist = xetadodb_mktime(0, 0, 0, $m, $d, $y);
             $timestampend = $this->xettcal->get_ts_dayend($tseventlist);
             break;
         case 'weekevents':
             $timestamp = (int) $_GET['tsweek'];
             $tseventlist = $this->xettcal->get_ts_weekstart($timestamp);
             $timestampend = $this->xettcal->get_ts_weekend($tseventlist);
             break;
         case 'monthevents':
             $timestamp = (int) $_GET['tsmonth'];
             $d = xetadodb_date("d", $timestamp);
             $m = xetadodb_date("m", $timestamp);
             $y = xetadodb_date("Y", $timestamp);
             $tseventlist = xetadodb_mktime(0, 0, 0, $m, '01', $y);
             $timestampend = $this->xettcal->get_ts_monthend($tseventlist);
             break;
         case 'upcoming':
         default:
             $timestamp = $now;
             $d = xetadodb_date("d", $timestamp);
             $m = xetadodb_date("m", $timestamp);
             $y = xetadodb_date("Y", $timestamp);
             $tseventlist = xetadodb_mktime(0, 0, 0, $m, $d, $y);
             $timestampend = xetadodb_mktime(0, 0, 0, $m, $d, $y + 1);
             $limit = array('limit' => $this->bloxconfig['limit'], 'offset' => $this->bloxconfig['offset']);
             break;
     }
     $timestampstart = strftime('%Y-%m-%d %H:%M:%S', $tseventlist);
     //umwandlung zu mysql-dateformat
     $timestampend = strftime('%Y-%m-%d %H:%M:%S', $timestampend);
     $listevents = $this->getEvents($timestampstart, $timestampend, $limit, $category);
     $numRows = $modx->getPlaceholder('total');
     //Kategorien laden
     $cat_rows = array();
     $c = $modx->newQuery('migxCalendarCategories');
     $c->where(array('published' => 1));
     if ($collection = $modx->getCollection('migxCalendarCategories', $c)) {
         foreach ($collection as $object) {
             $cat_row = $object->toArray();
             $cat_rows[] = $cat_row;
         }
     }
     $cat_row = array();
     $cat_row['id'] = '0';
     $cat_row['name'] = 'Alle';
     $cat_rows[] = $cat_row;
     $categories = array();
     foreach ($cat_rows as $category) {
         $link['category'] = $modx->getOption('id', $category, 0);
         $category['cat_link'] = $this->helpers->smartModxUrl($resource_id, null, $link);
         $current = (int) $modx->getOption('category', $_GET, 0);
         $category['active_class'] = $current == $link['category'] ? 'active' : '';
         $categories[] = $category;
     }
     $cal = $this->xettcal->getMonthCal($year, $month);
     $bloxdatas = $this->xettcal->makeMonthArray($this->bloxconfig, $cal, array(), $events);
     //$bloxdatas['innerrows']['month'][0]['innerrows']['monthevents'] = $events;
     $bloxdatas['innerrows']['eventlist'] = $listevents;
     $bloxdatas['innerrows']['category'] = $categories;
     //echo '<pre>' . print_r($this->bloxconfig, true) . '</pre>';
     //echo '<pre>' . print_r($bloxdatas, true) . '</pre>';
     unset($_GET['tsmonth']);
     unset($_GET['tsweek']);
     unset($_GET['tsday']);
     $link = array();
     $link['tsday'] = time();
     $bloxdatas['link_today'] = $this->helpers->smartModxUrl($resource_id, null, $link);
     $link = array();
     $link['tsweek'] = time();
     $bloxdatas['link_thisweek'] = $this->helpers->smartModxUrl($resource_id, null, $link);
     $link = array();
     $link['tsmonth'] = time();
     $bloxdatas['link_thismonth'] = $this->helpers->smartModxUrl($resource_id, null, $link);
     $link = array();
     $link['listmode'] = 'upcoming';
     $bloxdatas['link_upcoming'] = $this->helpers->smartModxUrl($resource_id, null, $link);
     require_once $this->bloxconfig['absolutepath'] . 'inc/Pagination.php';
     $p = new Pagination(array('per_page' => $this->bloxconfig['limit'], 'num_links' => $this->bloxconfig['numLinks'], 'cur_page' => $this->bloxconfig['page'], 'total_rows' => $numRows, 'page_query_string' => $this->bloxconfig['pageVarKey'], 'use_page_numbers' => true));
     $bloxdatas['pagination'] = $p->create_links();
     //$bloxdatas['innerrows']['row'] = $rows;
     if ($this->bloxconfig['debug']) {
         //echo '<pre>' . print_r($bloxdatas, true) . '</pre>';
         //echo '---------------------------------------';
         //echo '<pre>' . print_r($rows, true) . '</pre>';
     }
     return $bloxdatas;
 }
Example #14
0
 /**
  *		function: renderChunks
  *		-----------------------
  *		description: do the sql query,
  *		call getChunkReplaced() for each row of the result,
  *		and return the modified chunks.
  *		
  */
 function renderChunks()
 {
     global $modx;
     require_once "Pagination.php";
     $query = '';
     $rs = '';
     $output = $this->header;
     $pageStart = $this->getPageStart();
     if ($this->sql != '') {
         $query = str_replace('_eq_', '=', $this->sql);
     } else {
         $fields = implode(',', array_unique($this->fieldNames));
         $query = 'SELECT ' . $fields . ' FROM ' . $this->tableName;
         if ($this->orderby != '') {
             $query .= ' ORDER BY ' . $this->orderby;
         }
     }
     $rs = $modx->db->query($query);
     $numRows = $modx->db->getRecordCount($rs);
     if ($this->perPage > 0) {
         $from = $pageStart - 1;
         $query .= ' LIMIT ' . $from . ', ' . $this->perPage;
     }
     $rs = $modx->db->query($query);
     // echo $query . '<br/>';
     $this->chunk = $modx->getChunk($this->chunkName);
     $i = 0;
     while ($row = $modx->db->getRow($rs)) {
         $output .= $this->getChunkReplaced($row, $i);
         $i++;
     }
     $output .= $this->footer;
     if ($this->perPage > 0) {
         $p = new Pagination(array('per_page' => $this->perPage, 'num_links' => $this->numLinks, 'cur_item' => $pageStart, 'total_rows' => $numRows));
         $output .= '<div class="ldb_pagination">' . $p->create_links() . '</div>';
     }
     return $output;
 }
Example #15
0
 public function _actionIndex($page = 1)
 {
     $this->data['header'] = $this->Header();
     $this->data['list'] = $this->_getList($page);
     $this->data['page'] = $page;
     $param_paging = array('base_url' => URL::Base("{$this->page_ctrl}/index"), 'cur_page' => $page, 'total_rows' => $this->data['list']['total'], 'per_page' => $this->limit);
     $paging = new Pagination($param_paging);
     $this->data['paging'] = $paging->create_links();
     $this->data['limit'] = $this->limit;
     $this->data['limit_arr'] = $this->limit_arr;
     $this->View($this->viewlist);
 }
Example #16
0
    }
}
if (count($resultrows) > 0) {
    foreach ($resultrows as $row) {
        $colums = array();
        if (count($row) > 0) {
            foreach ($row as $fieldname => $col) {
                $col = array('value' => $col, 'fieldname' => $fieldname);
                $colums[] = $col;
            }
            $row['innerrows']['rowvalue'] = $colums;
            $rows[] = $row;
        }
    }
}
//pagination
$numRows = $this->totalCount;
require_once $GLOBALS['blox_path'] . 'inc/Pagination.php';
$p = new Pagination(array('per_page' => $this->bloxconfig['perPage'], 'num_links' => $this->bloxconfig['numLinks'], 'cur_item' => $this->bloxconfig['pageStart'], 'total_rows' => $numRows));
$bloxdatas['pagination'] = $p->create_links();
$bloxdatas['innerrows']['fieldnames'] = $fieldnames;
/*
print_r($bloxdatas);
echo '---------------------------------------';
print_r($rows);
*/
$bloxdatas['innerrows']['row'] = $rows;
//print_r($bloxdatas);
/*
[!loopDbChunk? &tableName=`modx_regatta_aktivenliste` &chunkName=`regatta_aktivenliste` &perPage=`50` &orderby=`vereinsname,nachname asc` &missingValTxt=`--`&header=`<table><tr><th>AktivenID</th><th>Vorname</th><th>Nachname</th><th>Jahrgang</th><th>Geschlecht</th><th>Vereinsname</th><th>Vereinsnummer</th></th></tr><tbody class="chunkcontainer" resourceclass="modTable">`&footer=`</tbody></table>`&numLinks=`15`&sql=`[+filter_aktiven+]`!]
*/
function es_pagination($config, $where)
{
    global $wpdb, $es_settings;
    $table = $wpdb->prefix . 'estatik_properties';
    $es_count_listing = $wpdb->get_row("SELECT count(*) as total_record FROM {$table} {$where}");
    $config = array('total_rows' => $es_count_listing->total_record, 'per_page' => $es_settings->no_of_listing, 'uri_segment' => 3, 'num_links' => 1);
    $path = explode('/', $_SERVER['REQUEST_URI']);
    $config['base_url'] = end($path);
    if (substr($config['base_url'], 0, strlen('?s&')) === '?s&') {
        $config['url_paramenter'] = 'cutom';
    }
    $pagination = new Pagination($config);
    echo $pagination->create_links();
}
Example #18
0
 function displayMultiValue($tvOutput, $params)
 {
     // replace masked placeholder tags (for templates that are set directly set in snippet call by @CODE)
     $maskedTags = array('((' => '[+', '))' => '+]');
     $params['outerTpl'] = str_replace(array_keys($maskedTags), array_values($maskedTags), $params['outerTpl']);
     $params['rowTpl'] = str_replace(array_keys($maskedTags), array_values($maskedTags), $params['rowTpl']);
     $countOutput = count($tvOutput);
     $firstEmpty = true;
     if ($countOutput) {
         // check for first item empty
         foreach (current($tvOutput) as $value) {
             if ($value != '') {
                 $firstEmpty = false;
             }
         }
     }
     // stop if there is no output
     if (!$countOutput || $firstEmpty) {
         $noResults = '';
         if ($params['noResults'] != '') {
             $parser = new newChunkie($this->modx);
             $noResults = $parser->getTemplateChunk($params['noResults']);
         }
         if ($params['emptyOutput']) {
             // output nothing
             return $noResults;
         } else {
             // output empty outer template
             $parser = new newChunkie($this->modx);
             $parser->setPlaceholder('wrapper', $noResults);
             $parser->setTpl($parser->getTemplateChunk($params['outerTpl']));
             $parser->prepareTemplate();
             return $parser->process();
         }
     }
     // random or sort output
     if ($params['randomize']) {
         shuffle($tvOutput);
     } elseif ($params['reverse']) {
         $tvOutput = array_reverse($tvOutput);
     } elseif (!empty($params['sortBy'])) {
         $this->sort($tvOutput, trim($params['sortBy']), strtolower(trim($params['sortDir'])));
     }
     // check for display all regarding selected rows count and offset
     $countOutput = $params['rows'] === 'all' ? $countOutput : count($params['rows']);
     $display = $limit = $params['display'] !== 'all' ? intval($params['display']) : $countOutput;
     $display = $display + $params['offset'] < $countOutput ? $display : $countOutput - $params['offset'];
     $offset = $params['offset'];
     // output
     $wrapper = array();
     $i = $iteration = 1;
     $classes = array($params['firstClass']);
     // rowTpl output
     foreach ($tvOutput as $value) {
         if ($display == 0) {
             break;
         }
         if ($params['rows'] !== 'all' && !in_array($i, $params['rows'])) {
             // output only selected rows
             $i++;
             continue;
         }
         if ($offset) {
             // don't show the offset rows
             $offset--;
             $i++;
             continue;
         }
         if (!$params['toJson']) {
             if ($display == 1) {
                 $classes[] = $params['lastClass'];
             }
             if ($iteration % 2) {
                 $classes[] = $params['oddClass'];
             } else {
                 $classes[] = $params['evenClass'];
             }
             $parser = new newChunkie($this->modx);
             foreach ($value as $key => $fieldvalue) {
                 $fieldname = is_int($key) ? $this->fieldnames[$key] : $key;
                 $parser->setPlaceholder($fieldname, $fieldvalue);
             }
             $parser->setPlaceholder('iteration', $iteration);
             $parser->setPlaceholder('row', array('number' => $i, 'class' => implode(' ', $classes), 'total' => $countOutput));
             $parser->setPlaceholder('docid', $params['docid']);
             $parser->setTpl($parser->getTemplateChunk($params['rowTpl']));
             $parser->prepareTemplate();
             $placeholder = $parser->process();
             if ($params['toPlaceholder']) {
                 $this->modx->setPlaceholder($params['toPlaceholder'] . '.' . $i, $placeholder);
             }
             $wrapper[] = $placeholder;
             $classes = array();
         } else {
             $wrapper[] = $value;
         }
         $i++;
         $iteration++;
         $display--;
     }
     if ($params['emptyOutput'] && !count($wrapper)) {
         // output nothing
         $output = '';
     } else {
         if (!$params['toJson']) {
             // wrap rowTpl output in outerTpl
             $parser = new newChunkie($this->modx);
             $parser->setPlaceholder('wrapper', implode($params['outputSeparator'], $wrapper));
             $parser->setPlaceholder('rows', array('offset' => $params['offset'], 'total' => $countOutput));
             $parser->setPlaceholder('docid', $params['docid']);
             if ($params['paginate']) {
                 $pagination = new Pagination(array('per_page' => $limit, 'num_links' => 2, 'cur_page' => $params['offset'] / $limit + 1, 'total_rows' => $countOutput, 'page_query_string' => $params['offsetKey'], 'use_page_numbers' => true, 'first_link' => $this->language['paginate.first'], 'prev_link' => $this->language['paginate.prev'], 'next_link' => $this->language['paginate.next'], 'last_link' => $this->language['paginate.last']));
                 $parser->setPlaceholder('pagination', $pagination->create_links());
             }
             $parser->setTpl($parser->getTemplateChunk($params['outerTpl']));
             $parser->prepareTemplate();
             $output = $parser->process();
         } else {
             $output = json_encode($wrapper);
         }
     }
     if ($params['toPlaceholder']) {
         $this->modx->setPlaceholder($params['toPlaceholder'], $output);
         $output = '';
     }
     return $output;
 }
Example #19
0
              <td>携帯</td>
              <td>スマフォ</td>
              <td>合計</td>
              <td>携帯</td>
              <td>スマフォ</td>
              <td>UU</td>
              <td>PV</td>
              <td>PU</td>
            </tr>
          </thead>
          <tbody></tbody>
        </table>
      </div>
    </div>
  </div>
  <p class="index-status"><?php 
echo Html::anchor('data/getDailyKpi.csv', '<i class="icon-arrow-down"></i>&nbsp;全件書き出し保存する', array('class' => 'btn export'));
?>
</p>
  <?php 
echo Pagination::create_links();
?>

  <hr>
  
  <footer>
    <p>&copy;2011- INDI SOFTWARE Co,. Ltd. All rights reserved</p>
  </footer>

</div>
Example #20
0
File: list.php Project: big2men/qhm
function action(&$c)
{
    set_menu($c);
    /** ***********************************************************************
     * 表示のページネーション、クエリの準備
     *
     * pn_sizeを変えると、一頁当たりの表示が変わる。
     *
     ***************************************************************************/
    //pagenation setting
    $pagination = new Pagination();
    $pn_size = $c->admin->getListNum();
    $pn_page = isset($_GET['pn_page']) ? $_GET['pn_page'] : 1;
    $order_tmp = '<a href="list.php?%QUERY%=%VALUE%&amp;order=%ORDER%&amp;sort=%SORT%">%TITLE%</a>';
    $order_que = '';
    //表示用のパラメータをセット
    $c->set('cols', $c->admin->getListCols());
    //query のテンプレを作る
    $order_link = array();
    $skey = array('/%ORDER%/', '/%SORT%/', '/%TITLE%/');
    $rkey = array('created', 'desc', '新しい順');
    $o1 = preg_replace($skey, $rkey, $order_tmp);
    $rkey = array('created', 'asc', '古い順');
    $o2 = preg_replace($skey, $rkey, $order_tmp);
    $order_link['更新日'] = array($o1, $o2);
    $rkey = array('size', 'desc', '大きい');
    $o1 = preg_replace($skey, $rkey, $order_tmp);
    $rkey = array('size', 'asc', '小さい');
    $o2 = preg_replace($skey, $rkey, $order_tmp);
    $order_link['サイズ'] = array($o1, $o2);
    $rkey = array('name', 'asc', '昇順');
    $o1 = preg_replace($skey, $rkey, $order_tmp);
    $rkey = array('size', 'desc', '降順');
    $o2 = preg_replace($skey, $rkey, $order_tmp);
    $order_link['名前'] = array($o1, $o2);
    /** ***********************************************************************
     * セッションから、ページ名を作成、並び替えのクエリをセット
     *
     *
     *
     ***************************************************************************/
    //ページ名設定
    if (isset($_SESSION['swfu']['page_name'])) {
        $page = $_SESSION['swfu']['page_name'];
        $c->set('page_name', $page);
        $images = $c->image->find('$page_name=="' . $page . '"', 'created desc');
        $c->set('images', $images);
    }
    //並び替えクエリ
    if (isset($_GET['order']) && isset($_GET['sort'])) {
        $order_que = '&amp;order=' . $_GET['order'] . '&amp;sort=' . $_GET['sort'];
    }
    /** ***********************************************************************
     * ページ名の変更
     *
     ***************************************************************************/
    if (isset($_POST['change_page_name'])) {
        $old_page = $_POST['old_page'];
        $new_page = $_POST['new_page'];
        $rs = $c->image->find('$page_name=="' . $old_page . '"');
        foreach ($rs as $r) {
            $r['page_name'] = $new_page;
            $c->image->update($r);
        }
        $c->redirect('list.php?page=' . rawurlencode($new_page));
    }
    /** ***********************************************************************
     * ページ名の設定
     *
     ***************************************************************************/
    if (isset($_POST['set_page_name'])) {
        if ($_POST['new_page'] == '') {
            $c->redirect('index.php');
        } else {
            $_SESSION['swfu']['page_name'] = $_POST['new_page'];
            $c->redirect('list.php?page=' . rawurlencode($_POST['new_page']));
        }
    }
    /** ***********************************************************************
     * pageをもとに、リストを表示
     *
     *
     *
     ***************************************************************************/
    if (isset($_GET['page'])) {
        $page = $_GET['page'];
        $cond = '$page_name=="' . $page . '"';
        $order = $order_que == '' ? 'created desc' : $_GET['order'] . ' ' . $_GET['sort'];
        $total_cnt = $c->image->getCount($cond);
        $pagination->setLink('list.php?page=' . rawurlencode($page) . '&amp;pn_page=##PN_PAGE##' . $order_que);
        $pagination->setPage($pn_page);
        $pagination->setSize($pn_size);
        $pagination->setTotalRecords($total_cnt);
        $limit = $pagination->getLimit();
        $images = $c->image->find($cond, $order, $limit);
        $c->set('images', $images);
        $c->set('pagination_link', $pagination->create_links());
        $disp_pagename = $page == '' ? '未分類' : $page;
        $c->set('h2title', '「' . $disp_pagename . '」のファイル一覧');
        $skey = array('/%QUERY%/', '/%VALUE%/');
        $rkey = array('page', rawurlencode($page));
        $str = '';
        foreach ($order_link as $key => $val) {
            $str .= $key . '[';
            foreach ($val as $k => $v) {
                $order_link[$key][$k] = preg_replace($skey, $rkey, $v);
            }
            $str .= implode(' , ', $order_link[$key]);
            $str .= '] ';
        }
        $page_form = '
<form class="style_form" action="' . $_SERVER['PHP_SELF'] . '" method="post" style="text-align:right">
	<input id="change_page_name" type="text" name="new_page" size="14" value="' . $page . '" />
	<input type="submit" value="変更" name="change_page_name" onclick="return confirm_page_chg(\'' . $page . '\');" />
	<input type="hidden" name="old_page" value="' . $page . '" />
</form>';
        $page_form_set = '
<form class="style_form" action="' . $_SERVER['PHP_SELF'] . '" method="post" style="float:left;">
	<input id="new_page" type="hidden" name="new_page" value="' . $page . '" />
		<input type="submit" value="セット" name="set_page_name" onclick="return confirm_page_set();" />
	<input type="hidden" name="old_page" value="' . $page . '" />
</form>';
        $c->set('page_form', $page_form);
        $c->set('page_form_set', $page_form_set);
        $c->set('order_link', $str);
        return;
    }
    /** ***********************************************************************
     * labelをもとに、リストを表示
     *
     *
     *
     ***************************************************************************/
    if (isset($_GET['label'])) {
        $label = $_GET['label'];
        $cond = 'array_key_exists(
					"' . $label . '",
					array_flip(explode(",",$label))
				)';
        $order = $order_que == '' ? 'created desc' : $_GET['order'] . ' ' . $_GET['sort'];
        $total_cnt = $c->image->getCount($cond);
        $pagination->setLink('list.php?label=' . rawurlencode($label) . '&amp;pn_page=##PN_PAGE##' . $order_que);
        $pagination->setPage($pn_page);
        $pagination->setSize($pn_size);
        $pagination->setTotalRecords($total_cnt);
        $limit = $pagination->getLimit();
        $images = $c->image->find($cond, $order, $limit);
        $c->set('images', $images);
        $c->set('pagination_link', $pagination->create_links());
        $label = $label == '' ? 'ラベルなし' : $label;
        $c->set('h2title', '「' . $label . '」ラベルのファイル一覧');
        $skey = array('/%QUERY%/', '/%VALUE%/');
        $rkey = array('label', rawurlencode($label));
        $str = '';
        foreach ($order_link as $key => $val) {
            $str .= $key . '[';
            foreach ($val as $k => $v) {
                $order_link[$key][$k] = preg_replace($skey, $rkey, $v);
            }
            $str .= implode(' , ', $order_link[$key]);
            $str .= '] ';
        }
        $c->set('order_link', $str);
        return;
    }
    /** ***********************************************************************
     * searchをもとに、リストを表示
     *
     *
     *
     ***************************************************************************/
    if (isset($_GET['search'])) {
        $search = $_GET['search'];
        $search_arr = explode(' ', $_GET['search']);
        //name , description , page_name , label を検索
        $tmparr = array();
        foreach (array('name', 'description', 'page_name', 'label') as $key) {
            //OR
            $arr = array();
            foreach ($search_arr as $s) {
                //AND
                $arr[] = '(strpos(strtoupper($' . $key . '),"' . strtoupper($s) . '")!==false)';
            }
            $tmparr[] = '(' . implode(' && ', $arr) . ')';
        }
        $cond = implode(' || ', $tmparr);
        $order = $order_que == '' ? 'created desc' : $_GET['order'] . ' ' . $_GET['sort'];
        $total_cnt = $c->image->getCount($cond);
        $pagination->setLink('list.php?search=' . rawurlencode($search) . '&amp;pn_page=##PN_PAGE##' . $order_que);
        $pagination->setPage($pn_page);
        $pagination->setSize($pn_size);
        $pagination->setTotalRecords($total_cnt);
        $limit = $pagination->getLimit();
        $images = $c->image->find($cond, $order, $limit);
        $c->set('images', $images);
        $c->set('pagination_link', $pagination->create_links());
        $c->set('h2title', '「' . $search . '」検索一覧');
        $skey = array('/%QUERY%/', '/%VALUE%/');
        $rkey = array('search', rawurlencode($search));
        $str = '';
        foreach ($order_link as $key => $val) {
            $str .= $key . '[';
            foreach ($val as $k => $v) {
                $order_link[$key][$k] = preg_replace($skey, $rkey, $v);
            }
            $str .= implode(' , ', $order_link[$key]);
            $str .= '] ';
        }
        $c->set('order_link', $str);
        return;
    }
    //削除
    if (isset($_GET['delete'])) {
        $fname = $_GET['delete'];
        $img = $c->image->findone('$name=="' . $fname . '"');
        $c->image->del('$id=="' . $img['id'] . '"');
        if (file_exists(SWFU_DATA_DIR . $fname)) {
            unlink(SWFU_DATA_DIR . $fname);
        }
        $c->redirect('index.php');
    }
    //ダウンロード
    if (isset($_GET['dl'])) {
        $fname = $_GET['dl'];
        $fp = fopen(SWFU_DATA_DIR . $fname, "rb");
        header("Cache-Control: public");
        header("Pragma: public");
        header("Accept-Ranges: none");
        header("Content-Transfer-Encoding: binary");
        header("Content-Disposition: attachment; filename={$fname}");
        header("Content-Type: application/octet-stream; name={$fname}");
        fpassthru($fp);
        fclose($fp);
        exit;
    }
}