Example #1
0
 /**
  * last page: next inactive
  *
  */
 public function test_nextlink_inactive()
 {
     Pagination::set_config(array('current_page' => 2));
     $output = Pagination::next_link('next');
     $expected = ' <span class="next-inactive"><a href="#">next &raquo;</a> </span>';
     $this->assertEquals($expected, $output);
 }
Example #2
0
 public function action_log()
 {
     $config = array('pagination_url' => 'user/' . $this->username, 'total_items' => $this->log_count, 'uri_segment' => 3);
     Pagination::set_config($config);
     $data['posts'] = Model_Post::find('all', array('where' => array_merge(array(array('user_id', $this->user->id)), $this->status_where), 'order_by' => array(array('serial_dive_no', 'desc')), 'limit' => Pagination::$per_page, 'offset' => Pagination::$offset));
     $data['pager'] = Pagination::create_links();
     $this->template->content->content = View::forge('user/log', $data, false);
     return $this->template;
 }
Example #3
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 #4
0
 public static function pagedata($lines = 10)
 {
     //配列の初期化
     $data = array();
     //データ件数の取得
     $count = Model_User::count();
     //Paginationの環境設定
     $config = array('pagination_url' => 'admin/index', 'uri_segment' => 3, 'num_links' => 2, 'per_page' => $lines, 'total_items' => $count);
     //Paginationのセット
     Pagination::set_config($config);
     $pagination = Pagination::forge('mypagination', $config);
     //ページデータの取得
     $data['users'] = Model_User::find('all', array('limit' => $pagination->per_page, 'offset' => $pagination->offset, 'order_by' => array('created_at' => 'desc')));
     return $data;
 }
Example #5
0
 public function action_detail()
 {
     //\Model\Imp::sendMail();
     $bbstype = @$_GET['bbstype'] ? $_GET['bbstype'] : 0;
     $count = \Model\imp::GetResCount($bbstype);
     Pagination::set_config(\Model\Imp::getPaginationConfig($count));
     //////##########
     $input = \Model\Imp::setDefaultPost($_POST, $_GET, Session::get());
     $postid = @$_GET['postid'] ? $_GET['postid'] : false;
     $view = View::forge('imp/detail', '', false);
     //記事がない場合のテストよろ
     $view->set('post1', \Model\Imp::getPost1($bbstype, $postid));
     $view->set('postid', $postid);
     $view->set('content', \Model\Imp::getRes($input));
     $this->template->content = $view;
     return $this->template;
 }
Example #6
0
 /**
  * The basic sales message
  * 
  * @access  public
  * @return  Response
  */
 public function action_index($page = 1)
 {
     /* initialize */
     $mongodb = \Mongo_Db::instance();
     $data = array();
     $where = array();
     $pagination_params = array();
     $from_time = strtotime("yesterday");
     $to_time = strtotime("today - 1sec");
     /* get値がない場合、つまり初期アクセス時にはデータの表示はしないで表示 */
     if (\Input::get() == array()) {
         /* Viewに渡すデータ */
         $params = array('data' => array(), 'error' => 'データが見つかりませんでした。', 'config' => array(), 'offset' => 0, 'from_time' => date('Y-m-d H:i:s', $from_time), 'to_time' => date('Y-m-d H:i:s', $to_time));
         $this->template->content = View::forge('sales/index', $params);
         return;
     }
     /* データ作成 */
     foreach (\Input::get() as $key => $value) {
         /* 空の場合は飛ばす */
         if (empty($value)) {
             continue;
         }
         /* 各パラメータ作成 */
         switch ($key) {
             case 'user_id':
             case 'client_type':
             case 'status':
             case 'item_id':
             case 'num':
             case 'price':
             case 'user_id':
                 $where[$key] = $value;
                 $pagination_params[$key] = $value;
                 break;
             case 'limit':
                 $pagination_params[$key] = $value;
                 break;
             case 'from_time':
                 $pagination_params[$key] = $value;
                 $from_time = strtotime($value);
                 break;
             case 'to_time':
                 $pagination_params[$key] = $value;
                 $to_time = strtotime($value);
                 break;
             default:
                 break;
         }
     }
     $limit = \Input::get('limit') ? \Input::get('limit') : 20;
     $offset = ($page - 1) * $limit;
     $count = $mongodb->where($where)->where_lte('timestamp', (string) $to_time)->where_gte('timestamp', (string) $from_time)->count('payment');
     /* 件数が多すぎるので件数だけ渡して却下 */
     if ($count >= 1000000 || $count == 0) {
         $error = $count == 0 ? 'データが見つかりませんでした。' : $count . '件見つかりました。件数が多すぎる為表示することができません。';
         /* Viewに渡すデータ */
         $params = array('data' => array(), 'error' => $error, 'config' => array(), 'offset' => 0, 'from_time' => date('Y-m-d H:i:s', $from_time), 'to_time' => date('Y-m-d H:i:s', $to_time));
         $this->template->content = View::forge('sales/index', $params);
         return;
     }
     $data = $mongodb->where($where)->offset($offset)->limit($limit)->where_lte('timestamp', (string) $to_time)->where_gte('timestamp', (string) $from_time)->get('payment');
     /* 時間フォーマットの変更 */
     foreach ($data as $key => $value) {
         $data[$key]['time'] = date("Y-m-d H:i:s", $value['timestamp']);
     }
     /* pagination 作成 */
     $config = array('pagination_url' => 'sales/index', 'pagination_param' => '?' . http_build_query($pagination_params), 'total_items' => $count, 'per_page' => $limit);
     Pagination::set_config($config);
     /* Viewに渡すデータ */
     $params = array('data' => $data, 'config' => $config, 'offset' => $offset, 'from_time' => date('Y-m-d H:i:s', $from_time), 'to_time' => date('Y-m-d H:i:s', $to_time));
     $this->template->content = View::forge('sales/index', $params);
     return;
 }
Example #7
0
 public function action_error($page = 1)
 {
     /* initialize */
     $mongodb = \Mongo_Db::instance();
     $count = $mongodb->count('error');
     $limit = \Input::get('limit') ? \Input::get('limit') : 20;
     $offset = ($page - 1) * $limit;
     $data = $mongodb->offset($offset)->limit($limit)->order_by(array('timestamp' => 'desc'))->get('error');
     /* 件数が多すぎるので件数だけ渡して却下 */
     if ($count == 0) {
         $error = 'データが見つかりませんでした。';
         /* Viewに渡すデータ */
         $params = array('data' => array(), 'error' => $error, 'config' => array(), 'offset' => 0);
         $this->template->content = View::forge('users/error', $params);
         return;
     }
     /* 時間フォーマットの変更 */
     foreach ($data as $key => $value) {
         $data[$key]['time'] = date("Y-m-d H:i:s", $value['time']->sec);
     }
     /* pagination 作成 */
     $config = array('pagination_url' => 'users/error', 'total_items' => $count, 'per_page' => $limit);
     Pagination::set_config($config);
     /* Viewに渡すデータ */
     $params = array('data' => $data, 'config' => $config, 'offset' => $offset);
     $this->template->content = View::forge('users/error', $params);
     return;
 }