| Server IP : 213.186.33.4 / Your IP : 216.73.216.146 Web Server : Apache System : Linux webm005.cluster103.gra.hosting.ovh.net 6.18.39-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Tue Jul 21 12:03:15 CEST 2026 x86_64 User : karinebmkh ( 644538) PHP Version : 8.4.22 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/karinebmkh/www2/wp-content/plugins/so-widgets-bundle/base/inc/fields/ |
Upload File : |
<?php
/**
* A full instance of SiteOrigin Page Builder as a field.
*
* Class SiteOrigin_Widget_Field_Builder
*/
class SiteOrigin_Widget_Field_Builder extends SiteOrigin_Widget_Field_Base {
protected function render_field( $value, $instance ){
if( defined('SITEORIGIN_PANELS_VERSION') ) {
// Normal rendering code
// In some contexts this is already encoded, e.g. accordion widget using a layout field for content,
// inside a PB block in the block editor.
$valid_string = is_string( $value ); // Required for PHP <5.4
if ( empty( $valid_string ) ) {
$value = json_encode( $value );
}
?>
<div
class="siteorigin-page-builder-field"
data-mode="dialog"
data-type="<?php echo isset( $this->field_options['builder_type'] ) ? esc_attr( $this->field_options['builder_type'] ) : 'sow-builder-field' ?>"
>
<p>
<button class="button-secondary siteorigin-panels-display-builder" ><?php _e('Open Builder', 'siteorigin-panels') ?></button>
</p>
<input
type="hidden"
class="siteorigin-widget-input panels-data"
value="<?php echo sow_esc_attr( $value, ENT_QUOTES, false, true ); ?>"
name="<?php echo esc_attr( $this->element_name ) ?>"
id="<?php echo esc_attr( $this->element_id ) ?>"
/>
</div>
<?php
}
else {
// Let the user know that they need Page Builder installed
?>
<p>
<?php _e( 'This field requires: ', 'so-widgets-bundle' ) ?>
<a href="https://siteorigin.com/page-builder/" target="_blank" rel="noopener noreferrer"><?php _e( 'SiteOrigin Page Builder', 'so-widgets-bundle' ) ?></a>
</p>
<?php
}
}
/**
* Process the panels_data
*
* @param mixed $value
* @param array $instance
*
* @return array|mixed|object
*/
protected function sanitize_field_input( $value, $instance ){
if ( empty( $value ) ) {
return array();
}
if ( is_string( $value ) ) {
$value = json_decode( $value, true );
}
if( function_exists('siteorigin_panels_process_raw_widgets') && !empty( $value['widgets'] ) && is_array( $value['widgets'] ) ) {
$value['widgets'] = siteorigin_panels_process_raw_widgets( $value['widgets'] );
}
return $value;
}
}