Beispiel #1
0
 /**
  * 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();
 }
Beispiel #2
0
 /**
  * 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;
     }
 }