????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 /** * Media View Class. * * @since 2.5.0 * @package SoliloquyWP Lite * @author SoliloquyWP Team <[email protected]> */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Soliloquy Media View * * @since 2.5.0 */ class Soliloquy_Media_View_Lite { /** * Holds the class object. * * @since 2.5 * * @var object */ public static $instance; /** * Path to the file. * * @since 2.5 * * @var string */ public $file = __FILE__; /** * Holds the base class object. * * @since 2.5 * * @var object */ public $base; /** * Primary class constructor. * * @since 1.0.0 */ public function __construct() { // Base. $this->base = Soliloquy_Lite::get_instance(); // Modals. add_filter( 'Soliloquy_Media_View_Lite_strings', [ $this, 'media_view_strings' ] ); add_action( 'print_media_templates', [ $this, 'print_media_templates' ] ); } /** * Adds media view (modal) strings * * @since 2.5 * * @param array $strings Media View Strings. * @return array Media View Strings */ public function media_view_strings( $strings ) { return $strings; } /** * Outputs backbone.js wp.media compatible templates, which are loaded into the modal * view * * @since 2.5 */ public function print_media_templates() { // Get the Gallery Post and Config. global $post; if ( isset( $post ) ) { $post_id = absint( $post->ID ); } else { $post_id = 0; } // Bail if we're not editing an soliloquy Gallery. if ( get_post_type( $post_id ) !== 'soliloquy' ) { return; } // Meta Editor. // Use: wp.media.template( 'soliloquy-meta-editor' ). ?> <script type="text/html" id="tmpl-soliloquy-meta-editor"> <div class="edit-media-header"> <button class="left dashicons"><span class="screen-reader-text"><?php esc_html_e( 'Edit previous media item' ); ?></span></button> <button class="right dashicons"><span class="screen-reader-text"><?php esc_html_e( 'Edit next media item' ); ?></span></button> </div> <div class="media-frame-title"> <h1><?php esc_html_e( 'Edit Item', 'soliloquy' ); ?></h1> </div> <div class="media-frame-content"> <div class="attachment-details save-ready"> <!-- Left --> <div class="attachment-media-view portrait"> <# if ( data.type !== 'html' ) { #> <div class="thumbnail thumbnail-image"> <img class="details-image" src="{{ data.src }}" draggable="false" /> <# if ( data.type === 'video' ) { #> <!-- Choose Video Placeholder Image + Remove Video Placeholder Image --> <a href="#" class="soliloquy-thumbnail button button-primary" data-field="soliloquy-src" title="Choose Video Placeholder Image"><?php esc_html_e( 'Choose Video Placeholder Image', 'soliloquy' ); ?></a> <a href="#" class="soliloquy-thumbnail-delete button button-secondary" data-field="soliloquy-src" title="Remove Video Placeholder Image"><?php esc_html_e( 'Remove Video Placeholder Image', 'soliloquy' ); ?></a> <# } #> </div> <# } #> <# if ( data.type === 'html' ) { #> <div class="soliloquy-code-preview"> {{ data.code }} </div> <# } #> </div> <!-- Right --> <div class="attachment-info"> <!-- Settings --> <div class="settings"> <!-- Attachment ID --> <input type="hidden" name="id" value="{{ data.id }}" /> <input type="hidden" name="type" value="{{ data.type }}" /> <!-- Title --> <div class="soliloquy-meta"> <label class="setting"> <span class="name"><?php esc_html_e( 'Title', 'soliloquy' ); ?></span> <input type="text" name="title" value="{{ data.title }}" /> <span class="description"> <?php esc_html_e( 'Enter the title for your slide.', 'soliloquy' ); ?> </span> </label> </div> <div class="soliloquy-meta"> <label class="setting"> <span class="name"><?php esc_html_e( 'Alt Text', 'soliloquy' ); ?></span> <input type="text" name="alt" value="{{ data.alt }}" /> <span class="description"> <?php esc_html_e( 'Describes the image for search engines and screen readers. Important for SEO and accessibility.', 'soliloquy' ); ?> </span> </label> </div> <!-- Caption --> <# if ( data.type !== 'html' ) { #> <!-- Caption --> <div class="soliloquy-meta"> <div class="setting"> <span class="name"><?php esc_html_e( 'Caption', 'soliloquy' ); ?></span> <?php wp_editor( '', 'caption', [ 'media_buttons' => false, 'wpautop' => false, 'tinymce' => false, 'textarea_name' => 'caption', 'quicktags' => [ 'buttons' => 'strong,em,link,ul,ol,li,close', ], ] ); ?> <span class="description"> <?php esc_html_e( 'Displayed over the slide image. Field accepts any valid HTML.', 'soliloquy' ); ?> </span> </div> </div> <# } #> <# if ( data.type === 'image' ) { #> <div class="soliloquy-meta"> <label class="setting"> <span class="name"><?php esc_html_e( 'URL', 'soliloquy' ); ?></span> <input type="text" name="link" value="{{ data.link }}" /> <# if ( typeof( data.id ) === 'number' ) { #> <span class="buttons"> <button class="button button-small media-file"><?php esc_html_e( 'Media File', 'soliloquy' ); ?></button> <button class="button button-small attachment-page"><?php esc_html_e( 'Attachment Page', 'soliloquy' ); ?></button> </span> <# } #> <span class="description"> <?php esc_html_e( 'Enter a hyperlink to link this slide to another page.', 'soliloquy' ); ?> </span> </label> <!-- Link in New Window --> <label class="setting"> <span class="name"><?php esc_html_e( 'Open URL in New Window?', 'soliloquy' ); ?></span> <input type="checkbox" name="linktab" value="1"<# if ( data.linktab == '1' ) { #> checked <# } #> /><span class="check-label"><?php esc_html_e( 'Opens your image links in a new browser window / tab.', 'soliloquy' ); ?></span> </label> </div> <# } #> <# if ( data.type === 'video' ) { #> <div class="soliloquy-meta"> <!-- Link --> <label class="setting"> <span class="name"><?php esc_html_e( 'URL', 'soliloquy' ); ?></span> <input type="text" name="link" value="{{ data.url }}" /> </label> </div> <# } #> <# if ( data.type === 'html' ) { #> <div class="soliloquy-meta code"> <!-- Link --> <label class="code"> <span class="name"><?php esc_html_e( 'Code', 'soliloquy' ); ?></span> <textarea class="soliloquy-html-slide-code" name="code">{{ data.code }}</textarea> </label> </div> <# } #> <!-- Addons can populate the UI here --> <div class="addons"></div> </div> <!-- /.settings --> <!-- Actions --> <div class="actions"> <a href="#" class="soliloquy-meta-submit button media-button button-large button-primary media-button-insert" title="<?php esc_attr_e( 'Save Metadata', 'soliloquy' ); ?>"> <?php esc_html_e( 'Save Metadata', 'soliloquy' ); ?> </a> <!-- Save Spinner --> <span class="settings-save-status"> <span class="spinner"></span> <span class="saved"><?php esc_html_e( 'Saved.', 'soliloquy' ); ?></span> </span> </div> <!-- /.actions --> </div> </div> </div> </script> <?php // Bulk Image Editor. // Use: wp.media.template( 'soliloquy-meta-bulk-editor' ). ?> <script type="text/html" id="tmpl-soliloquy-meta-bulk-editor"> <div class="media-frame-title"> <h1><?php esc_html_e( 'Bulk Edit', 'soliloquy' ); ?></h1> </div> <div class="media-frame-content"> <div class="attachment-details save-ready"> <!-- Left --> <div class="attachment-media-view portrait"> <ul class="attachments soliloquy-bulk-edit"> </ul> </div> <!-- Right --> <div class="attachment-info"> <!-- Settings --> <div class="settings"> <!-- Attachment ID --> <!-- Title --> <div class="soliloquy-meta"> <label class="setting"> <span class="name"><?php esc_html_e( 'Alt Text', 'soliloquy' ); ?></span> <input type="text" name="alt" value="{{ data.alt }}" /> <span class="description"> <?php esc_html_e( 'Describes the image for search engines and screen readers. Important for SEO and accessibility.', 'soliloquy' ); ?> </span> </label> </div> <!-- Caption --> <div class="soliloquy-meta"> <div class="setting"> <span class="name"><?php esc_html_e( 'Caption', 'soliloquy' ); ?></span> <?php wp_editor( '', 'caption', [ 'media_buttons' => false, 'wpautop' => false, 'tinymce' => false, 'textarea_name' => 'caption', 'quicktags' => [ 'buttons' => 'strong,em,link,ul,ol,li,close', ], ] ); ?> <span class="description"> <?php esc_html_e( 'Displayed over the slide image. Field accepts any valid HTML.', 'soliloquy' ); ?> </span> </div> </div> <# if ( data.type === 'image' ) { #> <div class="soliloquy-meta"> <label class="setting"> <span class="name"><?php esc_html_e( 'URL', 'soliloquy' ); ?></span> <input type="text" name="link" value="{{ data.link }}" /> <# if ( typeof( data.id ) === 'number' ) { #> <span class="buttons"> <button class="button button-small media-file"><?php esc_html_e( 'Media File', 'soliloquy' ); ?></button> <button class="button button-small attachment-page"><?php esc_html_e( 'Attachment Page', 'soliloquy' ); ?></button> </span> <# } #> <span class="description"> <strong><?php esc_html_e( 'URL', 'soliloquy' ); ?></strong> <?php esc_html_e( 'Enter a hyperlink to link this slide to another page.', 'soliloquy' ); ?> </span> </label> <!-- Link in New Window --> <label class="setting"> <span class="name"><?php esc_html_e( 'Open URL in New Window?', 'soliloquy' ); ?></span> <input type="checkbox" name="link_new_window" value="1"<# if ( data.link_new_window == '1' ) { #> checked <# } #> /> <span class="check-label"><?php esc_html_e( 'Opens your image links in a new browser window / tab.', 'soliloquy' ); ?></span> </label> </div> <# } #> <# if ( data.type === 'video' ) { #> <div class="soliloquy-meta"> <!-- Link --> <label class="setting"> <span class="name"><?php esc_html_e( 'URL', 'soliloquy' ); ?></span> <input type="text" name="link" value="{{ data.url }}" /> </label> </div> <# } #> <# if ( data.type === 'html' ) { #> <div class="soliloquy-meta"> <!-- Link --> <label class="code"> <span class="name"><?php esc_html_e( 'Code', 'soliloquy' ); ?></span> <textarea class="soliloquy-html-slide-code" name="code">{{ data.code }}</textarea> </label> </div> <# } #> <!-- Addons can populate the UI here --> <div class="addons"></div> </div> <!-- /.settings --> <!-- Actions --> <div class="actions"> <a href="#" class="soliloquy-meta-submit button media-button button-large button-primary media-button-insert" title="<?php esc_attr_e( 'Save Metadata', 'soliloquy' ); ?>"> <?php esc_html_e( 'Save Metadata', 'soliloquy' ); ?> </a> <!-- Save Spinner --> <span class="settings-save-status"> <span class="spinner"></span> <span class="saved"><?php esc_html_e( 'Saved.', 'soliloquy' ); ?></span> </span> </div> <!-- /.actions --> </div> </div> </div> </script> <?php // Bulk Image Editor Image. // Use: wp.media.template( 'soliloquy-meta-bulk-editor-image' ). ?> <script type="text/html" id="tmpl-soliloquy-meta-bulk-editor-slides"> <div class="attachment-preview"> <div class="thumbnail"> <div class="centered"> <# if ( data.type !== 'html' ) { #> <img src={{ data.src }} /> <# } #> <# if ( data.type === 'html' ) { #> <div class="soliloquy-code-preview"> <img src="<?php echo esc_url( plugins_url( 'assets/images/html.png', $this->base->file ) ); ?>" /> </div> <# } #> </div> </div> </div> </script> <?php do_action( 'soliloquy_print_templates' ); } /** * Returns the singleton instance of the class. * * @since 2.5 * * @return object The Soliloquy_Media_View_Lite object. */ public static function get_instance() { if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Soliloquy_Media_View_Lite ) ) { self::$instance = new Soliloquy_Media_View_Lite(); } return self::$instance; } } // Load the media class. $soliloquy_media_view = Soliloquy_Media_View_Lite::get_instance();