Photo Gallery by WD – Responsive Photo Gallery - Version 1.2.43

Version Description

New: Tools for editing images

Download this release

Release Info

Developer webdorado
Plugin Icon 128x128 Photo Gallery by WD – Responsive Photo Gallery
Version 1.2.43
Comparing to
See all releases

Code changes from version 1.2.42 to 1.2.43

admin/views/BWGViewEditThumb.php CHANGED
@@ -330,7 +330,55 @@ class BWGViewEditThumb {
330
  <?php
331
  die();
332
  }
333
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
334
  public function rotate() {
335
  global $WD_BWG_UPLOAD_DIR;
336
  $popup_width = ((int) (isset($_GET['width']) ? esc_html($_GET['width']) : '650')) - 30;
@@ -339,6 +387,8 @@ class BWGViewEditThumb {
339
  $image_height = $popup_height - 70;
340
  $image_id = (isset($_GET['image_id']) ? esc_html($_GET['image_id']) : '0');
341
  $edit_type = (isset($_POST['edit_type']) ? esc_html($_POST['edit_type']) : '');
 
 
342
 
343
  if (isset($_GET['image_url'])) {
344
  $image_data = new stdClass();
@@ -409,11 +459,6 @@ class BWGViewEditThumb {
409
  imagedestroy($thumb_source);
410
  imagedestroy($thumb_rotate);
411
  }
412
- else {
413
- ?>
414
- <div class="thumb_message"><strong>You can't rotate this type of image.</strong></div>
415
- <?php
416
- }
417
  }
418
  elseif ($edit_type == 'vertical' || $edit_type == 'horizontal' || $edit_type == 'both') {
419
  function bwg_image_flip($imgsrc, $mode) {
@@ -505,71 +550,339 @@ class BWGViewEditThumb {
505
  imagedestroy($thumb_source);
506
  imagedestroy($thumb_flip);
507
  }
508
- else {
509
- ?>
510
- <div class="thumb_message"><strong>You can't flip this type of image.</strong></div>
511
- <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
512
  }
513
  }
514
- @ini_restore('memory_limit');
515
- ?>
516
- <style>
517
- .spider_rotate {
518
- background: linear-gradient(to top, #ECECEC, #F9F9F9) repeat scroll 0 0 #F1F1F1;
519
- cursor: pointer;
520
- height: 30px;
521
- padding: 2px;
522
- -moz-outline-radius: 2px;
523
- outline: 1px solid #CCCCCC;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
524
  }
525
- .spider_rotate:hover {
526
- -moz-outline-radius: 2px;
527
- outline: 1px solid #999999;
528
- padding: 2px;
 
 
 
 
 
 
 
 
 
529
  }
530
- .thumb_message {
531
- -moz-box-sizing: border-box;
532
- -webkit-box-sizing: border-box;
533
- background: linear-gradient(to top, #ECECEC, #F9F9F9) repeat scroll 0 0 #F1F1F1;
534
- background-color: #F5F5F5;
535
- border: 1px solid #CCCCCC;
536
- border-radius: 3px 3px 3px 3px;
537
- box-sizing: border-box;
538
- color: #333333;
539
- font-family: sans-serif;
540
- font-size: 12px;
541
- margin: 5px auto;
542
- padding: 7px 5px;
543
- width: <?php echo $popup_width; ?>;
544
  }
545
- </style>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
546
  <script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
547
  function spider_rotate(type, form_id) {
548
  document.getElementById("edit_type").value = type;
549
  document.getElementById(form_id).submit();
550
  }
551
  var image_src = window.parent.document.getElementById("image_thumb_<?php echo $image_id; ?>").src;
552
  window.parent.document.getElementById("image_thumb_<?php echo $image_id; ?>").src = image_src + "?date=<?php echo date('Y-m-y H:i:s'); ?>";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
553
  </script>
554
- <form method="post" id="rotate_image" action="<?php echo $form_action; ?>">
555
- <?php wp_nonce_field( 'editThumb', 'bwg_nonce' ); ?>
556
- <div style="text-align:center; width:inherit; height:<?php echo $popup_height; ?>px;">
557
- <div style="height:40px;">
558
- <img title="Flip Both" class="spider_rotate" onclick="spider_rotate('both', 'rotate_image')" src="<?php echo WD_BWG_URL . '/images/flip_both.png'; ?>"/>
559
- <img title="Flip Vertical" class="spider_rotate" onclick="spider_rotate('vertical', 'rotate_image')" src="<?php echo WD_BWG_URL . '/images/flip_vertical.png'; ?>"/>
560
- <img title="Flip Horizontal" class="spider_rotate" onclick="spider_rotate('horizontal', 'rotate_image')" src="<?php echo WD_BWG_URL . '/images/flip_horizontal.png'; ?>"/>
561
- <img title="Rotate Left" class="spider_rotate" onclick="spider_rotate('90', 'rotate_image')" src="<?php echo WD_BWG_URL . '/images/rotate_left.png'; ?>"/>
562
- <img title="Rotate Right" class="spider_rotate" onclick="spider_rotate('270', 'rotate_image')" src="<?php echo WD_BWG_URL . '/images/rotate_right.png'; ?>"/>
563
- </div>
564
- <div style="display:table; width:100%; height:<?php echo $popup_height - 40; ?>px;">
565
- <div style="display:table-cell; vertical-align:middle;">
566
- <img src="<?php echo site_url() . '/' . $WD_BWG_UPLOAD_DIR . $image_data->image_url; ?>?date=<?php echo date('Y-m-y H:i:s'); ?>" style="margin:0 auto; display:block; max-width:<?php echo $image_width; ?>px;max-height:<?php echo $image_height; ?>px;" />
567
- </div>
568
- </div>
569
- </div>
570
- <input type="hidden" name="edit_type" id="edit_type" />
571
- <input type="hidden" name="image_id" id="image_id" value="<?php echo $image_id; ?>" />
572
- </form>
573
  <?php
574
  die();
575
  }
330
  <?php
331
  die();
332
  }
333
+
334
+ public function recover_image($id, $thumb_width, $thumb_height) {
335
+ global $WD_BWG_UPLOAD_DIR;
336
+ global $wpdb;
337
+ $image_data = $wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $wpdb->prefix . 'bwg_image WHERE id="%d"', $id));
338
+ $filename = htmlspecialchars_decode(ABSPATH . $WD_BWG_UPLOAD_DIR . $image_data->image_url, ENT_COMPAT | ENT_QUOTES);
339
+ $thumb_filename = htmlspecialchars_decode(ABSPATH . $WD_BWG_UPLOAD_DIR . $image_data->thumb_url, ENT_COMPAT | ENT_QUOTES);
340
+ copy(str_replace('/thumb/', '/.original/', $thumb_filename), $filename);
341
+ list($width_orig, $height_orig, $type_orig) = getimagesize($filename);
342
+ $percent = $width_orig / $thumb_width;
343
+ $thumb_height = $height_orig / $percent;
344
+ @ini_set('memory_limit', '-1');
345
+ if ($type_orig == 2) {
346
+ $img_r = imagecreatefromjpeg($filename);
347
+ $dst_r = ImageCreateTrueColor($thumb_width, $thumb_height);
348
+ imagecopyresampled($dst_r, $img_r, 0, 0, 0, 0, $thumb_width, $thumb_height, $width_orig, $height_orig);
349
+ imagejpeg($dst_r, $thumb_filename, 100);
350
+ imagedestroy($img_r);
351
+ imagedestroy($dst_r);
352
+ }
353
+ elseif ($type_orig == 3) {
354
+ $img_r = imagecreatefrompng($filename);
355
+ $dst_r = ImageCreateTrueColor($thumb_width, $thumb_height);
356
+ imageColorAllocateAlpha($dst_r, 0, 0, 0, 127);
357
+ imagealphablending($dst_r, FALSE);
358
+ imagesavealpha($dst_r, TRUE);
359
+ imagecopyresampled($dst_r, $img_r, 0, 0, 0, 0, $thumb_width, $thumb_height, $width_orig, $height_orig);
360
+ imagealphablending($dst_r, FALSE);
361
+ imagesavealpha($dst_r, TRUE);
362
+ imagepng($dst_r, $thumb_filename, 9);
363
+ imagedestroy($img_r);
364
+ imagedestroy($dst_r);
365
+ }
366
+ elseif ($type_orig == 1) {
367
+ $img_r = imagecreatefromgif($filename);
368
+ $dst_r = ImageCreateTrueColor($thumb_width, $thumb_height);
369
+ imageColorAllocateAlpha($dst_r, 0, 0, 0, 127);
370
+ imagealphablending($dst_r, FALSE);
371
+ imagesavealpha($dst_r, TRUE);
372
+ imagecopyresampled($dst_r, $img_r, 0, 0, 0, 0, $thumb_width, $thumb_height, $width_orig, $height_orig);
373
+ imagealphablending($dst_r, FALSE);
374
+ imagesavealpha($dst_r, TRUE);
375
+ imagegif($dst_r, $thumb_filename);
376
+ imagedestroy($img_r);
377
+ imagedestroy($dst_r);
378
+ }
379
+ @ini_restore('memory_limit');
380
+ }
381
+
382
  public function rotate() {
383
  global $WD_BWG_UPLOAD_DIR;
384
  $popup_width = ((int) (isset($_GET['width']) ? esc_html($_GET['width']) : '650')) - 30;
387
  $image_height = $popup_height - 70;
388
  $image_id = (isset($_GET['image_id']) ? esc_html($_GET['image_id']) : '0');
389
  $edit_type = (isset($_POST['edit_type']) ? esc_html($_POST['edit_type']) : '');
390
+ $brightness_val = (isset($_POST['brightness_val']) ? esc_html($_POST['brightness_val']) : 0);
391
+ $contrast_val = (isset($_POST['contrast_val']) ? esc_html($_POST['contrast_val']) : 0);
392
 
393
  if (isset($_GET['image_url'])) {
394
  $image_data = new stdClass();
459
  imagedestroy($thumb_source);
460
  imagedestroy($thumb_rotate);
461
  }
 
 
 
 
 
462
  }
463
  elseif ($edit_type == 'vertical' || $edit_type == 'horizontal' || $edit_type == 'both') {
464
  function bwg_image_flip($imgsrc, $mode) {
550
  imagedestroy($thumb_source);
551
  imagedestroy($thumb_flip);
552
  }
553
+ }
554
+ elseif ($edit_type == 'brightness' || $edit_type == 'contrast' || $edit_type == 'grayscale' || $edit_type == 'negative' || $edit_type == 'remove' || $edit_type == 'emboss' || $edit_type == 'smooth') {
555
+ switch ($edit_type) {
556
+ case 'brightness' :
557
+ $img_filter_type = IMG_FILTER_BRIGHTNESS;
558
+ $ratio = $brightness_val;
559
+ break;
560
+ case 'contrast' :
561
+ $img_filter_type = IMG_FILTER_CONTRAST;
562
+ $ratio = $contrast_val;
563
+ break;
564
+ case 'grayscale' :
565
+ $img_filter_type = IMG_FILTER_GRAYSCALE;
566
+ $ratio = '';
567
+ break;
568
+ case 'negative' :
569
+ $img_filter_type = IMG_FILTER_NEGATE;
570
+ $ratio = '';
571
+ break;
572
+ case 'remove' :
573
+ $img_filter_type = IMG_FILTER_MEAN_REMOVAL;
574
+ $ratio = '';
575
+ break;
576
+ case 'emboss' :
577
+ $img_filter_type = IMG_FILTER_EMBOSS;
578
+ $ratio = '';
579
+ break;
580
+ case 'smooth' :
581
+ $img_filter_type = IMG_FILTER_SMOOTH;
582
+ $ratio = 30;
583
+ break;
584
+ default:
585
+ return;
586
+ }
587
+ $img_type = $type_rotate;
588
+ if ($img_type == 2) {
589
+ $source = imagecreatefromjpeg($filename);
590
+ $thumb_source = imagecreatefromjpeg($thumb_filename);
591
+ imagefilter($source, $img_filter_type, $ratio);
592
+ imagefilter($thumb_source, $img_filter_type, $ratio);
593
+ imagejpeg($source, $filename, 100);
594
+ imagejpeg($thumb_source, $thumb_filename, 90);
595
+ imagedestroy($source);
596
+ imagedestroy($thumb_source);
597
+ }
598
+ elseif ($img_type == 3) {
599
+ $source = imagecreatefrompng($filename);
600
+ $thumb_source = imagecreatefrompng($thumb_filename);
601
+ imagealphablending($source, FALSE);
602
+ imagealphablending($thumb_source, FALSE);
603
+ imagesavealpha($source, TRUE);
604
+ imagesavealpha($thumb_source, TRUE);
605
+ imagefilter($source, $img_filter_type, $ratio);
606
+ imagefilter($thumb_source, $img_filter_type, $ratio);
607
+ imagepng($source, $filename, 9);
608
+ imagepng($thumb_source, $thumb_filename, 9);
609
+ imagedestroy($source);
610
+ imagedestroy($thumb_source);
611
+ }
612
+ elseif ($img_type == 1) {
613
+ $source = imagecreatefromgif($filename);
614
+ $thumb_source = imagecreatefromgif($thumb_filename);
615
+ imagealphablending($source, FALSE);
616
+ imagealphablending($thumb_source, FALSE);
617
+ imagesavealpha($source, TRUE);
618
+ imagesavealpha($thumb_source, TRUE);
619
+ imagefilter($source, $img_filter_type, $ratio);
620
+ imagefilter($thumb_source, $img_filter_type, $ratio);
621
+ imagegif($source, $filename);
622
+ imagegif($thumb_source, $thumb_filename);
623
+ imagedestroy($source);
624
+ imagedestroy($thumb_source);
625
  }
626
  }
627
+ elseif ($edit_type == 'sepia' || $edit_type == 'dark_slate_grey' || $edit_type == 'saturate') {
628
+ switch($edit_type) {
629
+ case 'sepia' :
630
+ $img_filter_type = IMG_FILTER_COLORIZE;
631
+ $red = 112;
632
+ $green = 66;
633
+ $blue = 20;
634
+ break;
635
+ case 'dark_slate_grey' :
636
+ $img_filter_type = IMG_FILTER_COLORIZE;
637
+ $red = 47;
638
+ $green = 79;
639
+ $blue = 79;
640
+ break;
641
+ case 'saturate' :
642
+ $img_filter_type = IMG_FILTER_COLORIZE;
643
+ $red = 236;
644
+ $green = 40;
645
+ $blue = 41;
646
+ break;
647
+ default:
648
+ return;
649
+ }
650
+ $img_type = $type_rotate;
651
+ if ($img_type == 2) {
652
+ $source = imagecreatefromjpeg($filename);
653
+ $thumb_source = imagecreatefromjpeg($thumb_filename);
654
+ imagefilter($source, $img_filter_type, $red, $green, $blue);
655
+ imagefilter($thumb_source, $img_filter_type, $red, $green, $blue);
656
+ imagejpeg($source, $filename, 100);
657
+ imagejpeg($thumb_source, $thumb_filename, 90);
658
+ imagedestroy($source);
659
+ imagedestroy($thumb_source);
660
  }
661
+ elseif ($img_type == 3) {
662
+ $source = imagecreatefrompng($filename);
663
+ $thumb_source = imagecreatefrompng($thumb_filename);
664
+ imagealphablending($source, FALSE);
665
+ imagealphablending($thumb_source, FALSE);
666
+ imagesavealpha($source, TRUE);
667
+ imagesavealpha($thumb_source, TRUE);
668
+ imagefilter($source, $img_filter_type, $red, $green, $blue);
669
+ imagefilter($thumb_source, $img_filter_type, $red, $green, $blue);
670
+ imagepng($source, $filename, 9);
671
+ imagepng($thumb_source, $thumb_filename, 9);
672
+ imagedestroy($source);
673
+ imagedestroy($thumb_source);
674
  }
675
+ elseif ($img_type == 1) {
676
+ $source = imagecreatefromgif($filename);
677
+ $thumb_source = imagecreatefromgif($thumb_filename);
678
+ imagealphablending($source, FALSE);
679
+ imagealphablending($thumb_source, FALSE);
680
+ imagesavealpha($source, TRUE);
681
+ imagesavealpha($thumb_source, TRUE);
682
+ imagefilter($source, $img_filter_type, $red, $green, $blue);
683
+ imagefilter($thumb_source, $img_filter_type, $red, $green, $blue);
684
+ imagegif($source, $filename);
685
+ imagegif($thumb_source, $thumb_filename);
686
+ imagedestroy($source);
687
+ imagedestroy($thumb_source);
 
688
  }
689
+ }
690
+ elseif ($edit_type == 'recover') {
691
+ global $wpdb;
692
+ $id = ((isset($_POST['image_id'])) ? esc_html(stripslashes($_POST['image_id'])) : 0);
693
+ $options = $wpdb->get_row('SELECT * FROM ' . $wpdb->prefix . 'bwg_option WHERE id=1');
694
+ $thumb_width = $options->thumb_width;
695
+ $thumb_height = $options->thumb_height;
696
+ $this->recover_image($id, $thumb_width, $thumb_height);
697
+ }
698
+ @ini_restore('memory_limit');
699
+ wp_print_scripts('jquery');
700
+ wp_print_scripts('jquery-ui-widget');
701
+ wp_print_scripts('jquery-ui-slider');
702
+ ?>
703
+ <link type="text/css" rel="stylesheet" id="bwg_tables-css" href="<?php echo WD_BWG_FRONT_URL . '/css/bwg_edit_image.css'; ?>" media="all">
704
+ <link type="text/css" rel="stylesheet" href="<?php echo WD_BWG_FRONT_URL . '/css/font-awesome/font-awesome.css'; ?>" >
705
+ <form method="post" id="bwg_rotate_image" action="<?php echo $form_action; ?>">
706
+ <?php wp_nonce_field('editThumb', 'bwg_nonce'); ?>
707
+ <div class="main_cont" style="height: <?php echo $popup_height; ?>px;">
708
+ <div class="cont_for_effect">
709
+ <div class="effect_cont">
710
+ <img class="effect" onclick="spider_rotate('grayscale', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/grayscale.png'; ?>"/>
711
+ <p class="effect_title">Grayscale</p>
712
+ </div>
713
+ <div class="effect_cont">
714
+ <img class="effect" onclick="spider_rotate('negative', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/negative.png'; ?>"/>
715
+ <p class="effect_title">Negative</p>
716
+ </div>
717
+ <div class="effect_cont">
718
+ <img class="effect" onclick="spider_rotate('remove', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/remove.png'; ?>"/>
719
+ <p class="effect_title">Removal</p>
720
+ </div>
721
+ <div class="effect_cont">
722
+ <img class="effect" onclick="spider_rotate('sepia', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/sepia.png'; ?>"/>
723
+ <p class="effect_title">Sepia</p>
724
+ </div>
725
+ <div class="effect_cont">
726
+ <img class="effect" onclick="spider_rotate('dark_slate_grey', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/dark_slate_grey.png'; ?>"/>
727
+ <p class="effect_title">Slate</p>
728
+ </div>
729
+ <div class="effect_cont">
730
+ <img class="effect" onclick="spider_rotate('saturate', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/saturate.png'; ?>"/>
731
+ <p class="effect_title">Saturate</p>
732
+ </div>
733
+ </div>
734
+ <div class="reset_cont">
735
+ <a class="reset_img" onclick="if (confirm('Do you want to reset the image?')) spider_rotate('recover', 'bwg_rotate_image'); else return false; ">Reset image</a>
736
+ </div>
737
+ <div class="flip_cont" >
738
+ <img title="Flip Both" class="effect" onclick="spider_rotate('both', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/flip_both.png'; ?>"/>
739
+ <img title="Flip Vertical" class="effect" onclick="spider_rotate('vertical', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/flip_vertical.png'; ?>"/>
740
+ <img title="Flip Horizontal" class="effect" onclick="spider_rotate('horizontal', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/flip_horizontal.png'; ?>"/>
741
+ <img title="Rotate Left" class="effect" onclick="spider_rotate('90', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/rotate_left.png'; ?>"/>
742
+ <img title="Rotate Right" class="effect" onclick="spider_rotate('270', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/rotate_right.png'; ?>"/>
743
+ </div>
744
+ <div class="img_cont" style="height:<?php echo $popup_height - 40; ?>px;">
745
+ <div class="img_main_cont" >
746
+ <div class="last_cont">
747
+ <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;" />
748
+ </div>
749
+ </div>
750
+ <div class="cont_bright_cont">
751
+ <div class="cont_bright_cont_main">
752
+ <div class="last_cont">
753
+ <div class="bwg_opt_cont">
754
+ <img title="Options" src="<?php echo WD_BWG_URL . '/images/effects/option.png'; ?>" />
755
+ </div>
756
+ <div id="brightness_contrast" ><!--
757
+ --><div class="brightness_part" >
758
+ <div class="brightness_part_1">
759
+ <div class="brightness_butt">
760
+ <div class="contForBrightness">
761
+ <div class="brightness_title">Brightness</div>
762
+ <img title="Press for brightness" class="brightnessEffect" onclick="spider_rotate('brightness', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/brightness.png'; ?>" />
763
+ <div class="tooltip_for_press">Press for result</div>
764
+ </div>
765
+ </div>
766
+ <div class="cont_for_val">
767
+ <div id="sliderForBrightness">
768
+ <div class="brightness_val">
769
+ <div class="brightness_value">0</div>
770
+ </div>
771
+ </div>
772
+ </div>
773
+ </div>
774
+ </div><!--
775
+ --><div class="contrast_part">
776
+ <div class="contrast_part_1">
777
+ <div class="contrast_part_slider">
778
+ <div id="sliderForcontrast">
779
+ <div class="contrast_val">
780
+ <div class="contrast_val_cont">0</div>
781
+ </div>
782
+ </div>
783
+ </div>
784
+ <div class="contrast_butt">
785
+ <div class="contForContrast">
786
+ <div class="contrast_title">Contrast</div>
787
+ <img title="Press for Contrast" class="contrastEffect" onclick="spider_rotate('contrast', 'bwg_rotate_image')" src="<?php echo WD_BWG_URL . '/images/effects/contrast.png'; ?>" />
788
+ <div class="tooltip_for_press_contrast">Press for result</div>
789
+ </div>
790
+ </div>
791
+ </div>
792
+ </div><!--
793
+ --></div>
794
+ </div>
795
+ </div>
796
+ </div>
797
+ </div>
798
+ </div>
799
+ <input type="hidden" name="edit_type" id="edit_type" />
800
+ <input type="hidden" name="image_id" id="image_id" value="<?php echo $image_id; ?>" />
801
+ <input type="hidden" name="brightness_val" id="brightness_val" value="<?php echo $brightness_val; ?>" />
802
+ <input type="hidden" name="contrast_val" id="contrast_val" value="<?php echo $contrast_val; ?>" />
803
+ </form>
804
  <script>
805
+ jQuery(function() {
806
+ jQuery("#sliderForBrightness").slider({
807
+ range: "min",
808
+ value: 0,
809
+ min: -255,
810
+ max: 255,
811
+ step: 1,
812
+ slide: function(event, ui) {
813
+ jQuery('#brightness_val').val(ui.value);
814
+ jQuery('.brightness_value').html(ui.value);
815
+
816
+ var x = parseInt(ui.value);
817
+ x = x + 255;
818
+ var in_percents = (x / 510) * 100;
819
+ var in_percents_for_arrow = in_percents- 12;
820
+ jQuery('.brightness_val').css('left', in_percents_for_arrow + '%');
821
+ jQuery('.tooltip_for_press').fadeIn( "slow" );
822
+ }
823
+ });
824
+ jQuery("#sliderForcontrast").slider({
825
+ range: "min",
826
+ value: 0,
827
+ min: -100,
828
+ max: 100,
829
+ step: 1,
830
+ slide: function(event, ui) {
831
+ jQuery('#contrast_val').val(ui.value);
832
+ jQuery('.contrast_val_cont').html(ui.value);
833
+ var x = parseInt(ui.value);
834
+ x = x + 100;
835
+ var in_percents = (x / 200) * 100;
836
+ var in_percents_for_arrow = in_percents - 12;
837
+ jQuery('.contrast_val').css('left', in_percents_for_arrow + '%');
838
+ jQuery('.tooltip_for_press_contrast').fadeIn( "slow" );
839
+ }
840
+ });
841
+ });
842
  function spider_rotate(type, form_id) {
843
  document.getElementById("edit_type").value = type;
844
  document.getElementById(form_id).submit();
845
  }
846
  var image_src = window.parent.document.getElementById("image_thumb_<?php echo $image_id; ?>").src;
847
  window.parent.document.getElementById("image_thumb_<?php echo $image_id; ?>").src = image_src + "?date=<?php echo date('Y-m-y H:i:s'); ?>";
848
+ jQuery(document).ready(function() {
849
+ jQuery(".bwg_opt_cont").click(function(){
850
+ if (jQuery('#brightness_contrast').height() == 0)
851
+ jQuery('#brightness_contrast').animate({
852
+ height: 40
853
+ },
854
+ 'linear',
855
+ function() {
856
+ jQuery('#sliderForBrightness').css('opacity', 1);
857
+ jQuery('#sliderForBrightness').css('display', 'inline-block');
858
+ jQuery('#sliderForcontrast').css('opacity', 1);
859
+ jQuery('#sliderForcontrast').css('display', 'inline-block');
860
+ jQuery('.contForBrightness').css('display', 'inline-block');
861
+ jQuery('.contForContrast').css('display', 'inline-block');
862
+ });
863
+ else
864
+ jQuery('#brightness_contrast').animate({
865
+ height: 0
866
+ },
867
+ 'linear',
868
+ function() {
869
+ jQuery('#sliderForBrightness').css('opacity', 0);
870
+ jQuery('#sliderForBrightness').css('display', 'none');
871
+ jQuery('#sliderForcontrast').css('opacity', 0);
872
+ jQuery('#sliderForcontrast').css('display', 'none');
873
+ jQuery('.contForBrightness').css('display', 'none');
874
+ jQuery('.contForContrast').css('display', 'none');
875
+ }
876
+ );
877
+ });
878
+ jQuery('body').click(function() {
879
+ jQuery('.tooltip_for_press').fadeOut( "slow" );
880
+ });
881
+ jQuery('body').click(function() {
882
+ jQuery('.tooltip_for_press_contrast').fadeOut("slow");
883
+ });
884
+ });
885
  </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
886
  <?php
887
  die();
888
  }
admin/views/BWGViewGalleries_bwg.php CHANGED
@@ -360,7 +360,7 @@ class BWGViewGalleries_bwg {
360
  var a_rotate = document.createElement('a');
361
  a_rotate.setAttribute('class', "thickbox thickbox-preview");
362
  a_rotate.setAttribute('onclick', "spider_set_href(this, '" + bwg_j + "', 'rotate');");
363
- a_rotate.innerHTML = "Rotate";
364
  span_edit_rotate.appendChild(a_rotate);
365
  div_edit.innerHTML += " | "
366
  var span_edit_recover = document.createElement('span');
@@ -921,7 +921,7 @@ class BWGViewGalleries_bwg {
921
  $query_url = wp_nonce_url( $query_url, 'editThumb', 'bwg_nonce' );
922
  $query_url = add_query_arg(array('TB_iframe' => '1'), $query_url);
923
  ?>
924
- <span class="edit_thumb"><a class="thickbox thickbox-preview" href="<?php echo $query_url; ?>">Rotate</a></span> |
925
  <span class="edit_thumb"><a onclick="if (confirm('Do you want to reset the image?')) {
926
  spider_set_input_value('ajax_task', 'recover');
927
  spider_set_input_value('image_current_id', '<?php echo $row_data->id; ?>');
360
  var a_rotate = document.createElement('a');
361
  a_rotate.setAttribute('class', "thickbox thickbox-preview");
362
  a_rotate.setAttribute('onclick', "spider_set_href(this, '" + bwg_j + "', 'rotate');");
363
+ a_rotate.innerHTML = "Edit";
364
  span_edit_rotate.appendChild(a_rotate);
365
  div_edit.innerHTML += " | "
366
  var span_edit_recover = document.createElement('span');
921
  $query_url = wp_nonce_url( $query_url, 'editThumb', 'bwg_nonce' );
922
  $query_url = add_query_arg(array('TB_iframe' => '1'), $query_url);
923
  ?>
924
+ <span class="edit_thumb"><a class="thickbox thickbox-preview" href="<?php echo $query_url; ?>">Edit</a></span> |
925
  <span class="edit_thumb"><a onclick="if (confirm('Do you want to reset the image?')) {
926
  spider_set_input_value('ajax_task', 'recover');
927
  spider_set_input_value('image_current_id', '<?php echo $row_data->id; ?>');
css/bwg_edit_image.css ADDED
@@ -0,0 +1,308 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #bwg_rotate_image {
2
+ text-align: center;
3
+ }
4
+ .bwg_preview_image {
5
+ margin: 0 auto;
6
+ display: block;
7
+ }
8
+ .spider_rotate {
9
+ background: linear-gradient(to top, #ECECEC, #F9F9F9) repeat scroll 0 0 #F1F1F1;
10
+ cursor: pointer;
11
+ height: 30px;
12
+ padding: 2px;
13
+ -moz-outline-radius: 2px;
14
+ outline: 1px solid #CCCCCC;
15
+ }
16
+ .spider_rotate:hover {
17
+ -moz-outline-radius: 2px;
18
+ outline: 1px solid #999999;
19
+ padding: 2px;
20
+ }
21
+ .thumb_message {
22
+ -moz-box-sizing: border-box;
23
+ -webkit-box-sizing: border-box;
24
+ background: linear-gradient(to top, #ECECEC, #F9F9F9) repeat scroll 0 0 #F1F1F1;
25
+ background-color: #F5F5F5;
26
+ border: 1px solid #CCCCCC;
27
+ border-radius: 3px 3px 3px 3px;
28
+ box-sizing: border-box;
29
+ color: #333333;
30
+ font-family: sans-serif;
31
+ font-size: 12px;
32
+ margin: 5px auto;
33
+ padding: 7px 5px;
34
+ }
35
+ .ui-slider {
36
+ height: 5px !important;
37
+ width: 150px;
38
+ padding-left: 5px;
39
+ border-radius: 0px !important;
40
+ padding: 1px !important;
41
+ background-color: #FFFFFF;
42
+ display: inline-block;
43
+ position: relative;
44
+ cursor: pointer;
45
+ }
46
+ .ui-slider-range {
47
+ height: 5px !important;
48
+ background: url('../images/effects/active.png');
49
+ border-radius: 0px !important;
50
+ position: initial !important;
51
+ }
52
+ .ui-slider a {
53
+ height: 5px !important;
54
+ background: url('');
55
+ width: 5px !important;
56
+ }
57
+ .brightness_value:before {
58
+ content: "";
59
+ background: url('../images/effects/arrow.png') no-repeat 13px 13px;
60
+ position: absolute;
61
+ width: 14px;
62
+ height: 10px;
63
+ background-position: 3px 5px;
64
+ top: 13px;
65
+ left: 11px;
66
+ }
67
+ .contrast_val_cont:before {
68
+ content: "";
69
+ background: url('../images/effects/arrow.png') no-repeat 13px 13px;
70
+ position: absolute;
71
+ width: 14px;
72
+ height: 10px;
73
+ background-position: 3px 5px;
74
+ top: 13px;
75
+ left: 11px;
76
+ }
77
+ .contForBrightness,
78
+ .contForContrast {
79
+ position: relative;
80
+ width: 29px;
81
+ height: 25px;
82
+ display: none;
83
+ margin-right: 10px
84
+ }
85
+ .contForContrast {
86
+ margin-left: 10px
87
+ }
88
+ .brightnessEffect, .contrastEffect {
89
+ padding: 2px;
90
+ cursor:pointer;
91
+ }
92
+ .brightnessEffect:hover,
93
+ .contrastEffect:hover {
94
+ box-shadow: 0px 0px 1px #000000;
95
+ padding: 2px;
96
+ box-sizing:border-box;
97
+ }
98
+ .brightness_val,
99
+ .contrast_val {
100
+ position: absolute;
101
+ width: 37px;
102
+ height: 18px;
103
+ background: rgba(46, 162, 204, 1);
104
+ top: -26px;
105
+ box-shadow: 0px 0px 1px rgba(255, 255, 255, 1);
106
+ left:38%;
107
+ font-size: 12px;
108
+ font-weight: lighter;
109
+ text-align: center;
110
+ padding-top: 2px;
111
+ box-sizing: border-box;
112
+ font-style: inherit;
113
+ font-family: monospace;
114
+ color: #FFFFFF;
115
+ }
116
+ .brightness_butt,
117
+ .contrast_butt {
118
+ display: table-cell;
119
+ vertical-align: middle;
120
+ width: 29%;
121
+ text-align:right
122
+ }
123
+ .contrast_butt {
124
+ text-align:left
125
+ }
126
+ .bwg_opt_cont {
127
+ display: inline-block;
128
+ width: 70px;
129
+ height: 28px;
130
+ background-color: rgba(157, 157, 157, 0.42);
131
+ margin-bottom: 2px;
132
+ border-top-left-radius: 4px;
133
+ border-top-right-radius: 4px;
134
+ text-align:center;
135
+ box-sizing: border-box;
136
+ padding-top: 2px;
137
+ cursor: pointer;
138
+ }
139
+ #brightness_contrast {
140
+ display: inline-block;
141
+ width: 100%;
142
+ height: 0px;
143
+ box-sizing: border-box;
144
+ }
145
+ #sliderForBrightness,
146
+ #sliderForcontrast {
147
+ display: none;
148
+ opacity: 0;
149
+ }
150
+ .brightness_part,
151
+ .contrast_part {
152
+ display: inline-block;
153
+ height: 100%;
154
+ width: 349px;
155
+ background-color: rgba(157, 157, 157, 0.42);
156
+ vertical-align: top;
157
+ }
158
+ .contrast_part {
159
+ margin-left: 1px;
160
+ }
161
+ .brightness_part {
162
+ margin-right: 1px;
163
+ }
164
+ .brightness_part_1,
165
+ .contrast_part_1 {
166
+ display: table;
167
+ width: 100%;
168
+ height: 100%;
169
+ }
170
+ .contrast_part_slider {
171
+ display: table-cell;
172
+ vertical-align: middle;
173
+ width: 56%;
174
+ text-align: right;
175
+ }
176
+ .tooltip_for_press,
177
+ .tooltip_for_press_contrast {
178
+ position: absolute;
179
+ width: 100px;
180
+ background-color: rgba(29, 29, 29, 0.35);
181
+ box-shadow: 0px 0px 1px #FFFFFF;
182
+ font-family: monospace;
183
+ font-size: 10px;
184
+ padding: 2px;
185
+ text-align: center;
186
+ top: -23px;
187
+ left: -62px;
188
+ box-sizing: content-box;
189
+ color: #FFFFFF;
190
+ border-radius: 2px;
191
+ display: none;
192
+ }
193
+ .tooltip_for_press_contrast {
194
+ left: -5px;
195
+ }
196
+ .tooltip_for_press:before,
197
+ .tooltip_for_press_contrast:before {
198
+ content: '\f0d7';
199
+ font-family: FontAwesome !important;
200
+ position: absolute;
201
+ left: 71px;
202
+ top: 11px;
203
+ font-size: 16px;
204
+ color: rgba(0, 0, 0, 0.54);
205
+ }
206
+ .tooltip_for_press_contrast:before {
207
+ left: 12px;
208
+ }
209
+ .effect:hover {
210
+ box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.62);
211
+ cursor: pointer;
212
+ }
213
+ .reset_img {
214
+ padding: 5px 6px;
215
+ display: inline-block;
216
+ box-sizing: border-box;
217
+ margin: 8px 0px 0px 23px;
218
+ background-color: rgba(176, 176, 176, 1);
219
+ box-shadow: 0px 0px 2px #B6B6B6;
220
+ color: FFFFFF;
221
+ font-size: 11px;
222
+ box-sizing: border-box;
223
+ border-radius: 3px;
224
+ cursor: pointer;
225
+ font-family: monospace;
226
+ transition: all 0.2s ease-in-out
227
+ }
228
+ .reset_img:hover {
229
+ background-color: rgba(107, 107, 107, 1);
230
+ }
231
+ .effect_cont {
232
+ display: inline-block;
233
+ width: 55px;
234
+ }
235
+ .effect_title {
236
+ margin: 3px 0px 0px 3px;
237
+ font-size: 10px;
238
+ color: darkgrey;
239
+ font-family: monospace;
240
+ }
241
+ .brightness_title,
242
+ .contrast_title {
243
+ position: absolute;
244
+ left: -59px;
245
+ top: 7px;
246
+ font-size: 10px;
247
+ color: white;
248
+ font-family: monospace;
249
+ }
250
+ .contrast_title {
251
+ left: 33px;
252
+ }
253
+ .cont_for_effect {
254
+ float: left;
255
+ height: 40px;
256
+ }
257
+ .main_cont {
258
+ display: inline-block;
259
+ text-align: center;
260
+ width: 700px;
261
+ }
262
+ .reset_cont {
263
+ float: left;
264
+ }
265
+ .flip_cont {
266
+ height: 40px;
267
+ float: right;
268
+ height: 40px;
269
+ }
270
+ .img_cont {
271
+ display: inline-block;
272
+ position: relative;
273
+ width: 100%;
274
+ }
275
+ .img_main_cont {
276
+ display: table;
277
+ width: 100%;
278
+ height: 100%;
279
+ }
280
+ .last_cont {
281
+ display: table-cell;
282
+ vertical-align: bottom;
283
+ }
284
+ .cont_bright_cont {
285
+ display: inline-block;
286
+ position: absolute;
287
+ left: 0px;
288
+ top: 0px;
289
+ width: 100%;
290
+ height: 100%;
291
+ }
292
+ .cont_bright_cont_main {
293
+ display: table;
294
+ width: 100%;
295
+ height: 100%;
296
+ }
297
+ .cont_for_val {
298
+ display: table-cell;
299
+ vertical-align: middle;
300
+ width: 56%;
301
+ text-align: left;
302
+ }
303
+ .brightness_value, .contrast_val_cont {
304
+ display: inline-block;
305
+ width: 100%;
306
+ height: 100%;
307
+ position: relative
308
+ }
css/font-awesome/font-awesome.css CHANGED
@@ -12,7 +12,8 @@
12
  font-style: normal;
