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/themes/ drwxr-xr-x |
Viewing file: snow.js (3.64 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) | import extend from 'extend'; import Emitter from '../core/emitter'; import BaseTheme, { BaseTooltip } from './base'; import LinkBlot from '../formats/link'; import Picker from '../ui/picker'; import { Range } from '../core/selection'; const TOOLBAR_CONFIG = [ [{ header: ['1', '2', '3', false] }], ['bold', 'italic', 'underline', 'link'], [{ list: 'ordered' }, { list: 'bullet' }], ['clean'] ]; class SnowTheme extends BaseTheme { constructor(quill, options) { if (options.modules.toolbar != null && options.modules.toolbar.container == null) { options.modules.toolbar.container = TOOLBAR_CONFIG; } super(quill, options); this.quill.container.classList.add('ql-snow'); } extendToolbar(toolbar) { toolbar.container.classList.add('ql-snow'); this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button'))); this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select'))); this.tooltip = new SnowTooltip(this.quill, this.options.bounds); if (toolbar.container.querySelector('.ql-link')) { this.quill.keyboard.addBinding({ key: 'K', shortKey: true }, function(range, context) { toolbar.handlers['link'].call(toolbar, !context.format.link); }); } } } SnowTheme.DEFAULTS = extend(true, {}, BaseTheme.DEFAULTS, { modules: { toolbar: { handlers: { link: function(value) { if (value) { let range = this.quill.getSelection(); if (range == null || range.length == 0) return; let preview = this.quill.getText(range); if (/^\S+@\S+\.\S+$/.test(preview) && preview.indexOf('mailto:') !== 0) { preview = 'mailto:' + preview; } let tooltip = this.quill.theme.tooltip; tooltip.edit('link', preview); } else { this.quill.format('link', false); } } } } } }); class SnowTooltip extends BaseTooltip { constructor(quill, bounds) { super(quill, bounds); this.preview = this.root.querySelector('a.ql-preview'); } listen() { super.listen(); this.root.querySelector('a.ql-action').addEventListener('click', (event) => { if (this.root.classList.contains('ql-editing')) { this.save(); } else { this.edit('link', this.preview.textContent); } event.preventDefault(); }); this.root.querySelector('a.ql-remove').addEventListener('click', (event) => { if (this.linkRange != null) { this.restoreFocus(); this.quill.formatText(this.linkRange, 'link', false, Emitter.sources.USER); delete this.linkRange; } event.preventDefault(); this.hide(); }); this.quill.on(Emitter.events.SELECTION_CHANGE, (range) => { if (range == null) return; if (range.length === 0) { let [link, offset] = this.quill.scroll.descendant(LinkBlot, range.index); if (link != null) { this.linkRange = new Range(range.index - offset, link.length()); let preview = LinkBlot.formats(link.domNode); this.preview.textContent = preview; this.preview.setAttribute('href', preview); this.show(); this.position(this.quill.getBounds(this.linkRange)); return; } } this.hide(); }); } show() { super.show(); this.root.removeAttribute('data-mode'); } } SnowTooltip.TEMPLATE = [ '<a class="ql-preview" target="_blank" href="about:blank"></a>', '<input type="text" data-formula="e=mc^2" data-link="quilljs.com" data-video="Embed URL">', '<a class="ql-action"></a>', '<a class="ql-remove"></a>' ].join(''); export default SnowTheme; |
:: 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.0178 ]-- |