94 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /**
 | |
|  * @package     Joomla.Site
 | |
|  * @subpackage  com_content
 | |
|  *
 | |
|  * @copyright   (C) 2011 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\CMS\HTML\HTMLHelper;
 | |
| 
 | |
| // Create shortcut
 | |
| $urls = json_decode($this->item->urls);
 | |
| 
 | |
| // Create shortcuts to some parameters.
 | |
| $params = $this->item->params;
 | |
| if ($urls && (!empty($urls->urla) || !empty($urls->urlb) || !empty($urls->urlc))) :
 | |
|     ?>
 | |
| <div class="com-content-article__links content-links">
 | |
|     <ul class="com-content-article__links content-list">
 | |
|         <?php
 | |
|             $urlarray = [
 | |
|             [$urls->urla, $urls->urlatext, $urls->targeta, 'a'],
 | |
|             [$urls->urlb, $urls->urlbtext, $urls->targetb, 'b'],
 | |
|             [$urls->urlc, $urls->urlctext, $urls->targetc, 'c']
 | |
|             ];
 | |
|             foreach ($urlarray as $url) :
 | |
|                 $link = $url[0];
 | |
|                 $label = $url[1];
 | |
|                 $target = $url[2];
 | |
|                 $id = $url[3];
 | |
| 
 | |
|                 if (! $link) :
 | |
|                     continue;
 | |
|                 endif;
 | |
| 
 | |
|                 // If no label is present, take the link
 | |
|                 $label = $label ?: $link;
 | |
| 
 | |
|                 // If no target is present, use the default
 | |
|                 $target = $target ?: $params->get('target' . $id);
 | |
|                 ?>
 | |
|             <li class="com-content-article__link content-links-<?php echo $id; ?>">
 | |
|                 <?php
 | |
|                     // Compute the correct link
 | |
| 
 | |
|                 switch ($target) {
 | |
|                     case 1:
 | |
|                         // Open in a new window
 | |
|                         echo '<a href="' . htmlspecialchars($link, ENT_COMPAT, 'UTF-8') . '" target="_blank" rel="nofollow noopener noreferrer">' .
 | |
|                             htmlspecialchars($label, ENT_COMPAT, 'UTF-8') . '</a>';
 | |
|                         break;
 | |
| 
 | |
|                     case 2:
 | |
|                         // Open in a popup window
 | |
|                         $attribs = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=600,height=600';
 | |
|                         echo "<a href=\"" . htmlspecialchars($link, ENT_COMPAT, 'UTF-8') . "\" onclick=\"window.open(this.href, 'targetWindow', '" . $attribs . "'); return false;\" rel=\"noopener noreferrer\">" .
 | |
|                             htmlspecialchars($label, ENT_COMPAT, 'UTF-8') . '</a>';
 | |
|                         break;
 | |
|                     case 3:
 | |
|                         echo '<a href="' . htmlspecialchars($link, ENT_COMPAT, 'UTF-8') . '" rel="noopener noreferrer" data-bs-toggle="modal" data-bs-target="#linkModal">' .
 | |
|                             htmlspecialchars($label, ENT_COMPAT, 'UTF-8') . ' </a>';
 | |
|                         echo HTMLHelper::_(
 | |
|                             'bootstrap.renderModal',
 | |
|                             'linkModal',
 | |
|                             [
 | |
|                                 'url'    => $link,
 | |
|                                 'title'  => $label,
 | |
|                                 'height' => '100%',
 | |
|                                 'width'  => '100%',
 | |
|                                 'modalWidth'  => '500',
 | |
|                                 'bodyHeight'  => '500',
 | |
|                                 'footer' => '<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" aria-hidden="true">'
 | |
|                                     . \Joomla\CMS\Language\Text::_('JLIB_HTML_BEHAVIOR_CLOSE') . '</button>'
 | |
|                             ]
 | |
|                         );
 | |
|                         break;
 | |
| 
 | |
|                     default:
 | |
|                         // Open in parent window
 | |
|                         echo '<a href="' . htmlspecialchars($link, ENT_COMPAT, 'UTF-8') . '" rel="nofollow">' .
 | |
|                             htmlspecialchars($label, ENT_COMPAT, 'UTF-8') . ' </a>';
 | |
|                         break;
 | |
|                 }
 | |
|                 ?>
 | |
|                 </li>
 | |
|             <?php endforeach; ?>
 | |
|     </ul>
 | |
| </div>
 | |
| <?php endif; ?>
 |