_name = 'Modules'; $this->_modules = null; } /* Methods */ public function addFetchSet($name, $set) { $args = array(); $args['name'] = $name; $args['set'] = $set; return $this->call('addFetchSet', $args) + 0; } public function addFetchSets($sets) { return $this->call('addFetchSets', $sets) + 0; } public function addSearchAlias($name, $set) { $args = array(); $args['name'] = $name; $args['set'] = $set; return $this->call('addSearchAlias', $args) + 0; } public function addSearchAliases($aliases) { return $this->call('addSearchAliases', $aliases) + 0; } public function addSortSet($name, $set) { $args = array(); $args['name'] = $name; $args['set'] = $set; 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 fetchMany($list, $columns = null) { $args = array(); $args['list'] = $list; if ($columns !== null) $args['columns'] = $columns; $data = $this->call('fetchMany', $args); // TODO $result = $data; return $result; } public function findAttachments($table, $column, $key) { $args = array(); $args['table'] = $table; $args['column'] = $column; $args['key'] = $key; return $this->call('findAttachments', $args) + 0; } public function findKeys($keys, $include = null) { $args = array(); $args['keys'] = $keys; if ($include !== null) $args['include'] = $include; return $this->call('findKeys', $args); } public function findTerms($terms, $include = null) { $class = 'IMuTerms'; if ($terms instanceof $class) { $terms = $terms->toArray(); } $args = array(); $args['terms'] = $terms; if ($include !== null) $args['include'] = $include; return $this->call('findTerms', $args); } public function getAllHits() { return $this->call('getAllHits'); } public function getHits($module = null) { return $this->call('getHits', $module) + 0; } public function restoreFromFile($file, $module = null) { $args = array(); $args['file'] = $file; if ($module !== null) $args['module'] = $module; return $this->call('restoreFromFile', $args); } public function restoreFromTemp($file, $module = null) { $args = array(); $args['file'] = $file; if ($module !== null) $args['module'] = $module; return $this->call('restoreFromTemp', $args); } public function setModules($list) { $this->_modules = $list; return $this->call('setModules', $list) + 0; } public function sort($set, $flags = null) { $args = array(); $args['set'] = $set; 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 $_modules; protected function makePosition($array) { $flag = $array['flag']; $offset = $array['offset'] + 0; return new IMuModulesFetchPosition($flag, $offset); } protected function makeResult($data) { $result = new IMuModulesFetchResult; $result->count = $data['count'] + 0; $result->modules = array(); foreach ($data['modules'] as $item) { $module = new IMuModulesFetchModule; $module->hits = $item['hits'] + 0; $module->index = $item['index'] + 0; $module->name = $item['name']; $module->rows = $item['rows']; $result->modules[] = $module; } if (array_key_exists('current', $data)) $result->current = $this->makePosition($data['current']); if (array_key_exists('next', $data)) $result->next = $this->makePosition($data['next']); if (array_key_exists('prev', $data)) $result->prev = $this->makePosition($data['prev']); return $result; } } class IMuModulesFetchResult { public $count; public $current; public $modules; public $next; public $prev; public function __construct() { $this->count = 0; $this->current = null; $this->modules = null; $this->next = null; $this->prev = null; } } class IMuModulesFetchModule { public $hits; public $index; public $name; public $rows; public function __construct() { $this->hits = 0; $this->index = -1; $this->name = null; $this->rows = null; } } class IMuModulesFetchPosition { public $flag; public $offset; public function __construct($flag, $offset) { $this->flag = $flag; $this->offset = $offset;; } } class IMuModulesFetchManyResult { public $count; public $rows; public function __construct() { $this->count = 0; $this->rows = null; } } ?>