id; if ($params->get('show_icons')) { if ($legacy) { $text = JHtml::_('image', 'system/new.png', JText::_('JNEW'), null, true); } else { $text = ' ' . JText::_('JNEW') . ' '; } } else { $text = JText::_('JNEW') . ' '; } // Add the button classes to the attribs array if (isset($attribs['class'])) { $attribs['class'] = $attribs['class'] . ' btn btn-primary'; } else { $attribs['class'] = 'btn btn-primary'; } $button = JHtml::_('link', JRoute::_($url), $text, $attribs); $output = '' . $button . ''; return $output; } /** * Method to generate a link to the email item page for the given article * * @param object $article The article information * @param JRegistry $params The item parameters * @param array $attribs Optional attributes for the link * @param boolean $legacy True to use legacy images, false to use icomoon based graphic * * @return string The HTML markup for the email item link */ public static function email($article, $params, $attribs = array(), $legacy = false) { require_once JPATH_SITE . '/components/com_mailto/helpers/mailto.php'; $uri = JUri::getInstance(); $base = $uri->toString(array('scheme', 'host', 'port')); $template = JFactory::getApplication()->getTemplate(); $link = $base . JRoute::_(ContentHelperRoute::getArticleRoute($article->slug, $article->catid), false); $url = 'index.php?option=com_mailto&tmpl=component&template=' . $template . '&link=' . MailToHelper::addLink($link); $status = 'width=400,height=350,menubar=yes,resizable=yes'; if ($params->get('show_icons')) { if ($legacy) { $text = JHtml::_('image', 'system/emailButton.png', JText::_('JGLOBAL_EMAIL'), null, true); } else { $text = ' ' . JText::_('JGLOBAL_EMAIL'); } } else { $text = JText::_('JGLOBAL_EMAIL'); } $attribs['title'] = JText::_('JGLOBAL_EMAIL'); $attribs['onclick'] = "window.open(this.href,'win2','" . $status . "'); return false;"; $output = JHtml::_('link', JRoute::_($url), $text, $attribs); return $output; } /** * Display an edit icon for the article. * * This icon will not display in a popup window, nor if the article is trashed. * Edit access checks must be performed in the calling code. * * @param object $article The article information * @param JRegistry $params The item parameters * @param array $attribs Optional attributes for the link * @param boolean $legacy True to use legacy images, false to use icomoon based graphic * * @return string The HTML for the article edit icon. * @since 1.6 */ public static function edit($article, $params, $attribs = array(), $legacy = false) { $user = JFactory::getUser(); $uri = JUri::getInstance(); // Ignore if in a popup window. if ($params && $params->get('popup')) { return; } // Ignore if the state is negative (trashed). if ($article->state < 0) { return; } JHtml::_('bootstrap.tooltip'); // Show checked_out icon if the article is checked out by a different user if (property_exists($article, 'checked_out') && property_exists($article, 'checked_out_time') && $article->checked_out > 0 && $article->checked_out != $user->get('id')) { $checkoutUser = JFactory::getUser($article->checked_out); $button = JHtml::_('image', 'system/checked_out.png', null, null, true); $date = JHtml::_('date', $article->checked_out_time); $tooltip = JText::_('JLIB_HTML_CHECKED_OUT') . ' :: ' . JText::sprintf('COM_CONTENT_CHECKED_OUT_BY', $checkoutUser->name) . '
' . $date; return '' . $button . ''; } $url = 'index.php?option=com_content&task=article.edit&a_id=' . $article->id . '&return=' . base64_encode($uri); if ($article->state == 0) { $overlib = JText::_('JUNPUBLISHED'); } else { $overlib = JText::_('JPUBLISHED'); } $date = JHtml::_('date', $article->created); $author = $article->created_by_alias ? $article->created_by_alias : $article->author; $overlib .= '<br />'; $overlib .= $date; $overlib .= '<br />'; $overlib .= JText::sprintf('COM_CONTENT_WRITTEN_BY', htmlspecialchars($author, ENT_COMPAT, 'UTF-8')); if ($legacy) { $icon = $article->state ? 'edit.png' : 'edit_unpublished.png'; $text = JHtml::_('image', 'system/' . $icon, JText::_('JGLOBAL_EDIT'), null, true); } else { $icon = $article->state ? 'edit' : 'eye-close'; $text = ' ' . JText::_('JGLOBAL_EDIT') . ' '; } $output = JHtml::_('link', JRoute::_($url), $text, $attribs); return $output; } /** * Method to generate a popup link to print an article * * @param object $article The article information * @param JRegistry $params The item parameters * @param array $attribs Optional attributes for the link * @param boolean $legacy True to use legacy images, false to use icomoon based graphic * * @return string The HTML markup for the popup link */ public static function print_popup($article, $params, $attribs = array(), $legacy = false) { $app = JFactory::getApplication(); $input = $app->input; $request = $input->request; $url = ContentHelperRoute::getArticleRoute($article->slug, $article->catid); $url .= '&tmpl=component&print=1&layout=default&page=' . @ $request->limitstart; $status = 'status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=640,height=480,directories=no,location=no'; // checks template image directory for image, if non found default are loaded if ($params->get('show_icons')) { if ($legacy) { $text = JHtml::_('image', 'system/printButton.png', JText::_('JGLOBAL_PRINT'), null, true); } else { $text = ' ' . JText::_('JGLOBAL_PRINT') . ' '; } } else { $text = JText::_('JGLOBAL_PRINT'); } $attribs['title'] = JText::_('JGLOBAL_PRINT'); $attribs['onclick'] = "window.open(this.href,'win2','" . $status . "'); return false;"; $attribs['rel'] = 'nofollow'; return JHtml::_('link', JRoute::_($url), $text, $attribs); } /** * Method to generate a link to print an article * * @param object $article Not used, @deprecated for 4.0 * @param JRegistry $params The item parameters * @param array $attribs Not used, @deprecated for 4.0 * @param boolean $legacy True to use legacy images, false to use icomoon based graphic * * @return string The HTML markup for the popup link */ public static function print_screen($article, $params, $attribs = array(), $legacy = false) { // Checks template image directory for image, if none found default are loaded if ($params->get('show_icons')) { if ($legacy) { $text = JHtml::_('image', 'system/printButton.png', JText::_('JGLOBAL_PRINT'), null, true); } else { $text = ' ' . JText::_('JGLOBAL_PRINT') . ' '; } } else { $text = JText::_('JGLOBAL_PRINT'); } return '' . $text . ''; } }