/** * Generate the widget and return it as string * @return string */ public function generate() { $taglist = new TagList($this->table); $taglist->maxtags = $this->intMaxTags; $tags = $taglist->getTagList(); $list = '<div class="tags"><ul class="cloud">'; foreach ($tags as $tag) { $list .= '<li class="' . $tag['tag_class'] . '">'; $list .= '<a href="javascript:Tag.selectedTag(\'' . $tag['tag_name'] . '\', \'ctrl_' . $this->strId . '\');" title="' . $tag['tag_name'] . ' (' . $tag['tag_count'] . ')' . '">' . $tag['tag_name'] . '</a>'; $list .= '</li> '; } $list .= '</ul></div>'; $value = !$this->blnSubmitInput ? $this->readTags() : $this->varValue; return $list . sprintf('<input type="text" name="%s" id="ctrl_%s" class="tl_text%s" value="%s"%s onfocus="Backend.getScrollOffset();" />', $this->strName, $this->strId, strlen($this->strClass) ? ' ' . $this->strClass : '', specialchars($value), $this->getAttributes()); }
/** * Display a wildcard in the back end * @return string */ public function generate() { if (TL_MODE == 'BE') { $objTemplate = new BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### TAGCLOUD ###'; return $objTemplate->parse(); } $this->strTemplate = strlen($this->cloud_template) ? $this->cloud_template : $this->strTemplate; $taglist = new TagList(); $taglist->addNamedClass = $this->tag_named_class; if (strlen($this->tag_tagtable)) { $taglist->tagtable = $this->tag_tagtable; } if (strlen($this->tag_tagfield)) { $taglist->tagfield = $this->tag_tagfield; } if (strlen($this->tag_sourcetables)) { $taglist->fortable = deserialize($this->tag_sourcetables, TRUE); } if (strlen($this->tag_topten_number) && $this->tag_topten_number > 0) { $taglist->topnumber = $this->tag_topten_number; } if (strlen($this->tag_maxtags)) { $taglist->maxtags = $this->tag_maxtags; } if (strlen($this->tag_buckets) && $this->tag_buckets > 0) { $taglist->buckets = $this->tag_buckets; } if (strlen($this->pagesource)) { $taglist->pagesource = deserialize($this->pagesource, TRUE); } $this->arrTags = $taglist->getTagList(); if ($this->tag_topten) { $this->arrTopTenTags = $taglist->getTopTenTagList(); } if (strlen(\Input::get('tag')) && $this->tag_related) { $relatedlist = strlen(\Input::get('related')) ? preg_split("/,/", \Input::get('related')) : array(); $this->arrRelated = $taglist->getRelatedTagList(array_merge(array(\Input::get('tag')), $relatedlist)); } if (count($this->arrTags) < 1) { return ''; } $this->toggleTagCloud(); return parent::generate(); }