%PDF- %PDF-
Direktori : /home/eirtvhdf/vmullen.hire-va.com/wp-content/plugins/depicter/app/src/Modules/Oxygen/ |
Current File : /home/eirtvhdf/vmullen.hire-va.com/wp-content/plugins/depicter/app/src/Modules/Oxygen/module.php |
<?php namespace Depicter\Modules\Oxygen; class Module extends \OxyEl { public function init() { if ( isset( $_GET['ct_builder'] ) ) { add_action( 'wp_enqueue_scripts', [ $this, 'enqueueDepicterAssets' ] ); } } public function enqueueDepicterAssets() { \Depicter::front()->assets()->enqueueStyles(); \Depicter::front()->assets()->enqueueScripts(['player', 'iframe-resizer']); } // Define the element's name. public function name() { return __("Depicter", 'depicter'); } // Element options public function options(){ return array( //"wrapper_class" => $classes, "server_side_render" => true ); } public function render( $options, $defaults, $content ){ if ( !empty( $options['slider_id'] ) ) { $list = $this->getSlidersList(); $sliderID = count( $list ) > 2 ? $options['slider_id'] : array_search( $options['slider_id'], $list ); echo "<style>.oxy-depicter{ width: 100%; }</style>"; if ( isset( $_GET['action'] ) && $_GET['action'] == 'oxy_render_oxy-depicter' ) { $iframeID = 'sliderIframe-' . $sliderID; $iframeURL = admin_url('admin-ajax.php') . '?action=depicter-document-preview&depicter-csrf=' . \Depicter::csrf()->getToken( \Depicter\Security\CSRF::EDITOR_ACTION ) . '&ID=' . $sliderID . '&status=draft|publish&gutenberg=true'; echo '<iframe id="' . esc_attr( $iframeID ) . '" style="width: 1px;min-width: 100%;" src="' . esc_url( $iframeURL ) . '"></iframe>'; echo "<script>iFrameResize({}, '#sliderIframe-" . $sliderID . "')</script>"; } else { echo \Depicter::front()->render()->document( $sliderID, [ 'echo' => false ] ); } } else { echo esc_html__('Please select a Depicter slider','depicter' ); } } public function getSlidersList() { $list = [ 0 => __( 'Select Slider', 'depicter' ) ]; $documents = \Depicter::documentRepository()->select( ['id', 'name', 'status'] )->orderBy('modified_at', 'DESC')->findAll()->get(); $documents = $documents ? $documents->toArray() : []; foreach( $documents as $document ) { $list[ $document['id'] ] = "[#{$document['id']}]: " . $document['name']; } return $list; } public function controls(){ $list = $this->getSlidersList(); // Select Slider $this->addOptionControl( array( "type" => 'dropdown', "name" => __("Select Slider", 'depicter' ), "slug" => 'slider_id', ) )->setValue( $list )->rebuildElementOnChange(); if ( current_user_can( 'access_depicter' ) ) { $documents = \Depicter::documentRepository()->select( ['id', 'name', 'status'] )->orderBy('modified_at', 'DESC')->findAll()->get(); $documents = $documents ? $documents->toArray() : []; foreach( $documents as $document ) { $this->addOptionControl( [ "type" => 'custom_control', "name" => __('Publish or Edit Slider', 'depicter' ), "slug" => 'slider_btns_' . $document['id'], "condition" => 'slider_id=' . $document['id'], ])->setHTML( $this->slider_buttons_markup([ 'isPublishedBefore' => \Depicter::documentRepository()->isPublishedBefore( $document['id'] ), 'documentStatus' => $document['status'], 'documentID' => $document['id'] ]) ); } } } /** * Get slider buttons control field markup * * @param array $settings * @param string $value * @return string */ public function slider_buttons_markup( $settings ) { return \Depicter::view('admin/notices/builders-draft-notice')->with('view_args', $settings)->toString(); } } new Module();