/var/www/hkosl.com/aga/wp-content/plugins/so-widgets-bundle/base/inc/fields/builder.class.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?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$valueENT_QUOTESfalsetrue ); ?>"
                    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$valuetrue );
        }
        
        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;
    }

}