Пример #1
0
 /**
  * Setup adapter
  * 
  * @param Jelly_Builder $source
  * @param array $config pagination config
  */
 public function __construct(Jelly_Builder $source, array $config = null)
 {
     $this->_target = new Pagination();
     $this->_source = $source;
     //merge config
     $this->_config += $this->_target->config_group();
     //merge config
     if ($config) {
         $this->_config += $config;
     }
     $order_how = isset($this->_config['current_order']) ? Request::current()->query($this->_config['current_order']['key']) : 'DESC';
     $this->_direct = $order_how == 'DESC' ? 'ASC' : 'DESC';
     $this->_limit = isset($this->_config['current_limit']) ? Request::current()->query($this->_config['current_limit']['key']) ? Request::current()->query($this->_config['current_limit']['key']) : 10 : 10;
     $this->_sort_column = Request::current()->query($this->_config['current_sort']['key']);
     $this->_target->setup(array('total_items' => $source->select()->count(), 'items_per_page' => $this->_limit));
     if (!is_null($this->_sort_column)) {
         $this->_source->order_by($this->_sort_column, $order_how);
     }
     // Get the current route name
     $current_route = Route::name(Request::initial()->route());
     //Current route
     $this->_route = Route::get($current_route);
 }
Пример #2
0
 public function select($db = NULL)
 {
     /*$db = $this->_db($db);
     		$cache_key = sha1($this->compile(Database::instance($db)));
     		if(!$result = Kohana::cache($cache_key))
     		{
     			$result = parent::select($db);
     			if(Kohana::$caching)
     			{
     				Kohana::cache($cache_key, $result);
     			}
     		}
     		return $result;*/
     return parent::select($db);
 }