[ Index ] |
PHP Cross Reference of Joomla 4.2.2 documentation |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * @package Joomla.Administrator 5 * @subpackage com_users 6 * 7 * @copyright (C) 2022 Open Source Matters, Inc. <https://www.joomla.org> 8 * @license GNU General Public License version 2 or later; see LICENSE.txt 9 */ 10 11 // Prevent direct access 12 defined('_JEXEC') or die; 13 14 use Joomla\CMS\Factory; 15 use Joomla\CMS\HTML\HTMLHelper; 16 use Joomla\CMS\Language\Text; 17 use Joomla\CMS\Router\Route; 18 use Joomla\CMS\Uri\Uri; 19 use Joomla\Component\Users\Administrator\Helper\Mfa as MfaHelper; 20 use Joomla\Component\Users\Administrator\Model\MethodsModel; 21 use Joomla\Component\Users\Administrator\View\Methods\HtmlView; 22 23 /** @var HtmlView $this */ 24 25 HTMLHelper::_('bootstrap.tooltip', '.hasTooltip'); 26 27 /** @var MethodsModel $model */ 28 $model = $this->getModel(); 29 30 $this->document->getWebAssetManager()->useScript('com_users.two-factor-list'); 31 32 $canAddEdit = MfaHelper::canAddEditMethod($this->user); 33 $canDelete = MfaHelper::canDeleteMethod($this->user); 34 ?> 35 <div id="com-users-methods-list-container"> 36 <?php foreach ($this->methods as $methodName => $method) : 37 $methodClass = 'com-users-methods-list-method-name-' . htmlentities($method['name']) 38 . ($this->defaultMethod == $methodName ? ' com-users-methods-list-method-default' : ''); 39 ?> 40 <div class="com-users-methods-list-method <?php echo $methodClass?> mx-1 mt-3 mb-4 card <?php echo count($method['active']) ? 'border-secondary' : '' ?>"> 41 <div class="com-users-methods-list-method-header card-header <?php echo count($method['active']) ? 'border-secondary bg-secondary text-white' : 'bg-light' ?> d-flex flex-wrap align-items-center gap-2"> 42 <div class="com-users-methods-list-method-image pt-1 px-3 pb-2 bg-light rounded-2"> 43 <img src="<?php echo Uri::root() . $method['image'] ?>" 44 alt="<?php echo $this->escape($method['display']) ?>" 45 class="img-fluid" 46 > 47 </div> 48 <div class="com-users-methods-list-method-title flex-grow-1 d-flex flex-column"> 49 <h3 class="<?php echo count($method['active']) ? 'text-white' : '' ?> fs-2 p-0 m-0 d-flex gap-3 align-items-center"> 50 <span class="me-1 flex-grow-1"> 51 <?php echo $method['display'] ?> 52 </span> 53 <?php if ($this->defaultMethod == $methodName) : ?> 54 <span id="com-users-methods-list-method-default-tag" class="badge bg-info p-2 fs-4 me-1"> 55 <?php echo Text::_('COM_USERS_MFA_LIST_DEFAULTTAG') ?> 56 </span> 57 <?php endif; ?> 58 </h3> 59 </div> 60 </div> 61 62 <div class="com-users-methods-list-method-records-container card-body"> 63 <div class="com-users-methods-list-method-info my-1 pb-1 text-muted"> 64 <?php echo $method['shortinfo'] ?> 65 </div> 66 67 <?php if (count($method['active'])) : ?> 68 <div class="com-users-methods-list-method-records pt-2 my-2"> 69 <?php foreach ($method['active'] as $record) : ?> 70 <div class="com-users-methods-list-method-record d-flex flex-row flex-wrap justify-content-start border-top py-2"> 71 <div class="com-users-methods-list-method-record-info flex-grow-1 d-flex flex-column align-items-start gap-1"> 72 <?php if ($methodName === 'backupcodes') : ?> 73 <?php if ($canAddEdit) : ?> 74 <div class="alert alert-info mt-1 w-100"> 75 <?php echo Text::sprintf('COM_USERS_MFA_BACKUPCODES_PRINT_PROMPT_HEAD', Route::_('index.php?option=com_users&task=method.edit&id=' . (int) $record->id . ($this->returnURL ? '&returnurl=' . $this->escape(urlencode($this->returnURL)) : '') . '&user_id=' . $this->user->id)) ?> 76 </div> 77 <?php endif ?> 78 <?php else : ?> 79 <h4 class="com-users-methods-list-method-record-title-container mb-1 fs-3"> 80 <?php if ($record->default) : ?> 81 <span id="com-users-methods-list-method-default-badge-small" 82 class="text-warning me-1 hasTooltip" 83 title="<?php echo $this->escape(Text::_('COM_USERS_MFA_LIST_DEFAULTTAG')) ?>"> 84 <span class="icon icon-star" aria-hidden="true"></span> 85 <span class="visually-hidden"><?php echo $this->escape(Text::_('COM_USERS_MFA_LIST_DEFAULTTAG')) ?></span> 86 </span> 87 <?php endif; ?> 88 <span class="com-users-methods-list-method-record-title fw-bold"> 89 <?php echo $this->escape($record->title); ?> 90 </span> 91 </h4> 92 <?php endif; ?> 93 94 <div class="com-users-methods-list-method-record-lastused my-1 d-flex flex-row flex-wrap justify-content-start gap-5 text-muted w-100"> 95 <span class="com-users-methods-list-method-record-createdon"> 96 <?php echo Text::sprintf('COM_USERS_MFA_LBL_CREATEDON', $model->formatRelative($record->created_on)) ?> 97 </span> 98 <span class="com-users-methods-list-method-record-lastused-date"> 99 <?php echo Text::sprintf('COM_USERS_MFA_LBL_LASTUSED', $model->formatRelative($record->last_used)) ?> 100 </span> 101 </div> 102 103 </div> 104 105 <?php if ($methodName !== 'backupcodes' && ($canAddEdit || $canDelete)) : ?> 106 <div class="com-users-methods-list-method-record-actions my-2 d-flex flex-row flex-wrap justify-content-center align-content-center align-items-start"> 107 <?php if ($canAddEdit) : ?> 108 <a class="com-users-methods-list-method-record-edit btn btn-secondary btn-sm mx-1 hasTooltip" 109 href="<?php echo Route::_('index.php?option=com_users&task=method.edit&id=' . (int) $record->id . ($this->returnURL ? '&returnurl=' . $this->escape(urlencode($this->returnURL)) : '') . '&user_id=' . $this->user->id)?>" 110 title="<?php echo Text::_('JACTION_EDIT') ?> <?php echo $this->escape($record->title); ?>"> 111 <span class="icon icon-pencil" aria-hidden="true"></span> 112 <span class="visually-hidden"><?php echo Text::_('JACTION_EDIT') ?> <?php echo $this->escape($record->title); ?></span> 113 </a> 114 <?php endif ?> 115 116 <?php if ($method['canDisable'] && $canDelete) : ?> 117 <a class="com-users-methods-list-method-record-delete btn btn-danger btn-sm mx-1 hasTooltip" 118 href="<?php echo Route::_('index.php?option=com_users&task=method.delete&id=' . (int) $record->id . ($this->returnURL ? '&returnurl=' . $this->escape(urlencode($this->returnURL)) : '') . '&user_id=' . $this->user->id . '&' . Factory::getApplication()->getFormToken() . '=1')?>" 119 title="<?php echo Text::_('JACTION_DELETE') ?> <?php echo $this->escape($record->title); ?>"> 120 <span class="icon icon-trash" aria-hidden="true"></span> 121 <span class="visually-hidden"><?php echo Text::_('JACTION_DELETE') ?> <?php echo $this->escape($record->title); ?></span> 122 </a> 123 <?php endif; ?> 124 </div> 125 <?php endif; ?> 126 </div> 127 <?php endforeach; ?> 128 </div> 129 <?php endif; ?> 130 131 <?php if ($canAddEdit && (empty($method['active']) || $method['allowMultiple'])) : ?> 132 <div class="com-users-methods-list-method-addnew-container border-top pt-2"> 133 <a href="<?php echo Route::_('index.php?option=com_users&task=method.add&method=' . $this->escape(urlencode($method['name'])) . ($this->returnURL ? '&returnurl=' . $this->escape(urlencode($this->returnURL)) : '') . '&user_id=' . $this->user->id)?>" 134 class="com-users-methods-list-method-addnew btn btn-outline-primary btn-sm" 135 > 136 <span class="icon-plus-2" aria-hidden="true"></span> 137 <?php echo Text::sprintf('COM_USERS_MFA_ADD_AUTHENTICATOR_OF_TYPE', $method['display']) ?> 138 </a> 139 </div> 140 <?php endif; ?> 141 </div> 142 </div> 143 <?php endforeach; ?> 144 </div>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Sep 7 05:41:13 2022 | Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer |