/** * Gets our form fields * * @return array */ public function get_form_fields() { $data = apply_filters('easingslider_pre_get_settings_form_fields', array()); // Set the form fields if (isset($_POST['settings']) && is_array($_POST['settings'])) { $data = easingslider_validate_data(array_merge($data, $_POST['settings'])); } return $data; }
/** * Gets our form fields * * @return array */ public function get_form_fields() { $data = apply_filters('easingslider_pre_get_editor_form_fields', array()); // Set the form fields if (isset($_POST['post_title'])) { $data['post_title'] = $_POST['post_title']; } if (isset($_POST['general'])) { $data['general'] = (object) easingslider_validate_data($_POST['general']); } if (isset($_POST['dimensions'])) { $data['dimensions'] = (object) easingslider_validate_data($_POST['dimensions']); } if (isset($_POST['transitions'])) { $data['transitions'] = (object) easingslider_validate_data($_POST['transitions']); } if (isset($_POST['navigation'])) { $data['navigation'] = (object) easingslider_validate_data($_POST['navigation']); } if (isset($_POST['playback'])) { $data['playback'] = (object) easingslider_validate_data($_POST['playback']); } if (isset($_POST['slides'])) { $data['slides'] = array_map('easingslider_validate_data', $_POST['slides']); $data['slides'] = array_map('json_decode', $data['slides']); } else { $data['slides'] = array(); } return $data; }
function easingslider_validate_data($data) { // Stripslashes $data = stripslashes_deep($data); // Handle the various data types if (is_object($data) or is_array($data)) { foreach ($data as $key => &$value) { $value = easingslider_validate_data($value); } } else { if (is_string($data) && (!is_object(json_decode($data)) or !is_array(json_decode($data)))) { // Bail if just an empty string if ($data == '') { return $data; } // Ensure integers are integers, and booleans are booleans if (!is_null($int = filter_var($data, FILTER_VALIDATE_INT, FILTER_NULL_ON_FAILURE))) { $data = $int; } else { if (!is_null($bool = filter_var($data, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE))) { $data = $bool; } } } } return $data; }
/** * Gets the "customizer" form fields * * @return array */ public function get_form_fields() { $data = apply_filters('easingslider-customizer_form_fields', array()); // Form fields $fields = array('arrows', 'pagination', 'border', 'shadow'); // Set form fields foreach ($fields as $field) { if (isset($_POST[$field])) { $data[$field] = (object) $_POST[$field]; } } // If data validation functionality exists, use it. if (function_exists('easingslider_validate_data')) { foreach ($data as &$value) { $value = easingslider_validate_data($value); } } return $data; }
/** * Upgrades the plugin from Easing Slider "Lite" v2.0 and onwards. * * @return void */ public function lite_upgrade_from_200() { global $wpdb; // Bail if this has already been carried out if (get_option('easingslider_upgraded_from_lite')) { return; } /** * In my previous attempts to change the plugin name from "Easing Slider" to "Riva Slider", * I made the catastrophic mistake of changing the plugin directory name and options, etc, which * created dozens of issues and prompted the name change reversal. * * As a result, it's possible options may exist under the prefix "rivaslider" or "easingslider". * Let's accommodate for both. */ $plugin_slug = get_option('easingsliderlite_version') ? 'easingsliderlite' : 'rivasliderlite'; // Bail if we don't have a version, telling us that the plugin wasn't installed and there is nothing to update. if (!get_option("{$plugin_slug}_version")) { return; } // Create the Easing Slider "Lite" slider $slider = $this->create_lite_slider(); // Get the legacy slider $legacy_slider = get_option("{$plugin_slug}_slideshow"); // Transfer the data $slider->general->randomize = easingslider_validate_data($legacy_slider->general->randomize); $slider->dimensions->width = easingslider_validate_data($legacy_slider->dimensions->width); $slider->dimensions->height = easingslider_validate_data($legacy_slider->dimensions->height); $slider->dimensions->responsive = easingslider_validate_data($legacy_slider->dimensions->responsive); $slider->transitions->effect = easingslider_validate_data($legacy_slider->transitions->effect); $slider->transitions->duration = easingslider_validate_data($legacy_slider->transitions->duration); $slider->navigation->arrows = easingslider_validate_data($legacy_slider->navigation->arrows); $slider->navigation->arrows_hover = easingslider_validate_data($legacy_slider->navigation->arrows_hover); $slider->navigation->arrows_position = easingslider_validate_data($legacy_slider->navigation->arrows_position); $slider->navigation->pagination = easingslider_validate_data($legacy_slider->navigation->pagination); $slider->navigation->pagination_hover = easingslider_validate_data($legacy_slider->navigation->pagination_hover); $slider->navigation->pagination_position = easingslider_validate_data($legacy_slider->navigation->pagination_position); $slider->navigation->pagination_location = easingslider_validate_data($legacy_slider->navigation->pagination_location); $slider->playback->enabled = easingslider_validate_data($legacy_slider->playback->enabled); $slider->playback->pause = easingslider_validate_data($legacy_slider->playback->pause); // Add the slides foreach ($legacy_slider->slides as $legacy_slide) { // Query the guid $attachment_query = $wpdb->prepare("SELECT ID FROM {$wpdb->posts} WHERE guid='%s'", $legacy_slide->url); // Attempt to get the attachment of this image $attachment_id = $wpdb->get_var($attachment_query); // Populate the slide $slide = (object) array('id' => easingslider_validate_data($legacy_slide->id), 'attachment_id' => easingslider_validate_data($attachment_id), 'type' => 'image', 'alt' => easingslider_validate_data($legacy_slide->alt), 'aspectRatio' => null, 'link' => $legacy_slide->link ? 'custom' : 'none', 'linkUrl' => easingslider_validate_data($legacy_slide->link), 'linkTargetBlank' => '_blank' == $legacy_slide->linkTarget ? '_blank' : false, 'title' => easingslider_validate_data($legacy_slide->title)); // Add an image URL if we aren't using an attachment if (!$attachment_id) { $slide->url = easingslider_validate_data($legacy_slide->url); } // Validate & add the slide $slider->slides[] = easingslider_validate_data($slide); } // Save the slider $slider->save(); // Get the settings $settings = get_option('easingslider_settings'); // Get the legacy settings $legacy_settings = get_option("{$plugin_slug}_settings"); // Transfer the settings $settings->load_assets = $legacy_settings['load_scripts']; $settings->image_resizing = $legacy_settings['resizing']; // Save the settings update_option('easingslider_settings', $settings); // Flag that this update has been done update_option('easingslider_upgraded_from_lite', true); }