晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
| DIR:/home/salvufkx/homedir/www/wp-content/plugins/photo-gallery/admin/views/ |
| Current File : //home/salvufkx/homedir/www/wp-content/plugins/photo-gallery/admin/views/BWGViewEditThumb.php |
<?php
class BWGViewEditThumb {
////////////////////////////////////////////////////////////////////////////////////////
// Events //
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// Constants //
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// Variables //
////////////////////////////////////////////////////////////////////////////////////////
private $model;
////////////////////////////////////////////////////////////////////////////////////////
// Constructor & Destructor //
////////////////////////////////////////////////////////////////////////////////////////
public function __construct($model) {
$this->model = $model;
}
////////////////////////////////////////////////////////////////////////////////////////
// Public Methods //
////////////////////////////////////////////////////////////////////////////////////////
public function display() {
global $WD_BWG_UPLOAD_DIR;
$popup_width = ((int) (isset($_GET['width']) ? esc_html($_GET['width']) : '800')) - 30;
$image_width = $popup_width - 40;
$popup_height = ((int) (isset($_GET['height']) ? esc_html($_GET['height']) : '500')) - 50;
$image_height = $popup_height - 40;
$instagram_post_width = ((int) (isset($_GET['instagram_post_width']) ? esc_html($_GET['instagram_post_width']) : $image_width));
$instagram_post_height = ((int) (isset($_GET['instagram_post_height']) ? esc_html($_GET['instagram_post_height']) : $image_height));
if ($instagram_post_width) {
if ($image_height / ($instagram_post_height + 96) < $image_width / $instagram_post_width) {
$instagram_post_width = ($image_height - 96) * $instagram_post_width / $instagram_post_height + 16;
$instagram_post_height = $image_height;
}
else {
$instagram_post_height = ($image_width - 16) * $instagram_post_height / $instagram_post_width + 16;
$instagram_post_width = $image_width;
}
}
$image_id = (isset($_GET['image_id']) ? esc_html($_GET['image_id']) : '0');
?>
<div style="display:table; width:100%; height:<?php echo $popup_height; ?>px;">
<div id='bwg_container_for_media_1' style="display:table-cell; text-align:center; vertical-align:middle;">
<img id="image_display" src="" style="max-width:<?php echo $image_width; ?>px; max-height:<?php echo $image_height; ?>px;"/>
</div>
</div>
<script language="javascript" type="text/javascript" src="<?php echo WD_BWG_URL . '/js/bwg_embed.js?ver='.wd_bwg_version(); ?>"></script>
<script>
var file_type = window.parent.document.getElementById("input_filetype_<?php echo $image_id; ?>").value;
var is_embed = file_type.indexOf("EMBED_") > -1 ? true : false;
var is_instagram_post = file_type.indexOf("INSTAGRAM_POST") > -1 ? true : false;
if (!is_embed) {
var image_url = "<?php echo site_url() . '/' . $WD_BWG_UPLOAD_DIR; ?>" + window.parent.document.getElementById("image_url_<?php echo $image_id; ?>").value;
window.document.getElementById("image_display").src = image_url + "?date=<?php echo date('Y-m-y H:i:s'); ?>";
}
else if(is_embed){
var embed_id = window.parent.document.getElementById("input_filename_<?php echo $image_id; ?>").value;
window.document.getElementById("image_display").setAttribute('style', 'display: none;');
if(!is_instagram_post){
window.document.getElementById("bwg_container_for_media_1").innerHTML = spider_display_embed(file_type, embed_id, {class:"embed_display", width:"<?php echo $image_width; ?>", height:"<?php echo $image_height; ?>", frameborder:"0", allowfullscreen:"allowfullscreen", style:"width:<?php echo $image_width; ?>px; height:<?php echo $image_height; ?>px; vertical-align:middle; text-align: center; margin: 0 auto;" });
}
else{
window.document.getElementById("bwg_container_for_media_1").innerHTML = spider_display_embed(file_type, embed_id, {class:"embed_display", width:"<?php echo $instagram_post_width; ?>", height:"<?php echo $instagram_post_height; ?>", frameborder:"0", allowfullscreen:"allowfullscreen", style:"width:<?php echo $instagram_post_width ; ?>px; height:<?php echo $instagram_post_height; ?>px; vertical-align:middle; text-align: center; margin: 0 auto;" });
}
}
</script>
<?php
die();
}
public function thumb_display() {
global $WD_BWG_UPLOAD_DIR;
$popup_width = ((int) (isset($_GET['width']) ? esc_html($_GET['width']) : '800')) - 30;
$image_width = $popup_width - 40;
$popup_height = ((int) (isset($_GET['height']) ? esc_html($_GET['height']) : '500')) - 50;
$image_height = $popup_height - 40;
$image_id = (isset($_GET['image_id']) ? esc_html($_GET['image_id']) : '0');
?>
<div style="display:table; width:100%; height:<?php echo $popup_height; ?>px;">
<div style="display:table-cell; text-align:center; vertical-align:middle;">
<img id="thumb_view" src="" style="max-width:<?php echo $image_width; ?>px; max-height:<?php echo $image_height; ?>px;"/>
</div>
</div>
<script>
var image_url = "<?php echo site_url() . '/' . $WD_BWG_UPLOAD_DIR; ?>" + window.parent.document.getElementById("thumb_url_<?php echo $image_id; ?>").value;
window.document.getElementById("thumb_view").src = image_url + "?date=<?php echo date('Y-m-y H:i:s'); ?>";
</script>
<?php
die();
}
public function crop() {
global $WD_BWG_UPLOAD_DIR;
global $wd_bwg_options;
$thumb_width = $wd_bwg_options->upload_thumb_width;
$thumb_height = $wd_bwg_options->upload_thumb_height;
$popup_width = ((int) (isset($_GET['width']) ? esc_html($_GET['width']) : '800')) - 50;
$image_width = $popup_width - $thumb_width - 70;
$popup_height = ((int) (isset($_GET['height']) ? esc_html($_GET['height']) : '500')) - 75;
$image_height = $popup_height - 70;
$image_id = (isset($_GET['image_id']) ? esc_html($_GET['image_id']) : '0');
$edit_type = (isset($_POST['edit_type']) ? esc_html($_POST['edit_type']) : '');
$x = (isset($_POST['x']) ? (int) $_POST['x'] : 0);
$y = (isset($_POST['y']) ? (int) $_POST['y'] : 0);
$w = (isset($_POST['w']) ? (int) $_POST['w'] : 0);
$h = (isset($_POST['h']) ? (int) $_POST['h'] : 0);
if (isset($_GET['image_url'])) {
$image_data = new stdClass();
$image_data->image_url = (isset($_GET['image_url']) ? esc_html(stripcslashes($_GET['image_url'])) : '');
$image_data->thumb_url = (isset($_GET['thumb_url']) ? esc_html(stripcslashes($_GET['thumb_url'])) : '');
$filename = htmlspecialchars_decode(ABSPATH . $WD_BWG_UPLOAD_DIR . $image_data->image_url, ENT_COMPAT | ENT_QUOTES);
$thumb_filename = htmlspecialchars_decode(ABSPATH . $WD_BWG_UPLOAD_DIR . $image_data->thumb_url, ENT_COMPAT | ENT_QUOTES);
$form_action = add_query_arg(array('action' => 'editThumb', 'type' => 'crop', 'image_id' => $image_id, 'image_url' => $image_data->image_url, 'thumb_url' => $image_data->thumb_url, 'width' => '800', 'height' => '500', 'TB_iframe' => '1'), admin_url('admin-ajax.php'));
}
else {
$image_data = $this->model->get_image_data($image_id);
$image_data->image_url = stripslashes($image_data->image_url);
$filename = htmlspecialchars_decode(ABSPATH . $WD_BWG_UPLOAD_DIR . $image_data->image_url, ENT_COMPAT | ENT_QUOTES);
$thumb_filename = htmlspecialchars_decode(ABSPATH . $WD_BWG_UPLOAD_DIR . $image_data->thumb_url, ENT_COMPAT | ENT_QUOTES);
$form_action = add_query_arg(array('action' => 'editThumb', 'type' => 'crop', 'image_id' => $image_id, 'width' => '800', 'height' => '500', 'TB_iframe' => '1'), admin_url('admin-ajax.php'));
}
@ini_set('memory_limit', '-1');
list($width_orig, $height_orig, $type_orig) = getimagesize($filename);
if ($edit_type == 'crop') {
if ($type_orig == 2) {
$img_r = imagecreatefromjpeg($filename);
$dst_r = ImageCreateTrueColor($thumb_width, $thumb_height);
imagecopyresampled($dst_r, $img_r, 0, 0, $x, $y, $thumb_width, $thumb_height, $w, $h);
imagejpeg($dst_r, $thumb_filename, 90);
imagedestroy($img_r);
imagedestroy($dst_r);
}
elseif ($type_orig == 3) {
$img_r = imagecreatefrompng($filename);
$dst_r = ImageCreateTrueColor($thumb_width, $thumb_height);
imageColorAllocateAlpha($dst_r, 0, 0, 0, 127);
imagealphablending($dst_r, FALSE);
imagesavealpha($dst_r, TRUE);
imagecopyresampled($dst_r, $img_r, 0, 0, $x, $y, $thumb_width, $thumb_height, $w, $h);
imagealphablending($dst_r, FALSE);
imagesavealpha($dst_r, TRUE);
imagepng($dst_r, $thumb_filename, 9);
imagedestroy($img_r);
imagedestroy($dst_r);
}
elseif ($type_orig == 1) {
$img_r = imagecreatefromgif($filename);
$dst_r = ImageCreateTrueColor($thumb_width, $thumb_height);
imageColorAllocateAlpha($dst_r, 0, 0, 0, 127);
imagealphablending($dst_r, FALSE);
imagesavealpha($dst_r, TRUE);
imagecopyresampled($dst_r, $img_r, 0, 0, $x, $y, $thumb_width, $thumb_height, $w, $h);
imagealphablending($dst_r, FALSE);
imagesavealpha($dst_r, TRUE);
imagegif($dst_r, $thumb_filename);
imagedestroy($img_r);
imagedestroy($dst_r);
}
else {
?>
<div class="thumb_message"><strong><?php _e("You can't crop this type of image.", 'bwg_back'); ?></strong></div>
<?php
}
}
@ini_restore('memory_limit');
wp_print_scripts('jquery');
wp_print_scripts('jcrop');
wp_print_styles('jcrop');
?>
<style>
body {
height: <?php echo $popup_height; ?>px;
}
.spider_crop {
background: linear-gradient(to top, #ECECEC, #F9F9F9) repeat scroll 0 0 #F1F1F1;
cursor: pointer;
height: 30px;
padding: 2px;
-moz-outline-radius: 2px;
outline: 1px solid #CCCCCC;
}
.spider_crop:hover {
-moz-outline-radius: 2px;
outline: 1px solid #999999;
padding: 2px;
}
.jcrop-holder {
margin: 0 auto;
}
.thumb_preview {
height: <?php echo $thumb_height; ?>px;
margin: 0 auto;
overflow: hidden;
width: <?php echo $thumb_width; ?>px;
}
#thumb_image_preview {
display: none;
}
.thumb_preview_td {
background-color: #F5F5F5;
border-radius: 3px;
border: 1px solid #CCCCCC;
font-family: sans-serif;
font-size: 12px;
}
.thumb_message {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
background: linear-gradient(to top, #ECECEC, #F9F9F9) repeat scroll 0 0 #F1F1F1;
background-color: #F5F5F5;
border: 1px solid #CCCCCC;
border-radius: 3px 3px 3px 3px;
box-sizing: border-box;
color: #333333;
font-family: sans-serif;
font-size: 12px;
margin: 5px auto;
padding: 8px 5px;
width: <?php echo $popup_width; ?>;
}
#crop_button {
display: none;
height: 38px;
margin-top: 5px;
text-align: center;
}
</style>
<?php
if ($edit_type == 'crop') {
?><div class="thumb_message" id="croped_message"><strong><?php _e("The thumbnail successfully croped.", 'bwg_back'); ?></strong></div><?php
}
else {
?><div class="thumb_message" id="thumb_message"><strong><?php _e("Select the area for the thumbnail.", 'bwg_back'); ?></strong></div><?php
}
?>
<form method="post" id="crop_image" action="<?php echo $form_action; ?>" >
<?php wp_nonce_field( 'editThumb', 'bwg_nonce' ); ?>
<div style="height:<?php echo $popup_height - 10; ?>px; width:<?php echo $popup_width; ?>; margin: 5px auto;">
<div id="crop_button">
<img title="Crop" class="spider_crop" onclick="spider_crop('crop', 'crop_image')" src="<?php echo WD_BWG_URL . '/images/crop.png'; ?>"/>
</div>
<table style="height: inherit; top: 45px; position: absolute ;width: inherit; margin: 0 auto;">
<tr>
<td class="thumb_preview_td" colspan="2">
<input type="checkbox" id="chb" onclick="spider_crop_ratio()" checked="checked">
<label for="chb"><?php _e("Keep aspect ratio", 'bwg_back'); ?></label>
</td>
</tr>
<tr>
<td class="thumb_preview_td" style="vertical-align: middle; width: <?php echo ($popup_width - $thumb_width) - 40; ?>px;">
<img id="image_view" src="<?php echo site_url() . '/' . $WD_BWG_UPLOAD_DIR . $image_data->image_url; ?>?date=<?php echo date('Y-m-y H:i:s'); ?>" style="max-width:<?php echo $image_width; ?>px; max-height:<?php echo $image_height; ?>px;" />
</td>
<td class="thumb_preview_td" style="width:<?php echo $thumb_width + 20; ?>px;">
<div class="thumb_preview">
<img id="thumb_image_preview" src="<?php echo site_url() . '/' . $WD_BWG_UPLOAD_DIR . $image_data->image_url; ?>?date=<?php echo date('Y-m-y H:i:s'); ?>">
</div>
</td>
</tr>
</table>
</div>
<input type="hidden" name="edit_type" id="edit_type" />
<input id="x" type="hidden" name="x" value="" />
<input id="y" type="hidden" name="y" value="" />
<input id="w" type="hidden" name="w" value="" />
<input id="h" type="hidden" name="h" value="" />
</form>
<script language="javascript">
function spider_crop_ratio() {
if (document.getElementById("chb").checked == false) {
spider_crop_fix("", "");
}
else {
spider_crop_fix("<?php echo $wd_bwg_options->upload_thumb_width; ?>", "<?php echo $wd_bwg_options->upload_thumb_height; ?>");
}
jQuery('#crop_button').show();
jQuery('#thumb_message').hide();
jQuery('#croped_message').hide();
jQuery('#thumb_image_preview').show();
}
function spider_crop(type, form_id) {
document.getElementById("edit_type").value = type;
document.getElementById(form_id).submit();
}
var image_src = window.parent.document.getElementById("image_thumb_<?php echo $image_id; ?>").src;
window.parent.document.getElementById("image_thumb_<?php echo $image_id; ?>").src = image_src + "?date=<?php echo date('Y-m-y H:i:s'); ?>";
// jQuery('#image_view').Jcrop();
jQuery(window).load(function() {
spider_crop_fix("<?php echo $wd_bwg_options->upload_thumb_width; ?>", "<?php echo $wd_bwg_options->upload_thumb_height; ?>");
});
function spider_crop_fix(wi, he) {
var ratio = parseInt('<?php echo $width_orig; ?>') / jQuery('#image_view').width();
var thumb_width = parseInt(wi);
var thumb_height = parseInt(he);
if (<?php echo $w; ?> == 0) {
jQuery('#image_view').Jcrop({
onChange: spider_update_thumb,
onSelect: spider_update_coords,
// bgColor: 'black',
bgOpacity: .7,
aspectRatio: thumb_width / thumb_height
});
}
else {
jQuery('#image_view').Jcrop({
onChange: spider_update_thumb,
onSelect: spider_update_coords,
// bgColor: 'black',
bgOpacity: .7,
setSelect: [ <?php echo $x; ?> / ratio, <?php echo $y; ?> / ratio, <?php echo $x + $w; ?> / ratio, <?php echo $y + $h; ?> / ratio ],
aspectRatio: thumb_width / thumb_height
});
}
}
function spider_update_coords(c) {
var ratio = parseInt('<?php echo $width_orig; ?>') / jQuery('#image_view').width();
jQuery('#x').val(c.x * ratio);
jQuery('#y').val(c.y * ratio);
jQuery('#w').val(c.w * ratio);
jQuery('#h').val(c.h * ratio);
jQuery('#crop_button').show();
jQuery('#thumb_message').hide();
jQuery('#croped_message').hide();
jQuery('#thumb_image_preview').show();
jQuery('.thumb_preview').css("border", "1px solid #CCCCCC");
}
function spider_update_thumb(c) {
jQuery('#crop_button').hide();
jQuery('#croped_message').show();
var thumb_width = parseInt('<?php echo $wd_bwg_options->upload_thumb_width; ?>');
var thumb_height = parseInt('<?php echo $wd_bwg_options->upload_thumb_height; ?>');
jQuery('#thumb_image_preview').css("margin-left", -c.x * (thumb_width / c.w) + "px");
jQuery('#thumb_image_preview').css("margin-top", -c.y * (thumb_height / c.h) + "px");
jQuery('#thumb_image_preview').css("width", ((thumb_width / c.w) * jQuery('#image_view').width()) + "px");
jQuery('#thumb_image_preview').css("height", ((thumb_height / c.h) * jQuery('#image_view').height()) + "px");
}
</script>
<?php
die();
}
public function recover_image($id, $thumb_width, $thumb_height) {
global $WD_BWG_UPLOAD_DIR;
global $wpdb;
$image_data = $wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $wpdb->prefix . 'bwg_image WHERE id="%d"', $id));
if (!$image_data) {
$image_data = new stdClass();
$image_data->image_url = (isset($_GET['image_url']) ? esc_html(stripcslashes($_GET['image_url'])) : '');
$image_data->thumb_url = (isset($_GET['thumb_url']) ? esc_html(stripcslashes($_GET['thumb_url'])) : '');
}
$filename = htmlspecialchars_decode(ABSPATH . $WD_BWG_UPLOAD_DIR . $image_data->image_url, ENT_COMPAT | ENT_QUOTES);
$thumb_filename = htmlspecialchars_decode(ABSPATH . $WD_BWG_UPLOAD_DIR . $image_data->thumb_url, ENT_COMPAT | ENT_QUOTES);
copy(str_replace('/thumb/', '/.original/', $thumb_filename), $filename);
list($width_orig, $height_orig, $type_orig) = getimagesize($filename);
$percent = $width_orig / $thumb_width;
$thumb_height = $height_orig / $percent;
@ini_set('memory_limit', '-1');
if ($type_orig == 2) {
$img_r = imagecreatefromjpeg($filename);
$dst_r = ImageCreateTrueColor($thumb_width, $thumb_height);
imagecopyresampled($dst_r, $img_r, 0, 0, 0, 0, $thumb_width, $thumb_height, $width_orig, $height_orig);
imagejpeg($dst_r, $thumb_filename, 100);
imagedestroy($img_r);
imagedestroy($dst_r);
}
elseif ($type_orig == 3) {
$img_r = imagecreatefrompng($filename);
$dst_r = ImageCreateTrueColor($thumb_width, $thumb_height);
imageColorAllocateAlpha($dst_r, 0, 0, 0, 127);
imagealphablending($dst_r, FALSE);
imagesavealpha($dst_r, TRUE);
imagecopyresampled($dst_r, $img_r, 0, 0, 0, 0, $thumb_width, $thumb_height, $width_orig, $height_orig);
imagealphablending($dst_r, FALSE);
imagesavealpha($dst_r, TRUE);
imagepng($dst_r, $thumb_filename, 9);
imagedestroy($img_r);
imagedestroy($dst_r);
}
elseif ($type_orig == 1) {
$img_r = imagecreatefromgif($filename);
$dst_r = ImageCreateTrueColor($thumb_width, $thumb_height);
imageColorAllocateAlpha($dst_r, 0, 0, 0, 127);
imagealphablending($dst_r, FALSE);
imagesavealpha($dst_r, TRUE);
imagecopyresampled($dst_r, $img_r, 0, 0, 0, 0, $thumb_width, $thumb_height, $width_orig, $height_orig);
imagealphablending($dst_r, FALSE);
imagesavealpha($dst_r, TRUE);
imagegif($dst_r, $thumb_filename);
imagedestroy($img_r);
imagedestroy($dst_r);
}
@ini_restore('memory_limit');
}
public function rotate() {
global $WD_BWG_UPLOAD_DIR;
$popup_width = ((int) (isset($_GET['width']) ? esc_html($_GET['width']) : '650')) - 30;
$image_width = $popup_width - 40;
$popup_height = ((int) (isset($_GET['height']) ? esc_html($_GET['height']) : '500')) - 55;
$image_height = $popup_height - 70;
$image_id = (isset($_GET['image_id']) ? esc_html($_GET['image_id']) : '0');
$edit_type = (isset($_POST['edit_type']) ? esc_html($_POST['edit_type']) : '');
$brightness_val = (isset($_POST['brightness_val']) ? esc_html($_POST['brightness_val']) : 0);
$contrast_val = (isset($_POST['contrast_val']) ? esc_html($_POST['contrast_val']) : 0);
if (isset($_GET['image_url'])) {
$image_data = new stdClass();
$image_data->image_url = (isset($_GET['image_url']) ? esc_html(stripcslashes($_GET['image_url'])) : '');
$image_data->thumb_url = (isset($_GET['thumb_url']) ? esc_html(stripcslashes($_GET['thumb_url'])) : '');
$filename = htmlspecialchars_decode(ABSPATH . $WD_BWG_UPLOAD_DIR . $image_data->image_url, ENT_COMPAT | ENT_QUOTES);
$thumb_filename = htmlspecialchars_decode(ABSPATH . $WD_BWG_UPLOAD_DIR . $image_data->thumb_url, ENT_COMPAT | ENT_QUOTES);
$form_action = add_query_arg(array('action' => 'editThumb', 'type' => 'rotate', 'image_id' => $image_id, 'image_url' => $image_data->image_url, 'thumb_url' => $image_data->thumb_url, 'width' => '650', 'height' => '500', 'TB_iframe' => '1'), admin_url('admin-ajax.php'));
}
else {
$image_data = $this->model->get_image_data($image_id);
$image_data->image_url = stripcslashes($image_data->image_url);
$filename = htmlspecialchars_decode(ABSPATH . $WD_BWG_UPLOAD_DIR . $image_data->image_url, ENT_COMPAT | ENT_QUOTES);
$thumb_filename = htmlspecialchars_decode(ABSPATH . $WD_BWG_UPLOAD_DIR . $image_data->thumb_url, ENT_COMPAT | ENT_QUOTES);
$form_action = add_query_arg(array('action' => 'editThumb', 'type' => 'rotate', 'image_id' => $image_id, 'width' => '650', 'height' => '500', 'TB_iframe' => '1'), admin_url('admin-ajax.php'));
}
@ini_set('memory_limit', '-1');
list($width_rotate, $height_rotate, $type_rotate) = getimagesize($filename);
if ($edit_type == '270' || $edit_type == '90') {
if ($type_rotate == 2) {
$source = imagecreatefromjpeg($filename);
$thumb_source = imagecreatefromjpeg($thumb_filename);
$rotate = imagerotate($source, $edit_type, 0);
$thumb_rotate = imagerotate($thumb_source, $edit_type, 0);
imagejpeg($thumb_rotate, $thumb_filename, 90);
imagejpeg($rotate, $filename, 100);
imagedestroy($source);
imagedestroy($rotate);
imagedestroy($thumb_source);
imagedestroy($thumb_rotate);
}
elseif ($type_rotate == 3) {
$source = imagecreatefrompng($filename);
$thumb_source = imagecreatefrompng($thumb_filename);
imagealphablending($source, FALSE);
imagealphablending($thumb_source, FALSE);
imagesavealpha($source, TRUE);
imagesavealpha($thumb_source, TRUE);
$rotate = imagerotate($source, $edit_type, imageColorAllocateAlpha($source, 0, 0, 0, 127));
$thumb_rotate = imagerotate($thumb_source, $edit_type, imageColorAllocateAlpha($source, 0, 0, 0, 127));
imagealphablending($rotate, FALSE);
imagealphablending($thumb_rotate, FALSE);
imagesavealpha($rotate, TRUE);
imagesavealpha($thumb_rotate, TRUE);
imagepng($rotate, $filename, 9);
imagepng($thumb_rotate, $thumb_filename, 9);
imagedestroy($source);
imagedestroy($rotate);
imagedestroy($thumb_source);
imagedestroy($thumb_rotate);
}
elseif ($type_rotate == 1) {
$source = imagecreatefromgif($filename);
$thumb_source = imagecreatefromgif($thumb_filename);
imagealphablending($source, FALSE);
imagealphablending($thumb_source, FALSE);
imagesavealpha($source, TRUE);
imagesavealpha($thumb_source, TRUE);
$rotate = imagerotate($source, $edit_type, imageColorAllocateAlpha($source, 0, 0, 0, 127));
$thumb_rotate = imagerotate($thumb_source, $edit_type, imageColorAllocateAlpha($source, 0, 0, 0, 127));
imagealphablending($rotate, FALSE);
imagealphablending($thumb_rotate, FALSE);
imagesavealpha($rotate, TRUE);
imagesavealpha($thumb_rotate, TRUE);
imagegif($rotate, $filename);
imagegif($thumb_rotate, $thumb_filename);
imagedestroy($source);
imagedestroy($rotate);
imagedestroy($thumb_source);
imagedestroy($thumb_rotate);
}
}
elseif ($edit_type == 'vertical' || $edit_type == 'horizontal' || $edit_type == 'both') {
function bwg_image_flip($imgsrc, $mode) {
$width = imagesx($imgsrc);
$height = imagesy($imgsrc);
$src_x = 0;
$src_y = 0;
$src_width = $width;
$src_height = $height;
switch ($mode) {
case 'vertical':
$src_y = $height - 1;
$src_height = -$height;
break;
case 'horizontal':
$src_x = $width - 1;
$src_width = -$width;
break;
case 'both':
$src_x = $width - 1;
$src_y = $height - 1;
$src_width = -$width;
$src_height = -$height;
break;
default:
return $imgsrc;
}
$trans_colour = imageColorAllocateAlpha($imgsrc, 0, 0, 0, 127);
$imgdest = imagecreatetruecolor($width, $height);
imagefill($imgdest, 0, 0, $trans_colour);
if (imagecopyresampled($imgdest, $imgsrc, 0, 0, $src_x, $src_y , $width, $height, $src_width, $src_height)) {
return $imgdest;
}
return $imgsrc;
}
if ($type_rotate == 2) {
$source = imagecreatefromjpeg($filename);
$flip = bwg_image_flip($source, $edit_type);
imagejpeg($flip, $filename, 100);
$thumb_source = imagecreatefromjpeg($thumb_filename);
$thumb_flip = bwg_image_flip($thumb_source, $edit_type);
imagejpeg($thumb_flip, $thumb_filename, 90);
imagedestroy($source);
imagedestroy($flip);
imagedestroy($thumb_source);
imagedestroy($thumb_flip);
}
elseif ($type_rotate == 3) {
$source = imagecreatefrompng($filename);
$thumb_source = imagecreatefrompng($thumb_filename);
imagealphablending($source, FALSE);
imagealphablending($thumb_source, FALSE);
imagesavealpha($source, TRUE);
imagesavealpha($thumb_source, TRUE);
$flip = bwg_image_flip($source, $edit_type);
$thumb_flip = bwg_image_flip($thumb_source, $edit_type);
imagealphablending($flip, FALSE);
imagealphablending($thumb_flip, FALSE);
imagesavealpha($flip, TRUE);
imagesavealpha($thumb_flip, TRUE);
imagepng($flip, $filename, 9);
imagepng($thumb_flip, $thumb_filename, 9);
imagedestroy($source);
imagedestroy($flip);
imagedestroy($thumb_source);
imagedestroy($thumb_flip);
}
elseif ($type_rotate == 1) {
$source = imagecreatefromgif($filename);
$thumb_source = imagecreatefromgif($thumb_filename);
imagealphablending($source, FALSE);
imagealphablending($thumb_source, FALSE);
imagesavealpha($source, TRUE);
imagesavealpha($thumb_source, TRUE);
$flip = bwg_image_flip($source, $edit_type);
$thumb_flip = bwg_image_flip($thumb_source, $edit_type);
imagealphablending($flip, FALSE);
imagealphablending($thumb_flip, FALSE);
imagesavealpha($flip, TRUE);
imagesavealpha($thumb_flip, TRUE);
imagegif($flip, $filename);
imagegif($thumb_flip, $thumb_filename);
imagedestroy($source);
imagedestroy($flip);
imagedestroy($thumb_source);
imagedestroy($thumb_flip);
}
}
elseif ($edit_type == 'brightness' || $edit_type == 'contrast' || $edit_type == 'grayscale' || $edit_type == 'negative' || $edit_type == 'remove' || $edit_type == 'emboss' || $edit_type == 'smooth') {
switch ($edit_type) {
case 'brightness' :
$img_filter_type = IMG_FILTER_BRIGHTNESS;
$ratio = $brightness_val;
break;
case 'contrast' :
$img_filter_type = IMG_FILTER_CONTRAST;
$ratio = $contrast_val;
break;
case 'grayscale' :
$img_filter_type = IMG_FILTER_GRAYSCALE;
$ratio = '';
break;
case 'negative' :
$img_filter_type = IMG_FILTER_NEGATE;
$ratio = '';
break;
case 'remove' :
$img_filter_type = IMG_FILTER_MEAN_REMOVAL;
$ratio = '';
break;
case 'emboss' :
$img_filter_type = IMG_FILTER_EMBOSS;
$ratio = '';
break;
case 'smooth' :
$img_filter_type = IMG_FILTER_SMOOTH;
$ratio = 30;
break;
default:
return;
}
$img_type = $type_rotate;
if ($img_type == 2) {
$source = imagecreatefromjpeg($filename);
$thumb_source = imagecreatefromjpeg($thumb_filename);
imagefilter($source, $img_filter_type, $ratio);
imagefilter($thumb_source, $img_filter_type, $ratio);
imagejpeg($source, $filename, 100);
imagejpeg($thumb_source, $thumb_filename, 90);
imagedestroy($source);
imagedestroy($thumb_source);
}
elseif ($img_type == 3) {
$source = imagecreatefrompng($filename);
$thumb_source = imagecreatefrompng($thumb_filename);
imagealphablending($source, FALSE);
imagealphablending($thumb_source, FALSE);
imagesavealpha($source, TRUE);
imagesavealpha($thumb_source, TRUE);
imagefilter($source, $img_filter_type, $ratio);
imagefilter($thumb_source, $img_filter_type, $ratio);
imagepng($source, $filename, 9);
imagepng($thumb_source, $thumb_filename, 9);
imagedestroy($source);
imagedestroy($thumb_source);
}
elseif ($img_type == 1) {
$source = imagecreatefromgif($filename);
$thumb_source = imagecreatefromgif($thumb_filename);
imagealphablending($source, FALSE);
imagealphablending($thumb_source, FALSE);
imagesavealpha($source, TRUE);
imagesavealpha($thumb_source, TRUE);
imagefilter($source, $img_filter_type, $ratio);
imagefilter($thumb_source, $img_filter_type, $ratio);
imagegif($source, $filename);
imagegif($thumb_source, $thumb_filename);
imagedestroy($source);
imagedestroy($thumb_source);
}
}
elseif ($edit_type == 'sepia' || $edit_type == 'dark_slate_grey' || $edit_type == 'saturate') {
switch($edit_type) {
case 'sepia' :
$img_filter_type = IMG_FILTER_COLORIZE;
$red = 112;
$green = 66;
$blue = 20;
break;
case 'dark_slate_grey' :
$img_filter_type = IMG_FILTER_COLORIZE;
$red = 47;
$green = 79;
$blue = 79;
break;
case 'saturate' :
$img_filter_type = IMG_FILTER_COLORIZE;
$red = 236;
$green = 40;
$blue = 41;
break;
default:
return;
}
$img_type = $type_rotate;
if ($img_type == 2) {
$source = imagecreatefromjpeg($filename);
$thumb_source = imagecreatefromjpeg($thumb_filename);
imagefilter($source, $img_filter_type, $red, $green, $blue);
imagefilter($thumb_source, $img_filter_type, $red, $green, $blue);
imagejpeg($source, $filename, 100);
imagejpeg($thumb_source, $thumb_filename, 90);
imagedestroy($source);
imagedestroy($thumb_source);
}
elseif ($img_type == 3) {
$source = imagecreatefrompng($filename);
$thumb_source = imagecreatefrompng($thumb_filename);
imagealphablending($source, FALSE);
imagealphablending($thumb_source, FALSE);
imagesavealpha($source, TRUE);
imagesavealpha($thumb_source, TRUE);
imagefilter($source, $img_filter_type, $red, $green, $blue);
imagefilter($thumb_source, $img_filter_type, $red, $green, $blue);
imagepng($source, $filename, 9);
imagepng($thumb_source, $thumb_filename, 9);
imagedestroy($source);
imagedestroy($thumb_source);
}
elseif ($img_type == 1) {
$source = imagecreatefromgif($filename);
$thumb_source = imagecreatefromgif($thumb_filename);
imagealphablending($source, FALSE);
imagealphablending($thumb_source, FALSE);
imagesavealpha($source, TRUE);
imagesavealpha($thumb_source, TRUE);
imagefilter($source, $img_filter_type, $red, $green, $blue);
imagefilter($thumb_source, $img_filter_type, $red, $green, $blue);
imagegif($source, $filename);
imagegif($thumb_source, $thumb_filename);
imagedestroy($source);
imagedestroy($thumb_source);
}
}
elseif ($edit_type == 'recover') {
global $wpdb;
$id = ((isset($_POST['image_id'])) ? (int) esc_html(stripslashes($_POST['image_id'])) : 0);
global $wd_bwg_options;
$thumb_width = $wd_bwg_options->thumb_width;
$thumb_height = $wd_bwg_options->thumb_height;
$this->recover_image($id, $thumb_width, $thumb_height);
}
@ini_restore('memory_limit');
wp_print_scripts('jquery');
wp_print_scripts('jquery-ui-widget');
wp_print_scripts('jquery-ui-slider');
?>
<link type="text/css" rel="stylesheet" id="bwg_tables-css" href="<?php echo WD_BWG_FRONT_URL . '/css/bwg_edit_image.css'; ?>" media="all">
<link type="text/css" rel="stylesheet" href="<?php echo WD_BWG_FRONT_URL . '/css/font-awesome/font-awesome.css?ver=4.6.3'; ?>" >
<form method="post" id="bwg_rotate_image" action="<?php echo $form_action; ?>">
<?php wp_nonce_field('editThumb', 'bwg_nonce'); ?>
<div class="main_cont" style="height: <?php echo $popup_height; ?>px;">
<div class="cont_for_effect">
<div class="effect_cont">
<img class="effect" onclick="spider_rotate('grayscale', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/grayscale.png'; ?>"/>
<p class="effect_title"><?php _e("Grayscale", 'bwg_back'); ?></p>
</div>
<div class="effect_cont">
<img class="effect" onclick="spider_rotate('negative', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/negative.png'; ?>"/>
<p class="effect_title"><?php _e("Negative", 'bwg_back'); ?></p>
</div>
<div class="effect_cont">
<img class="effect" onclick="spider_rotate('remove', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/remove.png'; ?>"/>
<p class="effect_title"><?php _e("Removal", 'bwg_back'); ?></p>
</div>
<div class="effect_cont">
<img class="effect" onclick="spider_rotate('sepia', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/sepia.png'; ?>"/>
<p class="effect_title"><?php _e("Sepia", 'bwg_back'); ?></p>
</div>
<div class="effect_cont">
<img class="effect" onclick="spider_rotate('dark_slate_grey', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/dark_slate_grey.png'; ?>"/>
<p class="effect_title"><?php _e("Slate", 'bwg_back'); ?></p>
</div>
<div class="effect_cont">
<img class="effect" onclick="spider_rotate('saturate', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/saturate.png'; ?>"/>
<p class="effect_title"><?php _e("Saturate", 'bwg_back'); ?></p>
</div>
</div>
<div class="reset_cont">
<a class="reset_img" onclick="if (confirm('<?php echo addslashes(__("Do you want to reset the image?", 'bwg_back')); ?>')) spider_rotate('recover', 'bwg_rotate_image'); else return false; "><?php _e("Reset image", 'bwg_back'); ?></a>
</div>
<div class="flip_cont" >
<img title="Flip Both" class="effect" onclick="spider_rotate('both', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/flip_both.png'; ?>"/>
<img title="Flip Vertical" class="effect" onclick="spider_rotate('vertical', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/flip_vertical.png'; ?>"/>
<img title="Flip Horizontal" class="effect" onclick="spider_rotate('horizontal', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/flip_horizontal.png'; ?>"/>
<img title="Rotate Left" class="effect" onclick="spider_rotate('90', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/rotate_left.png'; ?>"/>
<img title="Rotate Right" class="effect" onclick="spider_rotate('270', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/rotate_right.png'; ?>"/>
</div>
<div class="img_cont" style="height:<?php echo $popup_height - 40; ?>px;">
<div class="img_main_cont" >
<div class="last_cont">
<img class="bwg_preview_image" src="<?php echo site_url() . '/' . $WD_BWG_UPLOAD_DIR . $image_data->image_url; ?>?date=<?php echo date('Y-m-y H:i:s'); ?>" style="max-width: <?php echo $image_width; ?>px; max-height: <?php echo $image_height; ?>px;" />
</div>
</div>
<div class="cont_bright_cont">
<div class="cont_bright_cont_main">
<div class="last_cont">
<div class="bwg_opt_cont">
<img title="Options" src="<?php echo WD_BWG_URL . '/images/effects/option.png'; ?>" />
</div>
<div id="brightness_contrast" ><!--
--><div class="brightness_part" >
<div class="brightness_part_1">
<div class="brightness_butt">
<div class="contForBrightness">
<div class="brightness_title"><?php _e("Brightness", 'bwg_back'); ?></div>
<img title="Press for brightness" class="brightnessEffect" onclick="spider_rotate('brightness', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/brightness.png'; ?>" />
<div class="tooltip_for_press"><?php _e("Press for result", 'bwg_back'); ?></div>
</div>
</div>
<div class="cont_for_val">
<div id="sliderForBrightness">
<div class="brightness_val">
<div class="brightness_value">0</div>
</div>
</div>
</div>
</div>
</div><!--
--><div class="contrast_part">
<div class="contrast_part_1">
<div class="contrast_part_slider">
<div id="sliderForcontrast">
<div class="contrast_val">
<div class="contrast_val_cont">0</div>
</div>
</div>
</div>
<div class="contrast_butt">
<div class="contForContrast">
<div class="contrast_title"><?php _e("Contrast", 'bwg_back'); ?></div>
<img title="Press for Contrast" class="contrastEffect" onclick="spider_rotate('contrast', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/contrast.png'; ?>" />
<div class="tooltip_for_press_contrast"><?php _e("Press for result", 'bwg_back'); ?></div>
</div>
</div>
</div>
</div><!--
--></div>
</div>
</div>
</div>
</div>
</div>
<input type="hidden" name="edit_type" id="edit_type" />
<input type="hidden" name="image_id" id="image_id" value="<?php echo $image_id; ?>" />
<input type="hidden" name="brightness_val" id="brightness_val" value="<?php echo $brightness_val; ?>" />
<input type="hidden" name="contrast_val" id="contrast_val" value="<?php echo $contrast_val; ?>" />
</form>
<script>
jQuery(function() {
jQuery("#sliderForBrightness").slider({
range: "min",
value: 0,
min: -255,
max: 255,
step: 1,
slide: function(event, ui) {
jQuery('#brightness_val').val(ui.value);
jQuery('.brightness_value').html(ui.value);
var x = parseInt(ui.value);
x = x + 255;
var in_percents = (x / 510) * 100;
var in_percents_for_arrow = in_percents- 12;
jQuery('.brightness_val').css('left', in_percents_for_arrow + '%');
jQuery('.tooltip_for_press').fadeIn( "slow" );
}
});
jQuery("#sliderForcontrast").slider({
range: "min",
value: 0,
min: -100,
max: 100,
step: 1,
slide: function(event, ui) {
jQuery('#contrast_val').val(ui.value);
jQuery('.contrast_val_cont').html(ui.value);
var x = parseInt(ui.value);
x = x + 100;
var in_percents = (x / 200) * 100;
var in_percents_for_arrow = in_percents - 12;
jQuery('.contrast_val').css('left', in_percents_for_arrow + '%');
jQuery('.tooltip_for_press_contrast').fadeIn( "slow" );
}
});
});
function spider_rotate(type, form_id) {
document.getElementById("edit_type").value = type;
document.getElementById(form_id).submit();
}
if (window.parent.document.getElementById("image_thumb_pr_<?php echo $image_id; ?>") != null){
var image_src = window.parent.document.getElementById("image_thumb_pr_<?php echo $image_id; ?>").src;
window.parent.document.getElementById("image_thumb_pr_<?php echo $image_id; ?>").src = image_src + "?date=<?php echo date('Y-m-y H:i:s'); ?>";
}
else {
var image_src = window.parent.document.getElementById("image_thumb_<?php echo $image_id; ?>").src;
window.parent.document.getElementById("image_thumb_<?php echo $image_id; ?>").src = image_src + "?date=<?php echo date('Y-m-y H:i:s'); ?>";
}
jQuery(document).ready(function() {
jQuery(".bwg_opt_cont").click(function(){
if (jQuery('#brightness_contrast').height() == 0)
jQuery('#brightness_contrast').animate({
height: 40
},
'linear',
function() {
jQuery('#sliderForBrightness').css('opacity', 1);
jQuery('#sliderForBrightness').css('display', 'inline-block');
jQuery('#sliderForcontrast').css('opacity', 1);
jQuery('#sliderForcontrast').css('display', 'inline-block');
jQuery('.contForBrightness').css('display', 'inline-block');
jQuery('.contForContrast').css('display', 'inline-block');
});
else
jQuery('#brightness_contrast').animate({
height: 0
},
'linear',
function() {
jQuery('#sliderForBrightness').css('opacity', 0);
jQuery('#sliderForBrightness').css('display', 'none');
jQuery('#sliderForcontrast').css('opacity', 0);
jQuery('#sliderForcontrast').css('display', 'none');
jQuery('.contForBrightness').css('display', 'none');
jQuery('.contForContrast').css('display', 'none');
}
);
});
jQuery('body').click(function() {
jQuery('.tooltip_for_press').fadeOut( "slow" );
});
jQuery('body').click(function() {
jQuery('.tooltip_for_press_contrast').fadeOut("slow");
});
});
</script>
<?php
die();
}
////////////////////////////////////////////////////////////////////////////////////////
// Getters & Setters //
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// Private Methods //
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// Listeners //
////////////////////////////////////////////////////////////////////////////////////////
} |