Server : LiteSpeed System : Linux server 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : alsaif ( 1057) PHP Version : 7.4.33 Disable Function : show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/alsaif/domains/alsaif.group/private_html/plugins/system/nrframework/fields/ |
<?php
/**
* @author Tassos Marinos <info@tassos.gr>
* @link https://www.tassos.gr
* @copyright Copyright © 2024 Tassos All Rights Reserved
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
*/
// No direct access to this file
defined('_JEXEC') or die;
use Joomla\CMS\Form\Field\PasswordField;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Factory;
class JFormFieldNR_Password extends PasswordField
{
/**
* Method to get the field input markup.
*
* @return string The field input markup.
*/
public function getInput()
{
if (defined('nrJ4'))
{
return parent::getInput();
}
$id = $this->id . '_btn';
$doc = Factory::getDocument();
HTMLHelper::stylesheet('plg_system_nrframework/fields.css', false, true);
$doc->addStyleDeclaration('
.nr-pass-btn {
display:flex;
align-items:center;
}
.nr-pass-btn > * {
margin:0 !important;
padding:0 !important;
}
.nr-pass-btn label {
margin-left:5px !important;
user-select: none;
}
');
$doc->addScriptDeclaration('
jQuery(function($) {
$("#' . $id . '").change(function() {
var type = $(this).is(":checked") ? "text" : "password";
$(this).closest(".nr-pass").find(".nr-pass-input input").attr("type", type);
})
})
');
return '
<div class="nr-pass input-flex">
<div class="input-flex-item nr-pass-input">'. parent::getInput() .'</div>
<div class="input-flex-item nr-pass-btn">
<input name="' . $id . '" id="' . $id . '" type="checkbox"/>
<label for="' . $id . '">' . Text::_("JSHOW") . '</label>
</div>
</div>
';
}
}