Example #1
0
 /**
  * Return sites by tag
  *
  * @param string $tag
  * @param boolean $asArray
  * @return Site[]
  */
 public function getSitesByTag($tag, $asArray = false)
 {
     $result = [];
     $tagID = TagManager::getID($tag);
     if ($tagID) {
         $tagID = array_keys($tagID);
     }
     if ($sites = $this->dbh->getColumn('share_sites_tags', 'site_id', ['tag_id' => $tagID])) {
         $result = array_map(function ($siteID) use($asArray) {
             return !$asArray ? $this->getSiteByID($siteID) : $siteID;
         }, $sites);
     }
     return $result;
 }
Example #2
0
 /**
  * @param string $tag
  * @return array
  */
 public function getPagesByTag($tag)
 {
     return $this->dbh->getColumn('SELECT *
     FROM `share_sitemap_tags` st
     RIGHT JOIN share_sitemap s On (st.smap_id = s.smap_id) AND (s.site_id= %s)
     WHERE tag_id IN (%s)', $this->siteID, array_keys(TagManager::getID($tag)));
 }