/** * Image edit functions via AJAX * * @author Alex Rabe * @copyright 2008 - 2010 * * @return void */ function ngg_ajax_operation() { global $wpdb; // if nonce is not correct it returns -1 check_ajax_referer("ngg-ajax"); // check for correct capability if (!is_user_logged_in()) { die('-1'); } // check for correct NextGEN capability if (!current_user_can('NextGEN Upload images') && !current_user_can('NextGEN Manage gallery')) { die('-1'); } // include the ngg function include_once dirname(__FILE__) . '/functions.php'; // Get the image id if (isset($_POST['image'])) { $id = (int) $_POST['image']; // let's get the image data $picture = nggdb::find_image($id); // what do you want to do ? switch ($_POST['operation']) { case 'create_thumbnail': $result = nggAdmin::create_thumbnail($picture); break; case 'resize_image': $result = nggAdmin::resize_image($picture); break; case 'rotate_cw': $result = nggAdmin::rotate_image($picture, 'CW'); nggAdmin::create_thumbnail($picture); break; case 'rotate_ccw': $result = nggAdmin::rotate_image($picture, 'CCW'); nggAdmin::create_thumbnail($picture); break; case 'set_watermark': $result = nggAdmin::set_watermark($picture); break; case 'recover_image': $result = nggAdmin::recover_image($picture); break; case 'import_metadata': $result = nggAdmin::import_MetaData($id); break; case 'get_image_ids': $result = nggAdmin::get_image_ids($id); break; default: do_action('ngg_ajax_' . $_POST['operation']); die('-1'); break; } // A success should return a '1' die($result); } // The script should never stop here die('0'); }
function processor() { global $wpdb, $ngg, $nggdb; // Delete a picture if ($this->mode == 'delpic') { //TODO:Remove also Tag reference check_admin_referer('ngg_delpicture'); $image = $nggdb->find_image($this->pid); if ($image) { if ($ngg->options['deleteImg']) { @unlink($image->imagePath); @unlink($image->thumbPath); @unlink($image->imagePath . '_backup'); } do_action('ngg_delete_picture', $this->pid); $result = nggdb::delete_image($this->pid); } if ($result) { nggGallery::show_message(__('Picture', 'nggallery') . ' \'' . $this->pid . '\' ' . __('deleted successfully', 'nggallery')); } $this->mode = 'edit'; // show pictures } // Recover picture from backup if ($this->mode == 'recoverpic') { check_admin_referer('ngg_recoverpicture'); $image = $nggdb->find_image($this->pid); // bring back the old image nggAdmin::recover_image($image); nggAdmin::create_thumbnail($image); nggGallery::show_message(__('Operation successful. Please clear your browser cache.', "nggallery")); $this->mode = 'edit'; // show pictures } // will be called after a ajax operation if (isset($_POST['ajax_callback'])) { if ($_POST['ajax_callback'] == 1) { nggGallery::show_message(__('Operation successful. Please clear your browser cache.', "nggallery")); } } // show sort order if (isset($_POST['sortGallery'])) { $this->mode = 'sort'; } if (isset($_GET['s'])) { $this->search_images(); } }
function processor() { global $wpdb, $ngg, $nggdb; // Delete a picture if ($this->mode == 'delpic') { //TODO:Remove also Tag reference check_admin_referer('ngg_delpicture'); $image = $nggdb->find_image($this->pid); if ($image) { if ($ngg->options['deleteImg']) { $storage = C_Component_Registry::get_instance()->get_utility('I_Gallery_Storage'); $storage->delete_image($this->pid); } $mapper = C_Image_Mapper::get_instance(); $result = $mapper->destroy($this->pid); do_action('ngg_delete_picture', $this->pid); if ($result) { nggGallery::show_message(__('Picture', 'nggallery') . ' \'' . $this->pid . '\' ' . __('deleted successfully', 'nggallery')); } } $this->mode = 'edit'; // show pictures } // Recover picture from backup if ($this->mode == 'recoverpic') { check_admin_referer('ngg_recoverpicture'); $image = $nggdb->find_image($this->pid); // bring back the old image nggAdmin::recover_image($image); nggAdmin::create_thumbnail($image); nggGallery::show_message(__('Operation successful. Please clear your browser cache.', "nggallery")); $this->mode = 'edit'; // show pictures } // will be called after a ajax operation if (isset($_POST['ajax_callback'])) { if ($_POST['ajax_callback'] == 1) { nggGallery::show_message(__('Operation successful. Please clear your browser cache.', "nggallery")); } } // show sort order if (isset($_POST['sortGallery'])) { $this->mode = 'sort'; } if (isset($_GET['s'])) { $this->search_images(); } }