function flagCreateNewThumb() { global $wpdb; // check for correct capability if (!is_user_logged_in()) { die('-1'); } // check for correct FlAG capability if (!current_user_can('FlAG Manage gallery')) { die('-1'); } require_once dirname(dirname(__FILE__)) . '/flag-config.php'; include_once flagGallery::graphic_library(); $flag_options = get_option('flag_options'); $id = (int) $_POST['id']; $picture = flagdb::find_image($id); $x = round($_POST['x'] * $_POST['rr'], 0); $y = round($_POST['y'] * $_POST['rr'], 0); $w = round($_POST['w'] * $_POST['rr'], 0); $h = round($_POST['h'] * $_POST['rr'], 0); $thumb = new flag_Thumbnail($picture->imagePath, TRUE); $thumb->crop($x, $y, $w, $h); if ($flag_options['thumbFix']) { if ($thumb->currentDimensions['height'] > $thumb->currentDimensions['width']) { $thumb->resize($flag_options['thumbWidth'], 0); } else { $thumb->resize(0, $flag_options['thumbHeight']); } } else { $thumb->resize($flag_options['thumbWidth'], $flag_options['thumbHeight']); } if ($thumb->save($picture->thumbPath, 100)) { //read the new sizes $new_size = @getimagesize($picture->thumbPath); $size['width'] = $new_size[0]; $size['height'] = $new_size[1]; // add them to the database flagdb::update_image_meta($picture->pid, array('thumbnail' => $size)); echo "OK"; } else { header('HTTP/1.1 500 Internal Server Error'); echo "KO"; } exit; }
/** * flagAdmin::resize_image() - create a new image, based on the height /width * * @class flagAdmin * @param object | int $image contain all information about the image or the id * @param integer $width optional * @param integer $height optional * @return string result code */ static function resize_image($image, $width = 0, $height = 0) { global $flag; if (!class_exists('flag_Thumbnail')) { require_once flagGallery::graphic_library(); } if (is_numeric($image)) { $image = flagdb::find_image($image); } if (!is_object($image)) { return __('Object didn\'t contain correct data', 'flag'); } // before we start we import the meta data to database (required for uploads before V0.40) flagAdmin::maybe_import_meta($image->pid); // if no parameter is set, take global settings $width = $width == 0 ? $flag->options['imgWidth'] : $width; $height = $height == 0 ? $flag->options['imgHeight'] : $height; if (!is_writable($image->imagePath)) { return ' <strong>' . $image->filename . __(' is not writeable', 'flag') . '</strong>'; } $file = new flag_Thumbnail($image->imagePath, TRUE); // skip if file is not there if (!$file->error) { $file->resize($width, $height, 4); $file->save($image->imagePath, $flag->options['imgQuality']); // read the new sizes $size = @getimagesize($image->imagePath); // add them to the database flagdb::update_image_meta($image->pid, array('width' => $size[0], 'height' => $size[1])); $file->destruct(); } else { $file->destruct(); return ' <strong>' . $image->filename . ' (Error : ' . $file->errmsg . ')</strong>'; } return '1'; }
jCrop : Kelly Hallman <*****@*****.**> | http://deepliquid.com/content/Jcrop.html **/ require_once dirname(dirname(__FILE__)) . '/flag-config.php'; require_once FLAG_ABSPATH . '/lib/image.php'; if (!is_user_logged_in()) { die(__('Cheatin’ uh?')); } if (!current_user_can('FlAG Manage gallery')) { die(__('Cheatin’ uh?')); } global $wpdb; $id = (int) $_GET['id']; // let's get the image data $picture = flagdb::find_image($id); include_once flagGallery::graphic_library(); $flag_options = get_option('flag_options'); $thumb = new flag_Thumbnail($picture->imagePath, TRUE); $thumb->resize(350, 350); // we need the new dimension $resizedPreviewInfo = $thumb->newDimensions; $thumb->destruct(); $preview_image = FLAG_URLPATH . 'flagshow.php?pid=' . $picture->pid . '&width=350&height=350'; $imageInfo = @getimagesize($picture->imagePath); $rr = round($imageInfo[0] / $resizedPreviewInfo['newWidth'], 2); $WidthHtmlPrev = $flag_options['thumbWidth']; $HeightHtmlPrev = $flag_options['thumbHeight']; if ($flag_options['thumbFix'] == 1) { $WidthHtmlPrev = $flag_options['thumbWidth']; $HeightHtmlPrev = $flag_options['thumbHeight']; } else {