function wordpress_slideshow_handle_post() { global $error; // Check that we are on the slideshow admin page if (isset($_GET['page']) && $_GET['page'] == 'wordpress-slideshow') { // Saves new slideshow if (isset($_POST['save_slideshow'])) { $update = isset($_POST['slideshow']); if ($update) { $slideshow = WordpressSlideshow::find($_POST['slideshow']); $slideshow->slideshow_name = $_POST['slideshow_name']; } else { $slideshow = new WordpressSlideshow($_POST['slideshow_name']); } try { $slideshow->save(); if ($update) { $message = __('The slideshow <strong>%s</strong> was successfully updated', 'wordpress-slideshow'); } else { $message = __('Your new slideshow <strong>%s</strong> was successfully created', 'wordpress-slideshow'); } $notice = sprintf($message, $slideshow->slideshow_name); wp_redirect(wordpress_slideshow_page_url($slideshow->id) . '¬ice=' . urlencode($notice)); return; } catch (Exception $e) { $error = $e->getMessage(); } } // Add custom slide to slideshow if (isset($_POST['add_custom_slide'])) { echo 'Creating custom slide'; $slideshow = WordpressSlideshow::find($_POST['slideshow']); var_dump($_POST['slideshow']); var_dump($slideshow); if (!empty($slideshow)) { $slide = new WordpressSlideshow_Slide(); $slide->name = $_POST['custom-slide-name']; $slide->url = $_POST['custom-slide-url']; $slide->image_url = $_POST['custom-slide-image-url']; $slide->text = $_POST['custom-slide-text']; $slide->slideshow = $slideshow; try { $slide->save(); $notice = __('The new slide was successfully created', 'wordpress-slideshow'); wp_redirect(wordpress_slideshow_page_url($slideshow->id) . '¬ice=' . urlencode($notice)); return; } catch (Exception $e) { $error = $e->getMessage(); } } return; } if (isset($_POST['update-slide'])) { $slide = WordpressSlideshow_Slide::find($_POST['slide']); if (!empty($slide)) { $slideshow = $slide->slideshow; $slide->name = $_POST['custom-slide-name']; $slide->url = $_POST['custom-slide-url']; $slide->image_url = $_POST['custom-slide-image-url']; $slide->text = $_POST['custom-slide-text']; if (isset($_POST['custom-slide-no'])) { $slide->no = $_POST['custom-slide-no']; } try { $slide->save(); } catch (Exception $e) { $error = $e->getMessage(); } $notice = __('Slide was successfully updated', 'wordpress-slideshow'); #wp_redirect(wordpress_slideshow_page_url($slideshow->id).'¬ice='.urlencode($notice)); } } // Delete slide if (isset($_POST['delete-slide'])) { $slide = WordpressSlideshow_Slide::find($_POST['slide']); if (!empty($slide)) { $slideshow = $slide->slideshow; $slide->delete(); $notice = __('Slide was successfully removed from slideshow', 'wordpress-slideshow'); wp_redirect(wordpress_slideshow_page_url($_GET['slideshow']) . '¬ice=' . urlencode($notice)); } return; } // Delete new slideshow if (isset($_POST['delete_slideshow'])) { $slideshow = WordpressSlideshow::find($_POST['slideshow']); if (!empty($slideshow)) { $notice = sprintf(__('The slideshow <strong>%s</strong> was successfully deleted', 'wordpress-slideshow'), $slideshow->slideshow_name); $slideshow->delete(); wp_redirect(wordpress_slideshow_page_url() . '¬ice=' . urlencode($notice)); return; } } // Save where slideshows should be displayed if (isset($_POST['save-slideshow-definitions'])) { $definitions = get_option(WORDPRESS_SLIDESHOW_OPTION); if (empty($definitions)) { $definitions = array(); $create = true; } $registered_slideshows = get_registered_slideshows(); foreach ($registered_slideshows as $registered_slideshow) { if (isset($_POST[$registered_slideshow['id']])) { $definitions[$registered_slideshow['id']] = $_POST[$registered_slideshow['id']]; } } if ($create) { add_option(WORDPRESS_SLIDESHOW_OPTION, $definitions); } else { update_option(WORDPRESS_SLIDESHOW_OPTION, $definitions); } $notice = __('The slideshow set up were saved successfully', 'wordpress-slideshow'); wp_redirect(wordpress_slideshow_page_url($_GET['slideshow']) . '¬ice=' . urlencode($notice)); return; } } }