function importTagsFromMetaKeys() { $dbo = JFactory::getDbo(); $query = 'select id,metakey from #__content'; $dbo->setQuery($query); $metaKeys = $dbo->loadObjectList(); if (!empty($metaKeys)) { foreach ($metaKeys as $meta) { if (isset($meta->metakey) && empty($meta->metakey) == false) { $cid = $meta->id; if (!$this->isContentHasTags($cid)) { $keys = explode(',', $meta->metakey); $keysProcessed = array(); foreach ($keys as $key) { $key = CedTagsHelper::preHandle($key); if (empty($key) == false) { if (!in_array($key, $keysProcessed)) { $keysProcessed[] = $key; } } } unset($keys); $deleteTags = 'delete from #__cedtag_term_content where cid=' . $dbo->quote($cid); $dbo->setQuery($deleteTags); $dbo->query(); foreach ($keysProcessed as $key) { $pass = $this->termCheck($key); if ($pass) { $tid = $this->storeTerm($key); $this->insertContentterm($tid, $cid); } } } } } } return true; }
private function _buildQuery() { //Has to be a string $input = JFactory::getApplication()->input; $tag = $input->get('tag', null, 'string'); //Tag is in front, this should remove ?start= or ?limitstart= $tags = explode('?', $tag); $tag = $tags[0]; $tag = URLDecode($tag); //filter the tag $cedTagsHelper = new CedTagsHelper(); $tag = $cedTagsHelper->unUrlTagname($tag); $tag = CedTagsHelper::preHandle($tag); JFactory::getApplication()->input->set('tag', $tag); $tag = trim($tag); $tagObj = null; $ids = $this->_ids; if (!isset($this->_tagDescription)) { $tagObj = $this->getTagByTagName($tag); if (isset($tagObj) && $tagObj->id) { $this->_termExist = true; } else { $this->_termExist = false; return ''; } $this->_tagDescription = $tagObj->description; $this->incrementHitsForTagId($tagObj->id); $this->_total = $this->countNumberOfArticleForTagId($tagObj->id); $contentIds = $this->getArticlesCidForTag($tagObj->id); $ids = implode(',', $contentIds); $this->_ids = $ids; } $this->setTermArticles(!empty($ids)); $dbo = JFactory::getDBO(); $query = $dbo->getQuery(true); $query->select('a.id'); $query->select('a.title'); $query->select('a.created'); $query->select('a.alias'); $query->select('a.modified'); $query->select('a.images'); $query->select('a.created_by as contactid'); $query->select('u.name as author'); $query->select('a.created_by_alias as created_by_alias'); $query->select('COUNT(a.id) as total'); $query->select('a.introtext'); $query->select('a.fulltext'); $query->select('a.access'); $query->select('a.state'); $query->select('a.publish_up'); $query->select('a.hits'); $query->select('a.parentid as parent_id'); $query->select('a.catid as catid'); $query->select('cc.title as category_title'); $query->select('cc.title as section'); $query->select('cc.alias as parent_alias'); $query->select('CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug'); $query->select('CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug'); $query->select('CHAR_LENGTH( a.`fulltext` ) AS readmore'); $query->from('#__content AS a'); $query->innerJoin('#__categories AS cc ON cc.id = a.catid'); $query->innerJoin('#__users AS u ON u.id=a.created_by'); $query->where('a.id in (' . $ids . ')'); $query->where(sprintf('(%s)', implode(' AND ', $this->getAccessWhere(false)))); $query->where('cc.published = ' . $dbo->quote(1)); $query->group('(a.id)'); $query->order($this->_buildOrderBy()); // TODO //$this->setState('filter.language', $app->getLanguageFilter()); CedTagLog::debug("tag.php::_buildQuery " . $query->dump()); return $query; }
public function isValidName($name) { $name = CedTagsHelper::preHandle($name); if (empty($name)) { return false; } $useStopWords = CedTagsHelper::param("useStopWords", '1'); if ($useStopWords && in_array($name, CedTagsHelper::getExcludedWordList())) { return false; } return $name; }