/**
  * Localizes UI scripts with panels data, i18n stuff and style fields
  * @since 0.1.0
  */
 protected function localize_ui_scripts()
 {
     global $pootlepb_ui_i18n, $pootlepb_color_i18n;
     //User Interface i18n
     $preview_url = wp_nonce_url(add_query_arg('pootlepb_preview', 'true', get_home_url()), 'ppb-panels-preview');
     wp_localize_script('pootlepb-ui-admin', 'panels', array('previewUrl' => $preview_url, 'i10n' => $pootlepb_ui_i18n));
     //Panels Data
     $panels_data = $this->get_current_admin_panels_data();
     if (count($panels_data) > 0) {
         wp_localize_script('pootlepb-ui-admin', 'panelsData', $panels_data);
     }
     // Row styles
     wp_localize_script('pootlepb-ui-admin', 'panelsStyleFields', pootlepb_row_settings_fields());
     //Color picker i18n
     wp_localize_script('pp-pb-color-picker', 'wpColorPicker_i18n', $pootlepb_color_i18n);
 }
/**
 * Sanitize all the data that's come from post data
 * @param $panels_data
 * @since 0.1.0
 */
function pootlepb_style_sanitize_data($panels_data)
{
    $fields = pootlepb_row_settings_fields();
    if (empty($fields)) {
        return $panels_data;
    }
    if (empty($panels_data['grids']) || !is_array($panels_data['grids'])) {
        return $panels_data;
    }
    $num_grids = count($panels_data['grids']);
    for ($i = 0; $i < $num_grids; $i++) {
        foreach ($fields as $name => $attr) {
            switch ($attr['type']) {
                case 'checkbox':
                    // Convert the checkbox value to true or false.
                    $panels_data['grids'][$i]['style'][$name] = !empty($panels_data['grids'][$i]['style'][$name]);
                    break;
                case 'number':
                    $panels_data['grids'][$i]['style'][$name] = intval($panels_data['grids'][$i]['style'][$name]);
                    break;
                case 'url':
                    $panels_data['grids'][$i]['style'][$name] = esc_url_raw($panels_data['grids'][$i]['style'][$name]);
                    break;
                case 'select':
                    // Make sure the value is in the options
                    if (!in_array($panels_data['grids'][$i]['style'][$name], array_keys($attr['options']))) {
                        $panels_data['grids'][$i]['style'][$name] = false;
                    }
                    break;
            }
        }
    }
    return $panels_data;
}