__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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]: ~ $
import {
	createElement,
	useRef,
	useState,
	useEffect,
	useCallback,
} from '@wordpress/element'
import md5 from 'md5'
import ctEvents from 'ct-events'

const WpEditor = ({ id, value, option, onChange }) => {
	const el = useRef()
	const editor = useRef(null)
	const [editorId, _] = useState(
		`${id}-${md5(
			Math.random() + '-' + Math.random() + '-' + Math.random()
		)}`
	)

	const correctEditor = () => wp.oldEditor || wp.editor

	const listener = useCallback(() => {
		onChange(correctEditor().getContent(editorId))
	}, [editorId])

	const mount = () => {
		if (wp.oldEditor) {
			if (window.tinymce && window.tinymce.editors[editorId]) {
				window.tinymce.editors[editorId].off('input', listener)

				window.tinymce.editors[editorId].off('change', listener)
			}

			correctEditor().remove(editorId)

			correctEditor().initialize(editorId, {
				quicktags: true,
				mediaButtons: true,
				...option,

				...(window.tinymce
					? {
							tinymce: {
								toolbar1:
									'formatselect,styleselect,bold,italic,bullist,numlist,link,alignleft,aligncenter,alignright,wp_adv',
								toolbar2:
									'strikethrough,hr,forecolor,pastetext,removeformat,charmap,outdent,indent,undo,redo,wp_help',

								...(typeof option.tinymce === 'object'
									? option.tinymce
									: {}),
								style_formats_merge: true,
								style_formats: [],
							},
					  }
					: { tinymce: null }),
			})

			if (window.tinymce) {
				setTimeout(() => {
					const maybeEditor = window.tinymce.editors[editorId]

					if (maybeEditor) {
						maybeEditor.on('input', listener)
						maybeEditor.on('change', listener)
					}
				})
			}
		} else {
			correctEditor().initialize(editorId, {
				quicktags: true,
				mediaButtons: true,
				...option,

				...(window.tinymce
					? {
							tinymce: {
								toolbar1:
									'formatselect,styleselect,bold,italic,bullist,numlist,link,alignleft,aligncenter,alignright,wp_adv',
								toolbar2:
									'strikethrough,hr,forecolor,pastetext,removeformat,charmap,outdent,indent,undo,redo,wp_help',

								...(typeof option.tinymce === 'object'
									? option.tinymce
									: {}),
								style_formats_merge: true,
								style_formats: [],
							},
					  }
					: { tinymce: null }),
			})

			if (window.tinymce) {
				setTimeout(() => {
					const maybeEditor = window.tinymce.editors[editorId]

					if (maybeEditor) {
						maybeEditor.on('input', listener)
						maybeEditor.on('change', listener)
					}
				})
			}
		}
	}

	const unmount = () => {
		if (window.tinymce && window.tinymce.editors[editorId]) {
			window.tinymce.editors[editorId].off('input', listener)
			window.tinymce.editors[editorId].off('change', listener)
		}

		correctEditor().remove(editorId)
	}

	useEffect(() => {
		setTimeout(() => {
			mount()
		}, 5)

		const cb = () => {
			const maybeEditor = window.tinymce.editors[editorId]

			if (maybeEditor) {
				maybeEditor.setContent(option.value)
			}
		}

		ctEvents.on('ct:options:wp-editor:revert', cb)

		return () => {
			ctEvents.off('ct:options:wp-editor:revert', cb)

			setTimeout(() => {
				unmount()
			}, 300)
		}
	}, [])

	return (
		<div className="ct-option-editor" {...(option.attr || {})}>
			<textarea
				style={{ opacity: 0 }}
				id={editorId}
				ref={el}
				value={value}
				className="wp-editor-area"
				{...{
					...(option.field_attr ? option.field_attr : {}),
					...(option.attr && option.attr.placeholder
						? {
								placeholder: option.attr.placeholder,
						  }
						: {}),
				}}
				onChange={({ target: { value } }) => onChange(value)}
			/>
		</div>
	)
}

WpEditor.renderingConfig = {
	performRevert: ({ onChangeFor }) => {
		ctEvents.trigger('ct:options:wp-editor:revert')
	},
}

export default WpEditor

Filemanager

Name Type Size Permission Actions
background Folder 0750
box-shadow Folder 0750
color-palettes Folder 0750
color-picker Folder 0750
ct-addable-box Folder 0750
ct-layers Folder 0750
ct-number Folder 0750
ct-radio Folder 0750
ct-select Folder 0750
ct-slider Folder 0750
ct-spacing Folder 0750
ct-switch Folder 0750
ratio Folder 0750
text Folder 0750
typography Folder 0750
ct-addable-box.js File 6.16 KB 0640
ct-background.js File 5.46 KB 0640
ct-border.js File 2.75 KB 0640
ct-box-shadow.js File 2.64 KB 0640
ct-button.js File 456 B 0640
ct-checkboxes.js File 1.91 KB 0640
ct-color-palettes-mirror.js File 1000 B 0640
ct-color-palettes-picker.js File 6.71 KB 0640
ct-color-picker.js File 2.71 KB 0640
ct-customize-section-title-actions.js File 6.74 KB 0640
ct-customizer-reset-options.js File 1.83 KB 0640
ct-divider.js File 328 B 0640
ct-entity-picker.js File 2.38 KB 0640
ct-file-uploader.js File 2 KB 0640
ct-footer-builder.js File 5.96 KB 0640
ct-header-builder.js File 272 B 0640
ct-image-picker.js File 1.81 KB 0640
ct-image-uploader.js File 10.12 KB 0640
ct-layers-combined.js File 2.22 KB 0640
ct-layers-mirror.js File 1.15 KB 0640
ct-layers.js File 5.39 KB 0640
ct-multi-image-uploader.js File 3.14 KB 0640
ct-notification.js File 378 B 0640
ct-number.js File 454 B 0640
ct-panel.js File 8.88 KB 0640
ct-radio.js File 401 B 0640
ct-ratio.js File 6.87 KB 0640
ct-select.js File 669 B 0640
ct-slider.js File 14.14 KB 0640
ct-spacer.js File 386 B 0640
ct-spacing.js File 5.09 KB 0640
ct-switch.js File 508 B 0640
ct-timer.js File 3.27 KB 0640
ct-title.js File 562 B 0640
ct-typography.js File 7.35 KB 0640
ct-visibility.js File 4.76 KB 0640
ct-woocommerce-columns-and-rows.js File 3 KB 0640
ct-woocommerce-ratio.js File 1.66 KB 0640
date-time-picker.js File 811 B 0640
hidden.js File 243 B 0640
html.js File 264 B 0640
jsx.js File 237 B 0640
react-outside-click-handler.js File 3.17 KB 0640
text.js File 384 B 0640
textarea.js File 518 B 0640
wp-editor.js File 3.67 KB 0640
Filemanager