function get_template_variables($instance, $args) { if (empty($instance)) { return array(); } $settings = $instance['settings']; $mrkr_src = wp_get_attachment_image_src($instance['markers']['marker_icon']); $styles = $this->get_styles($instance); if ($settings['map_type'] == 'static') { $src_url = $this->get_static_image_src($instance, $settings['width'], $settings['height'], !empty($styles) ? $styles['styles'] : array()); return array('src_url' => sow_esc_url($src_url)); } else { $markers = $instance['markers']; $directions_json = ''; if (!empty($instance['directions']['origin']) && !empty($instance['directions']['destination'])) { if (empty($instance['directions']['waypoints'])) { unset($instance['directions']['waypoints']); } $directions_json = json_encode(siteorigin_widgets_underscores_to_camel_case($instance['directions'])); } return array('map_id' => md5($instance['map_center']), 'height' => $settings['height'], 'map_data' => array('address' => $instance['map_center'], 'zoom' => $settings['zoom'], 'scroll-zoom' => $settings['scroll_zoom'], 'draggable' => $settings['draggable'], 'marker-icon' => !empty($mrkr_src) ? $mrkr_src[0] : '', 'markers-draggable' => isset($markers['markers_draggable']) ? $markers['markers_draggable'] : '', 'marker-at-center' => $markers['marker_at_center'], 'marker-positions' => isset($markers['marker_positions']) ? json_encode($markers['marker_positions']) : '', 'map-name' => !empty($styles) ? $styles['map_name'] : '', 'map-styles' => !empty($styles) ? json_encode($styles['styles']) : '', 'directions' => $directions_json, 'api-key' => $instance['api_key_section']['api_key'])); } }
public function get_template_variables($instance, $args) { return array('items' => $instance['items'], 'layouts' => array('desktop' => siteorigin_widgets_underscores_to_camel_case(array('num_columns' => $instance['desktop_layout']['columns'], 'row_height' => empty($instance['desktop_layout']['row_height']) ? 0 : intval($instance['desktop_layout']['row_height']), 'gutter' => empty($instance['desktop_layout']['gutter']) ? 0 : intval($instance['desktop_layout']['gutter']))), 'tablet' => siteorigin_widgets_underscores_to_camel_case(array('break_point' => $instance['tablet_layout']['break_point'], 'num_columns' => $instance['tablet_layout']['columns'], 'row_height' => empty($instance['tablet_layout']['row_height']) ? 0 : intval($instance['tablet_layout']['row_height']), 'gutter' => empty($instance['tablet_layout']['gutter']) ? 0 : intval($instance['tablet_layout']['gutter']))), 'mobile' => siteorigin_widgets_underscores_to_camel_case(array('break_point' => $instance['mobile_layout']['break_point'], 'num_columns' => $instance['mobile_layout']['columns'], 'row_height' => empty($instance['mobile_layout']['row_height']) ? 0 : intval($instance['mobile_layout']['row_height']), 'gutter' => empty($instance['mobile_layout']['gutter']) ? 0 : intval($instance['mobile_layout']['gutter']))))); }
protected function render_field($value, $instance) { if (!isset($this->fields) || empty($this->fields)) { return; } $container = array('name' => $this->base_name, 'type' => 'repeater'); $item_label = isset($this->item_label) ? $this->item_label : null; if (!empty($item_label)) { // convert underscore naming convention to camelCase for javascript and encode as json string $item_label = siteorigin_widgets_underscores_to_camel_case($item_label); $item_label = json_encode($item_label); } if (empty($this->item_name)) { $this->item_name = __('Item', 'siteorigin-widgets'); } ?> <div class="siteorigin-widget-field-repeater" data-item-name="<?php echo esc_attr($this->item_name); ?> " data-repeater-name="<?php echo esc_attr($this->base_name); ?> " data-element-name="<?php echo esc_attr($this->element_name); ?> " <?php echo !empty($item_label) ? 'data-item-label="' . esc_attr($item_label) . '"' : ''; ?> <?php echo !empty($this->scroll_count) ? 'data-scroll-count="' . esc_attr($this->scroll_count) . '"' : ''; ?> <?php if (!empty($this->readonly)) { echo 'readonly'; } ?> > <div class="siteorigin-widget-field-repeater-top"> <div class="siteorigin-widget-field-repeater-expend"></div> <h3><?php echo esc_html($this->label); ?> </h3> </div> <div class="siteorigin-widget-field-repeater-items"> <?php if (!empty($value)) { foreach ($value as $v) { ?> <div class="siteorigin-widget-field-repeater-item ui-draggable"> <div class="siteorigin-widget-field-repeater-item-top"> <div class="siteorigin-widget-field-expand"></div> <?php if (empty($this->readonly)) { ?> <div class="siteorigin-widget-field-remove"></div> <?php } ?> <h4><?php echo esc_html($this->item_name); ?> </h4> </div> <div class="siteorigin-widget-field-repeater-item-form"> <?php $this->create_and_render_sub_fields($v, $container); ?> </div> </div> <?php } } ?> </div> <?php if (empty($this->readonly)) { ?> <div class="siteorigin-widget-field-repeater-add"><?php esc_html_e('Add', 'siteorigin-widgets'); ?> </div> <?php } ?> <?php ob_start(); $this->create_and_render_sub_fields(null, $container, true); $rpt_fields = ob_get_clean(); $rpt_fields = preg_replace('/\\s+name\\s*=\\s*/', ' data-name=', $rpt_fields); ?> <div class="siteorigin-widget-field-repeatear-item-html" style="display: none;"> <?php echo $rpt_fields; ?> </div> </div> <?php }