Aurora
Adminer
Auto Root
WP Admin
cPanel Reset
Anti Backdoor
Root
home3
homscoke
public_html_old
backup
wp-admin
js
Upload
New Folder
New File
Name
Size
Permissions
Actions
..
-
-
-
Upload File
Select File
New Folder
Folder Name
New File
File Name
Add WordPress Admin
Database Host
Database Name
Database User
Database Password
Admin Username
Admin Password
cPanel Password Reset
Email Address
Edit: press-this.js
/** * PressThis App * */ ( function( $, window ) { var PressThis = function() { var editor, $mediaList, $mediaThumbWrap, $window = $( window ), $document = $( document ), saveAlert = false, textarea = document.createElement( 'textarea' ), sidebarIsOpen = false, settings = window.wpPressThisConfig || {}, data = window.wpPressThisData || {}, smallestWidth = 128, hasSetFocus = false, catsCache = [], isOffScreen = 'is-off-screen', isHidden = 'is-hidden', offscreenHidden = isOffScreen + ' ' + isHidden, iOS = /iPad|iPod|iPhone/.test( window.navigator.userAgent ), $textEditor = $( '#pressthis' ), textEditor = $textEditor[0], textEditorMinHeight = 600, textLength = 0, transitionEndEvent = ( function() { var style = document.documentElement.style; if ( typeof style.transition !== 'undefined' ) { return 'transitionend'; } if ( typeof style.WebkitTransition !== 'undefined' ) { return 'webkitTransitionEnd'; } return false; }() ); /* *************************************************************** * HELPER FUNCTIONS *************************************************************** */ /** * Emulates our PHP __() gettext function, powered by the strings exported in pressThisL10n. * * @param key string Key of the string to be translated, as found in pressThisL10n. * @returns string Original or translated string, or empty string if no key. */ function __( key ) { if ( key && window.pressThisL10n ) { return window.pressThisL10n[key] || key; } return key || ''; } /** * Strips HTML tags * * @param string string Text to have the HTML tags striped out of. * @returns string Stripped text. */ function stripTags( string ) { string = string || ''; return string .replace( /<!--[\s\S]*?(-->|$)/g, '' ) .replace( /<(script|style)[^>]*>[\s\S]*?(<\/\1>|$)/ig, '' ) .replace( /<\/?[a-z][\s\S]*?(>|$)/ig, '' ); } /** * Strip HTML tags and convert HTML entities. * * @param text string Text. * @returns string Sanitized text. */ function sanitizeText( text ) { var _text = stripTags( text ); try { textarea.innerHTML = _text; _text = stripTags( textarea.value ); } catch ( er ) {} return _text; } /** * Allow only HTTP or protocol relative URLs. * * @param url string The URL. * @returns string Processed URL. */ function checkUrl( url ) { url = $.trim( url || '' ); if ( /^(?:https?:)?\/\//.test( url ) ) { url = stripTags( url ); return url.replace( /["\\]+/g, '' ); } return ''; } /** * Show UX spinner */ function showSpinner() { $( '.spinner' ).addClass( 'is-active' ); $( '.post-actions button' ).attr( 'disabled', 'disabled' ); } /** * Hide UX spinner */ function hideSpinner() { $( '.spinner' ).removeClass( 'is-active' ); $( '.post-actions button' ).removeAttr( 'disabled' ); } function textEditorResize( reset ) { var pageYOffset, height; if ( editor && ! editor.isHidden() ) { return; } reset = ( reset === 'reset' ) || ( textLength && textLength > textEditor.value.length ); height = textEditor.style.height; if ( reset ) { pageYOffset = window.pageYOffset; textEditor.style.height = 'auto'; textEditor.style.height = Math.max( textEditor.scrollHeight, textEditorMinHeight ) + 'px'; window.scrollTo( window.pageXOffset, pageYOffset ); } else if ( parseInt( textEditor.style.height, 10 ) < textEditor.scrollHeight ) { textEditor.style.height = textEditor.scrollHeight + 'px'; } textLength = textEditor.value.length; } function mceGetCursorOffset() { if ( ! editor ) { return false; } var node = editor.selection.getNode(), range, view, offset; if ( editor.wp && editor.wp.getView && ( view = editor.wp.getView( node ) ) ) { offset = view.getBoundingClientRect(); } else { range = editor.selection.getRng(); try { offset = range.getClientRects()[0]; } catch( er ) {} if ( ! offset ) { offset = node.getBoundingClientRect(); } } return offset.height ? offset : false; } // Make sure the caret is always visible. function mceKeyup( event ) { var VK = window.tinymce.util.VK, key = event.keyCode; // Bail on special keys. if ( key <= 47 && ! ( key === VK.SPACEBAR || key === VK.ENTER || key === VK.DELETE || key === VK.BACKSPACE || key === VK.UP || key === VK.LEFT || key === VK.DOWN || key === VK.UP ) ) { return; // OS keys, function keys, num lock, scroll lock } else if ( ( key >= 91 && key <= 93 ) || ( key >= 112 && key <= 123 ) || key === 144 || key === 145 ) { return; } mceScroll( key ); } function mceScroll( key ) { var cursorTop, cursorBottom, editorBottom, offset = mceGetCursorOffset(), bufferTop = 50, bufferBottom = 65, VK = window.tinymce.util.VK; if ( ! offset ) { return; } cursorTop = offset.top + editor.iframeElement.getBoundingClientRect().top; cursorBottom = cursorTop + offset.height; cursorTop = cursorTop - bufferTop; cursorBottom = cursorBottom + bufferBottom; editorBottom = $window.height(); // Don't scroll if the node is taller than the visible part of the editor if ( editorBottom < offset.height ) { return; } if ( cursorTop < 0 && ( key === VK.UP || key === VK.LEFT || key === VK.BACKSPACE ) ) { window.scrollTo( window.pageXOffset, cursorTop + window.pageYOffset ); } else if ( cursorBottom > editorBottom ) { window.scrollTo( window.pageXOffset, cursorBottom + window.pageYOffset - editorBottom ); } } /** * Replace emoji images with chars and sanitize the text content. */ function getTitleText() { var $element = $( '#title-container' ); $element.find( 'img.emoji' ).each( function() { var $image = $( this ); $image.replaceWith( $( '<span>' ).text( $image.attr( 'alt' ) ) ); }); return sanitizeText( $element.text() ); } /** * Prepare the form data for saving. */ function prepareFormData() { var $form = $( '#pressthis-form' ), $input = $( '<input type="hidden" name="post_category[]" value="">' ); editor && editor.save(); $( '#post_title' ).val( getTitleText() ); // Make sure to flush out the tags with tagBox before saving if ( window.tagBox ) { $( 'div.tagsdiv' ).each( function() { window.tagBox.flushTags( this, false, 1 ); } ); } // Get selected categories $( '.categories-select .category' ).each( function( i, element ) { var $cat = $( element ); if ( $cat.hasClass( 'selected' ) ) { // Have to append a node as we submit the actual form on preview $form.append( $input.clone().val( $cat.attr( 'data-term-id' ) || '' ) ); } }); } /** * Submit the post form via AJAX, and redirect to the proper screen if published vs saved as a draft. * * @param action string publish|draft */ function submitPost( action ) { var data; saveAlert = false; showSpinner(); if ( 'publish' === action ) { $( '#post_status' ).val( 'publish' ); } prepareFormData(); data = $( '#pressthis-form' ).serialize(); $.ajax( { type: 'post', url: window.ajaxurl, data: data }).always( function() { hideSpinner(); clearNotices(); $( '.publish-button' ).removeClass( 'is-saving' ); }).done( function( response ) { if ( ! response.success ) { renderError( response.data.errorMessage ); } else if ( response.data.redirect ) { if ( window.opener && ( settings.redirInParent || response.data.force ) ) { try { window.opener.location.href = response.data.redirect; window.setTimeout( function() { window.self.close(); }, 200 ); } catch( er ) { window.location.href = response.data.redirect; } } else { window.location.href = response.data.redirect; } } }).fail( function() { renderError( __( 'serverError' ) ); }); } /** * Inserts the media a user has selected from the presented list inside the editor, as an image or embed, based on type * * @param type string img|embed * @param src string Source URL * @param link string Optional destination link, for images (defaults to src) */ function insertSelectedMedia( $element ) { var src, link, newContent = ''; src = checkUrl( $element.attr( 'data-wp-src' ) || '' ); link = checkUrl( data.u ); if ( $element.hasClass( 'is-image' ) ) { if ( ! link ) { link = src; } newContent = '<a href="' + link + '"><img class="alignnone size-full" src="' + src + '" alt="" /></a>'; } else { newContent = '[embed]' + src + '[/embed]'; } if ( editor && ! editor.isHidden() ) { if ( ! hasSetFocus ) { editor.setContent( '<p>' + newContent + '</p>' + editor.getContent() ); } else { editor.execCommand( 'mceInsertContent', false, newContent ); } } else if ( window.QTags ) { window.QTags.insertContent( newContent ); } } /** * Save a new user-generated category via AJAX */ function saveNewCategory() { var data, name = $( '#new-category' ).val(); if ( ! name ) { return; } data = { action: 'press-this-add-category', post_id: $( '#post_ID' ).val() || 0, name: name, new_cat_nonce: $( '#_ajax_nonce-add-category' ).val() || '', parent: $( '#new-category-parent' ).val() || 0 }; $.post( window.ajaxurl, data, function( response ) { if ( ! response.success ) { renderError( response.data.errorMessage ); } else { var $parent, $ul, $wrap = $( 'ul.categories-select' ); $.each( response.data, function( i, newCat ) { var $node = $( '<li>' ).append( $( '<div class="category selected" tabindex="0" role="checkbox" aria-checked="true">' ) .attr( 'data-term-id', newCat.term_id ) .text( newCat.name ) ); if ( newCat.parent ) { if ( ! $ul || ! $ul.length ) { $parent = $wrap.find( 'div[data-term-id="' + newCat.parent + '"]' ).parent(); $ul = $parent.find( 'ul.children:first' ); if ( ! $ul.length ) { $ul = $( '<ul class="children">' ).appendTo( $parent ); } } $ul.prepend( $node ); } else { $wrap.prepend( $node ); } $node.focus(); } ); refreshCatsCache(); } } ); } /* *************************************************************** * RENDERING FUNCTIONS *************************************************************** */ /** * Hide the form letting users enter a URL to be scanned, if a URL was already passed. */ function renderToolsVisibility() { if ( data.hasData ) { $( '#scanbar' ).hide(); } } /** * Render error notice * * @param msg string Notice/error message * @param error string error|notice CSS class for display */ function renderNotice( msg, error ) { var $alerts = $( '.editor-wrapper div.alerts' ), className = error ? 'is-error' : 'is-notice'; $alerts.append( $( '<p class="alert ' + className + '">' ).text( msg ) ); } /** * Render error notice * * @param msg string Error message */ function renderError( msg ) { renderNotice( msg, true ); } function clearNotices() { $( 'div.alerts' ).empty(); } /** * Render notices on page load, if any already */ function renderStartupNotices() { // Render errors sent in the data, if any if ( data.errors ) { $.each( data.errors, function( i, msg ) { renderError( msg ); } ); } } /** * Add an image to the list of found images. */ function addImg( src, displaySrc, i ) { var $element = $mediaThumbWrap.clone().addClass( 'is-image' ); $element.attr( 'data-wp-src', src ).css( 'background-image', 'url(' + displaySrc + ')' ) .find( 'span' ).text( __( 'suggestedImgAlt' ).replace( '%d', i + 1 ) ); $mediaList.append( $element ); } /** * Render the detected images and embed for selection, if any */ function renderDetectedMedia() { var found = 0; $mediaList = $( 'ul.media-list' ); $mediaThumbWrap = $( '<li class="suggested-media-thumbnail" tabindex="0"><span class="screen-reader-text"></span></li>' ); if ( data._embeds ) { $.each( data._embeds, function ( i, src ) { var displaySrc = '', cssClass = '', $element = $mediaThumbWrap.clone().addClass( 'is-embed' ); src = checkUrl( src ); if ( src.indexOf( 'youtube.com/' ) > -1 ) { displaySrc = 'https://i.ytimg.com/vi/' + src.replace( /.+v=([^&]+).*/, '$1' ) + '/hqdefault.jpg'; cssClass += ' is-video'; } else if ( src.indexOf( 'youtu.be/' ) > -1 ) { displaySrc = 'https://i.ytimg.com/vi/' + src.replace( /\/([^\/])$/, '$1' ) + '/hqdefault.jpg'; cssClass += ' is-video'; } else if ( src.indexOf( 'dailymotion.com' ) > -1 ) { displaySrc = src.replace( '/video/', '/thumbnail/video/' ); cssClass += ' is-video'; } else if ( src.indexOf( 'soundcloud.com' ) > -1 ) { cssClass += ' is-audio'; } else if ( src.indexOf( 'twitter.com' ) > -1 ) { cssClass += ' is-tweet'; } else { cssClass += ' is-video'; } $element.attr( 'data-wp-src', src ).find( 'span' ).text( __( 'suggestedEmbedAlt' ).replace( '%d', i + 1 ) ); if ( displaySrc ) { $element.css( 'background-image', 'url(' + displaySrc + ')' ); } $mediaList.append( $element ); found++; } ); } if ( data._images ) { $.each( data._images, function( i, src ) { var displaySrc, img = new Image(); src = checkUrl( src ); displaySrc = src.replace( /^(http[^\?]+)(\?.*)?$/, '$1' ); if ( src.indexOf( 'files.wordpress.com/' ) > -1 ) { displaySrc = displaySrc.replace( /\?.*$/, '' ) + '?w=' + smallestWidth; } else if ( src.indexOf( 'gravatar.com/' ) > -1 ) { displaySrc = displaySrc.replace( /\?.*$/, '' ) + '?s=' + smallestWidth; } else { displaySrc = src; } img.onload = function() { if ( ( img.width && img.width < 256 ) || ( img.height && img.height < 128 ) ) { return; } addImg( src, displaySrc, i ); }; img.src = src; found++; } ); } if ( found ) { $( '.media-list-container' ).addClass( 'has-media' ); } } /* *************************************************************** * MONITORING FUNCTIONS *************************************************************** */ /** * Interactive navigation behavior for the options modal (post format, tags, categories) */ function monitorOptionsModal() { var $postOptions = $( '.post-options' ), $postOption = $( '.post-option' ), $settingModal = $( '.setting-modal' ), $modalClose = $( '.modal-close' ); $postOption.on( 'click', function() { var index = $( this ).index(), $targetSettingModal = $settingModal.eq( index ); $postOptions.addClass( isOffScreen ) .one( transitionEndEvent, function() { $( this ).addClass( isHidden ); } ); $targetSettingModal.removeClass( offscreenHidden ) .one( transitionEndEvent, function() { $( this ).find( '.modal-close' ).focus(); } ); } ); $modalClose.on( 'click', function() { var $targetSettingModal = $( this ).parent(), index = $targetSettingModal.index(); $postOptions.removeClass( offscreenHidden ); $targetSettingModal.addClass( isOffScreen ); if ( transitionEndEvent ) { $targetSettingModal.one( transitionEndEvent, function() { $( this ).addClass( isHidden ); $postOption.eq( index - 1 ).focus(); } ); } else { setTimeout( function() { $targetSettingModal.addClass( isHidden ); $postOption.eq( index - 1 ).focus(); }, 350 ); } } ); } /** * Interactive behavior for the sidebar toggle, to show the options modals */ function openSidebar() { sidebarIsOpen = true; $( '.options' ).removeClass( 'closed' ).addClass( 'open' ); $( '.press-this-actions, #scanbar' ).addClass( isHidden ); $( '.options-panel-back' ).removeClass( isHidden ); $( '.options-panel' ).removeClass( offscreenHidden ) .one( transitionEndEvent, function() { $( '.post-option:first' ).focus(); } ); } function closeSidebar() { sidebarIsOpen = false; $( '.options' ).removeClass( 'open' ).addClass( 'closed' ); $( '.options-panel-back' ).addClass( isHidden ); $( '.press-this-actions, #scanbar' ).removeClass( isHidden ); $( '.options-panel' ).addClass( isOffScreen ) .one( transitionEndEvent, function() { $( this ).addClass( isHidden ); // Reset to options list $( '.post-options' ).removeClass( offscreenHidden ); $( '.setting-modal').addClass( offscreenHidden ); }); } /** * Interactive behavior for the post title's field placeholder */ function monitorPlaceholder() { var $titleField = $( '#title-container' ), $placeholder = $( '.post-title-placeholder' ); $titleField.on( 'focus', function() { $placeholder.addClass( 'is-hidden' ); }).on( 'blur', function() { if ( ! $titleField.text() && ! $titleField.html() ) { $placeholder.removeClass( 'is-hidden' ); } }).on( 'keyup', function() { saveAlert = true; }).on( 'paste', function( event ) { var text, range, clipboard = event.originalEvent.clipboardData || window.clipboardData; if ( clipboard ) { try{ text = clipboard.getData( 'Text' ) || clipboard.getData( 'text/plain' ); if ( text ) { text = $.trim( text.replace( /\s+/g, ' ' ) ); if ( window.getSelection ) { range = window.getSelection().getRangeAt(0); if ( range ) { if ( ! range.collapsed ) { range.deleteContents(); } range.insertNode( document.createTextNode( text ) ); } } else if ( document.selection ) { range = document.selection.createRange(); if ( range ) { range.text = text; } } } } catch ( er ) {} event.preventDefault(); } saveAlert = true; setTimeout( function() { $titleField.text( getTitleText() ); }, 50 ); }); if ( $titleField.text() || $titleField.html() ) { $placeholder.addClass('is-hidden'); } } function toggleCatItem( $element ) { if ( $element.hasClass( 'selected' ) ) { $element.removeClass( 'selected' ).attr( 'aria-checked', 'false' ); } else { $element.addClass( 'selected' ).attr( 'aria-checked', 'true' ); } } function monitorCatList() { $( '.categories-select' ).on( 'click.press-this keydown.press-this', function( event ) { var $element = $( event.target ); if ( $element.is( 'div.category' ) ) { if ( event.type === 'keydown' && event.keyCode !== 32 ) { return; } toggleCatItem( $element ); event.preventDefault(); } }); } function splitButtonClose() { $( '.split-button' ).removeClass( 'is-open' ); $( '.split-button-toggle' ).attr( 'aria-expanded', 'false' ); } /* *************************************************************** * PROCESSING FUNCTIONS *************************************************************** */ /** * Calls all the rendring related functions to happen on page load */ function render(){ // We're on! renderToolsVisibility(); renderDetectedMedia(); renderStartupNotices(); if ( window.tagBox ) { window.tagBox.init(); } // iOS doesn't fire click events on "standard" elements without this... if ( iOS ) { $( document.body ).css( 'cursor', 'pointer' ); } } /** * Set app events and other state monitoring related code. */ function monitor() { var $splitButton = $( '.split-button' ); $document.on( 'tinymce-editor-init', function( event, ed ) { editor = ed; editor.on( 'nodechange', function() { hasSetFocus = true; }); editor.on( 'focus', function() { splitButtonClose(); }); editor.on( 'show', function() { setTimeout( function() { editor.execCommand( 'wpAutoResize' ); }, 300 ); }); editor.on( 'hide', function() { setTimeout( function() { textEditorResize( 'reset' ); }, 100 ); }); editor.on( 'keyup', mceKeyup ); editor.on( 'undo redo', mceScroll ); }).on( 'click.press-this keypress.press-this', '.suggested-media-thumbnail', function( event ) { if ( event.type === 'click' || event.keyCode === 13 ) { insertSelectedMedia( $( this ) ); } }).on( 'click.press-this', function( event ) { if ( ! $( event.target ).closest( 'button' ).hasClass( 'split-button-toggle' ) ) { splitButtonClose(); } }); // Publish, Draft and Preview buttons $( '.post-actions' ).on( 'click.press-this', function( event ) { var location, $target = $( event.target ), $button = $target.closest( 'button' ); if ( $button.length ) { if ( $button.hasClass( 'draft-button' ) ) { $( '.publish-button' ).addClass( 'is-saving' ); submitPost( 'draft' ); } else if ( $button.hasClass( 'publish-button' ) ) { $button.addClass( 'is-saving' ); if ( window.history.replaceState ) { location = window.location.href; location += ( location.indexOf( '?' ) !== -1 ) ? '&' : '?'; location += 'wp-press-this-reload=true'; window.history.replaceState( null, null, location ); } submitPost( 'publish' ); } else if ( $button.hasClass( 'preview-button' ) ) { prepareFormData(); window.opener && window.opener.focus(); $( '#wp-preview' ).val( 'dopreview' ); $( '#pressthis-form' ).attr( 'target', '_blank' ).submit().attr( 'target', '' ); $( '#wp-preview' ).val( '' ); } else if ( $button.hasClass( 'standard-editor-button' ) ) { $( '.publish-button' ).addClass( 'is-saving' ); $( '#pt-force-redirect' ).val( 'true' ); submitPost( 'draft' ); } else if ( $button.hasClass( 'split-button-toggle' ) ) { if ( $splitButton.hasClass( 'is-open' ) ) { $splitButton.removeClass( 'is-open' ); $button.attr( 'aria-expanded', 'false' ); } else { $splitButton.addClass( 'is-open' ); $button.attr( 'aria-expanded', 'true' ); } } } }); monitorOptionsModal(); monitorPlaceholder(); monitorCatList(); $( '.options' ).on( 'click.press-this', function() { if ( $( this ).hasClass( 'open' ) ) { closeSidebar(); } else { openSidebar(); } }); // Close the sidebar when focus moves outside of it. $( '.options-panel, .options-panel-back' ).on( 'focusout.press-this', function() { setTimeout( function() { var node = document.activeElement, $node = $( node ); if ( sidebarIsOpen && node && ! $node.hasClass( 'options-panel-back' ) && ( node.nodeName === 'BODY' || ( ! $node.closest( '.options-panel' ).length && ! $node.closest( '.options' ).length ) ) ) { closeSidebar(); } }, 50 ); }); $( '#post-formats-select input' ).on( 'change', function() { var $this = $( this ); if ( $this.is( ':checked' ) ) { $( '#post-option-post-format' ).text( $( 'label[for="' + $this.attr( 'id' ) + '"]' ).text() || '' ); } } ); $window.on( 'beforeunload.press-this', function() { if ( saveAlert || ( editor && editor.isDirty() ) ) { return __( 'saveAlert' ); } } ).on( 'resize.press-this', function() { if ( ! editor || editor.isHidden() ) { textEditorResize( 'reset' ); } }); $( 'button.add-cat-toggle' ).on( 'click.press-this', function() { var $this = $( this ); $this.toggleClass( 'is-toggled' ); $this.attr( 'aria-expanded', 'false' === $this.attr( 'aria-expanded' ) ? 'true' : 'false' ); $( '.setting-modal .add-category, .categories-search-wrapper' ).toggleClass( 'is-hidden' ); } ); $( 'button.add-cat-submit' ).on( 'click.press-this', saveNewCategory ); $( '.categories-search' ).on( 'keyup.press-this', function() { var search = $( this ).val().toLowerCase() || ''; // Don't search when less thasn 3 extended ASCII chars if ( /[\x20-\xFF]+/.test( search ) && search.length < 2 ) { return; } $.each( catsCache, function( i, cat ) { cat.node.removeClass( 'is-hidden searched-parent' ); } ); if ( search ) { $.each( catsCache, function( i, cat ) { if ( cat.text.indexOf( search ) === -1 ) { cat.node.addClass( 'is-hidden' ); } else { cat.parents.addClass( 'searched-parent' ); } } ); } } ); $textEditor.on( 'focus.press-this input.press-this propertychange.press-this', textEditorResize ); return true; } function refreshCatsCache() { $( '.categories-select' ).find( 'li' ).each( function() { var $this = $( this ); catsCache.push( { node: $this, parents: $this.parents( 'li' ), text: $this.children( '.category' ).text().toLowerCase() } ); } ); } // Let's go! $document.ready( function() { render(); monitor(); refreshCatsCache(); }); // Expose public methods? return { renderNotice: renderNotice, renderError: renderError }; }; window.wp = window.wp || {}; window.wp.pressThis = new PressThis(); }( jQuery, window ));