/** * Return number of unique objects * * @param string $conditions * @return integer */ function countUniqueObjects($conditions) { $table_name = SearchableObjects::instance()->getTableName(true); //$tags_table_name = Tags::instance()->getTableName(); $where = ''; if(trim($conditions <> '')) $where = "WHERE $conditions"; $sql = "SELECT count(distinct `rel_object_manager`, `rel_object_id`) AS `count` FROM $table_name $where"; $result = DB::executeAll($sql); if (!is_array($result) || !count($result)) return 0; return $result[0]['count']; } // countUniqueObjects
/** * Return manager instance * * @access protected * @param void * @return SearchableObjects */ function manager() { if (!$this->manager instanceof SearchableObjects) { $this->manager = SearchableObjects::instance(); } return $this->manager; }
/** * Return manager instance * * @access protected * @param void * @return SearchableObjects */ function manager() { if(!($this->manager instanceof SearchableObjects)) $this->manager = SearchableObjects::instance(); return $this->manager; } // manager
/** * Return number of unique objects * * @param string $conditions * @return integer */ function countUniqueObjects($conditions) { $table_name = SearchableObjects::instance()->getTableName(true); $where = ''; if (trim($conditions != '')) { $where = "WHERE {$conditions}"; } $sql = "SELECT `rel_object_manager`, `rel_object_id` FROM {$table_name} {$where}"; $result = DB::executeAll($sql); if (!is_array($result) || !count($result)) { return 0; } $counted = array(); $counter = 0; foreach ($result as $row) { if (!isset($counted[array_var($row, 'rel_object_manager') . array_var($row, 'rel_object_id')])) { $counted[array_var($row, 'rel_object_manager') . array_var($row, 'rel_object_id')] = true; $counter++; } // if } // foreach return $counter; }
/** * This function will return paginated result. Result is an array where first element is * array of returned object and second populated pagination object that can be used for * obtaining and rendering pagination data using various helpers. * * Items and pagination array vars are indexed with 0 for items and 1 for pagination * because you can't use associative indexing with list() construct * * @access public * @param array $arguments Query argumens (@see find()) Limit and offset are ignored! * @param integer $items_per_page Number of items per page * @param integer $current_page Current page number * @return array */ function paginate($arguments = null, $items_per_page = 10, $current_page = 1) { if (isset($this) && instance_of($this, 'SearchableObjects')) { return parent::paginate($arguments, $items_per_page, $current_page); } else { return SearchableObjects::instance()->paginate($arguments, $items_per_page, $current_page); //$instance =& SearchableObjects::instance(); //return $instance->paginate($arguments, $items_per_page, $current_page); } // if }