/** * Get top publication tags * * @param integer $limit * @return mixed Return description (if any) ... */ public function getTopTags($limit) { $tj = new \Components\Tags\Tables\Object($this->_db); $sql = "SELECT t.tag, t.raw_tag, t.admin, tj.tagid, tj.objectid, COUNT(tj.tagid) AS tcount "; $sql .= "FROM #__tags AS t "; $sql .= "JOIN " . $tj->getTableName() . " AS tj ON t.id=tj.tagid "; $sql .= "LEFT JOIN #__publication_versions AS V ON V.publication_id=tj.objectid AND tj.tbl='publications' "; $sql .= "WHERE t.id=tj.tagid AND t.admin=0 "; $sql .= "AND tj.tbl=" . $this->_db->quote($this->_tbl) . " "; $sql .= "AND V.state=1 AND V.main=1 AND V.access!=4 "; $sql .= "AND V.published_up < " . $this->_db->quote(Date::toSql()) . " "; $sql .= "AND (V.published_down = '0000-00-00 00:00:00' OR V.published_down > " . $this->_db->quote(Date::toSql()) . ") "; $sql .= "GROUP BY tagid "; $sql .= "ORDER BY tcount DESC "; $sql .= "LIMIT {$limit}"; $this->_db->setQuery($sql); return $this->_db->loadObjectList(); }
/** * Remove all tags on an object * * @param integer $object_id Object ID * @return boolean True on success, false if errors */ public function remove_all_tags($object_id) { if ($object_id > 0) { $to = new \Components\Tags\Tables\Object($this->_db); if (!$to->removeAllTags($this->_tbl, $object_id)) { $this->setError($to->getError()); return false; } return true; } else { return false; } }