File "recover-slider.php"
Full Path: /home/ycoalition/public_html/wp-content/plugins/ultimate-responsive-image-slider/recover-slider.php
File size: 6.14 KB
MIME-type: text/x-php
Charset: utf-8
<?php
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
if(isset($_POST['slider-id'])) {
if (!isset( $_POST['recover_slider_nonce'] ) || ! wp_verify_nonce( $_POST['recover_slider_nonce'], 'recover_slider' ) ) {
print 'Sorry, your nonce did not verify.';
exit;
} else {
$slider_id = sanitize_text_field($_POST['slider-id']);
$uris_updated_sliders = get_option('uris_updated_slider_ids', array());
if(is_array($uris_updated_sliders)){
if(count($uris_updated_sliders)) {
if(in_array($slider_id, $uris_updated_sliders)) {
echo "<p style='text-align:center; color:red; font-weight:bolder;'>ERROR!!! Entered Slider ID '$slider_id' is already recovered.</p>";
$slider_id = 0;
}
}
}
if($slider_id) {
// ### Part - 1: Update Slides Details Start ###
global $wpdb;
$post_table_name = $wpdb->prefix. "posts";
$slides_id_array = array();
// get the setting of the slider by id
$URIS_Slides_Settings = get_post_meta( $slider_id, 'ris_all_photos_details', true);
$URIS_Slides_Settings_Array = unserialize(base64_decode(get_post_meta( $slider_id, 'ris_all_photos_details', true)));
$URIS_Slider_Slide_Count_Array = count(unserialize(base64_decode(get_post_meta( $slider_id, 'ris_all_photos_details', true ))));
/* echo "<pre>";
print_r($URIS_Slides_Settings_Array);
echo "</pre>"; */
if(is_array($URIS_Slides_Settings_Array)){
if(count($URIS_Slides_Settings_Array)){
foreach($URIS_Slides_Settings_Array as $URIS_Slide_Setting){
// get each slide attachment id by slide URL
$slide_url = $URIS_Slide_Setting['rpgp_image_url'];
//echo "<br />";
if(count($attachment_id = $wpdb->get_col($wpdb->prepare("SELECT `id` FROM `$post_table_name` WHERE `guid` LIKE '%s'", $slide_url)))) {
$slide_id = $attachment_id[0];
//echo "<br />";
// set old slide details
$attachment = get_post( $slide_id ); // get all slide details
$slide_title = $URIS_Slide_Setting['rpgp_image_label']; // attachment title
$slide_desc = $URIS_Slide_Setting['rpgp_image_desc'];
$slide_alt = get_post_meta( $attachment->ID, '_wp_attachment_image_alt', true );
$slides_id_array[] = array('rpgp_image_id' => $slide_id);
// update attachment image title and description
$attachment_details = array(
'ID' => sanitize_text_field($slide_id),
'post_title' => sanitize_text_field($slide_title),
'post_content' => sanitize_text_field($slide_desc)
);
wp_update_post( $attachment_details );
// update attachment alt text
update_post_meta( $slide_id, '_wp_attachment_image_alt', sanitize_text_field( $slide_alt ) );
}
update_post_meta($slider_id, 'ris_all_photos_details', $slides_id_array);
}
// ### Part - 2: Update Slider Configuration Settings Start ###
// get old saved setting
$WRIS_Gallery_Settings_Key = "WRIS_Gallery_Settings_".$slider_id;
$WRIS_Settings_Array = unserialize(get_post_meta( $slider_id, $WRIS_Gallery_Settings_Key, true));
//update old settings
update_post_meta($slider_id, $WRIS_Gallery_Settings_Key, $WRIS_Settings_Array);
// ### Part -2: Update Slider Configuration Settings End ###
// ### Part - 3: Save A Flag For This Slider Start ###
// get previously updated slider
$uris_updated_sliders = array();
$uris_updated_sliders = get_option('uris_updated_slider_ids', 0);
if(is_array($uris_updated_sliders)){
if(count($uris_updated_sliders)) {
array_push($uris_updated_sliders, $slider_id);
}
} else {
$uris_updated_sliders = array($slider_id);
}
update_option('uris_updated_slider_ids', $uris_updated_sliders);
// ### Part - 3: Save A Flag For This Slider End ###
} // is count
} // is array
// ### Part - 1: Update Slides Details End ###
}
}
}
?>
<div style="border: 3px dashed #23282D; padding: 50px; margin:20px;">
<h2 style="color:blue;"> Recover Old Slider Post</h2><hr />
<p>To recover old slider post you need to provide <strong>Slider ID</strong> in below field and hit the <strong>Recover Slider</strong> button.</p>
<p>If your slider shortcode is <strong>[URIS id=101]</strong> then your <strong>Slider ID</strong> is <strong>101</strong>.</p>
<form action="" method="post" action="recover-slider">
<?php wp_nonce_field( 'recover_slider', 'recover_slider_nonce' ); ?>
<p><input type="number" value="" id="slider-id" name="slider-id" placeholder="Enter Slider ID" required></p>
<p>
<input type="submit" id="recover-slider" name="recover-slider" value="Recover Slider" class="button button-primary button-hero">
</p>
</form>
<?php
$uris_updated_sliders = get_option('uris_updated_slider_ids', array());
if(is_array($uris_updated_sliders)){
if(count($uris_updated_sliders)) {
echo "<div style='text-align:left;padding-top:10px;'>";
echo "<h3 style='color:blue;'><strong>Previously Recovered Slider IDs are:</strong></h3><hr /><p>";
sort($uris_updated_sliders);
foreach($uris_updated_sliders as $id){
echo $id;
echo ", ";
}
echo '</p>';
echo "</div>";
}
}
//print_r($uris_updated_sliders);
echo "<div style='text-align:left;padding-top:10px;'>";
echo "<h3 style='color:blue;'>Important Notes</h3><hr />";
echo "<p>1. <strong>Reupdate:</strong> Once you updated a Slider ID, don't re-update, It will break the slider or show errors.</p>";
echo "<p>2. <strong>Recoverable:</strong> Slider created in older versions of the plugin can be recoverable. Like Slider created in Version 3.3.9 or later.</p>";
echo "<p>3. <strong>Non Recoverable:</strong> Slider created after major update version 3.3.10 of the plugin can't be recoverable. Like Slider created in Version 3.3.10 or latest.</p>";
echo "<p>4. <strong>Non Recoverable:</strong> If you already updated slider by hitting update post button in latest plugin version. <a href='http://prntscr.com/qikp8q' target='_blank'>http://prntscr.com/qikp8q</a></p>";
echo "</div>";
?>
</div>