function select($aql = null, $clause = null) { if ($aql) { $this->aql = $aql; } if ($clause) { $this->clause = $clause; } //pagination settings $default_limit = if_not($this->clause['default_limit'], 25); if (!$_GET['limit' . $this->i]) { $_GET['limit' . $this->i] = $default_limit; } $this->offset = $_GET['page' . $this->i] * $_GET['limit' . $this->i] - $_GET['limit' . $this->i]; $this->clause['limit'] = $_GET['limit' . $this->i]; $this->clause['offset'] = $this->offset; $this->rs = aql::select($this->aql, $this->clause); $this->first_row = $this->offset + 1; $this->last_row = count($this->rs) + $this->first_row - 1; $c = aql::sql($this->aql, $this->clause); $c = sql($c['sql_count']); $this->total_rows = $c->Fields('count'); $this->num_pages = ceil($this->total_rows / $_GET['limit' . $this->i]); return $this->rs; }
function __construct($class = null, $params = null) { $this->class = $class; $this->params = $params; $GLOBALS['pagination_count'][] = true; $this->i = count($GLOBALS['pagination_count']); if (!$_GET['page' . $this->i] || $_GET['page' . $this->i] < 1) { $_GET['page' . $this->i] = 1; } $default_limit = 25; $this->limit = if_not($_GET['limit' . $this->i], $default_limit); $this->page = $_GET['page' . $this->i]; if ($class && $params) { $this->rs = $this->select(); } }
/** * @param string $model_name name of model * @return string aql statemnt */ protected function _getAql($model_name) { return if_not(aql2array::$aqls[$model_name], function () use($model_name) { return aql2array::$aqls[$model_name] = aql::get_aql($model_name); }); }