$21 GRAYBYTE WORDPRESS FILE MANAGER $25

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.66.139 | ADMIN IP 216.73.216.147
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/home/bravrvjk/itiministry.org/wp-admin/js/widgets/

HOME
Current File : /home/bravrvjk/itiministry.org/wp-admin/js/widgets//custom-html-widgets.js
/**
 * @output wp-admin/js/widgets/custom-html-widgets.js
 */

/* global wp */
/* eslint consistent-this: [ "error", "control" ] */
/* eslint no-magic-numbers: ["error", { "ignore": [0,1,-1] }] */

/**
 * @namespace wp.customHtmlWidget
 * @memberOf wp
 */
wp.customHtmlWidgets = ( function( $ ) {
	'use strict';

	var component = {
		idBases: [ 'custom_html' ],
		codeEditorSettings: {},
		l10n: {
			errorNotice: {
				singular: '',
				plural: ''
			}
		}
	};

	component.CustomHtmlWidgetControl = Backbone.View.extend(/** @lends wp.customHtmlWidgets.CustomHtmlWidgetControl.prototype */{

		/**
		 * View events.
		 *
		 * @type {Object}
		 */
		events: {},

		/**
		 * Text widget control.
		 *
		 * @constructs wp.customHtmlWidgets.CustomHtmlWidgetControl
		 * @augments Backbone.View
		 * @abstract
		 *
		 * @param {Object} options - Options.
		 * @param {jQuery} options.el - Control field container element.
		 * @param {jQuery} options.syncContainer - Container element where fields are synced for the server.
		 *
		 * @return {void}
		 */
		initialize: function initialize( options ) {
			var control = this;

			if ( ! options.el ) {
				throw new Error( 'Missing options.el' );
			}
			if ( ! options.syncContainer ) {
				throw new Error( 'Missing options.syncContainer' );
			}

			Backbone.View.prototype.initialize.call( control, options );
			control.syncContainer = options.syncContainer;
			control.widgetIdBase = control.syncContainer.parent().find( '.id_base' ).val();
			control.widgetNumber = control.syncContainer.parent().find( '.widget_number' ).val();
			control.customizeSettingId = 'widget_' + control.widgetIdBase + '[' + String( control.widgetNumber ) + ']';

			control.$el.addClass( 'custom-html-widget-fields' );
			control.$el.html( wp.template( 'widget-custom-html-control-fields' )( { codeEditorDisabled: component.codeEditorSettings.disabled } ) );

			control.errorNoticeContainer = control.$el.find( '.code-editor-error-container' );
			control.currentErrorAnnotations = [];
			control.saveButton = control.syncContainer.add( control.syncContainer.parent().find( '.widget-control-actions' ) ).find( '.widget-control-save, #savewidget' );
			control.saveButton.addClass( 'custom-html-widget-save-button' ); // To facilitate style targeting.

			control.fields = {
				title: control.$el.find( '.title' ),
				content: control.$el.find( '.content' )
			};

			// Sync input fields to hidden sync fields which actually get sent to the server.
			_.each( control.fields, function( fieldInput, fieldName ) {
				fieldInput.on( 'input change', function updateSyncField() {
					var syncInput = control.syncContainer.find( '.sync-input.' + fieldName );
					if ( syncInput.val() !== fieldInput.val() ) {
						syncInput.val( fieldInput.val() );
						syncInput.trigger( 'change' );
					}
				});

				// Note that syncInput cannot be re-used because it will be destroyed with each widget-updated event.
				fieldInput.val( control.syncContainer.find( '.sync-input.' + fieldName ).val() );
			});
		},

		/**
		 * Update input fields from the sync fields.
		 *
		 * This function is called at the widget-updated and widget-synced events.
		 * A field will only be updated if it is not currently focused, to avoid
		 * overwriting content that the user is entering.
		 *
		 * @return {void}
		 */
		updateFields: function updateFields() {
			var control = this, syncInput;

			if ( ! control.fields.title.is( document.activeElement ) ) {
				syncInput = control.syncContainer.find( '.sync-input.title' );
				control.fields.title.val( syncInput.val() );
			}

			/*
			 * Prevent updating content when the editor is focused or if there are current error annotations,
			 * to prevent the editor's contents from getting sanitized as soon as a user removes focus from
			 * the editor. This is particularly important for users who cannot unfiltered_html.
			 */
			control.contentUpdateBypassed = control.fields.content.is( document.activeElement ) || control.editor && control.editor.codemirror.state.focused || 0 !== control.currentErrorAnnotations.length;
			if ( ! control.contentUpdateBypassed ) {
				syncInput = control.syncContainer.find( '.sync-input.content' );
				control.fields.content.val( syncInput.val() );
			}
		},

		/**
		 * Show linting error notice.
		 *
		 * @param {Array} errorAnnotations - Error annotations.
		 * @return {void}
		 */
		updateErrorNotice: function( errorAnnotations ) {
			var control = this, errorNotice, message = '', customizeSetting;

			if ( 1 === errorAnnotations.length ) {
				message = component.l10n.errorNotice.singular.replace( '%d', '1' );
			} else if ( errorAnnotations.length > 1 ) {
				message = component.l10n.errorNotice.plural.replace( '%d', String( errorAnnotations.length ) );
			}

			if ( control.fields.content[0].setCustomValidity ) {
				control.fields.content[0].setCustomValidity( message );
			}

			if ( wp.customize && wp.customize.has( control.customizeSettingId ) ) {
				customizeSetting = wp.customize( control.customizeSettingId );
				customizeSetting.notifications.remove( 'htmlhint_error' );
				if ( 0 !== errorAnnotations.length ) {
					customizeSetting.notifications.add( 'htmlhint_error', new wp.customize.Notification( 'htmlhint_error', {
						message: message,
						type: 'error'
					} ) );
				}
			} else if ( 0 !== errorAnnotations.length ) {
				errorNotice = $( '<div class="inline notice notice-error notice-alt" role="alert"></div>' );
				errorNotice.append( $( '<p></p>', {
					text: message
				} ) );
				control.errorNoticeContainer.empty();
				control.errorNoticeContainer.append( errorNotice );
				control.errorNoticeContainer.slideDown( 'fast' );
				wp.a11y.speak( message );
			} else {
				control.errorNoticeContainer.slideUp( 'fast' );
			}
		},

		/**
		 * Initialize editor.
		 *
		 * @return {void}
		 */
		initializeEditor: function initializeEditor() {
			var control = this, settings;

			if ( component.codeEditorSettings.disabled ) {
				return;
			}

			settings = _.extend( {}, component.codeEditorSettings, {

				/**
				 * Handle tabbing to the field before the editor.
				 *
				 * @ignore
				 *
				 * @return {void}
				 */
				onTabPrevious: function onTabPrevious() {
					control.fields.title.focus();
				},

				/**
				 * Handle tabbing to the field after the editor.
				 *
				 * @ignore
				 *
				 * @return {void}
				 */
				onTabNext: function onTabNext() {
					var tabbables = control.syncContainer.add( control.syncContainer.parent().find( '.widget-position, .widget-control-actions' ) ).find( ':tabbable' );
					tabbables.first().focus();
				},

				/**
				 * Disable save button and store linting errors for use in updateFields.
				 *
				 * @ignore
				 *
				 * @param {Array} errorAnnotations - Error notifications.
				 * @return {void}
				 */
				onChangeLintingErrors: function onChangeLintingErrors( errorAnnotations ) {
					control.currentErrorAnnotations = errorAnnotations;
				},

				/**
				 * Update error notice.
				 *
				 * @ignore
				 *
				 * @param {Array} errorAnnotations - Error annotations.
				 * @return {void}
				 */
				onUpdateErrorNotice: function onUpdateErrorNotice( errorAnnotations ) {
					control.saveButton.toggleClass( 'validation-blocked disabled', errorAnnotations.length > 0 );
					control.updateErrorNotice( errorAnnotations );
				}
			});

			control.editor = wp.codeEditor.initialize( control.fields.content, settings );

			// Improve the editor accessibility.
			$( control.editor.codemirror.display.lineDiv )
				.attr({
					role: 'textbox',
					'aria-multiline': 'true',
					'aria-labelledby': control.fields.content[0].id + '-label',
					'aria-describedby': 'editor-keyboard-trap-help-1 editor-keyboard-trap-help-2 editor-keyboard-trap-help-3 editor-keyboard-trap-help-4'
				});

			// Focus the editor when clicking on its label.
			$( '#' + control.fields.content[0].id + '-label' ).on( 'click', function() {
				control.editor.codemirror.focus();
			});

			control.fields.content.on( 'change', function() {
				if ( this.value !== control.editor.codemirror.getValue() ) {
					control.editor.codemirror.setValue( this.value );
				}
			});
			control.editor.codemirror.on( 'change', function() {
				var value = control.editor.codemirror.getValue();
				if ( value !== control.fields.content.val() ) {
					control.fields.content.val( value ).trigger( 'change' );
				}
			});

			// Make sure the editor gets updated if the content was updated on the server (sanitization) but not updated in the editor since it was focused.
			control.editor.codemirror.on( 'blur', function() {
				if ( control.contentUpdateBypassed ) {
					control.syncContainer.find( '.sync-input.content' ).trigger( 'change' );
				}
			});

			// Prevent hitting Esc from collapsing the widget control.
			if ( wp.customize ) {
				control.editor.codemirror.on( 'keydown', function onKeydown( codemirror, event ) {
					var escKeyCode = 27;
					if ( escKeyCode === event.keyCode ) {
						event.stopPropagation();
					}
				});
			}
		}
	});

	/**
	 * Mapping of widget ID to instances of CustomHtmlWidgetControl subclasses.
	 *
	 * @alias wp.customHtmlWidgets.widgetControls
	 *
	 * @type {Object.<string, wp.textWidgets.CustomHtmlWidgetControl>}
	 */
	component.widgetControls = {};

	/**
	 * Handle widget being added or initialized for the first time at the widget-added event.
	 *
	 * @alias wp.customHtmlWidgets.handleWidgetAdded
	 *
	 * @param {jQuery.Event} event - Event.
	 * @param {jQuery}       widgetContainer - Widget container element.
	 *
	 * @return {void}
	 */
	component.handleWidgetAdded = function handleWidgetAdded( event, widgetContainer ) {
		var widgetForm, idBase, widgetControl, widgetId, animatedCheckDelay = 50, renderWhenAnimationDone, fieldContainer, syncContainer;
		widgetForm = widgetContainer.find( '> .widget-inside > .form, > .widget-inside > form' ); // Note: '.form' appears in the customizer, whereas 'form' on the widgets admin screen.

		idBase = widgetForm.find( '> .id_base' ).val();
		if ( -1 === component.idBases.indexOf( idBase ) ) {
			return;
		}

		// Prevent initializing already-added widgets.
		widgetId = widgetForm.find( '.widget-id' ).val();
		if ( component.widgetControls[ widgetId ] ) {
			return;
		}

		/*
		 * Create a container element for the widget control fields.
		 * This is inserted into the DOM immediately before the the .widget-content
		 * element because the contents of this element are essentially "managed"
		 * by PHP, where each widget update cause the entire element to be emptied
		 * and replaced with the rendered output of WP_Widget::form() which is
		 * sent back in Ajax request made to save/update the widget instance.
		 * To prevent a "flash of replaced DOM elements and re-initialized JS
		 * components", the JS template is rendered outside of the normal form
		 * container.
		 */
		fieldContainer = $( '<div></div>' );
		syncContainer = widgetContainer.find( '.widget-content:first' );
		syncContainer.before( fieldContainer );

		widgetControl = new component.CustomHtmlWidgetControl({
			el: fieldContainer,
			syncContainer: syncContainer
		});

		component.widgetControls[ widgetId ] = widgetControl;

		/*
		 * Render the widget once the widget parent's container finishes animating,
		 * as the widget-added event fires with a slideDown of the container.
		 * This ensures that the textarea is visible and the editor can be initialized.
		 */
		renderWhenAnimationDone = function() {
			if ( ! ( wp.customize ? widgetContainer.parent().hasClass( 'expanded' ) : widgetContainer.hasClass( 'open' ) ) ) { // Core merge: The wp.customize condition can be eliminated with this change being in core: https://github.com/xwp/wordpress-develop/pull/247/commits/5322387d
				setTimeout( renderWhenAnimationDone, animatedCheckDelay );
			} else {
				widgetControl.initializeEditor();
			}
		};
		renderWhenAnimationDone();
	};

	/**
	 * Setup widget in accessibility mode.
	 *
	 * @alias wp.customHtmlWidgets.setupAccessibleMode
	 *
	 * @return {void}
	 */
	component.setupAccessibleMode = function setupAccessibleMode() {
		var widgetForm, idBase, widgetControl, fieldContainer, syncContainer;
		widgetForm = $( '.editwidget > form' );
		if ( 0 === widgetForm.length ) {
			return;
		}

		idBase = widgetForm.find( '.id_base' ).val();
		if ( -1 === component.idBases.indexOf( idBase ) ) {
			return;
		}

		fieldContainer = $( '<div></div>' );
		syncContainer = widgetForm.find( '> .widget-inside' );
		syncContainer.before( fieldContainer );

		widgetControl = new component.CustomHtmlWidgetControl({
			el: fieldContainer,
			syncContainer: syncContainer
		});

		widgetControl.initializeEditor();
	};

	/**
	 * Sync widget instance data sanitized from server back onto widget model.
	 *
	 * This gets called via the 'widget-updated' event when saving a widget from
	 * the widgets admin screen and also via the 'widget-synced' event when making
	 * a change to a widget in the customizer.
	 *
	 * @alias wp.customHtmlWidgets.handleWidgetUpdated
	 *
	 * @param {jQuery.Event} event - Event.
	 * @param {jQuery}       widgetContainer - Widget container element.
	 * @return {void}
	 */
	component.handleWidgetUpdated = function handleWidgetUpdated( event, widgetContainer ) {
		var widgetForm, widgetId, widgetControl, idBase;
		widgetForm = widgetContainer.find( '> .widget-inside > .form, > .widget-inside > form' );

		idBase = widgetForm.find( '> .id_base' ).val();
		if ( -1 === component.idBases.indexOf( idBase ) ) {
			return;
		}

		widgetId = widgetForm.find( '> .widget-id' ).val();
		widgetControl = component.widgetControls[ widgetId ];
		if ( ! widgetControl ) {
			return;
		}

		widgetControl.updateFields();
	};

	/**
	 * Initialize functionality.
	 *
	 * This function exists to prevent the JS file from having to boot itself.
	 * When WordPress enqueues this script, it should have an inline script
	 * attached which calls wp.textWidgets.init().
	 *
	 * @alias wp.customHtmlWidgets.init
	 *
	 * @param {Object} settings - Options for code editor, exported from PHP.
	 *
	 * @return {void}
	 */
	component.init = function init( settings ) {
		var $document = $( document );
		_.extend( component.codeEditorSettings, settings );

		$document.on( 'widget-added', component.handleWidgetAdded );
		$document.on( 'widget-synced widget-updated', component.handleWidgetUpdated );

		/*
		 * Manually trigger widget-added events for media widgets on the admin
		 * screen once they are expanded. The widget-added event is not triggered
		 * for each pre-existing widget on the widgets admin screen like it is
		 * on the customizer. Likewise, the customizer only triggers widget-added
		 * when the widget is expanded to just-in-time construct the widget form
		 * when it is actually going to be displayed. So the following implements
		 * the same for the widgets admin screen, to invoke the widget-added
		 * handler when a pre-existing media widget is expanded.
		 */
		$( function initializeExistingWidgetContainers() {
			var widgetContainers;
			if ( 'widgets' !== window.pagenow ) {
				return;
			}
			widgetContainers = $( '.widgets-holder-wrap:not(#available-widgets)' ).find( 'div.widget' );
			widgetContainers.one( 'click.toggle-widget-expanded', function toggleWidgetExpanded() {
				var widgetContainer = $( this );
				component.handleWidgetAdded( new jQuery.Event( 'widget-added' ), widgetContainer );
			});

			// Accessibility mode.
			if ( document.readyState === 'complete' ) {
				// Page is fully loaded.
				component.setupAccessibleMode();
			} else {
				// Page is still loading.
				$( window ).on( 'load', function() {
					component.setupAccessibleMode();
				});
			}
		});
	};

	return component;
})( jQuery );

