mirror of
https://github.com/joomla-extensions/weblinks.git
synced 2024-12-25 17:51:07 +00:00
Merge pull request #332 from joomla-extensions/revert-325-frontend_view_single_weblink
Revert "Frontend view single weblink"
This commit is contained in:
commit
41c8206509
@ -1,272 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Administrator
|
||||
* @subpackage Weblinks
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
defined('JPATH_BASE') or die;
|
||||
|
||||
/**
|
||||
* Supports a modal weblink picker.
|
||||
*
|
||||
* @since __DEPLOY_VERSION__
|
||||
*/
|
||||
class JFormFieldModal_Weblink extends JFormField
|
||||
{
|
||||
/**
|
||||
* The form field type.
|
||||
*
|
||||
* @var string
|
||||
* @since __DEPLOY_VERSION__
|
||||
*/
|
||||
protected $type = 'Modal_Weblink';
|
||||
|
||||
/**
|
||||
* Method to get the field input markup.
|
||||
*
|
||||
* @return string The field input markup.
|
||||
*
|
||||
* @since __DEPLOY_VERSION__
|
||||
*/
|
||||
protected function getInput()
|
||||
{
|
||||
$allowNew = ((string) $this->element['new'] == 'true');
|
||||
$allowEdit = ((string) $this->element['edit'] == 'true');
|
||||
$allowClear = ((string) $this->element['clear'] != 'false');
|
||||
$allowSelect = ((string) $this->element['select'] != 'false');
|
||||
|
||||
// Load language
|
||||
JFactory::getLanguage()->load('com_weblinks', JPATH_ADMINISTRATOR);
|
||||
|
||||
// The active weblink id field.
|
||||
$value = (int) $this->value > 0 ? (int) $this->value : '';
|
||||
|
||||
// Create the modal id.
|
||||
$modalId = 'Weblink_' . $this->id;
|
||||
|
||||
// Add the modal field script to the document head.
|
||||
JHtml::_('jquery.framework');
|
||||
JHtml::_('script', 'system/modal-fields.js', array('version' => 'auto', 'relative' => true));
|
||||
|
||||
// Script to proxy the select modal function to the modal-fields.js file.
|
||||
if ($allowSelect)
|
||||
{
|
||||
static $scriptSelect = null;
|
||||
|
||||
if (is_null($scriptSelect))
|
||||
{
|
||||
$scriptSelect = array();
|
||||
}
|
||||
|
||||
if (!isset($scriptSelect[$this->id]))
|
||||
{
|
||||
JFactory::getDocument()->addScriptDeclaration("
|
||||
function jSelectWeblink_" . $this->id . "(id, title, catid, object, url, language) {
|
||||
window.processModalSelect('Weblink', '" . $this->id . "', id, title, catid, object, url, language);
|
||||
}
|
||||
");
|
||||
|
||||
$scriptSelect[$this->id] = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Setup variables for display.
|
||||
$linkWeblinks = 'index.php?option=com_weblinks&view=weblinks&layout=modal&tmpl=component&' . JSession::getFormToken() . '=1';
|
||||
$linkWeblink = 'index.php?option=com_weblinks&view=weblink&layout=modal&tmpl=component&' . JSession::getFormToken() . '=1';
|
||||
|
||||
if (isset($this->element['language']))
|
||||
{
|
||||
$linkWeblinks .= '&forcedLanguage=' . $this->element['language'];
|
||||
$linkWeblink .= '&forcedLanguage=' . $this->element['language'];
|
||||
$modalTitle = JText::_('COM_WEBLINKS_CHANGE_WEBLINK') . ' — ' . $this->element['label'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$modalTitle = JText::_('COM_WEBLINKS_CHANGE_WEBLINK');
|
||||
}
|
||||
|
||||
$urlSelect = $linkWeblinks . '&function=jSelectWeblink_' . $this->id;
|
||||
$urlEdit = $linkWeblink . '&task=weblink.edit&id=\' + document.getElementById("' . $this->id . '_id").value + \'';
|
||||
$urlNew = $linkWeblink . '&task=weblink.add';
|
||||
|
||||
if ($value)
|
||||
{
|
||||
$db = JFactory::getDbo();
|
||||
$query = $db->getQuery(true)
|
||||
->select($db->quoteName('title'))
|
||||
->from($db->quoteName('#__weblinks'))
|
||||
->where($db->quoteName('id') . ' = ' . (int) $value);
|
||||
$db->setQuery($query);
|
||||
|
||||
try
|
||||
{
|
||||
$title = $db->loadResult();
|
||||
}
|
||||
catch (RuntimeException $e)
|
||||
{
|
||||
JError::raiseWarning(500, $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
$title = empty($title) ? JText::_('COM_WEBLINKS_SELECT_AN_WEBLINK') : htmlspecialchars($title, ENT_QUOTES, 'UTF-8');
|
||||
|
||||
// The current weblink display field.
|
||||
$html = '<span class="input-append">';
|
||||
$html .= '<input class="input-medium" id="' . $this->id . '_name" type="text" value="' . $title . '" disabled="disabled" size="35" />';
|
||||
|
||||
// Select weblink button
|
||||
if ($allowSelect)
|
||||
{
|
||||
$html .= '<a'
|
||||
. ' class="btn hasTooltip' . ($value ? ' hidden' : '') . '"'
|
||||
. ' id="' . $this->id . '_select"'
|
||||
. ' data-toggle="modal"'
|
||||
. ' role="button"'
|
||||
. ' href="#ModalSelect' . $modalId . '"'
|
||||
. ' title="' . JHtml::tooltipText('COM_WEBLINKS_CHANGE_WEBLINK') . '">'
|
||||
. '<span class="icon-file"></span> ' . JText::_('JSELECT')
|
||||
. '</a>';
|
||||
}
|
||||
|
||||
// New weblink button
|
||||
if ($allowNew)
|
||||
{
|
||||
$html .= '<a'
|
||||
. ' class="btn hasTooltip' . ($value ? ' hidden' : '') . '"'
|
||||
. ' id="' . $this->id . '_new"'
|
||||
. ' data-toggle="modal"'
|
||||
. ' role="button"'
|
||||
. ' href="#ModalNew' . $modalId . '"'
|
||||
. ' title="' . JHtml::tooltipText('COM_WEBLINKS_NEW_WEBLINK') . '">'
|
||||
. '<span class="icon-new"></span> ' . JText::_('JACTION_CREATE')
|
||||
. '</a>';
|
||||
}
|
||||
|
||||
// Edit weblink button
|
||||
if ($allowEdit)
|
||||
{
|
||||
$html .= '<a'
|
||||
. ' class="btn hasTooltip' . ($value ? '' : ' hidden') . '"'
|
||||
. ' id="' . $this->id . '_edit"'
|
||||
. ' data-toggle="modal"'
|
||||
. ' role="button"'
|
||||
. ' href="#ModalEdit' . $modalId . '"'
|
||||
. ' title="' . JHtml::tooltipText('COM_WEBLINKS_EDIT_WEBLINK') . '">'
|
||||
. '<span class="icon-edit"></span> ' . JText::_('JACTION_EDIT')
|
||||
. '</a>';
|
||||
}
|
||||
|
||||
// Clear weblink button
|
||||
if ($allowClear)
|
||||
{
|
||||
$html .= '<a'
|
||||
. ' class="btn' . ($value ? '' : ' hidden') . '"'
|
||||
. ' id="' . $this->id . '_clear"'
|
||||
. ' href="#"'
|
||||
. ' onclick="window.processModalParent(\'' . $this->id . '\'); return false;">'
|
||||
. '<span class="icon-remove"></span>' . JText::_('JCLEAR')
|
||||
. '</a>';
|
||||
}
|
||||
|
||||
$html .= '</span>';
|
||||
|
||||
// Select weblink modal
|
||||
if ($allowSelect)
|
||||
{
|
||||
$html .= JHtml::_(
|
||||
'bootstrap.renderModal',
|
||||
'ModalSelect' . $modalId,
|
||||
array(
|
||||
'title' => $modalTitle,
|
||||
'url' => $urlSelect,
|
||||
'height' => '400px',
|
||||
'width' => '800px',
|
||||
'bodyHeight' => '70',
|
||||
'modalWidth' => '80',
|
||||
'footer' => '<a role="button" class="btn" data-dismiss="modal" aria-hidden="true">' . JText::_('JLIB_HTML_BEHAVIOR_CLOSE') . '</a>',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
// New weblink modal
|
||||
if ($allowNew)
|
||||
{
|
||||
$html .= JHtml::_(
|
||||
'bootstrap.renderModal',
|
||||
'ModalNew' . $modalId,
|
||||
array(
|
||||
'title' => JText::_('COM_WEBLINKS_NEW_WEBLINK'),
|
||||
'backdrop' => 'static',
|
||||
'keyboard' => false,
|
||||
'closeButton' => false,
|
||||
'url' => $urlNew,
|
||||
'height' => '400px',
|
||||
'width' => '800px',
|
||||
'bodyHeight' => '70',
|
||||
'modalWidth' => '80',
|
||||
'footer' => '<a role="button" class="btn" aria-hidden="true"'
|
||||
. ' onclick="window.processModalEdit(this, \'' . $this->id . '\', \'add\', \'weblink\', \'cancel\', \'item-form\'); return false;">'
|
||||
. JText::_('JLIB_HTML_BEHAVIOR_CLOSE') . '</a>'
|
||||
. '<a role="button" class="btn btn-primary" aria-hidden="true"'
|
||||
. ' onclick="window.processModalEdit(this, \'' . $this->id . '\', \'add\', \'weblink\', \'save\', \'item-form\'); return false;">'
|
||||
. JText::_('JSAVE') . '</a>'
|
||||
. '<a role="button" class="btn btn-success" aria-hidden="true"'
|
||||
. ' onclick="window.processModalEdit(this, \'' . $this->id . '\', \'add\', \'weblink\', \'apply\', \'item-form\'); return false;">'
|
||||
. JText::_('JAPPLY') . '</a>',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
// Edit weblink modal
|
||||
if ($allowEdit)
|
||||
{
|
||||
$html .= JHtml::_(
|
||||
'bootstrap.renderModal',
|
||||
'ModalEdit' . $modalId,
|
||||
array(
|
||||
'title' => JText::_('COM_WEBLINKS_EDIT_WEBLINK'),
|
||||
'backdrop' => 'static',
|
||||
'keyboard' => false,
|
||||
'closeButton' => false,
|
||||
'url' => $urlEdit,
|
||||
'height' => '400px',
|
||||
'width' => '800px',
|
||||
'bodyHeight' => '70',
|
||||
'modalWidth' => '80',
|
||||
'footer' => '<a role="button" class="btn" aria-hidden="true"'
|
||||
. ' onclick="window.processModalEdit(this, \'' . $this->id . '\', \'edit\', \'weblink\', \'cancel\', \'item-form\'); return false;">'
|
||||
. JText::_('JLIB_HTML_BEHAVIOR_CLOSE') . '</a>'
|
||||
. '<a role="button" class="btn btn-primary" aria-hidden="true"'
|
||||
. ' onclick="window.processModalEdit(this, \'' . $this->id . '\', \'edit\', \'weblink\', \'save\', \'item-form\'); return false;">'
|
||||
. JText::_('JSAVE') . '</a>'
|
||||
. '<a role="button" class="btn btn-success" aria-hidden="true"'
|
||||
. ' onclick="window.processModalEdit(this, \'' . $this->id . '\', \'edit\', \'weblink\', \'apply\', \'item-form\'); return false;">'
|
||||
. JText::_('JAPPLY') . '</a>',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
// Note: class='required' for client side validation.
|
||||
$class = $this->required ? ' class="required modal-value"' : '';
|
||||
|
||||
$html .= '<input type="hidden" id="' . $this->id . '_id" ' . $class . ' data-required="' . (int) $this->required . '" name="' . $this->name
|
||||
. '" data-text="' . htmlspecialchars(JText::_('COM_WEBLINKS_SELECT_AN_WEBLINK', true), ENT_COMPAT, 'UTF-8') . '" value="' . $value . '" />';
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to get the field label markup.
|
||||
*
|
||||
* @return string The field label markup.
|
||||
*
|
||||
* @since __DEPLOY_VERSION__
|
||||
*/
|
||||
protected function getLabel()
|
||||
{
|
||||
return str_replace($this->id, $this->id . '_id', parent::getLabel());
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Administrator
|
||||
* @subpackage Weblinks
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
JHtml::_('bootstrap.tooltip', '.hasTooltip', array('placement' => 'bottom'));
|
||||
|
||||
// @deprecated 4.0 the function parameter, the inline js and the buttons are not needed since 3.7.0.
|
||||
$function = JFactory::getApplication()->input->getCmd('function', 'jEditWeblink_' . (int) $this->item->id);
|
||||
|
||||
// Function to update input title when changed
|
||||
JFactory::getDocument()->addScriptDeclaration('
|
||||
function jEditWeblinkModal() {
|
||||
if (window.parent && document.formvalidator.isValid(document.getElementById("item-form"))) {
|
||||
return window.parent.' . $this->escape($function) . '(document.getElementById("jform_title").value);
|
||||
}
|
||||
}
|
||||
');
|
||||
?>
|
||||
<button id="applyBtn" type="button" class="hidden" onclick="Joomla.submitbutton('weblink.apply'); jEditWeblinkModal();"></button>
|
||||
<button id="saveBtn" type="button" class="hidden" onclick="Joomla.submitbutton('weblink.save'); jEditWeblinkModal();"></button>
|
||||
<button id="closeBtn" type="button" class="hidden" onclick="Joomla.submitbutton('weblink.cancel');"></button>
|
||||
|
||||
<div class="container-popup">
|
||||
<?php $this->setLayout('edit'); ?>
|
||||
<?php echo $this->loadTemplate(); ?>
|
||||
</div>
|
@ -1,163 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Administrator
|
||||
* @subpackage Weblinks
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
$app = JFactory::getApplication();
|
||||
|
||||
if ($app->isClient('site'))
|
||||
{
|
||||
JSession::checkToken('get') or die(JText::_('JINVALID_TOKEN'));
|
||||
}
|
||||
|
||||
JLoader::register('WeblinksHelperRoute', JPATH_ROOT . '/components/com_weblinks/helpers/route.php');
|
||||
|
||||
// Include the component HTML helpers.
|
||||
JHtml::addIncludePath(JPATH_COMPONENT . '/helpers/html');
|
||||
|
||||
JHtml::_('behavior.core');
|
||||
JHtml::_('behavior.polyfill', array('event'), 'lt IE 9');
|
||||
JHtml::_('script', 'com_weblinks/admin-weblinks-modal.js', array('version' => 'auto', 'relative' => true));
|
||||
JHtml::_('bootstrap.tooltip', '.hasTooltip', array('placement' => 'bottom'));
|
||||
JHtml::_('formbehavior.chosen', 'select');
|
||||
|
||||
// Special case for the search field tooltip.
|
||||
$searchFilterDesc = $this->filterForm->getFieldAttribute('search', 'description', null, 'filter');
|
||||
JHtml::_('bootstrap.tooltip', '#filter_search', array('title' => JText::_($searchFilterDesc), 'placement' => 'bottom'));
|
||||
|
||||
$function = $app->input->getCmd('function', 'jSelectWeblink');
|
||||
$editor = $app->input->getCmd('editor', '');
|
||||
$listOrder = $this->escape($this->state->get('list.ordering'));
|
||||
$listDirn = $this->escape($this->state->get('list.direction'));
|
||||
$onclick = $this->escape($function);
|
||||
|
||||
if (!empty($editor))
|
||||
{
|
||||
// This view is used also in com_menus. Load the xtd script only if the editor is set!
|
||||
JFactory::getDocument()->addScriptOptions('xtd-weblinks', array('editor' => $editor));
|
||||
$onclick = "jSelectWeblink";
|
||||
}
|
||||
?>
|
||||
<div class="container-popup">
|
||||
|
||||
<form action="<?php echo JRoute::_('index.php?option=com_weblinks&view=weblinks&layout=modal&tmpl=component&function=' . $function . '&' . JSession::getFormToken() . '=1&editor=' . $editor); ?>" method="post" name="adminForm" id="adminForm" class="form-inline">
|
||||
|
||||
<?php echo JLayoutHelper::render('joomla.searchtools.default', array('view' => $this)); ?>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
<?php if (empty($this->items)) : ?>
|
||||
<div class="alert alert-no-items">
|
||||
<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
|
||||
</div>
|
||||
<?php else : ?>
|
||||
<table class="table table-striped table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="1%" class="center nowrap">
|
||||
<?php echo JHtml::_('searchtools.sort', 'JSTATUS', 'a.state', $listDirn, $listOrder); ?>
|
||||
</th>
|
||||
<th class="title">
|
||||
<?php echo JHtml::_('searchtools.sort', 'JGLOBAL_TITLE', 'a.title', $listDirn, $listOrder); ?>
|
||||
</th>
|
||||
<th width="10%" class="nowrap hidden-phone">
|
||||
<?php echo JHtml::_('searchtools.sort', 'JGRID_HEADING_ACCESS', 'a.access', $listDirn, $listOrder); ?>
|
||||
</th>
|
||||
<th width="15%" class="nowrap">
|
||||
<?php echo JHtml::_('searchtools.sort', 'JGRID_HEADING_LANGUAGE', 'language', $listDirn, $listOrder); ?>
|
||||
</th>
|
||||
<th width="5%" class="nowrap hidden-phone">
|
||||
<?php echo JHtml::_('searchtools.sort', 'JDATE', 'a.created', $listDirn, $listOrder); ?>
|
||||
</th>
|
||||
<th width="1%" class="nowrap hidden-phone">
|
||||
<?php echo JHtml::_('searchtools.sort', 'JGRID_HEADING_ID', 'a.id', $listDirn, $listOrder); ?>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<?php echo $this->pagination->getListFooter(); ?>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
<?php
|
||||
$iconStates = array(
|
||||
-2 => 'icon-trash',
|
||||
0 => 'icon-unpublish',
|
||||
1 => 'icon-publish',
|
||||
2 => 'icon-archive',
|
||||
);
|
||||
?>
|
||||
<?php foreach ($this->items as $i => $item) : ?>
|
||||
<?php if ($item->language && JLanguageMultilang::isEnabled())
|
||||
{
|
||||
$tag = strlen($item->language);
|
||||
if ($tag == 5)
|
||||
{
|
||||
$lang = substr($item->language, 0, 2);
|
||||
}
|
||||
elseif ($tag == 6)
|
||||
{
|
||||
$lang = substr($item->language, 0, 3);
|
||||
}
|
||||
else {
|
||||
$lang = '';
|
||||
}
|
||||
}
|
||||
elseif (!JLanguageMultilang::isEnabled())
|
||||
{
|
||||
$lang = '';
|
||||
}
|
||||
?>
|
||||
<tr class="row<?php echo $i % 2; ?>">
|
||||
<td class="center">
|
||||
<span class="<?php echo $iconStates[$this->escape($item->state)]; ?>"></span>
|
||||
</td>
|
||||
<td>
|
||||
<?php $attribs = 'data-function="' . $this->escape($onclick) . '"'
|
||||
. ' data-id="' . $item->id . '"'
|
||||
. ' data-title="' . $this->escape(addslashes($item->title)) . '"'
|
||||
. ' data-cat-id="' . $this->escape($item->catid) . '"'
|
||||
. ' data-uri="' . $this->escape(WeblinksHelperRoute::getWeblinkRoute($item->id, $item->catid, $item->language)) . '"'
|
||||
. ' data-language="' . $this->escape($lang) . '"';
|
||||
?>
|
||||
<a class="select-link" href="javascript:void(0)" <?php echo $attribs; ?>>
|
||||
<?php echo $this->escape($item->title); ?>
|
||||
</a>
|
||||
<div class="small">
|
||||
<?php echo JText::_('JCATEGORY') . ': ' . $this->escape($item->category_title); ?>
|
||||
</div>
|
||||
</td>
|
||||
<td class="small hidden-phone">
|
||||
<?php echo $this->escape($item->access_level); ?>
|
||||
</td>
|
||||
<td class="small">
|
||||
<?php echo JLayoutHelper::render('joomla.weblinks.language', $item); ?>
|
||||
</td>
|
||||
<td class="nowrap small hidden-phone">
|
||||
<?php // todo echo JHtml::_('date', $item->created, JText::_('DATE_FORMAT_LC4')); ?>
|
||||
</td>
|
||||
<td class="nowrap small hidden-phone">
|
||||
<?php echo (int) $item->id; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php endif; ?>
|
||||
|
||||
<input type="hidden" name="task" value="" />
|
||||
<input type="hidden" name="boxchecked" value="0" />
|
||||
<input type="hidden" name="forcedLanguage" value="<?php echo $app->input->get('forcedLanguage', '', 'CMD'); ?>" />
|
||||
<?php echo JHtml::_('form.token'); ?>
|
||||
|
||||
</form>
|
||||
</div>
|
@ -33,9 +33,6 @@
|
||||
</schemas>
|
||||
</update>
|
||||
|
||||
<media folder="media" destination="com_weblinks">
|
||||
<folder>js</folder>
|
||||
</media>
|
||||
<files folder="components/com_weblinks">
|
||||
##FRONTEND_COMPONENT_FILES##
|
||||
</files>
|
||||
|
@ -22,10 +22,4 @@ COM_WEBLINKS_LINKS="Links"
|
||||
COM_WEBLINKS_TAGS_WEBLINK="Web Link"
|
||||
COM_WEBLINKS_TAGS_CATEGORY="Web Link Category"
|
||||
COM_WEBLINKS_XML_DESCRIPTION="Component for web links management."
|
||||
; menu item
|
||||
COM_WEBLINKS_WEBLINK_VIEW_DEFAULT_DESC="Display a single weblink"
|
||||
COM_WEBLINKS_WEBLINK_VIEW_DEFAULT_TITLE="Single Weblink"
|
||||
COM_WEBLINKS_FIELD_SELECT_WEBLINK_DESC="Select the desired weblink from the list."
|
||||
COM_WEBLINKS_FIELD_SELECT_WEBLINK_LABEL="Select Weblink"
|
||||
COM_WEBLINKS_CHANGE_WEBLINK="Select or Change weblink"
|
||||
COM_WEBLINKS_SELECT_AN_WEBLINK="Select Weblink"
|
||||
|
||||
|
@ -1,38 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Site
|
||||
* @subpackage com_weblinks
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
$params = $this->item->params;
|
||||
|
||||
?>
|
||||
<div class="item-page">
|
||||
<meta itemprop="inLanguage" content="<?php echo ($this->item->language === '*') ? JFactory::getConfig()->get('language') : $this->item->language; ?>" />
|
||||
<div class="page-header">
|
||||
<h2 itemprop="headline">
|
||||
<?php echo $this->escape($this->item->title); ?>
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<?php // Content is generated by content plugin event "onContentAfterTitle" ?>
|
||||
<?php echo $this->item->event->afterDisplayTitle; ?>
|
||||
|
||||
<?php // Content is generated by content plugin event "onContentBeforeDisplay" ?>
|
||||
<?php echo $this->item->event->beforeDisplayContent; ?>
|
||||
|
||||
<div itemprop="articleBody">
|
||||
<a href="<?php echo $this->item->url; ?>" target="_blank" itemprop="url">
|
||||
<?php echo JStringPunycode::urlToUTF8($this->item->url); ?>
|
||||
</a>
|
||||
<?php echo $this->item->description; ?>
|
||||
</div>
|
||||
|
||||
<?php // Content is generated by content plugin event "onContentAfterDisplay" ?>
|
||||
<?php echo $this->item->event->afterDisplayContent; ?>
|
||||
</div>
|
@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<metadata>
|
||||
<layout title="com_weblinks_weblink_view_default_title" option="com_weblinks_weblink_view_default_option">
|
||||
<help
|
||||
key = "JHELP_MENUS_MENU_ITEM_WEBLINK_SINGLE_WEBLINK"
|
||||
/>
|
||||
<message>
|
||||
<![CDATA[com_weblinks_weblink_view_default_desc]]>
|
||||
</message>
|
||||
</layout>
|
||||
|
||||
<fields name="request">
|
||||
<fieldset name="request"
|
||||
addfieldpath="/administrator/components/com_weblinks/models/fields">
|
||||
|
||||
<field name="id" type="modal_weblink"
|
||||
label="COM_WEBLINKS_FIELD_SELECT_WEBLINK_LABEL"
|
||||
required="true"
|
||||
select="true"
|
||||
new="true"
|
||||
edit="true"
|
||||
clear="true"
|
||||
description="COM_WEBLINKS_FIELD_SELECT_WEBLINK_DESC"
|
||||
/>
|
||||
</fieldset>
|
||||
</fields>
|
||||
</metadata>
|
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Site
|
||||
* @subpackage com_weblinks
|
||||
* @package Joomla.Administrator
|
||||
* @subpackage Weblinks
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
@ -10,20 +10,18 @@
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
/**
|
||||
* HTML Weblink View class for the Weblinks component
|
||||
* HTML View class for the WebLinks component
|
||||
*
|
||||
* @since __DEPLOY_VERSION__
|
||||
* @since 1.5
|
||||
*/
|
||||
class WeblinksViewWeblink extends JViewLegacy
|
||||
{
|
||||
protected $item;
|
||||
|
||||
protected $params;
|
||||
|
||||
protected $state;
|
||||
|
||||
protected $item;
|
||||
|
||||
/**
|
||||
* Execute and display a template script.
|
||||
* Display the view.
|
||||
*
|
||||
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
|
||||
*
|
||||
@ -31,30 +29,25 @@ class WeblinksViewWeblink extends JViewLegacy
|
||||
*/
|
||||
public function display($tpl = null)
|
||||
{
|
||||
$dispatcher = JEventDispatcher::getInstance();
|
||||
// Get some data from the models
|
||||
$item = $this->get('Item');
|
||||
|
||||
$this->item = $this->get('Item');
|
||||
$this->state = $this->get('State');
|
||||
$this->params = $this->state->get('params');
|
||||
if ($this->getLayout() == 'edit')
|
||||
{
|
||||
$this->_displayEdit($tpl);
|
||||
|
||||
// Create a shortcut for $item.
|
||||
$item = $this->item;
|
||||
return;
|
||||
}
|
||||
|
||||
$offset = $this->state->get('list.offset');
|
||||
|
||||
$dispatcher->trigger('onWeblinksPrepare', array ('com_weblinks.weblink', &$item, &$item->params, $offset));
|
||||
|
||||
$item->event = new stdClass;
|
||||
|
||||
$results = $dispatcher->trigger('onWeblinksAfterTitle', array('com_weblinks.weblink', &$item, &$item->params, $offset));
|
||||
$item->event->afterDisplayTitle = trim(implode("\n", $results));
|
||||
|
||||
$results = $dispatcher->trigger('onWeblinksBeforeDisplay', array('com_weblinks.weblink', &$item, &$item->params, $offset));
|
||||
$item->event->beforeDisplayContent = trim(implode("\n", $results));
|
||||
|
||||
$results = $dispatcher->trigger('onWeblinksAfterDisplay', array('com_weblinks.weblink', &$item, &$item->params, $offset));
|
||||
$item->event->afterDisplayContent = trim(implode("\n", $results));
|
||||
|
||||
parent::display($tpl);
|
||||
if ($item->url)
|
||||
{
|
||||
// Redirects to url if matching id found
|
||||
JFactory::getApplication()->redirect($item->url);
|
||||
}
|
||||
else
|
||||
{
|
||||
// @TODO create proper error handling
|
||||
JFactory::getApplication()->redirect(JRoute::_('index.php'), JText::_('COM_WEBLINKS_ERROR_WEBLINK_NOT_FOUND'), 'notice');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,61 +0,0 @@
|
||||
/**
|
||||
* @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
(function() {
|
||||
"use strict";
|
||||
/**
|
||||
* Javascript to insert the link
|
||||
* View element calls jSelectWeblink when an weblink is clicked
|
||||
* jSelectWeblink creates the link tag, sends it to the editor,
|
||||
* and closes the select frame.
|
||||
**/
|
||||
window.jSelectWeblink = function (id, title, catid, object, link, lang) {
|
||||
var hreflang = '', editor, tag;
|
||||
|
||||
if (!Joomla.getOptions('xtd-weblinks')) {
|
||||
// Something went wrong!
|
||||
window.parent.jModalClose();
|
||||
return false;
|
||||
}
|
||||
|
||||
editor = Joomla.getOptions('xtd-weblinks').editor;
|
||||
|
||||
if (lang !== '')
|
||||
{
|
||||
hreflang = ' hreflang="' + lang + '"';
|
||||
}
|
||||
|
||||
tag = '<a' + hreflang + ' href="' + link + '">' + title + '</a>';
|
||||
|
||||
/** Use the API, if editor supports it **/
|
||||
if (window.Joomla && window.Joomla.editors && Joomla.editors.instances && Joomla.editors.instances.hasOwnProperty(editor)) {
|
||||
Joomla.editors.instances[editor].replaceSelection(tag)
|
||||
} else {
|
||||
window.parent.jInsertEditorText(tag, editor);
|
||||
}
|
||||
|
||||
window.parent.jModalClose();
|
||||
};
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function(){
|
||||
// Get the elements
|
||||
var elements = document.querySelectorAll('.select-link');
|
||||
|
||||
for(var i = 0, l = elements.length; l>i; i++) {
|
||||
// Listen for click event
|
||||
elements[i].addEventListener('click', function (event) {
|
||||
event.preventDefault();
|
||||
var functionName = event.target.getAttribute('data-function');
|
||||
|
||||
if (functionName === 'jSelectWeblink') {
|
||||
// Used in xtd_contacts
|
||||
window[functionName](event.target.getAttribute('data-id'), event.target.getAttribute('data-title'), event.target.getAttribute('data-cat-id'), null, event.target.getAttribute('data-uri'), event.target.getAttribute('data-language'));
|
||||
} else {
|
||||
// Used in com_menus
|
||||
window.parent[functionName](event.target.getAttribute('data-id'), event.target.getAttribute('data-title'), event.target.getAttribute('data-cat-id'), null, event.target.getAttribute('data-uri'), event.target.getAttribute('data-language'));
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
})();
|
Loading…
Reference in New Issue
Block a user