13
  }
14
  #spider_popup_wrap .fa,
15
- div[id^="bwg_container"] .fa {
 
16
  display: inline-block;
17
  font-family: FontAwesome !important;
18
  font-style: normal;
12
  font-style: normal;
13
  }
14
  #spider_popup_wrap .fa,
15
+ div[id^="bwg_container"] .fa,
16
+ #bwg_rotate_image .fa {
17
  display: inline-block;
18
  font-family: FontAwesome !important;
19
  font-style: normal;
images/effects/active.png ADDED
Binary file
images/effects/arrow.png ADDED
Binary file
images/effects/brightness.png ADDED
Binary file
images/effects/contrast.png ADDED
Binary file
images/effects/dark_slate_grey.png ADDED
Binary file
images/effects/flip_both.png ADDED
Binary file
images/effects/flip_horizontal.png ADDED
Binary file
images/effects/flip_vertical.png ADDED
Binary file
images/effects/grayscale.png ADDED
Binary file
images/effects/negative.png ADDED
Binary file
images/effects/option.png ADDED
Binary file
images/effects/remove.png ADDED
Binary file
images/effects/rotate_left.png ADDED
Binary file
images/effects/rotate_right.png ADDED
Binary file
images/effects/saturate.png ADDED
Binary file
images/effects/sepia.png ADDED
Binary file
images/flip_both.png DELETED
Binary file
images/flip_horizontal.png DELETED
Binary file
images/flip_vertical.png DELETED
Binary file
images/rotate_left.png DELETED
Binary file
images/rotate_right.png DELETED
Binary file
photo-gallery.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: Photo Gallery
5
  * Plugin URI: https://web-dorado.com/products/wordpress-photo-gallery-plugin.html