Current_dir [ WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
18 Apr 2026 8.38 PM
bravrvjk / bravrvjk
0755
widgets
--
18 Apr 2026 8.49 PM
bravrvjk / bravrvjk
0755
about.min.css
35.611 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
admin-functions.php
0.468 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
admin-menu-rtl.css
18.266 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
admin-menu.css
18.218 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
admin-menu.min.css
14.78 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
admin-post.php
1.974 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
application-passwords-20260418183649.js
6.244 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
application-passwords.js
6.244 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
auth-app.js
5.66 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
auth-app.min-20260418150406-20260418185035.js
2.035 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
auth-app.min-20260418150406.js
2.035 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
auth-app.min.js
2.035 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
authorize-application-20260418201448.php
10.093 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
authorize-application.php
10.093 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
code-editor-rtl.css
1.58 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
code-editor.min-20260418193618.js
3.011 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
code-editor.min.js
3.011 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
comment-20260418113521.js
2.851 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
comment.js
2.851 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
comments-20260418004042.css
5.19 MB
25 Nov 2024 8.08 AM
bravrvjk / bravrvjk
0644
common.js
61.15 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
common.min.css
57.897 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
custom-background-20260418184743.js
3.354 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
custom-background.js
3.354 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
custom-background.php
0.478 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
custom-header-20260418121414.js
1.976 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
custom-header.js
1.976 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
custom-header.php
0.487 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
custom-html-widgets-20260418080803.js
15.408 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
custom-html-widgets.js
15.408 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
custom-html-widgets.min-20260418080655-20260418202825.js
5.451 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
custom-html-widgets.min-20260418080655.js
5.451 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
custom-html-widgets.min.js
5.451 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
customize-controls.js
288.413 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
customize-controls.min.css
59.841 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
customize-nav-menus-rtl.css
21.85 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
customize-nav-menus.css
21.805 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
customize-widgets-20260418163759.js
70.046 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
customize-widgets-rtl-20260418193433.css
13.216 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
customize-widgets-rtl.css
13.216 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
customize-widgets-rtl.min-20260418193617.css
10.082 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
customize-widgets-rtl.min.css
10.082 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
customize-widgets.js
70.046 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
dashboard.min.js
8.654 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
deprecated-media-rtl.min.css
5.368 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
edit-form-advanced-20260418113112-20260418164123.php
28.835 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
edit-form-advanced-20260418113112.php
28.835 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
edit-form-advanced.php
28.835 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
edit-form-comment-20260418193314.php
8.343 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
edit-form-comment.php
8.343 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
editor.js
43.999 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
editor.min-20260418125150.js
12.778 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
editor.min.js
12.778 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
error_log
4.002 KB
18 Apr 2026 6.34 PM
bravrvjk / bravrvjk
0644
export-20260418113100.php
11.023 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
export-personal-data.php
7.755 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
export.php
11.023 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
farbtastic-20260418164457.js
7.665 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
farbtastic.css
0.597 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
farbtastic.js
7.665 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
farbtastic.min.css
0.524 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
forms-rtl.min-20260418004058.css
27.754 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
forms-rtl.min.css
27.754 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
forms.min.css
27.756 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
install-20260418172532.php
17.766 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
install-helper.php
6.798 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
install-rtl.css
6.014 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
install-rtl.min.css
4.92 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
install.php
17.766 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
l10n.css
4.434 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
l10n.min.css
3.125 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
language-chooser-20260418125352.js
0.869 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
language-chooser-20260418145200.js
0.869 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
language-chooser.js
0.869 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
language-chooser.min.js
0.413 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
link-add-20260418122129.php
0.912 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
link-add.php
0.912 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
load-scripts.php
2.021 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
load-styles.php
2.925 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
login.css
7.766 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
media-audio-widget.js
4.184 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
media-audio-widget.min.js
1.413 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
media-gallery-widget.js
10.111 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
media-gallery-widget.min.js
3.678 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
media-image-widget.js
5.34 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
media-image-widget.min.js
1.977 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
media-rtl.min.css
21.428 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
media-video-widget.js
6.855 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
media-video-widget.min.js
2.639 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
media-widgets-20260418165922.js
41.859 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
media-widgets.js
41.859 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
media-widgets.min.js
13.907 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
media.min.css
21.412 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
ms-edit.php
0.211 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
nav-menus.min.css
13.896 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
options-discussion.php
15.915 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
options-general.php
21.647 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
options-permalink-20260418184235.php
21.217 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
options-permalink.php
21.217 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
options-reading.php
9.936 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
plugin-install.js
6.92 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
plugin-install.min.js
2.347 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
postbox.js
18.493 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
privacy-policy-guide.php
3.668 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
privacy-tools.js
10.667 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
privacy-tools.min-20260418125813.js
5.033 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
privacy-tools.min.js
5.033 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
profile.php
0.246 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
revisions.min.css
8.591 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
set-post-thumbnail.js
0.855 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
set-post-thumbnail.min.js
0.605 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
setup-config.php
17.484 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
site-icon-rtl.min.css
3.854 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
site-icon.css
4.494 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
svg-painter.min.js
1.53 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
text-widgets-20260418120843.js
17.626 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
text-widgets.js
17.626 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
text-widgets.min-20260418120807.js
5.716 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
text-widgets.min.js
5.716 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
theme-editor.php
16.874 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
theme-plugin-editor-20260418202108.js
24.766 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
theme-plugin-editor.js
24.766 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
theme.js
54.944 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
themes.min.css
32.219 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
upload-20260418113100.php
14.901 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
upload.php
14.901 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
user-profile.js
17.913 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
user-profile.min-20260418122235-20260418185301.js
7.81 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
user-profile.min-20260418122235.js
7.81 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
user-profile.min.js
7.81 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
user-suggest-20260418150310.js
2.247 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
user-suggest.js
2.247 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
user-suggest.min-20260418113521.js
0.66 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
user-suggest.min.js
0.66 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
users.php
23.287 KB
2 Dec 2025 11.05 PM
bravrvjk / bravrvjk
0644
widgets-20260417210927.php
1.086 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
widgets-rtl.min-20260418193617.css
14.104 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
widgets-rtl.min.css
14.104 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
widgets.js
22.557 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
widgets.min.css
14.103 KB
3 Feb 2026 8.22 PM
bravrvjk / bravrvjk
0644
widgets.min.js
12.313 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
widgets.php
1.086 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644
word-count.js
7.516 KB
17 Oct 2025 11.09 AM
bravrvjk / bravrvjk
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF Static GIF