Software: Apache/2.2.3 (CentOS). PHP/5.1.6 uname -a: Linux mx-ll-110-164-51-230.static.3bb.co.th 2.6.18-194.el5PAE #1 SMP Fri Apr 2 15:37:44 uid=48(apache) gid=48(apache) groups=48(apache) Safe-mode: OFF (not secure) /var/www/html/report/person/app-assets/vendors/js/editors/quill/ui/ drwxr-xr-x |
Viewing file: picker.js (3.52 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) | import DropdownIcon from '../assets/icons/dropdown.svg'; class Picker { constructor(select) { this.select = select; this.container = document.createElement('span'); this.buildPicker(); this.select.style.display = 'none'; this.select.parentNode.insertBefore(this.container, this.select); this.label.addEventListener('click', (event) => { this.container.classList.toggle('ql-expanded'); }); this.select.addEventListener('change', this.update.bind(this)); } buildItem(option) { let item = document.createElement('span'); item.classList.add('ql-picker-item'); if (option.hasAttribute('value')) { item.setAttribute('data-value', option.getAttribute('value')); } if (option.textContent) { item.setAttribute('data-label', option.textContent); } item.addEventListener('click', (event) => { this.selectItem(item, true); }); return item; } buildLabel() { let label = document.createElement('span'); label.classList.add('ql-picker-label'); label.innerHTML = DropdownIcon; this.container.appendChild(label); return label; } buildOptions() { let options = document.createElement('span'); options.classList.add('ql-picker-options'); [].slice.call(this.select.options).forEach((option) => { let item = this.buildItem(option); options.appendChild(item); if (option.hasAttribute('selected')) { this.selectItem(item); } }); this.container.appendChild(options); } buildPicker() { [].slice.call(this.select.attributes).forEach((item) => { this.container.setAttribute(item.name, item.value); }); this.container.classList.add('ql-picker'); this.label = this.buildLabel(); this.buildOptions(); } close() { this.container.classList.remove('ql-expanded'); } selectItem(item, trigger = false) { let selected = this.container.querySelector('.ql-selected'); if (item === selected) return; if (selected != null) { selected.classList.remove('ql-selected'); } if (item != null) { item.classList.add('ql-selected'); this.select.selectedIndex = [].indexOf.call(item.parentNode.children, item); if (item.hasAttribute('data-value')) { this.label.setAttribute('data-value', item.getAttribute('data-value')); } else { this.label.removeAttribute('data-value'); } if (item.hasAttribute('data-label')) { this.label.setAttribute('data-label', item.getAttribute('data-label')); } else { this.label.removeAttribute('data-label'); } if (trigger) { if (typeof Event === 'function') { this.select.dispatchEvent(new Event('change')); } else if (typeof Event === 'object') { // IE11 let event = document.createEvent('Event'); event.initEvent('change', true, true); this.select.dispatchEvent(event); } this.close(); } } else { this.label.removeAttribute('data-value'); this.label.removeAttribute('data-label'); } } update() { let option; if (this.select.selectedIndex > -1) { let item = this.container.querySelector('.ql-picker-options').children[this.select.selectedIndex]; option = this.select.options[this.select.selectedIndex]; this.selectItem(item); } else { this.selectItem(null); } let isActive = option != null && option !== this.select.querySelector('option[selected]'); this.label.classList.toggle('ql-active', isActive); } } export default Picker; |
:: Command execute :: | |
:: Shadow's tricks :D :: | |
Useful Commands
|
:: Preddy's tricks :D :: | |
Php Safe-Mode Bypass (Read Files)
|
--[ c999shell v. 1.0 pre-release build #16 Modded by Shadow & Preddy | RootShell Security Group | r57 c99 shell | Generation time: 0.0127 ]-- |