_name = 'Module'; $this->_create = $table; $this->_table = $table; } /* Properties */ public function getTable() { return $this->_table; } public function __get($name) { switch ($name) { case 'table': return $this->getTable(); default: return parent::__get($name); } } /* Methods */ public function addFetchSet($name, $columns) { $args = array(); $args['name'] = $name; $args['columns'] = $columns; return $this->call('addFetchSet', $args) + 0; } public function addFetchSets($sets) { return $this->call('addFetchSets', $sets) + 0; } public function addSearchAlias($name, $columns) { $args = array(); $args['name'] = $name; $args['columns'] = $columns; return $this->call('addSearchAlias', $args) + 0; } public function addSearchAliases($aliases) { return $this->call('addSearchAliases', $aliases) + 0; } public function addSortSet($name, $columns) { $args = array(); $args['name'] = $name; $args['columns'] = $columns; return $this->call('addSortSet', $args) + 0; } public function addSortSets($sets) { return $this->call('addSortSets', $sets) + 0; } public function fetch($flag, $offset, $count, $columns = null) { $args = array(); $args['flag'] = $flag; $args['offset'] = $offset; $args['count'] = $count; if ($columns !== null) $args['columns'] = $columns; return $this->makeResult($this->call('fetch', $args)); } public function findKey($key) { return $this->call('findKey', $key) + 0; } public function findKeys($keys) { return $this->call('findKeys', $keys) + 0; } public function findTerms($terms) { $class = 'IMuTerms'; if ($terms instanceof $class) { $terms = $terms->toArray(); } return $this->call('findTerms', $terms) + 0; } public function findWhere($where) { return $this->call('findWhere', $where) + 0; } public function insert($values, $columns = null) { $args = array(); $args['values'] = $values; if ($columns !== null) $args['columns'] = $columns; return $this->call('insert', $args); } public function remove($flag, $offset, $count = null) { $args = array(); $args['flag'] = $flag; $args['offset'] = $offset; if ($count !== null) $args['count'] = $count; return $this->call('remove', $args) + 0; } public function restoreFromFile($file) { $args = array(); $args['file'] = $file; return $this->call('restoreFromFile', $args) + 0; } public function restoreFromTemp($file) { $args = array(); $args['file'] = $file; return $this->call('restoreFromTemp', $args) + 0; } public function sort($columns, $flags = null) { $args = array(); $args['columns'] = $columns; if ($flags !== null) $args['flags'] = $flags; return $this->call('sort', $args); } public function update($flag, $offset, $count, $values, $columns = null) { $args = array(); $args['flag'] = $flag; $args['offset'] = $offset; $args['count'] = $count; $args['values'] = $values; if ($columns !== null) $args['columns'] = $columns; return $this->makeResult($this->call('update', $args)); } protected $_table; protected function makeResult($data) { $result = new IMuModuleFetchResult; $result->hits = $data['hits']; $result->rows = $data['rows']; $result->count = count($result->rows); return $result; } } class IMuModuleFetchResult { public $count; public $hits; public $rows; } ?>