6
  * Description: This plugin is a fully responsive gallery plugin with advanced functionality. It allows having different image galleries for your posts and pages. You can create unlimited number of galleries, combine them into albums, and provide descriptions and tags.
7
- * Version: 1.2.42
8
  * Author: WebDorado
9
  * Author URI: https://web-dorado.com/
10
  * License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
@@ -3346,7 +3346,7 @@ function bwg_activate() {
3346
  ));
3347
  }
3348
  $version = get_option("wd_bwg_version");
3349
- $new_version = '1.2.42';
3350
  if ($version && version_compare($version, $new_version, '<')) {
3351
  require_once WD_BWG_DIR . "/update/bwg_update.php";
3352
  bwg_update($version);
@@ -3364,7 +3364,7 @@ wp_oembed_add_provider( '#https://instagr(\.am|am\.com)/p/.*#i', 'https://api.in
3364
 
3365
  function bwg_update_hook() {
3366
  $version = get_option("wd_bwg_version");
3367
- $new_version = '1.2.42';
3368
  if ($version && version_compare($version, $new_version, '<')) {
3369
  require_once WD_BWG_DIR . "/update/bwg_update.php";
3370
  bwg_update($version);
4
  * Plugin Name: Photo Gallery
5
  * Plugin URI: https://web-dorado.com/products/wordpress-photo-gallery-plugin.html
6
  * Description: This plugin is a fully responsive gallery plugin with advanced functionality. It allows having different image galleries for your posts and pages. You can create unlimited number of galleries, combine them into albums, and provide descriptions and tags.
7
+ * Version: 1.2.43
8
  * Author: WebDorado
9
  * Author URI: https://web-dorado.com/
10
  * License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
3346
  ));
3347
  }
3348
  $version = get_option("wd_bwg_version");
3349
+ $new_version = '1.2.43';
3350
  if ($version && version_compare($version, $new_version, '<')) {
3351
  require_once WD_BWG_DIR . "/update/bwg_update.php";
3352
  bwg_update($version);
3364
 
3365
  function bwg_update_hook() {
3366
  $version = get_option("wd_bwg_version");
3367
+ $new_version = '1.2.43';
3368
  if ($version && version_compare($version, $new_version, '<')) {
3369
  require_once WD_BWG_DIR . "/update/bwg_update.php";
3370
  bwg_update($version);
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://web-dorado.com/products/wordpress-photo-gallery-plugin.html
4
  Tags: photo, photo gallery, image gallery, video gallery, gallery, galleries, wordpress gallery plugin, images gallery, album, photo albums, simple gallery, best gallery plugin, free photo gallery, wp gallery, wordpress gallery, website gallery, gallery shortcode, best gallery, picture, pictures, gallery slider, photo album, photogallery, widget gallery, image, images, photos, gallery lightbox, photoset, wordpress photo gallery plugin, wp gallery plugins, responsive wordpress photo gallery, media, image album, filterable gallery, banner rotator, fullscreen gallery, fotogalerie, galleria, galerie, galeri, responsive gallery, add album, add gallery, add pictures, fotoalbum, foto, gallery decription, multiple pictures, photoalbum, upload images, upload photos, view images, view pictures, admin, AJAX, comments, gallery image, image lightbox, image rotate, image slideshow, image slider, jquery, jquery gallery, slide show, slideshow, thumbnail, thumbnail view, thumbnails, thumbs, responsive, watermarking, watermarks,fullscreen slider, lightbox, photography, sidebar, slide, youtube, vimeo, videos, instagram, mosaic
5
  Requires at least: 3.4
6
  Tested up to: 4.2
7
- Stable tag: 1.2.42
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -207,6 +207,9 @@ Yes, it is possible to add advertising and/or watermark over the images. In both
207
 
208
  == Changelog ==
209
 
 
 
 
210
  = 1.2.42 =
211
  * Fixed: Security issue
212
 
4
  Tags: photo, photo gallery, image gallery, video gallery, gallery, galleries, wordpress gallery plugin, images gallery, album, photo albums, simple gallery, best gallery plugin, free photo gallery, wp gallery, wordpress gallery, website gallery, gallery shortcode, best gallery, picture, pictures, gallery slider, photo album, photogallery, widget gallery, image, images, photos, gallery lightbox, photoset, wordpress photo gallery plugin, wp gallery plugins, responsive wordpress photo gallery, media, image album, filterable gallery, banner rotator, fullscreen gallery, fotogalerie, galleria, galerie, galeri, responsive gallery, add album, add gallery, add pictures, fotoalbum, foto, gallery decription, multiple pictures, photoalbum, upload images, upload photos, view images, view pictures, admin, AJAX, comments, gallery image, image lightbox, image rotate, image slideshow, image slider, jquery, jquery gallery, slide show, slideshow, thumbnail, thumbnail view, thumbnails, thumbs, responsive, watermarking, watermarks,fullscreen slider, lightbox, photography, sidebar, slide, youtube, vimeo, videos, instagram, mosaic
5
  Requires at least: 3.4
6
  Tested up to: 4.2
7
+ Stable tag: 1.2.43
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
207
 
208
  == Changelog ==
209
 
210
+ = 1.2.43 =
211
+ New: Tools for editing images
212
+
213
  = 1.2.42 =
214
  * Fixed: Security issue
215