| Current Path : /home/w/u/e/wuectly/www/03cbe/ |
| Current File : /home/w/u/e/wuectly/www/03cbe/tag.tar |
tmpl/edit.php 0000604 00000004345 15245600661 0007165 0 ustar 00 <?php
/**
* @package Joomla.Administrator
* @subpackage com_tags
*
* @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
JHtml::_('behavior.formvalidator');
JHtml::_('behavior.keepalive');
JHtml::_('formbehavior.chosen', 'select');
JFactory::getDocument()->addScriptDeclaration("
Joomla.submitbutton = function(task)
{
if (task == 'tag.cancel' || document.formvalidator.isValid(document.getElementById('item-form'))) {
" . $this->form->getField('description')->save() . "
Joomla.submitform(task, document.getElementById('item-form'));
}
};
");
// Fieldsets to not automatically render by /layouts/joomla/edit/params.php
$this->ignore_fieldsets = array('jmetadata');
?>
<form action="<?php echo JRoute::_('index.php?option=com_tags&layout=edit&id=' . (int) $this->item->id); ?>" method="post" name="adminForm" id="item-form" class="form-validate">
<?php echo JLayoutHelper::render('joomla.edit.title_alias', $this); ?>
<div class="form-horizontal">
<?php echo JHtml::_('bootstrap.startTabSet', 'myTab', array('active' => 'details')); ?>
<?php echo JHtml::_('bootstrap.addTab', 'myTab', 'details', JText::_('COM_TAGS_FIELDSET_DETAILS')); ?>
<div class="row-fluid">
<div class="span9">
<div class="form-vertical">
<?php echo $this->form->renderField('description'); ?>
</div>
</div>
<div class="span3">
<?php echo JLayoutHelper::render('joomla.edit.global', $this); ?>
</div>
</div>
<?php echo JHtml::_('bootstrap.endTab'); ?>
<?php echo JLayoutHelper::render('joomla.edit.params', $this); ?>
<?php echo JHtml::_('bootstrap.addTab', 'myTab', 'publishing', JText::_('JGLOBAL_FIELDSET_PUBLISHING')); ?>
<div class="row-fluid form-horizontal-desktop">
<div class="span6">
<?php echo JLayoutHelper::render('joomla.edit.publishingdata', $this); ?>
</div>
<div class="span6">
<?php echo JLayoutHelper::render('joomla.edit.metadata', $this); ?>
</div>
</div>
<?php echo JHtml::_('bootstrap.endTab'); ?>
<?php echo JHtml::_('bootstrap.endTabSet'); ?>
</div>
<input type="hidden" name="task" value="" />
<?php echo JHtml::_('form.token'); ?>
</form>
tmpl/edit_metadata.php 0000604 00000001537 15245600661 0011025 0 ustar 00 <?php
/**
* @package Joomla.Administrator
* @subpackage com_tags
*
* @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
?>
<div class="control-group">
<?php echo $this->form->getLabel('metadesc'); ?>
<div class="controls">
<?php echo $this->form->getInput('metadesc'); ?>
</div>
</div>
<div class="control-group">
<?php echo $this->form->getLabel('metakey'); ?>
<div class="controls">
<?php echo $this->form->getInput('metakey'); ?>
</div>
</div>
<?php foreach ($this->form->getGroup('metadata') as $field) : ?>
<div class="control-group">
<?php if (!$field->hidden) : ?>
<?php echo $field->label; ?>
<?php endif; ?>
<div class="controls">
<?php echo $field->input; ?>
</div>
</div>
<?php endforeach; ?>
tmpl/edit_options.php 0000604 00000003762 15245600661 0010742 0 ustar 00 <?php
/**
* @package Joomla.Administrator
* @subpackage com_tags
*
* @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
?>
<?php
echo JHtml::_('bootstrap.startAccordion', 'categoryOptions', array('active' => 'collapse0'));
$fieldSets = $this->form->getFieldsets('params');
$i = 0;
foreach ($fieldSets as $name => $fieldSet) :
$label = !empty($fieldSet->label) ? $fieldSet->label : 'COM_TAGS_' . $name . '_FIELDSET_LABEL';
echo JHtml::_('bootstrap.addSlide', 'categoryOptions', JText::_($label), 'collapse' . ($i++));
if (isset($fieldSet->description) && trim($fieldSet->description)) :
echo '<p class="tip">' . $this->escape(JText::_($fieldSet->description)) . '</p>';
endif;
?>
<?php foreach ($this->form->getFieldset($name) as $field) : ?>
<div class="control-group">
<div class="control-label">
<?php echo $field->label; ?>
</div>
<div class="controls">
<?php echo $field->input; ?>
</div>
</div>
<?php endforeach; ?>
<?php if ($name == 'basic') : ?>
<div class="control-group">
<div class="control-label">
<?php echo $this->form->getLabel('note'); ?>
</div>
<div class="controls">
<?php echo $this->form->getInput('note'); ?>
</div>
</div>
<div class="control-group">
<div class="control-label">
<?php echo $this->form->getLabel('tag_layout'); ?>
</div>
<div class="controls">
<?php echo $this->form->getInput('tag_layout'); ?>
</div>
</div>
<div class="control-group">
<div class="control-label">
<?php echo $this->form->getLabel('tag_link_class'); ?>
</div>
<div class="controls">
<?php echo $this->form->getInput('tag_link_class'); ?>
</div>
</div>
<?php endif;
echo JHtml::_('bootstrap.endSlide');
endforeach;
echo JHtml::_('bootstrap.endAccordion');
view.html.php 0000604 00000023053 15245600661 0007176 0 ustar 00 <?php
/**
* @package Joomla.Site
* @subpackage com_tags
*
* @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\Registry\Registry;
/**
* HTML View class for the Tags component
*
* @since 3.1
*/
class TagsViewTag extends JViewLegacy
{
/**
* The model state
*
* @var \Joomla\Registry\Registry
* @since 3.1
*/
protected $state;
/**
* An array of items.
*
* @var array
* @since 3.1
*/
protected $items;
/**
* The active JObject (on success, false on failure)
*
* @var JObject|boolean
* @since 3.1
*/
protected $item;
/**
* Array of Children objects
*
* @var array
* @since 3.1
*/
protected $children;
/**
* The pagination object.
*
* @var JPagination
* @since 3.1
*/
protected $pagination;
/**
* The application parameters
*
* @var \Joomla\Registry\Registry The parameters object
* @since 3.1
*/
protected $params;
/**
* Array of tags title
*
* @var array
* @since 3.1
*/
protected $tags_title;
/**
* Execute and display a template script.
*
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
*
* @return mixed A string if successful, otherwise an Error object.
*
* @since 3.1
*/
public function display($tpl = null)
{
$app = JFactory::getApplication();
$params = $app->getParams();
// Get some data from the models
$state = $this->get('State');
$items = $this->get('Items');
$item = $this->get('Item');
$children = $this->get('Children');
$parent = $this->get('Parent');
$pagination = $this->get('Pagination');
// Flag indicates to not add limitstart=0 to URL
$pagination->hideEmptyLimitstart = true;
// Check whether access level allows access.
// @TODO: Should already be computed in $item->params->get('access-view')
$user = JFactory::getUser();
$groups = $user->getAuthorisedViewLevels();
foreach ($item as $itemElement)
{
if (!in_array($itemElement->access, $groups))
{
unset($itemElement);
}
// Prepare the data.
if (!empty($itemElement))
{
$temp = new Registry($itemElement->params);
$itemElement->params = clone $params;
$itemElement->params->merge($temp);
$itemElement->params = (array) json_decode($itemElement->params);
$itemElement->metadata = new Registry($itemElement->metadata);
}
}
if ($items !== false)
{
JPluginHelper::importPlugin('content');
foreach ($items as $itemElement)
{
$itemElement->event = new stdClass;
// For some plugins.
!empty($itemElement->core_body) ? $itemElement->text = $itemElement->core_body : $itemElement->text = null;
$itemElement->core_params = new Registry($itemElement->core_params);
$dispatcher = JEventDispatcher::getInstance();
$dispatcher->trigger('onContentPrepare', array ('com_tags.tag', &$itemElement, &$itemElement->core_params, 0));
$results = $dispatcher->trigger('onContentAfterTitle', array('com_tags.tag', &$itemElement, &$itemElement->core_params, 0));
$itemElement->event->afterDisplayTitle = trim(implode("\n", $results));
$results = $dispatcher->trigger('onContentBeforeDisplay', array('com_tags.tag', &$itemElement, &$itemElement->core_params, 0));
$itemElement->event->beforeDisplayContent = trim(implode("\n", $results));
$results = $dispatcher->trigger('onContentAfterDisplay', array('com_tags.tag', &$itemElement, &$itemElement->core_params, 0));
$itemElement->event->afterDisplayContent = trim(implode("\n", $results));
// Write the results back into the body
if (!empty($itemElement->core_body))
{
$itemElement->core_body = $itemElement->text;
}
// Categories store the images differently so lets re-map it so the display is correct
if ($itemElement->type_alias === 'com_content.category')
{
$itemElement->core_images = json_encode(
array(
'image_intro' => $itemElement->core_params->get('image', ''),
'image_intro_alt' => $itemElement->core_params->get('image_alt', '')
)
);
}
}
}
$this->state = $state;
$this->items = $items;
$this->children = $children;
$this->parent = $parent;
$this->pagination = $pagination;
$this->user = $user;
$this->item = $item;
// Escape strings for HTML output
$this->pageclass_sfx = htmlspecialchars($params->get('pageclass_sfx', ''));
// Merge tag params. If this is single-tag view, menu params override tag params
// Otherwise, article params override menu item params
$this->params = $this->state->get('params');
$active = $app->getMenu()->getActive();
$temp = clone $this->params;
// Convert item params to a Registry object
$item[0]->params = new Registry($item[0]->params);
// Check to see which parameters should take priority
if ($active)
{
$currentLink = $active->link;
// If the current view is the active item and a tag view for one tag, then the menu item params take priority
if (strpos($currentLink, 'view=tag') && strpos($currentLink, '&id[0]=' . (string) $item[0]->id))
{
// $item[0]->params are the tag params, $temp are the menu item params
// Merge so that the menu item params take priority
$item[0]->params->merge($temp);
// Load layout from active query (in case it is an alternative menu item)
if (isset($active->query['layout']))
{
$this->setLayout($active->query['layout']);
}
}
else
{
// Current menuitem is not a single tag view, so the tag params take priority.
// Merge the menu item params with the tag params so that the tag params take priority
$temp->merge($item[0]->params);
$item[0]->params = $temp;
// Check for alternative layouts (since we are not in a single-article menu item)
// Single-article menu item layout takes priority over alt layout for an article
if ($layout = $item[0]->params->get('tag_layout'))
{
$this->setLayout($layout);
}
}
}
else
{
// Merge so that item params take priority
$temp->merge($item[0]->params);
$item[0]->params = $temp;
// Check for alternative layouts (since we are not in a single-tag menu item)
// Single-tag menu item layout takes priority over alt layout for an article
if ($layout = $item[0]->params->get('tag_layout'))
{
$this->setLayout($layout);
}
}
// Increment the hit counter
$model = $this->getModel();
$model->hit();
$this->_prepareDocument();
parent::display($tpl);
}
/**
* Prepares the document.
*
* @return void
*/
protected function _prepareDocument()
{
$app = JFactory::getApplication();
$menu = $app->getMenu()->getActive();
$this->tags_title = $this->getTagsTitle();
$pathway = $app->getPathway();
$title = '';
// Highest priority for "Browser Page Title".
if ($menu)
{
$title = $menu->params->get('page_title', '');
}
if ($this->tags_title)
{
$this->params->def('page_heading', $this->tags_title);
$title = $title ?: $this->tags_title;
}
elseif ($menu)
{
$this->params->def('page_heading', $this->params->get('page_title', $menu->title));
$title = $title ?: $this->params->get('page_title', $menu->title);
if (!isset($menu->query['option']) || $menu->query['option'] !== 'com_tags')
{
$this->params->set('page_subheading', $menu->title);
}
}
if (empty($title))
{
$title = $app->get('sitename');
}
elseif ($app->get('sitename_pagetitles', 0) == 1)
{
$title = JText::sprintf('JPAGETITLE', $app->get('sitename'), $title);
}
elseif ($app->get('sitename_pagetitles', 0) == 2)
{
$title = JText::sprintf('JPAGETITLE', $title, $app->get('sitename'));
}
$this->document->setTitle($title);
$pathway->addItem($title);
foreach ($this->item as $itemElement)
{
if ($itemElement->metadesc)
{
$this->document->setDescription($itemElement->metadesc);
}
elseif ($this->params->get('menu-meta_description'))
{
$this->document->setDescription($this->params->get('menu-meta_description'));
}
if ($itemElement->metakey)
{
$this->document->setMetadata('keywords', $itemElement->metakey);
}
elseif ($this->params->get('menu-meta_keywords'))
{
$this->document->setMetadata('keywords', $this->params->get('menu-meta_keywords'));
}
if ($this->params->get('robots'))
{
$this->document->setMetadata('robots', $this->params->get('robots'));
}
}
if (count($this->item) === 1)
{
foreach ($this->item[0]->metadata->toArray() as $k => $v)
{
if ($v)
{
$this->document->setMetadata($k, $v);
}
}
}
if ($this->params->get('show_feed_link', 1) == 1)
{
$link = '&format=feed&limitstart=';
$attribs = array('type' => 'application/rss+xml', 'title' => 'RSS 2.0');
$this->document->addHeadLink(JRoute::_($link . '&type=rss'), 'alternate', 'rel', $attribs);
$attribs = array('type' => 'application/atom+xml', 'title' => 'Atom 1.0');
$this->document->addHeadLink(JRoute::_($link . '&type=atom'), 'alternate', 'rel', $attribs);
}
}
/**
* Creates the tags title for the output
*
* @return boolean
*/
protected function getTagsTitle()
{
$tags_title = array();
if (!empty($this->item))
{
$user = JFactory::getUser();
$groups = $user->getAuthorisedViewLevels();
foreach ($this->item as $item)
{
if (in_array($item->access, $groups))
{
$tags_title[] = $item->title;
}
}
}
return implode(' ', $tags_title);
}
}
view.feed.php 0000604 00000005000 15245617072 0007131 0 ustar 00 <?php
/**
* @package Joomla.Site
* @subpackage com_tags
*
* @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* HTML View class for the Tags component
*
* @since 3.1
*/
class TagsViewTag extends JViewLegacy
{
/**
* Execute and display a template script.
*
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
*
* @return mixed A string if successful, otherwise an Error object.
*/
public function display($tpl = null)
{
$app = JFactory::getApplication();
$document = JFactory::getDocument();
$ids = (array) $app->input->get('id', array(), 'int');
$i = 0;
$tagIds = '';
// Remove zero values resulting from input filter
$ids = array_filter($ids);
foreach ($ids as $id)
{
if ($i !== 0)
{
$tagIds .= '&';
}
$tagIds .= 'id[' . $i . ']=' . $id;
$i++;
}
$document->link = JRoute::_('index.php?option=com_tags&view=tag&' . $tagIds);
$app->input->set('limit', $app->get('feed_limit'));
$siteEmail = $app->get('mailfrom');
$fromName = $app->get('fromname');
$feedEmail = $app->get('feed_email', 'none');
$document->editor = $fromName;
if ($feedEmail !== 'none')
{
$document->editorEmail = $siteEmail;
}
// Get some data from the model
$items = $this->get('Items');
if ($items !== false)
{
foreach ($items as $item)
{
// Strip HTML from feed item title
$title = $this->escape($item->core_title);
$title = html_entity_decode($title, ENT_COMPAT, 'UTF-8');
// Strip HTML from feed item description text
$description = $item->core_body;
$author = $item->core_created_by_alias ?: $item->author;
$date = ($item->displayDate ? date('r', strtotime($item->displayDate)) : '');
// Load individual item creator class
$feeditem = new JFeedItem;
$feeditem->title = $title;
$feeditem->link = JRoute::_($item->link);
$feeditem->description = $description;
$feeditem->date = $date;
$feeditem->category = $title;
$feeditem->author = $author;
if ($feedEmail === 'site')
{
$item->authorEmail = $siteEmail;
}
elseif ($feedEmail === 'author')
{
$item->authorEmail = $item->author_email;
}
// Loads item info into RSS array
$document->addItem($feeditem);
}
}
}
}
tmpl/default.xml 0000604 00000015011 15245617072 0007671 0 ustar 00 <?xml version="1.0" encoding="utf-8"?>
<metadata>
<layout title="COM_TAGS_TAG_VIEW_DEFAULT_TITLE" option="COM_TAGS_TAG_VIEW_DEFAULT_OPTION">
<help
key="JHELP_MENUS_MENU_ITEM_TAGS_ITEMS_LIST"
/>
<message>
<![CDATA[COM_TAGS_TAG_VIEW_DEFAULT_DESC]]>
</message>
</layout>
<!-- Add fields to the request variables for the layout. -->
<fields name="request">
<fieldset name="request">
<field
name="id"
type="tag"
label="COM_TAGS_FIELD_TAG_LABEL"
description="COM_TAGS_FIELD_SELECT_TAG_DESC"
mode="nested"
required="true"
multiple="true"
/>
<field
name="types"
type="contenttype"
label="COM_TAGS_FIELD_TYPE_LABEL"
description="COM_TAGS_FIELD_TYPE_DESC"
multiple="true"
/>
<field
name="tag_list_language_filter"
type="contentlanguage"
label="COM_TAGS_FIELD_LANGUAGE_FILTER_LABEL"
description="COM_TAGS_FIELD_LANGUAGE_FILTER_DESC"
default=""
useglobal="true"
>
<option value="all">JALL</option>
<option value="current_language">JCURRENT</option>
</field>
</fieldset>
</fields>
<!-- Add fields to the parameters object for the layout. -->
<fields name="params">
<fieldset name="basic" label="COM_TAGS_OPTIONS">
<field
name="show_tag_title"
type="list"
label="COM_TAGS_SHOW_TAG_TITLE_LABEL"
description="COM_TAGS_SHOW_TAG_TITLE_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="tag_list_show_tag_image"
type="list"
label="COM_TAGS_SHOW_TAG_IMAGE_LABEL"
description="COM_TAGS_SHOW_TAG_IMAGE_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="tag_list_show_tag_description"
type="list"
label="COM_TAGS_SHOW_TAG_DESCRIPTION_LABEL"
description="COM_TAGS_SHOW_TAG_DESCRIPTION_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="tag_list_image"
type="media"
label="COM_TAGS_TAG_LIST_MEDIA_LABEL"
description="COM_TAGS_TAG_LIST_MEDIA_DESC"
/>
<field
name="tag_list_description"
type="textarea"
class="inputbox"
label="COM_TAGS_SHOW_TAG_LIST_DESCRIPTION_LABEL"
description="COM_TAGS_TAG_LIST_DESCRIPTION_DESC"
rows="3"
cols="30"
filter="safehtml"
/>
<field
name="tag_list_orderby"
type="list"
label="JGLOBAL_FIELD_FIELD_ORDERING_LABEL"
description="JGLOBAL_FIELD_FIELD_ORDERING_DESC"
default=""
useglobal="true"
>
<option value="c.core_title">JGLOBAL_TITLE</option>
<option value="match_count">COM_TAGS_MATCH_COUNT</option>
<option value="c.core_created_time">JGLOBAL_CREATED_DATE</option>
<option value="c.core_modified_time">JGLOBAL_MODIFIED_DATE</option>
<option value="c.core_publish_up">JGLOBAL_PUBLISHED_DATE</option>
</field>
<field
name="tag_list_orderby_direction"
type="list"
label="JGLOBAL_ORDER_DIRECTION_LABEL"
description="JGLOBAL_ORDER_DIRECTION_DESC"
useglobal="true"
>
<option value="ASC">JGLOBAL_ORDER_ASCENDING</option>
<option value="DESC">JGLOBAL_ORDER_DESCENDING</option>
</field>
</fieldset>
<fieldset name="advanced" label="COM_TAGS_ITEM_OPTIONS">
<field
name="spacer2"
type="spacer"
label="COM_TAGS_SUBSLIDER_DRILL_TAG_LIST_LABEL"
class="text"
/>
<field
name="tag_list_show_item_image"
type="list"
label="COM_TAGS_TAG_LIST_SHOW_ITEM_IMAGE_LABEL"
description="COM_TAGS_TAG_LIST_SHOW_ITEM_IMAGE_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="tag_list_show_item_description"
type="list"
label="COM_TAGS_TAG_LIST_SHOW_ITEM_DESCRIPTION_LABEL"
description="COM_TAGS_TAG_LIST_SHOW_ITEM_DESCRIPTION_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="tag_list_item_maximum_characters"
type="number"
label="COM_TAGS_LIST_MAX_CHARACTERS_LABEL"
description="COM_TAGS_LIST_MAX_CHARACTERS_DESC"
filter="integer"
useglobal="true"
/>
<field
name="filter_field"
type="list"
label="JGLOBAL_FILTER_FIELD_LABEL"
description="JGLOBAL_FILTER_FIELD_DESC"
default=""
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
</fieldset>
<fieldset name="pagination" label="COM_TAGS_PAGINATION_OPTIONS">
<field
name="show_pagination_limit"
type="list"
label="JGLOBAL_DISPLAY_SELECT_LABEL"
description="JGLOBAL_DISPLAY_SELECT_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="show_pagination"
type="list"
label="JGLOBAL_PAGINATION_LABEL"
description="JGLOBAL_PAGINATION_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
<option value="2">JGLOBAL_AUTO</option>
</field>
<field
name="show_pagination_results"
type="list"
label="JGLOBAL_PAGINATION_RESULTS_LABEL"
description="JGLOBAL_PAGINATION_RESULTS_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
</fieldset>
<fieldset name="selection" label="COM_TAGS_LIST_SELECTION_OPTIONS">
<field
name="return_any_or_all"
type="list"
label="COM_TAGS_SEARCH_TYPE_LABEL"
description="COM_TAGS_SEARCH_TYPE_DESC"
useglobal="true"
>
<option value="0">COM_TAGS_ALL</option>
<option value="1">COM_TAGS_ANY</option>
</field>
<field
name="include_children"
type="list"
label="COM_TAGS_INCLUDE_CHILDREN_LABEL"
description="COM_TAGS_INCLUDE_CHILDREN_DESC"
default=""
useglobal="true"
>
<option value="0">COM_TAGS_EXCLUDE</option>
<option value="1">COM_TAGS_INCLUDE</option>
</field>
</fieldset>
<fieldset name="integration">
<field
name="show_feed_link"
type="list"
label="JGLOBAL_SHOW_FEED_LINK_LABEL"
description="JGLOBAL_SHOW_FEED_LINK_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
</fieldset>
</fields>
</metadata>
tmpl/default.php 0000604 00000005537 15245617072 0007674 0 ustar 00 <?php
/**
* @package Joomla.Site
* @subpackage com_tags
*
* @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
// Note that there are certain parts of this layout used only when there is exactly one tag.
JHtml::addIncludePath(JPATH_COMPONENT . '/helpers');
$isSingleTag = count($this->item) === 1;
?>
<div class="tag-category<?php echo $this->pageclass_sfx; ?>">
<?php if ($this->params->get('show_page_heading')) : ?>
<h1>
<?php echo $this->escape($this->params->get('page_heading')); ?>
</h1>
<?php endif; ?>
<?php if ($this->params->get('show_tag_title', 1)) : ?>
<h2>
<?php echo JHtml::_('content.prepare', $this->tags_title, '', 'com_tag.tag'); ?>
</h2>
<?php endif; ?>
<?php // We only show a tag description if there is a single tag. ?>
<?php if (count($this->item) === 1 && ($this->params->get('tag_list_show_tag_image', 1) || $this->params->get('tag_list_show_tag_description', 1))) : ?>
<div class="category-desc">
<?php $images = json_decode($this->item[0]->images); ?>
<?php if ($this->params->get('tag_list_show_tag_image', 1) == 1 && !empty($images->image_fulltext)) : ?>
<img src="<?php echo htmlspecialchars($images->image_fulltext, ENT_QUOTES, 'UTF-8'); ?>" alt="<?php echo htmlspecialchars($images->image_fulltext_alt, ENT_QUOTES, 'UTF-8'); ?>" />
<?php endif; ?>
<?php if ($this->params->get('tag_list_show_tag_description') == 1 && $this->item[0]->description) : ?>
<?php echo JHtml::_('content.prepare', $this->item[0]->description, '', 'com_tags.tag'); ?>
<?php endif; ?>
<div class="clr"></div>
</div>
<?php endif; ?>
<?php // If there are multiple tags and a description or image has been supplied use that. ?>
<?php if ($this->params->get('tag_list_show_tag_description', 1) || $this->params->get('show_description_image', 1)) : ?>
<?php if ($this->params->get('show_description_image', 1) == 1 && $this->params->get('tag_list_image')) : ?>
<img src="<?php echo htmlspecialchars($this->params->get('tag_list_image'), ENT_QUOTES, 'UTF-8'); ?>" />
<?php endif; ?>
<?php if ($this->params->get('tag_list_description', '') > '') : ?>
<?php echo JHtml::_('content.prepare', $this->params->get('tag_list_description'), '', 'com_tags.tag'); ?>
<?php endif; ?>
<?php endif; ?>
<?php echo $this->loadTemplate('items'); ?>
<?php if (($this->params->def('show_pagination', 1) == 1 || ($this->params->get('show_pagination') == 2)) && ($this->pagination->get('pages.total') > 1)) : ?>
<div class="pagination">
<?php if ($this->params->def('show_pagination_results', 1)) : ?>
<p class="counter pull-right">
<?php echo $this->pagination->getPagesCounter(); ?>
</p>
<?php endif; ?>
<?php echo $this->pagination->getPagesLinks(); ?>
</div>
<?php endif; ?>
</div>
tmpl/list.xml 0000604 00000017046 15245617072 0007232 0 ustar 00 <?xml version="1.0" encoding="utf-8"?>
<metadata>
<layout title="COM_TAGS_TAG_VIEW_LIST_COMPACT_TITLE" option="COM_TAGS_TAG_VIEW_LIST_COMPACT_OPTION">
<help
key="JHELP_MENUS_MENU_ITEM_TAGS_ITEMS_COMPACT_LIST"
/>
<message>
<![CDATA[COM_TAGS_TAG_VIEW_LIST_DESC]]>
</message>
</layout>
<!-- Add fields to the request variables for the layout. -->
<fields name="request">
<fieldset name="request">
<field
name="id"
type="tag"
label="COM_TAGS_FIELD_TAG_LABEL"
description="COM_TAGS_FIELD_SELECT_TAG_DESC"
mode="nested"
required="true"
multiple="true"
/>
<field
name="types"
type="contenttype"
label="COM_TAGS_FIELD_TYPE_LABEL"
description="COM_TAGS_FIELD_TYPE_DESC"
multiple="true"
/>
<field
name="tag_list_language_filter"
type="contentlanguage"
label="COM_TAGS_FIELD_LANGUAGE_FILTER_LABEL"
description="COM_TAGS_FIELD_LANGUAGE_FILTER_DESC"
default=""
useglobal="true"
>
<option value="all">JALL</option>
<option value="current_language">JCURRENT</option>
</field>
</fieldset>
</fields>
<!-- Add fields to the parameters object for the layout. -->
<fields name="params">
<fieldset name="basic" label="COM_TAGS_OPTIONS">
<field
name="show_tag_title"
type="list"
label="COM_TAGS_SHOW_TAG_TITLE_LABEL"
description="COM_TAGS_SHOW_TAG_TITLE_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="tag_list_show_tag_image"
type="list"
label="COM_TAGS_SHOW_TAG_IMAGE_LABEL"
description="COM_TAGS_SHOW_TAG_IMAGE_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="tag_list_show_tag_description"
type="list"
label="COM_TAGS_SHOW_TAG_DESCRIPTION_LABEL"
description="COM_TAGS_SHOW_TAG_DESCRIPTION_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="tag_list_image"
type="media"
label="COM_TAGS_TAG_LIST_MEDIA_LABEL"
description="COM_TAGS_TAG_LIST_MEDIA_DESC"
/>
<field
name="tag_list_description"
type="textarea"
label="COM_TAGS_SHOW_TAG_LIST_DESCRIPTION_LABEL"
description="COM_TAGS_TAG_LIST_DESCRIPTION_DESC"
class="inputbox"
rows="3"
cols="30"
filter="safehtml"
/>
<field
name="tag_list_orderby"
type="list"
label="JGLOBAL_FIELD_FIELD_ORDERING_LABEL"
description="JGLOBAL_FIELD_FIELD_ORDERING_DESC"
default=""
useglobal="true"
>
<option value="c.core_title">JGLOBAL_TITLE</option>
<option value="match_count">COM_TAGS_MATCH_COUNT</option>
<option value="c.core_created_time">JGLOBAL_CREATED_DATE</option>
<option value="c.core_modified_time">JGLOBAL_MODIFIED_DATE</option>
<option value="c.core_publish_up">JGLOBAL_PUBLISHED_DATE</option>
</field>
<field
name="tag_list_orderby_direction"
type="list"
label="JGLOBAL_ORDER_DIRECTION_LABEL"
description="JGLOBAL_ORDER_DIRECTION_DESC"
useglobal="true"
>
<option value="ASC">JGLOBAL_ORDER_ASCENDING</option>
<option value="DESC">JGLOBAL_ORDER_DESCENDING</option>
</field>
</fieldset>
<fieldset name="advanced" label="JGLOBAL_LIST_LAYOUT_OPTIONS">
<field
name="spacer2"
type="spacer"
label="COM_TAGS_SUBSLIDER_DRILL_TAG_LIST_LABEL"
class="text"
/>
<field
name="tag_list_show_item_image"
type="list"
label="COM_TAGS_TAG_LIST_SHOW_ITEM_IMAGE_LABEL"
description="COM_TAGS_TAG_LIST_SHOW_ITEM_IMAGE_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="tag_list_show_item_description"
type="list"
label="COM_TAGS_TAG_LIST_SHOW_ITEM_DESCRIPTION_LABEL"
description="COM_TAGS_TAG_LIST_SHOW_ITEM_DESCRIPTION_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="tag_list_item_maximum_characters"
type="number"
label="COM_TAGS_LIST_MAX_CHARACTERS_LABEL"
description="COM_TAGS_LIST_MAX_CHARACTERS_DESC"
filter="integer"
useglobal="true"
/>
<field
name="filter_field"
type="list"
label="JGLOBAL_FILTER_FIELD_LABEL"
description="JGLOBAL_FILTER_FIELD_DESC"
default=""
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="show_pagination_limit"
type="list"
label="JGLOBAL_DISPLAY_SELECT_LABEL"
description="JGLOBAL_DISPLAY_SELECT_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="display_num"
type="list"
label="COM_TAGS_FIELD_NUMBER_ITEMS_LIST_LABEL"
description="COM_TAGS_FIELD_NUMBER_ITEMS_LIST_DESC"
class="chzn-color"
>
<option value="">JGLOBAL_USE_GLOBAL</option>
<option value="5">J5</option>
<option value="10">J10</option>
<option value="15">J15</option>
<option value="20">J20</option>
<option value="25">J25</option>
<option value="30">J30</option>
<option value="50">J50</option>
<option value="100">J100</option>
<option value="0">JALL</option>
</field>
<field
name="show_pagination"
type="list"
label="JGLOBAL_PAGINATION_LABEL"
description="JGLOBAL_PAGINATION_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
<option value="2">JGLOBAL_AUTO</option>
</field>
<field
name="show_pagination_results"
type="list"
label="JGLOBAL_PAGINATION_RESULTS_LABEL"
description="JGLOBAL_PAGINATION_RESULTS_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="tag_list_show_date"
type="list"
label="JGLOBAL_SHOW_DATE_LABEL"
description="JGLOBAL_SHOW_DATE_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="created">JGLOBAL_CREATED</option>
<option value="modified">JGLOBAL_MODIFIED</option>
<option value="published">JPUBLISHED</option>
</field>
<field
name="date_format"
type="text"
label="JGLOBAL_DATE_FORMAT_LABEL"
description="JGLOBAL_DATE_FORMAT_DESC"
size="15"
/>
</fieldset>
<fieldset name="selection" label="COM_TAGS_LIST_SELECTION_OPTIONS">
<field
name="return_any_or_all"
type="list"
label="COM_TAGS_SEARCH_TYPE_LABEL"
description="COM_TAGS_SEARCH_TYPE_DESC"
useglobal="true"
>
<option value="0">COM_TAGS_ALL</option>
<option value="1">COM_TAGS_ANY</option>
</field>
<field
name="include_children"
type="list"
label="COM_TAGS_INCLUDE_CHILDREN_LABEL"
description="COM_TAGS_INCLUDE_CHILDREN_DESC"
default=""
useglobal="true"
>
<option value="0">COM_TAGS_EXCLUDE</option>
<option value="1">COM_TAGS_INCLUDE</option>
</field>
</fieldset>
<fieldset name="integration">
<field
name="show_feed_link"
type="list"
label="JGLOBAL_SHOW_FEED_LINK_LABEL"
description="JGLOBAL_SHOW_FEED_LINK_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
</fieldset>
</fields>
</metadata>
tmpl/list.php 0000604 00000004457 15245617072 0007223 0 ustar 00 <?php
/**
* @package Joomla.Site
* @subpackage com_tags
*
* @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
// Note that there are certain parts of this layout used only when there is exactly one tag.
JHtml::addIncludePath(JPATH_COMPONENT . '/helpers');
$n = count($this->items);
?>
<div class="tag-category<?php echo $this->pageclass_sfx; ?>">
<?php if ($this->params->get('show_page_heading')) : ?>
<h1>
<?php echo $this->escape($this->params->get('page_heading')); ?>
</h1>
<?php endif; ?>
<?php if ($this->params->get('show_tag_title', 1)) : ?>
<h2>
<?php echo JHtml::_('content.prepare', $this->tags_title, '', 'com_tag.tag'); ?>
</h2>
<?php endif; ?>
<?php // We only show a tag description if there is a single tag. ?>
<?php if (count($this->item) === 1 && ($this->params->get('tag_list_show_tag_image', 1) || $this->params->get('tag_list_show_tag_description', 1))) : ?>
<div class="category-desc">
<?php $images = json_decode($this->item[0]->images); ?>
<?php if ($this->params->get('tag_list_show_tag_image', 1) == 1 && !empty($images->image_fulltext)) : ?>
<img src="<?php echo htmlspecialchars($images->image_fulltext, ENT_QUOTES, 'UTF-8'); ?>">
<?php endif; ?>
<?php if ($this->params->get('tag_list_show_tag_description') == 1 && $this->item[0]->description) : ?>
<?php echo JHtml::_('content.prepare', $this->item[0]->description, '', 'com_tags.tag'); ?>
<?php endif; ?>
<div class="clr"></div>
</div>
<?php endif; ?>
<?php // If there are multiple tags and a description or image has been supplied use that. ?>
<?php if ($this->params->get('tag_list_show_tag_description', 1) || $this->params->get('show_description_image', 1)) : ?>
<?php if ($this->params->get('show_description_image', 1) == 1 && $this->params->get('tag_list_image')) : ?>
<img src="<?php echo htmlspecialchars($this->params->get('tag_list_image'), ENT_QUOTES, 'UTF-8'); ?>">
<?php endif; ?>
<?php if ($this->params->get('tag_list_description', '') > '') : ?>
<?php echo JHtml::_('content.prepare', $this->params->get('tag_list_description'), '', 'com_tags.tag'); ?>
<?php endif; ?>
<?php endif; ?>
<?php echo $this->loadTemplate('items'); ?>
</div>
tmpl/list_items.php 0000604 00000012253 15245617072 0010415 0 ustar 00 <?php
/**
* @package Joomla.Site
* @subpackage com_tags
*
* @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
JHtml::_('behavior.core');
JHtml::_('formbehavior.chosen', 'select');
$listOrder = $this->escape($this->state->get('list.ordering'));
$listDirn = $this->escape($this->state->get('list.direction'));
JFactory::getDocument()->addScriptDeclaration("
var resetFilter = function() {
document.getElementById('filter-search').value = '';
}
");
?>
<form action="<?php echo htmlspecialchars(JUri::getInstance()->toString()); ?>" method="post" name="adminForm" id="adminForm">
<?php if ($this->params->get('filter_field') || $this->params->get('show_pagination_limit')) : ?>
<fieldset class="filters btn-toolbar">
<?php if ($this->params->get('filter_field')) : ?>
<div class="btn-group">
<label class="filter-search-lbl element-invisible" for="filter-search">
<?php echo JText::_('COM_TAGS_TITLE_FILTER_LABEL') . ' '; ?>
</label>
<input type="text" name="filter-search" id="filter-search" value="<?php echo $this->escape($this->state->get('list.filter')); ?>" class="inputbox" onchange="document.adminForm.submit();" title="<?php echo JText::_('COM_TAGS_FILTER_SEARCH_DESC'); ?>" placeholder="<?php echo JText::_('COM_TAGS_TITLE_FILTER_LABEL'); ?>" />
<button type="button" name="filter-search-button" title="<?php echo JText::_('JSEARCH_FILTER_SUBMIT'); ?>" onclick="document.adminForm.submit();" class="btn">
<span class="icon-search"></span>
</button>
<button type="reset" name="filter-clear-button" title="<?php echo JText::_('JSEARCH_FILTER_CLEAR'); ?>" class="btn" onclick="resetFilter(); document.adminForm.submit();">
<span class="icon-remove"></span>
</button>
</div>
<?php endif; ?>
<?php if ($this->params->get('show_pagination_limit')) : ?>
<div class="btn-group pull-right">
<label for="limit" class="element-invisible">
<?php echo JText::_('JGLOBAL_DISPLAY_NUM'); ?>
</label>
<?php echo $this->pagination->getLimitBox(); ?>
</div>
<?php endif; ?>
<input type="hidden" name="filter_order" value="" />
<input type="hidden" name="filter_order_Dir" value="" />
<input type="hidden" name="limitstart" value="" />
<input type="hidden" name="task" value="" />
<div class="clearfix"></div>
</fieldset>
<?php endif; ?>
<?php if (empty($this->items)) : ?>
<p><?php echo JText::_('COM_TAGS_NO_ITEMS'); ?></p>
<?php else : ?>
<table class="category table table-striped table-bordered table-hover">
<?php if ($this->params->get('show_headings')) : ?>
<thead>
<tr>
<th id="categorylist_header_title">
<?php echo JHtml::_('grid.sort', 'JGLOBAL_TITLE', 'c.core_title', $listDirn, $listOrder); ?>
</th>
<?php if ($date = $this->params->get('tag_list_show_date')) : ?>
<th id="categorylist_header_date">
<?php if ($date === 'created') : ?>
<?php echo JHtml::_('grid.sort', 'COM_TAGS_' . $date . '_DATE', 'c.core_created_time', $listDirn, $listOrder); ?>
<?php elseif ($date === 'modified') : ?>
<?php echo JHtml::_('grid.sort', 'COM_TAGS_' . $date . '_DATE', 'c.core_modified_time', $listDirn, $listOrder); ?>
<?php elseif ($date === 'published') : ?>
<?php echo JHtml::_('grid.sort', 'COM_TAGS_' . $date . '_DATE', 'c.core_publish_up', $listDirn, $listOrder); ?>
<?php endif; ?>
</th>
<?php endif; ?>
</tr>
</thead>
<?php endif; ?>
<tbody>
<?php foreach ($this->items as $i => $item) : ?>
<?php if ($item->core_state == 0) : ?>
<tr class="system-unpublished cat-list-row<?php echo $i % 2; ?>">
<?php else : ?>
<tr class="cat-list-row<?php echo $i % 2; ?>">
<?php endif; ?>
<td <?php if ($this->params->get('show_headings')) echo "headers=\"categorylist_header_title\""; ?> class="list-title">
<a href="<?php echo JRoute::_($item->link); ?>">
<?php echo $this->escape($item->core_title); ?>
</a>
<?php if ($item->core_state == 0) : ?>
<span class="list-published label label-warning">
<?php echo JText::_('JUNPUBLISHED'); ?>
</span>
<?php endif; ?>
</td>
<?php if ($this->params->get('tag_list_show_date')) : ?>
<td headers="categorylist_header_date" class="list-date small">
<?php
echo JHtml::_(
'date', $item->displayDate,
$this->escape($this->params->get('date_format', JText::_('DATE_FORMAT_LC3')))
); ?>
</td>
<?php endif; ?>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php // Add pagination links ?>
<?php if (($this->params->def('show_pagination', 2) == 1 || ($this->params->get('show_pagination') == 2)) && ($this->pagination->pagesTotal > 1)) : ?>
<div class="pagination">
<?php if ($this->params->def('show_pagination_results', 1)) : ?>
<p class="counter pull-right">
<?php echo $this->pagination->getPagesCounter(); ?>
</p>
<?php endif; ?>
<?php echo $this->pagination->getPagesLinks(); ?>
</div>
<?php endif; ?>
<?php endif; ?>
</form>
tmpl/default_items.php 0000604 00000011161 15245617072 0011063 0 ustar 00 <?php
/**
* @package Joomla.Site
* @subpackage com_tags
*
* @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
JHtml::_('behavior.core');
JHtml::_('formbehavior.chosen', 'select');
// Get the user object.
$user = JFactory::getUser();
// Check if user is allowed to add/edit based on tags permissions.
// Do we really have to make it so people can see unpublished tags???
$canEdit = $user->authorise('core.edit', 'com_tags');
$canCreate = $user->authorise('core.create', 'com_tags');
$canEditState = $user->authorise('core.edit.state', 'com_tags');
JFactory::getDocument()->addScriptDeclaration("
var resetFilter = function() {
document.getElementById('filter-search').value = '';
}
");
?>
<form action="<?php echo htmlspecialchars(JUri::getInstance()->toString()); ?>" method="post" name="adminForm" id="adminForm" class="form-inline">
<?php if ($this->params->get('show_headings') || $this->params->get('filter_field') || $this->params->get('show_pagination_limit')) : ?>
<fieldset class="filters btn-toolbar">
<?php if ($this->params->get('filter_field')) : ?>
<div class="btn-group">
<label class="filter-search-lbl element-invisible" for="filter-search">
<?php echo JText::_('COM_TAGS_TITLE_FILTER_LABEL') . ' '; ?>
</label>
<input type="text" name="filter-search" id="filter-search" value="<?php echo $this->escape($this->state->get('list.filter')); ?>" class="inputbox" onchange="document.adminForm.submit();" title="<?php echo JText::_('COM_TAGS_FILTER_SEARCH_DESC'); ?>" placeholder="<?php echo JText::_('COM_TAGS_TITLE_FILTER_LABEL'); ?>" />
<button type="button" name="filter-search-button" title="<?php echo JText::_('JSEARCH_FILTER_SUBMIT'); ?>" onclick="document.adminForm.submit();" class="btn">
<span class="icon-search"></span>
</button>
<button type="reset" name="filter-clear-button" title="<?php echo JText::_('JSEARCH_FILTER_CLEAR'); ?>" class="btn" onclick="resetFilter(); document.adminForm.submit();">
<span class="icon-remove"></span>
</button>
</div>
<?php endif; ?>
<?php if ($this->params->get('show_pagination_limit')) : ?>
<div class="btn-group pull-right">
<label for="limit" class="element-invisible">
<?php echo JText::_('JGLOBAL_DISPLAY_NUM'); ?>
</label>
<?php echo $this->pagination->getLimitBox(); ?>
</div>
<?php endif; ?>
<input type="hidden" name="filter_order" value="" />
<input type="hidden" name="filter_order_Dir" value="" />
<input type="hidden" name="limitstart" value="" />
<input type="hidden" name="task" value="" />
<div class="clearfix"></div>
</fieldset>
<?php endif; ?>
<?php if (empty($this->items)) : ?>
<p><?php echo JText::_('COM_TAGS_NO_ITEMS'); ?></p>
<?php else : ?>
<ul class="category list-striped">
<?php foreach ($this->items as $i => $item) : ?>
<?php if ($item->core_state == 0) : ?>
<li class="system-unpublished cat-list-row<?php echo $i % 2; ?>">
<?php else : ?>
<li class="cat-list-row<?php echo $i % 2; ?> clearfix">
<?php endif; ?>
<?php if (($item->type_alias === 'com_users.category') || ($item->type_alias === 'com_banners.category')) : ?>
<h3>
<?php echo $this->escape($item->core_title); ?>
</h3>
<?php else : ?>
<h3>
<a href="<?php echo JRoute::_($item->link); ?>">
<?php echo $this->escape($item->core_title); ?>
</a>
</h3>
<?php endif; ?>
<?php // Content is generated by content plugin event "onContentAfterTitle" ?>
<?php echo $item->event->afterDisplayTitle; ?>
<?php $images = json_decode($item->core_images); ?>
<?php if ($this->params->get('tag_list_show_item_image', 1) == 1 && !empty($images->image_intro)) : ?>
<a href="<?php echo JRoute::_($item->link); ?>">
<img src="<?php echo htmlspecialchars($images->image_intro); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>">
</a>
<?php endif; ?>
<?php if ($this->params->get('tag_list_show_item_description', 1)) : ?>
<?php // Content is generated by content plugin event "onContentBeforeDisplay" ?>
<?php echo $item->event->beforeDisplayContent; ?>
<span class="tag-body">
<?php echo JHtml::_('string.truncate', $item->core_body, $this->params->get('tag_list_item_maximum_characters')); ?>
</span>
<?php // Content is generated by content plugin event "onContentAfterDisplay" ?>
<?php echo $item->event->afterDisplayContent; ?>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</form>