/** * *@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(); } }
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); }
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; }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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; }
/** * 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; }
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); }
} } 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(); }
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; }
<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> 全件書き出し保存する', array('class' => 'btn export')); ?> </p> <?php echo Pagination::create_links(); ?> <hr> <footer> <p>©2011- INDI SOFTWARE Co,. Ltd. All rights reserved</p> </footer> </div>
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%&order=%ORDER%&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 = '&order=' . $_GET['order'] . '&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) . '&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) . '&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) . '&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; } }