Gallery – Flagallery Photo Portfolio - Version 4.28

Version Description

Download this release

Release Info

Developer pasyuk
Plugin Icon 128x128 Gallery – Flagallery Photo Portfolio
Version 4.28
Comparing to
See all releases

Code changes from version 4.23 to 4.28

Files changed (47) hide show
  1. admin/addgallery.php +290 -265
  2. admin/admin.php +7 -8
  3. admin/ajax.php +23 -0
  4. admin/banner-box.php +1 -1
  5. admin/banner.functions.php +2 -2
  6. admin/css/flagallery.css +1 -1
  7. admin/css/flagallery_noflash.css +1 -1
  8. admin/flagframe-tool.php +1 -1
  9. admin/js/script.js +11 -2
  10. admin/manage-banner.php +1 -1
  11. admin/manage.php +4 -4
  12. admin/skins.php +3 -3
  13. admin/tinymce/editor_plugin.js +2 -2
  14. admin/tinymce/tinymce.php +2 -2
  15. admin/tinymce/window.php +6 -6
  16. admin/tuning.php +6 -0
  17. flag-config.php +3 -1
  18. flag.php +4 -4
  19. lib/swfobject.php +19 -8
  20. readme.txt +33 -12
  21. skins/banner_widget_default/settings/settings.xml +0 -46
  22. skins/compact_music_player/compact_music_player.php +2 -2
  23. skins/compact_music_player/gallery.php +6 -4
  24. skins/compact_music_player/settings/settings.xml +1 -16
  25. skins/minima_jn/minima_jn.php +3 -3
  26. skins/minima_jn/settings/settings.xml +7 -1
  27. skins/music_default/gallery.php +6 -4
  28. skins/music_default/music_default.php +2 -2
  29. skins/music_default/settings/settings.xml +1 -15
  30. skins/{banner_default → rotator_default}/index.php +0 -0
  31. skins/{banner_default → rotator_default}/license.txt +0 -0
  32. skins/{banner_default/banner_default.php → rotator_default/rotator_default.php} +2 -2
  33. skins/{banner_default → rotator_default}/screenshot.png +0 -0
  34. skins/{banner_default → rotator_default}/settings/settings.xml +1 -1
  35. skins/{banner_widget_default → rotator_widget_default}/gallery.php +6 -4
  36. skins/{banner_widget_default → rotator_widget_default}/gallery.swf +0 -0
  37. skins/{banner_widget_default → rotator_widget_default}/index.php +0 -0
  38. skins/{banner_widget_default → rotator_widget_default}/jgallery.php +0 -0
  39. skins/{banner_widget_default → rotator_widget_default}/jquery.cycle.lite.js +0 -0
  40. skins/{banner_widget_default → rotator_widget_default}/license.txt +0 -0
  41. skins/{banner_widget_default/banner_widget_default.php → rotator_widget_default/rotator_widget_default.php} +3 -4
  42. skins/{banner_widget_default → rotator_widget_default}/screenshot.png +0 -0
  43. skins/rotator_widget_default/settings/settings.xml +1 -0
  44. skins/video_default/gallery.php +6 -4
  45. skins/video_default/settings/settings.xml +1 -29
  46. skins/video_default/video_default.php +2 -2
  47. widgets/widgets.php +4 -4
admin/addgallery.php CHANGED
@@ -1,324 +1,349 @@
1
  <?php
2
- if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); }
3
-
4
- // sometimes a error feedback is better than a white screen
5
- @ini_set('error_reporting', E_ALL ^ E_NOTICE);
6
 
7
- function flag_admin_add_gallery() {
 
 
 
8
 
9
  global $wpdb, $flagdb, $flag;
10
-
11
  // same as $_SERVER['REQUEST_URI'], but should work under IIS 6.0
12
- $filepath = admin_url() . 'admin.php?page=' . urlencode($_GET['page']);
13
-
14
  // check for the max image size
15
- $maxsize = flagGallery::check_memory_limit();
16
-
17
  $defaultpath = $flag->options['galleryPath'];
18
 
19
- if ($_POST['addgallery']){
20
- check_admin_referer('flag_addgallery');
21
- $newgallery = trim($_POST['galleryname']);
22
- if ( !empty($newgallery) )
23
- flagAdmin::create_gallery($newgallery, $defaultpath);
 
24
  }
25
- if ($_POST['uploadimage']){
26
- check_admin_referer('flag_upload');
27
 
28
- $flag->options['thumbWidth'] = intval($_POST['thumbWidth'])? intval($_POST['thumbWidth']) : 100;
29
- $flag->options['thumbHeight'] = intval($_POST['thumbHeight'])? intval($_POST['thumbHeight']) : 100;
30
- $flag->options['thumbFix'] = isset($_POST['thumbFix'])? 1 : 0;
31
- update_option('flag_options', $flag->options);
32
 
33
- if ($_FILES['MF__F_0_0']['error'] == 0) {
34
  flagAdmin::upload_images();
 
 
35
  }
36
- else
37
- flagGallery::show_error( __('Upload failed!','flag') );
38
  }
39
- if ($_POST['importfolder']){
40
- check_admin_referer('flag_addgallery');
41
  $galleryfolder = $_POST['galleryfolder'];
42
- if ( ( !empty($galleryfolder) ) AND ($defaultpath != $galleryfolder) AND false === strpos($galleryfolder, '..') )
43
- flagAdmin::import_gallery($galleryfolder);
 
44
  }
45
 
46
 
47
- if ( isset($_POST['disable_flash']) ){
48
- check_admin_referer('flag_upload');
49
- $flag->options['swfUpload'] = false;
50
- update_option('flag_options', $flag->options);
51
  }
52
 
53
- if ( isset($_POST['enable_flash']) ){
54
- check_admin_referer('flag_upload');
55
- $flag->options['swfUpload'] = true;
56
- update_option('flag_options', $flag->options);
57
  }
58
 
59
  //get all galleries (after we added new ones)
60
- $gallerylist = $flagdb->find_all_galleries($flag->options['albSort'], $flag->options['albSortDir'], false, 0, 0, 0, true);
61
-
62
- ?>
63
-
64
- <?php if( !IS_WPMU || current_user_can('FlAG Import folder') ) { ?>
65
- <link rel="stylesheet" type="text/css" href="<?php echo FLAG_URLPATH; ?>admin/js/jqueryFileTree/jqueryFileTree.css" />
66
- <script type="text/javascript" src="<?php echo FLAG_URLPATH; ?>admin/js/jqueryFileTree/jqueryFileTree.js"></script>
67
- <script type="text/javascript">
68
- /* <![CDATA[ */
69
- jQuery(function() {
70
- jQuery("span.browsefiles").show().click(function(){
71
- jQuery("#file_browser").fileTree({
72
- script: "admin-ajax.php?action=flag_file_browser&nonce=<?php echo wp_create_nonce( 'flag-ajax' ) ;?>",
73
- root: jQuery("#galleryfolder").val()
74
- }, function(file) {
75
- //var path = file.replace("<?php echo WINABSPATH; ?>", "");
76
- jQuery("#galleryfolder").val(file);
77
- });
78
-
79
- jQuery("#file_browser").show("slide");
80
- });
81
- });
82
- /* ]]> */
83
- </script>
84
- <?php } ?>
85
  <div id="slider" class="wrap">
86
-
87
  <ul id="tabs" class="tabs">
88
- <li class="selected"><a href="#" rel="addgallery"><?php _e('Add new gallery', 'flag'); ?></a></li>
89
- <li><a href="#" rel="uploadimage"><?php _e('Upload Images', 'flag'); ?></a></li>
90
- <?php if( !IS_WPMU || current_user_can('FlAG Import folder') ) { ?>
91
- <li><a href="#" rel="importfolder"><?php _e('Import image folder', 'flag'); ?></a></li>
92
- <?php } ?>
93
  </ul>
94
 
95
  <!-- create gallery -->
96
  <div id="addgallery" class="cptab">
97
- <h2><?php _e('Create a new gallery', 'flag'); ?></h2>
98
- <form name="addgallery" id="addgallery_form" method="POST" action="<?php echo $filepath; ?>" accept-charset="utf-8" >
99
- <?php wp_nonce_field('flag_addgallery'); ?>
100
- <table class="form-table" style="width: auto;">
101
- <tr>
102
- <th scope="col" colspan="2" style="padding-bottom: 0;"><strong><?php _e('New Gallery', 'flag'); ?></strong></th>
103
- </tr>
104
- <tr valign="top">
105
- <td><input type="text" size="65" name="galleryname" value="" /><br />
106
- <?php if(!IS_WPMU) { ?>
107
- <?php _e('Create a new , empty gallery below the folder', 'flag'); ?> <strong><?php echo $defaultpath; ?></strong><br />
108
- <?php } ?>
109
- <i>( <?php _e('Allowed characters for file and folder names are', 'flag'); ?>: a-z, A-Z, 0-9, -, _ )</i></td>
110
- <?php do_action('flag_add_new_gallery_form'); ?>
111
- <td><div class="submit" style="margin: 0; padding: 0;"><input class="button-primary" type="submit" name= "addgallery" value="<?php _e('Add gallery', 'flag'); ?>"/></div></td>
112
- </tr>
 
 
 
113
  </table>
114
  <p>&nbsp;</p>
115
  </form>
116
  </div>
117
  <!-- upload images -->
118
  <div id="uploadimage" class="cptab">
119
- <h2><?php _e('Upload images', 'flag'); ?></h2>
120
- <form name="uploadimage" id="gmUpload" method="POST" enctype="multipart/form-data" action="<?php echo $filepath; ?>" accept-charset="utf-8" >
121
- <?php wp_nonce_field('flag_upload'); ?>
 
122
  <table class="form-table">
123
- <tr valign="top">
124
- <td style="width: 216px;"><label for="galleryselect"><?php _e('Upload images in', 'flag'); ?> *</label>
125
- <select name="galleryselect" id="galleryselect" style="width: 200px">
126
- <option value="0" ><?php _e('Choose gallery', 'flag'); ?></option>
127
- <?php $ingallery = isset($_GET['gid']) ? (int) $_GET['gid'] : '';
128
- foreach($gallerylist as $gallery) {
129
- if ( !flagAdmin::can_manage_this_gallery($gallery->author) )
130
  continue;
131
- $name = ( empty($gallery->title) ) ? $gallery->name : esc_html(stripslashes($gallery->title));
132
- if($flag->options['albSort'] == 'gid'){ $name = '#'.$gallery->gid.' - '.$name; }
133
- if($flag->options['albSort'] == 'title'){ $name = $name.' (#'.$gallery->gid.')'; }
134
- $sel = ($ingallery == $gallery->gid) ? 'selected="selected" ' : '';
 
 
 
 
 
135
  echo '<option ' . $sel . 'value="' . $gallery->gid . '" >' . $name . '</option>' . "\n";
 
 
 
 
 
136
  } ?>
137
- </select>
138
- <?php echo $maxsize; ?>
139
- <br /><?php if ((IS_WPMU) && flagGallery::flag_wpmu_enable_function('wpmuQuotaCheck')) display_space_usage(); ?>
140
- <br />
141
- <p><?php _e('Thumbnail WIDTH x HEIGHT (in pixel)','flag'); ?> *
142
- <br /><input type="text" size="5" maxlength="5" name="thumbWidth" id="thumbWidth" value="<?php echo $flag->options['thumbWidth']; ?>" /> x <input type="text" size="5" maxlength="5" name="thumbHeight" id="thumbHeight" value="<?php echo $flag->options['thumbHeight']; ?>" />
143
- <br /><small><?php _e('These values are maximum values ','flag'); ?></small></p>
144
- <p><label><input type="checkbox" name="thumbFix" id="thumbFix" value="1" <?php checked('1', $flag->options['thumbFix']); ?> /> <?php _e('Ignore the aspect ratio, no portrait thumbnails','flag'); ?></label></p>
145
-
146
- <div class="submit">
147
  <span class="useflashupload">
148
- <?php if ($flag->options['swfUpload']) { ?>
149
- <input type="submit" name="disable_flash" id="disable_flash" title="<?php _e('The batch upload via Plupload, disable it if you have problems','flag'); ?>" value="<?php _e('Switch to Browser Upload', 'flag'); ?>" />
150
  <?php } else { ?>
151
- <input type="submit" name="enable_flash" id="enable_flash" title="<?php _e('Upload multiple files at once by ctrl/shift-selecting in dialog','flag'); ?>" value="<?php _e('Switch to Plupload based Upload', 'flag'); ?>" />
152
  <?php } ?>
153
  </span>
154
- <div class="clear"></div>
155
- </div>
156
 
157
- </td>
 
 
 
158
 
159
- <td><div id="pluploadUploader">
160
- <?php if (!$flag->options['swfUpload']) { ?>
161
- <strong><?php _e('Upload image(s):', 'flag'); ?></strong><br>
162
- <input type="file" name="imagefiles[]" id="imagefiles" size="35" class="imagefiles"/></div>
 
163
  <span id="choosegalfirst">
164
- <input class="button-primary" type="submit" name="uploadimage" id="uploadimage_btn" value="<?php _e('Upload images', 'flag'); ?>" />
165
  <span class="disabledbut" style="display: none;"></span>
166
  </span>
167
- <?php } ?>
168
- </td>
169
- </tr>
170
  </table>
171
  <div id="pl-message"></div>
172
  </form>
173
- <?php if($flag->options['swfUpload']) { ?>
174
- <script type="text/javascript">
175
- // Convert divs to queue widgets when the DOM is ready
176
- jQuery(function ($) {
177
- var files_remaining = 0;
178
- $("#pluploadUploader").plupload({
179
- runtimes : 'html5,flash,html4',
180
- url : '<?php echo str_replace( '&#038;', '&', wp_nonce_url( plugins_url( FLAGFOLDER. '/admin/upload.php' ), 'flag_upload' ) ); ?>',
181
- multipart : true,
182
- multipart_params : { postData: ''},
183
- max_file_size : '<?php echo (floor( wp_max_upload_size() * 0.99 / 1024 / 1024 ) - 1); ?>Mb',
184
- unique_names : false,
185
- rename : true,
186
- chunk_size: '<?php echo min((floor( wp_max_upload_size() * 0.99 / 1024 / 1024 ) - 1), 6); ?>Mb',
187
- max_retries: 2,
188
- sortable: true,
189
- dragdrop: true,
190
- views: {
191
- list: true,
192
- thumbs: true,
193
- active: 'thumbs'
194
- },
195
- filters : [{title: "Images", extensions: "jpg,gif,png"}],
196
- flash_swf_url : '<?php echo plugins_url( FLAGFOLDER. '/admin/js/plupload/plupload.flash.swf'); ?>'
 
 
197
 
198
- });
199
 
200
- var uploader = $("#pluploadUploader").plupload('getUploader');
201
- uploader.bind('QueueChanged StateChanged', function(up){
202
- if(up.state == plupload.QUEUED){
203
- files_remaining = up.files.length;
204
- }
205
- if(up.state == plupload.STARTED){
206
- up.settings.multipart_params = { galleryselect: jQuery('#galleryselect').val(), thumbw: jQuery('#thumbWidth').val(), thumbh: jQuery('#thumbHeight').val(), thumbf: jQuery('#thumbFix').prop("checked"), last: files_remaining };
207
- }
208
- if(jQuery("#galleryselect").val() == 0) {
209
- jQuery("#pluploadUploader_start").addClass('ui-button-disabled ui-state-disabled');
210
- }
211
- console.log('[StateChanged]', up.state, up.settings.multipart_params);
212
- });
213
- uploader.bind('ChunkUploaded', function(up, file, info){
214
- console.log('[ChunkUploaded] File:', file, "Info:", info);
215
- var response = jQuery.parseJSON(info.response);
216
- if(response && response.error){
217
- up.stop();
218
- file.status = plupload.FAILED;
219
- console.log(response.error);
220
- up.trigger('QueueChanged StateChanged');
221
- up.trigger('UploadProgress', file);
222
- up.start();
223
- }
224
- });
225
- uploader.bind('FileUploaded', function(up, file, info){
226
- console.log('[FileUploaded] File:', file, "Info:", info);
227
- files_remaining--;
228
- if (info.response){
229
- file.status = plupload.FAILED;
230
- jQuery('<div/>').addClass('error').html('<span><u><em>'+file.name+':</em></u> '+info.response+'</span>').appendTo('#pl-message');
231
- }
232
- });
233
- uploader.bind('UploadProgress', function(up, file){
234
- var percent = uploader.total.percent;
235
- $('#total-progress-info .progress-bar').css('width', percent + "%").attr('aria-valuenow', percent);
236
- });
237
- uploader.bind('Error', function(up, args){
238
- jQuery('<div/>').addClass('error').html('<span><u><em>'+args.file.name+':</em></u> '+args.message+' '+args.status+'</span>').appendTo('#pl-message');
239
- console.log('[error] ', args);
240
- });
241
- uploader.bind('UploadComplete', function(up, files){
242
- console.log('[UploadComplete]', files);
243
- jQuery('<div/>').addClass('success').html('<?php _e('Done!', 'flag'); ?> <a href="<?php echo wp_nonce_url( $flag->manage_page->base_page . "&mode=edit", 'flag_editgallery'); ?>&gid=' + jQuery("#galleryselect").val() + '">Open Gallery</a>').appendTo('#pl-message');
244
- });
245
 
246
- jQuery("#gmUpload").on('click','.ui-button-disabled',function(){
247
- if(files_remaining){
248
- alert("Choose gallery, please.")
249
- }
250
- });
251
- jQuery("#galleryselect").change(function () {
252
- if(jQuery(this).val() == 0) {
253
- jQuery("#pluploadUploader_start").addClass('ui-button-disabled ui-state-disabled');
254
- } else {
255
- if(files_remaining){
256
- jQuery("#pluploadUploader_start").removeClass('ui-button-disabled ui-state-disabled');
257
- }
258
- }
259
- });
260
 
261
- });
262
- </script>
263
- <?php } else { ?>
264
- <!-- MultiFile script -->
265
- <script type="text/javascript">
266
- /* <![CDATA[ */
267
- jQuery(document).ready(function(){
268
- jQuery('#imagefiles').MultiFile({
269
- STRING: {
270
- remove:'<?php _e('remove', 'flag'); ?>'
271
- }
272
- });
273
 
274
- if(jQuery("#galleryselect").val() == 0) {
275
- jQuery("#choosegalfirst").animate({opacity: "0.5"}, 600);
276
- jQuery("#choosegalfirst .disabledbut").show();
277
- }
278
- jQuery("#choosegalfirst .disabledbut").click(function () {
279
- alert("Choose gallery, please.")
280
- });
281
- jQuery("#galleryselect").change(function () {
282
- if(jQuery(this).val() == 0) {
283
- jQuery("#choosegalfirst .disabledbut").show();
284
- jQuery("#choosegalfirst").animate({opacity: "0.5"}, 600);
285
- } else {
286
- jQuery("#choosegalfirst .disabledbut").hide();
287
- jQuery("#choosegalfirst").animate({opacity: "1"}, 600);
288
- }
289
- });
290
- });
291
- /* ]]> */
292
- </script>
293
 
294
- <?php } ?>
295
- </div>
296
- <?php if( !IS_WPMU || current_user_can('FlAG Import folder') ) { ?>
297
- <!-- import folder -->
298
- <div id="importfolder" class="cptab">
299
- <h2><?php _e('Import image folder', 'flag'); ?></h2>
300
- <form name="importfolder" id="importfolder_form" method="POST" action="<?php echo $filepath; ?>" accept-charset="utf-8" >
301
- <?php wp_nonce_field('flag_addgallery'); ?>
302
- <table class="form-table">
303
- <tr valign="top">
304
- <th scope="row"><?php _e('Import from Server path:', 'flag'); ?></th>
305
- <td><input type="text" size="35" id="galleryfolder" name="galleryfolder" value="<?php echo $defaultpath; ?>" /><span class="browsefiles button" style="display:none"><?php _e('Browse...',"flag"); ?></span>
306
- <div id="file_browser"></div>
307
- <div><?php echo $maxsize; ?>
308
- <?php if (SAFE_MODE) {?><br /><?php _e(' Please note : For safe-mode = ON you need to add the subfolder thumbs manually', 'flag'); ?><?php }; ?></div></td>
309
- </tr>
310
- </table>
311
- <div class="submit"><input class="button-primary" type="submit" name="importfolder" value="<?php _e('Import folder', 'flag'); ?>"/></div>
312
- </form>
313
  </div>
314
- <?php } ?>
315
-
316
- <script type="text/javascript">
317
- var cptabs=new ddtabcontent("tabs");
318
- cptabs.setpersist(true);
319
- cptabs.setselectedClassTarget("linkparent");
320
- cptabs.init();
321
- </script>
322
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
323
  <?php
324
- }
1
  <?php
2
+ if ( preg_match( '#' . basename( __FILE__ ) . '#', $_SERVER['PHP_SELF'] ) ) {
3
+ die( 'You are not allowed to call this page directly.' );
4
+ }
 
5
 
6
+ // sometimes a error feedback is better than a white screen
7
+ @ini_set( 'error_reporting', E_ALL ^ E_NOTICE );
8
+
9
+ function flag_admin_add_gallery() {
10
 
11
  global $wpdb, $flagdb, $flag;
12
+
13
  // same as $_SERVER['REQUEST_URI'], but should work under IIS 6.0
14
+ $filepath = admin_url() . 'admin.php?page=' . urlencode( $_GET['page'] );
15
+
16
  // check for the max image size
17
+ $maxsize = flagGallery::check_memory_limit();
18
+
19
  $defaultpath = $flag->options['galleryPath'];
20
 
21
+ if ( $_POST['addgallery'] ) {
22
+ check_admin_referer( 'flag_addgallery' );
23
+ $newgallery = trim( $_POST['galleryname'] );
24
+ if ( ! empty( $newgallery ) ) {
25
+ flagAdmin::create_gallery( $newgallery, $defaultpath );
26
+ }
27
  }
28
+ if ( $_POST['uploadimage'] ) {
29
+ check_admin_referer( 'flag_upload' );
30
 
31
+ $flag->options['thumbWidth'] = intval( $_POST['thumbWidth'] ) ? intval( $_POST['thumbWidth'] ) : 100;
32
+ $flag->options['thumbHeight'] = intval( $_POST['thumbHeight'] ) ? intval( $_POST['thumbHeight'] ) : 100;
33
+ $flag->options['thumbFix'] = isset( $_POST['thumbFix'] ) ? 1 : 0;
34
+ update_option( 'flag_options', $flag->options );
35
 
36
+ if ( $_FILES['MF__F_0_0']['error'] == 0 ) {
37
  flagAdmin::upload_images();
38
+ } else {
39
+ flagGallery::show_error( __( 'Upload failed!', 'flag' ) );
40
  }
 
 
41
  }
42
+ if ( $_POST['importfolder'] ) {
43
+ check_admin_referer( 'flag_addgallery' );
44
  $galleryfolder = $_POST['galleryfolder'];
45
+ if ( ( ! empty( $galleryfolder ) ) AND ( $defaultpath != $galleryfolder ) AND false === strpos( $galleryfolder, '..' ) ) {
46
+ flagAdmin::import_gallery( $galleryfolder );
47
+ }
48
  }
49
 
50
 
51
+ if ( isset( $_POST['disable_flash'] ) ) {
52
+ check_admin_referer( 'flag_upload' );
53
+ $flag->options['swfUpload'] = false;
54
+ update_option( 'flag_options', $flag->options );
55
  }
56
 
57
+ if ( isset( $_POST['enable_flash'] ) ) {
58
+ check_admin_referer( 'flag_upload' );
59
+ $flag->options['swfUpload'] = true;
60
+ update_option( 'flag_options', $flag->options );
61
  }
62
 
63
  //get all galleries (after we added new ones)
64
+ $gallerylist = $flagdb->find_all_galleries( $flag->options['albSort'], $flag->options['albSortDir'], false, 0, 0, 0, true );
65
+
66
+ ?>
67
+
68
+ <?php if ( ! IS_WPMU || current_user_can( 'FlAG Import folder' ) ) { ?>
69
+ <link rel="stylesheet" type="text/css" href="<?php echo FLAG_URLPATH; ?>admin/js/jqueryFileTree/jqueryFileTree.css"/>
70
+ <script type="text/javascript" src="<?php echo FLAG_URLPATH; ?>admin/js/jqueryFileTree/jqueryFileTree.js"></script>
71
+ <script type="text/javascript">
72
+ /* <![CDATA[ */
73
+ jQuery(function () {
74
+ jQuery("span.browsefiles").show().click(function () {
75
+ jQuery("#file_browser").fileTree({
76
+ script: "admin-ajax.php?action=flag_file_browser&nonce=<?php echo wp_create_nonce( 'flag-ajax' ) ;?>",
77
+ root: jQuery("#galleryfolder").val()
78
+ }, function (file) {
79
+ //var path = file.replace("<?php echo WINABSPATH; ?>", "");
80
+ jQuery("#galleryfolder").val(file);
81
+ });
82
+
83
+ jQuery("#file_browser").show("slide");
84
+ });
85
+ });
86
+ /* ]]> */
87
+ </script>
88
+ <?php } ?>
89
  <div id="slider" class="wrap">
90
+
91
  <ul id="tabs" class="tabs">
92
+ <li class="selected"><a href="#" rel="addgallery"><?php _e( 'Add new gallery', 'flag' ); ?></a></li>
93
+ <li><a href="#" rel="uploadimage"><?php _e( 'Upload Images', 'flag' ); ?></a></li>
94
+ <?php if ( ! IS_WPMU || current_user_can( 'FlAG Import folder' ) ) { ?>
95
+ <li><a href="#" rel="importfolder"><?php _e( 'Import image folder', 'flag' ); ?></a></li>
96
+ <?php } ?>
97
  </ul>
98
 
99
  <!-- create gallery -->
100
  <div id="addgallery" class="cptab">
101
+ <h2><?php _e( 'Create a new gallery', 'flag' ); ?></h2>
102
+
103
+ <form name="addgallery" id="addgallery_form" method="POST" action="<?php echo $filepath; ?>" accept-charset="utf-8">
104
+ <?php wp_nonce_field( 'flag_addgallery' ); ?>
105
+ <table class="form-table" style="width: auto;">
106
+ <tr>
107
+ <th scope="col" colspan="2" style="padding-bottom: 0;"><strong><?php _e( 'New Gallery', 'flag' ); ?></strong></th>
108
+ </tr>
109
+ <tr valign="top">
110
+ <td><input type="text" size="65" name="galleryname" value=""/><br/>
111
+ <?php if ( ! IS_WPMU ) { ?>
112
+ <?php _e( 'Create a new , empty gallery below the folder', 'flag' ); ?> <strong><?php echo $defaultpath; ?></strong><br/>
113
+ <?php } ?>
114
+ <i>( <?php _e( 'Allowed characters for file and folder names are', 'flag' ); ?>: a-z, A-Z, 0-9, -, _ )</i></td>
115
+ <?php do_action( 'flag_add_new_gallery_form' ); ?>
116
+ <td>
117
+ <div class="submit" style="margin: 0; padding: 0;"><input class="button-primary" type="submit" name="addgallery" value="<?php _e( 'Add gallery', 'flag' ); ?>"/></div>
118
+ </td>
119
+ </tr>
120
  </table>
121
  <p>&nbsp;</p>
122
  </form>
123
  </div>
124
  <!-- upload images -->
125
  <div id="uploadimage" class="cptab">
126
+ <h2><?php _e( 'Upload images', 'flag' ); ?></h2>
127
+
128
+ <form name="uploadimage" id="gmUpload" method="POST" enctype="multipart/form-data" action="<?php echo $filepath; ?>" accept-charset="utf-8">
129
+ <?php wp_nonce_field( 'flag_upload' ); ?>
130
  <table class="form-table">
131
+ <tr valign="top">
132
+ <td style="width: 216px;"><label for="galleryselect"><?php _e( 'Upload images in', 'flag' ); ?> *</label>
133
+ <select name="galleryselect" id="galleryselect" style="width: 200px">
134
+ <option value="0"><?php _e( 'Choose gallery', 'flag' ); ?></option>
135
+ <?php $ingallery = isset( $_GET['gid'] ) ? (int) $_GET['gid'] : '';
136
+ foreach ( $gallerylist as $gallery ) {
137
+ if ( ! flagAdmin::can_manage_this_gallery( $gallery->author ) ) {
138
  continue;
139
+ }
140
+ $name = ( empty( $gallery->title ) ) ? $gallery->name : esc_html( stripslashes( $gallery->title ) );
141
+ if ( $flag->options['albSort'] == 'gid' ) {
142
+ $name = '#' . $gallery->gid . ' - ' . $name;
143
+ }
144
+ if ( $flag->options['albSort'] == 'title' ) {
145
+ $name = $name . ' (#' . $gallery->gid . ')';
146
+ }
147
+ $sel = ( $ingallery == $gallery->gid ) ? 'selected="selected" ' : '';
148
  echo '<option ' . $sel . 'value="' . $gallery->gid . '" >' . $name . '</option>' . "\n";
149
+ } ?>
150
+ </select>
151
+ <?php echo $maxsize; ?>
152
+ <br/><?php if ( ( IS_WPMU ) && flagGallery::flag_wpmu_enable_function( 'wpmuQuotaCheck' ) ) {
153
+ display_space_usage();
154
  } ?>
155
+ <br/>
156
+
157
+ <p><?php _e( 'Thumbnail WIDTH x HEIGHT (in pixel)', 'flag' ); ?> *
158
+ <br/><input type="text" size="5" maxlength="5" name="thumbWidth" id="thumbWidth" value="<?php echo $flag->options['thumbWidth']; ?>"/> x <input type="text" size="5" maxlength="5" name="thumbHeight" id="thumbHeight" value="<?php echo $flag->options['thumbHeight']; ?>"/>
159
+ <br/>
160
+ <small><?php _e( 'These values are maximum values ', 'flag' ); ?></small>
161
+ </p>
162
+ <p><label><input type="checkbox" name="thumbFix" id="thumbFix" value="1" <?php checked( '1', $flag->options['thumbFix'] ); ?> /> <?php _e( 'Ignore the aspect ratio, no portrait thumbnails', 'flag' ); ?></label></p>
163
+
164
+ <div class="submit">
165
  <span class="useflashupload">
166
+ <?php if ( $flag->options['swfUpload'] ) { ?>
167
+ <input type="submit" name="disable_flash" id="disable_flash" title="<?php _e( 'The batch upload via Plupload, disable it if you have problems', 'flag' ); ?>" value="<?php _e( 'Switch to Browser Upload', 'flag' ); ?>"/>
168
  <?php } else { ?>
169
+ <input type="submit" name="enable_flash" id="enable_flash" title="<?php _e( 'Upload multiple files at once by ctrl/shift-selecting in dialog', 'flag' ); ?>" value="<?php _e( 'Switch to Plupload based Upload', 'flag' ); ?>"/>
170
  <?php } ?>
171
  </span>
 
 
172
 
173
+ <div class="clear"></div>
174
+ </div>
175
+
176
+ </td>
177
 
178
+ <td>
179
+ <div id="pluploadUploader">
180
+ <?php if ( ! $flag->options['swfUpload']) { ?>
181
+ <strong><?php _e( 'Upload image(s):', 'flag' ); ?></strong><br>
182
+ <input type="file" name="imagefiles[]" id="imagefiles" size="35" class="imagefiles"/></div>
183
  <span id="choosegalfirst">
184
+ <input class="button-primary" type="submit" name="uploadimage" id="uploadimage_btn" value="<?php _e( 'Upload images', 'flag' ); ?>"/>
185
  <span class="disabledbut" style="display: none;"></span>
186
  </span>
187
+ <?php } ?>
188
+ </td>
189
+ </tr>
190
  </table>
191
  <div id="pl-message"></div>
192
  </form>
193
+ <?php if ( $flag->options['swfUpload'] ) {
194
+ $nonce = wp_create_nonce( 'flag_upload' );
195
+ ?>
196
+ <script type="text/javascript">
197
+ // Convert divs to queue widgets when the DOM is ready
198
+ jQuery(function ($) {
199
+ var files_remaining = 0;
200
+ $("#pluploadUploader").plupload({
201
+ runtimes: 'html5,flash,html4',
202
+ url: '<?php echo str_replace( '&#038;', '&', wp_nonce_url( admin_url('admin-ajax.php?action=plupload_uploader'), 'flag_upload' ) ); ?>',
203
+ multipart: true,
204
+ multipart_params: {postData: '', pluploadimage: 1},
205
+ max_file_size: '<?php echo (floor( wp_max_upload_size() * 0.99 / 1024 / 1024 ) - 1); ?>Mb',
206
+ unique_names: false,
207
+ rename: true,
208
+ chunk_size: '<?php echo min((floor( wp_max_upload_size() * 0.99 / 1024 / 1024 ) - 1), 6); ?>Mb',
209
+ max_retries: 2,
210
+ sortable: true,
211
+ dragdrop: true,
212
+ views: {
213
+ list: true,
214
+ thumbs: true,
215
+ active: 'thumbs'
216
+ },
217
+ filters: [{title: "Images", extensions: "jpg,gif,png"}],
218
+ flash_swf_url: '<?php echo plugins_url( FLAGFOLDER. '/admin/js/plupload/plupload.flash.swf'); ?>'
219
 
220
+ });
221
 
222
+ var uploader = $("#pluploadUploader").plupload('getUploader');
223
+ uploader.bind('QueueChanged StateChanged', function (up) {
224
+ if (up.state == plupload.QUEUED) {
225
+ files_remaining = up.files.length;
226
+ }
227
+ if (up.state == plupload.STARTED) {
228
+ up.settings.multipart_params = {galleryselect: jQuery('#galleryselect').val(), thumbw: jQuery('#thumbWidth').val(), thumbh: jQuery('#thumbHeight').val(), thumbf: jQuery('#thumbFix').prop("checked"), last: files_remaining, action: 'flag_plupload_uploader', _wpnonce: '<?php echo $nonce; ?>'};
229
+ }
230
+ if ($("#galleryselect").val() == 0) {
231
+ $("#pluploadUploader_start").addClass('ui-button-disabled ui-state-disabled');
232
+ }
233
+ console.log('[StateChanged]', up.state, up.settings.multipart_params);
234
+ });
235
+ uploader.bind('ChunkUploaded', function (up, file, info) {
236
+ console.log('[ChunkUploaded] File:', file, "Info:", info);
237
+ var response = jQuery.parseJSON(info.response);
238
+ if (response && response.error) {
239
+ up.stop();
240
+ file.status = plupload.FAILED;
241
+ console.log(response.error);
242
+ up.trigger('QueueChanged StateChanged');
243
+ up.trigger('UploadProgress', file);
244
+ up.start();
245
+ }
246
+ });
247
+ uploader.bind('FileUploaded', function (up, file, info) {
248
+ console.log('[FileUploaded] File:', file, "Info:", info);
249
+ files_remaining--;
250
+ if (info.response) {
251
+ file.status = plupload.FAILED;
252
+ jQuery('<div/>').addClass('error').html('<span><u><em>' + file.name + ':</em></u> ' + info.response + '</span>').appendTo('#pl-message');
253
+ }
254
+ });
255
+ uploader.bind('UploadProgress', function (up, file) {
256
+ var percent = uploader.total.percent;
257
+ $('#total-progress-info .progress-bar').css('width', percent + "%").attr('aria-valuenow', percent);
258
+ });
259
+ uploader.bind('Error', function (up, args) {
260
+ jQuery('<div/>').addClass('error').html('<span><u><em>' + args.file.name + ':</em></u> ' + args.message + ' ' + args.status + '</span>').appendTo('#pl-message');
261
+ console.log('[error] ', args);
262
+ });
263
+ uploader.bind('UploadComplete', function (up, files) {
264
+ console.log('[UploadComplete]', files);
265
+ jQuery('<div/>').addClass('success').html('<?php _e('Done!', 'flag'); ?> <a href="<?php echo wp_nonce_url( $flag->manage_page->base_page . "&mode=edit", 'flag_editgallery'); ?>&gid=' + jQuery("#galleryselect").val() + '">Open Gallery</a>').appendTo('#pl-message');
266
+ });
267
 
268
+ jQuery("#gmUpload").on('click', '.ui-button-disabled', function () {
269
+ if (files_remaining) {
270
+ alert("Choose gallery, please.")
271
+ }
272
+ });
273
+ jQuery("#galleryselect").change(function () {
274
+ if (jQuery(this).val() == 0) {
275
+ jQuery("#pluploadUploader_start").addClass('ui-button-disabled ui-state-disabled');
276
+ } else {
277
+ if (files_remaining) {
278
+ jQuery("#pluploadUploader_start").removeClass('ui-button-disabled ui-state-disabled');
279
+ }
280
+ }
281
+ });
282
 
283
+ });
284
+ </script>
285
+ <?php } else { ?>
286
+ <!-- MultiFile script -->
287
+ <script type="text/javascript">
288
+ /* <![CDATA[ */
289
+ jQuery(document).ready(function () {
290
+ jQuery('#imagefiles').MultiFile({
291
+ STRING: {
292
+ remove: '<?php _e('remove', 'flag'); ?>'
293
+ }
294
+ });
295
 
296
+ if (jQuery("#galleryselect").val() == 0) {
297
+ jQuery("#choosegalfirst").animate({opacity: "0.5"}, 600);
298
+ jQuery("#choosegalfirst .disabledbut").show();
299
+ }
300
+ jQuery("#choosegalfirst .disabledbut").click(function () {
301
+ alert("Choose gallery, please.")
302
+ });
303
+ jQuery("#galleryselect").change(function () {
304
+ if (jQuery(this).val() == 0) {
305
+ jQuery("#choosegalfirst .disabledbut").show();
306
+ jQuery("#choosegalfirst").animate({opacity: "0.5"}, 600);
307
+ } else {
308
+ jQuery("#choosegalfirst .disabledbut").hide();
309
+ jQuery("#choosegalfirst").animate({opacity: "1"}, 600);
310
+ }
311
+ });
312
+ });
313
+ /* ]]> */
314
+ </script>
315
 
316
+ <?php } ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
317
  </div>
318
+ <?php if ( ! IS_WPMU || current_user_can( 'FlAG Import folder' ) ) { ?>
319
+ <!-- import folder -->
320
+ <div id="importfolder" class="cptab">
321
+ <h2><?php _e( 'Import image folder', 'flag' ); ?></h2>
322
+
323
+ <form name="importfolder" id="importfolder_form" method="POST" action="<?php echo $filepath; ?>" accept-charset="utf-8">
324
+ <?php wp_nonce_field( 'flag_addgallery' ); ?>
325
+ <table class="form-table">
326
+ <tr valign="top">
327
+ <th scope="row"><?php _e( 'Import from Server path:', 'flag' ); ?></th>
328
+ <td><input type="text" size="35" id="galleryfolder" name="galleryfolder" value="<?php echo $defaultpath; ?>"/><span class="browsefiles button" style="display:none"><?php _e( 'Browse...', "flag" ); ?></span>
329
+
330
+ <div id="file_browser"></div>
331
+ <div><?php echo $maxsize; ?>
332
+ <?php if ( SAFE_MODE ) { ?><br/><?php _e( ' Please note : For safe-mode = ON you need to add the subfolder thumbs manually', 'flag' ); ?><?php }; ?></div>
333
+ </td>
334
+ </tr>
335
+ </table>
336
+ <div class="submit"><input class="button-primary" type="submit" name="importfolder" value="<?php _e( 'Import folder', 'flag' ); ?>"/></div>
337
+ </form>
338
+ </div>
339
+ <?php } ?>
340
+
341
+ <script type="text/javascript">
342
+ var cptabs = new ddtabcontent("tabs");
343
+ cptabs.setpersist(true);
344
+ cptabs.setselectedClassTarget("linkparent");
345
+ cptabs.init();
346
+ </script>
347
+ </div>
348
  <?php
349
+ }
admin/admin.php CHANGED
@@ -50,8 +50,8 @@ class flagAdminPanel{
50
  }
51
  return $result;
52
  }
53
-
54
- // integrate the menu
55
  function add_menu() {
56
 
57
  add_menu_page( __('GRAND Flash Album Gallery overview','flag'), __('FlAGallery'), 'FlAG overview', 'flag-overview', array (&$this, 'show_menu'), FLAG_URLPATH .'admin/images/flag.png' );
@@ -233,7 +233,7 @@ class flagAdminPanel{
233
  case "flag-manage-images":
234
  case "{$i18n}_page_flag-skins" :
235
  case "{$i18n}_page_flag-options" :
236
- $link = '<a href="http://codeasily.com/wordpress-plugins/flag" target="_blank">CodEasily.com</a>';
237
  break;
238
  }
239
 
@@ -244,11 +244,10 @@ class flagAdminPanel{
244
  $help .= "</div>\n";
245
  $help .= '<h5>' . __('More Help & Info', 'flag') . '</h5>';
246
  $help .= '<div class="metabox-prefs">';
247
- $help .= '<a href="http://codeasily.com/wordpress-plugins/flash-album-gallery/grand-flash-album-gallery-wordpress-plugin-video-tutorial" target="_blank">' . __('Grand Flagallery Video Tutorial', 'flag') . '</a>';
248
- $help .= ' | <a href="http://codeasily.com/wordpress-plugins/flash-album-gallery/faq" target="_blank">' . __('FAQ', 'flag') . '</a>';
249
- $help .= ' | <a href="http://codeasily.com/wordpress-plugins/flash-album-gallery/flag-review" target="_blank">' . __('Grand Flagallery Review', 'flag') . '</a>';
250
- $help .= ' | <a href="http://codeasily.com/wordpress-plugins/flash-album-gallery/languages" target="_blank">' . __('Get your language pack', 'flag') . '</a>';
251
- $help .= ' | <a href="http://photogallerycreator.com/2009/07/skins-for-flash-album-gallery" target="_blank">' . __('Skins for Grand Flagallery', 'flag') . '</a>';
252
  $help .= "</div>\n";
253
  }
254
 
50
  }
51
  return $result;
52
  }
53
+
54
+ // integrate the menu
55
  function add_menu() {
56
 
57
  add_menu_page( __('GRAND Flash Album Gallery overview','flag'), __('FlAGallery'), 'FlAG overview', 'flag-overview', array (&$this, 'show_menu'), FLAG_URLPATH .'admin/images/flag.png' );
233
  case "flag-manage-images":
234
  case "{$i18n}_page_flag-skins" :
235
  case "{$i18n}_page_flag-options" :
236
+ $link = '<a href="http://codeasily.com/wordpress-plugins/flag/" target="_blank">CodEasily.com</a>';
237
  break;
238
  }
239
 
244
  $help .= "</div>\n";
245
  $help .= '<h5>' . __('More Help & Info', 'flag') . '</h5>';
246
  $help .= '<div class="metabox-prefs">';
247
+ $help .= '<a href="http://codeasily.com/community/topic/video-tutorials/" target="_blank">' . __('Grand Flagallery Video Tutorial', 'flag') . '</a>';
248
+ $help .= ' | <a href="http://codeasily.com/community/forum/flagallery-wordpress-plugin/" target="_blank">' . __('Forum', 'flag') . '</a>';
249
+ $help .= ' | <a href="http://codeasily.com/community/topic/language-files/" target="_blank">' . __('Get your language pack', 'flag') . '</a>';
250
+ $help .= ' | <a href="http://codeasily.com/portfolio/grand-flagallery-skins/" target="_blank">' . __('Skins for Grand Flagallery', 'flag') . '</a>';
 
251
  $help .= "</div>\n";
252
  }
253
 
admin/ajax.php CHANGED
@@ -269,3 +269,26 @@ function flag_ajax_file_browser() {
269
 
270
  die();
271
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
269
 
270
  die();
271
  }
272
+
273
+ add_action('wp_ajax_flag_plupload_uploader', 'flag_ajax_plupload_uploader');
274
+ function flag_ajax_plupload_uploader() {
275
+ global $flag;
276
+
277
+ //check for correct capability
278
+ if ( ! is_user_logged_in() ) {
279
+ die( 'Login failure. -1' );
280
+ }
281
+ //check for correct capability
282
+ if ( ! current_user_can( 'FlAG Upload images' ) ) {
283
+ die( 'You do not have permission to upload files. -2' );
284
+ }
285
+ //check for correct nonce
286
+ check_ajax_referer( 'flag_upload' );
287
+
288
+ include_once (FLAG_ABSPATH. 'admin/functions.php');
289
+ // get the gallery
290
+ $galleryID = (int) $_POST['galleryselect'];
291
+
292
+ echo flagAdmin::swfupload_image( $galleryID );
293
+ die();
294
+ }
admin/banner-box.php CHANGED
@@ -527,7 +527,7 @@ if($bannerlist) {
527
  echo '<option value="'.dirname($skin_file).'">'.$skin_data['Name'].'</option>'."\n";
528
  }
529
  } else {
530
- echo '<option value="banner_default">'.__("No Skins", "flag").'</option>';
531
  }
532
  ?>
533
  </select>
527
  echo '<option value="'.dirname($skin_file).'">'.$skin_data['Name'].'</option>'."\n";
528
  }
529
  } else {
530
+ echo '<option value="rotator_default">'.__("No Skins", "flag").'</option>';
531
  }
532
  ?>
533
  </select>
admin/banner.functions.php CHANGED
@@ -74,7 +74,7 @@ function flagSave_bPlaylist($title,$descr,$data,$file='',$skinaction='') {
74
  $data = explode(',', $data);
75
 
76
  $flag_options = get_option('flag_options');
77
- $skin = isset($_POST['skinname'])? sanitize_flagname($_POST['skinname']) : 'banner_default';
78
  if(!$skinaction) {
79
  $skinaction = isset($_POST['skinaction'])? sanitize_key($_POST['skinaction']) : 'update';
80
  }
@@ -112,7 +112,7 @@ function flagSave_bPlaylist($title,$descr,$data,$file='',$skinaction='') {
112
  $ban = get_post($id);
113
  if($ban->ID) {
114
  $url = wp_get_attachment_url($ban->ID);
115
- if($skin == 'banner_default') {
116
  $path = get_attached_file($ban->ID);
117
  $info = pathinfo($path);
118
  $dir = $info['dirname'];
74
  $data = explode(',', $data);
75
 
76
  $flag_options = get_option('flag_options');
77
+ $skin = isset($_POST['skinname'])? sanitize_flagname($_POST['skinname']) : 'rotator_default';
78
  if(!$skinaction) {
79
  $skinaction = isset($_POST['skinaction'])? sanitize_key($_POST['skinaction']) : 'update';
80
  }
112
  $ban = get_post($id);
113
  if($ban->ID) {
114
  $url = wp_get_attachment_url($ban->ID);
115
+ if($skin == 'rotator_default') {
116
  $path = get_attached_file($ban->ID);
117
  $info = pathinfo($path);
118
  $dir = $info['dirname'];
admin/css/flagallery.css CHANGED
@@ -3,7 +3,7 @@
3
  */
4
  .flashalbum { overflow:hidden; position:relative;}
5
  body div.flashalbum object { margin: 0 !important; }
6
- .grandmusic, .grandvideo, .grandflv, .grandmp3, .grandbanner { overflow:hidden; position:relative; }
7
  body.FlAG { margin: 0; padding: 0; font-size: 0; line-height: 0; }
8
  body.FlAG .FlAGd * { margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; font-size: 0 !important; line-height: 0 !important; height: 0 !important; border-style: none !important; }
9
  body.FlAG .FlAGd img { display: none !important; }
3
  */
4
  .flashalbum { overflow:hidden; position:relative;}
5
  body div.flashalbum object { margin: 0 !important; }
6
+ .grandmusic, .grandvideo, .grandflv, .grandmp3, .grandbanner, .grandrotator { overflow:hidden; position:relative; }
7
  body.FlAG { margin: 0; padding: 0; font-size: 0; line-height: 0; }
8
  body.FlAG .FlAGd * { margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; font-size: 0 !important; line-height: 0 !important; height: 0 !important; border-style: none !important; }
9
  body.FlAG .FlAGd img { display: none !important; }
admin/css/flagallery_noflash.css CHANGED
@@ -12,7 +12,7 @@
12
  div.flashalbum br { display: none; }
13
  .flag_alternate { margin: 7px 0; }
14
  .flag_alternate .flagcategory { width: 100%; height: auto; position: relative; text-align: center; padding-bottom: 4px; }
15
- .flag_alternate .flagcategory a.flag_pic_alt { display: inline-block; margin: 1px 0 0 1px; padding: 0; height: 120px; width: 120px; line-height: 96px; position:relative; overflow: hidden; text-align: center; z-index:99; cursor:pointer; background-color: #ffffff; border: 2px solid #ffffff; text-decoration: none; background-image: url(../images/loadingAnimation.gif); background-repeat: no-repeat; background-position: 50% 50%; font-size: 8px; color: #ffffff; }
16
  .flag_alternate .flagcategory a.flag_pic_alt > .flag_pic_desc { display: none; padding: 4px; line-height: 140%; font-size: 12px; }
17
  .flag_alternate .flagcategory a.flag_pic_alt > .flag_pic_desc * { display: none; line-height: 140%; font-size: 12px !important; }
18
  .flag_alternate .flagcategory a.flag_pic_alt:hover { background-color: #ffffff; border: 2px solid #4a4a4a; color: #4a4a4a; text-decoration: none; z-index: 3; }
12
  div.flashalbum br { display: none; }
13
  .flag_alternate { margin: 7px 0; }
14
  .flag_alternate .flagcategory { width: 100%; height: auto; position: relative; text-align: center; padding-bottom: 4px; }
15
+ .flag_alternate .flagcategory a.flag_pic_alt { display: inline-block; margin: 1px 0 0 1px; padding: 0; height: 120px; width: 120px; line-height: 96px; position:relative; overflow: hidden; text-align: center; cursor:pointer; background-color: #ffffff; border: 2px solid #ffffff; text-decoration: none; background-image: url(../images/loadingAnimation.gif); background-repeat: no-repeat; background-position: 50% 50%; font-size: 8px; color: #ffffff; }
16
  .flag_alternate .flagcategory a.flag_pic_alt > .flag_pic_desc { display: none; padding: 4px; line-height: 140%; font-size: 12px; }
17
  .flag_alternate .flagcategory a.flag_pic_alt > .flag_pic_desc * { display: none; line-height: 140%; font-size: 12px !important; }
18
  .flag_alternate .flagcategory a.flag_pic_alt:hover { background-color: #ffffff; border: 2px solid #4a4a4a; color: #4a4a4a; text-decoration: none; z-index: 3; }
admin/flagframe-tool.php CHANGED
@@ -24,7 +24,7 @@ $i_skins = get_skins();
24
  $all_m_playlists = get_playlists();
25
  $all_v_playlists = get_v_playlists();
26
  $all_b_playlists = get_b_playlists();
27
- $fb_url = FLAG_URLPATH.'flagframe.php';
28
  if(file_exists(ABSPATH.'flagframe.php')) {
29
  $fb_url = home_url().'/flagframe.php';
30
  }
24
  $all_m_playlists = get_playlists();
25
  $all_v_playlists = get_v_playlists();
26
  $all_b_playlists = get_b_playlists();
27
+ $fb_url = plugins_url().'/flash-album-gallery/flagframe.php';
28
  if(file_exists(ABSPATH.'flagframe.php')) {
29
  $fb_url = home_url().'/flagframe.php';
30
  }
admin/js/script.js CHANGED
@@ -125,11 +125,17 @@ function alternate_flag_e(skin_id, t, ExtendVar){
125
 
126
  }
127
  },
128
- instance = jQuery('a.flag_pic_alt',this).photoSwipe(options);
 
 
 
 
 
129
 
130
  // onBeforeShow - store a reference to our "say hi" button
131
  instance.addEventHandler(window.Code.PhotoSwipe.EventTypes.onBeforeShow, function(e){
132
  jQuery(window).scrollLeft(0).scrollTop(0);
 
133
  jQuery('meta[name=viewport]').attr('content','width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0');
134
  //window.location.hash = '#OpenGallery';
135
  });
@@ -149,7 +155,10 @@ function alternate_flag_e(skin_id, t, ExtendVar){
149
  } else {
150
  jQuery('meta[name=viewport]').attr('content',metaViewport);
151
  }
152
- //window.location.hash = '#CloseGallery';
 
 
 
153
  });
154
  // onDisplayImage
155
  instance.addEventHandler(window.Code.PhotoSwipe.EventTypes.onDisplayImage, function(e){
125
 
126
  }
127
  },
128
+ flagBodyScrollTop,
129
+ flagBodyScrollLeft,
130
+ instance = jQuery('a.flag_pic_alt',this).on('click',function(){
131
+ flagBodyScrollTop = jQuery(window).scrollTop();
132
+ flagBodyScrollLeft = jQuery(window).scrollLeft();
133
+ }).photoSwipe(options);
134
 
135
  // onBeforeShow - store a reference to our "say hi" button
136
  instance.addEventHandler(window.Code.PhotoSwipe.EventTypes.onBeforeShow, function(e){
137
  jQuery(window).scrollLeft(0).scrollTop(0);
138
+ jQuery('html').addClass('ps-noscroll');
139
  jQuery('meta[name=viewport]').attr('content','width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0');
140
  //window.location.hash = '#OpenGallery';
141
  });
155
  } else {
156
  jQuery('meta[name=viewport]').attr('content',metaViewport);
157
  }
158
+ jQuery('html').removeClass('ps-noscroll');
159
+ setTimeout(function(){ jQuery(window).scrollTop(flagBodyScrollTop).scrollLeft(flagBodyScrollLeft); }, 0);
160
+ console.log(flagBodyScrollLeft, flagBodyScrollTop);
161
+ //window.location.hash = '#CloseGallery';
162
  });
163
  // onDisplayImage
164
  instance.addEventHandler(window.Code.PhotoSwipe.EventTypes.onDisplayImage, function(e){
admin/manage-banner.php CHANGED
@@ -137,7 +137,7 @@ jQuery(document).ready(function(){
137
  echo '<option'.$cur.' value="'.dirname($skin_file).'">'.$skin_data['Name'].'</option>'."\n";
138
  }
139
  } else {
140
- echo '<option value="banner_default">'.__("No Skins", "flag").'</option>';
141
  }
142
  ?>
143
  </select>&nbsp;&nbsp;<a id="skinOptions" class="thickbox" href="<?php echo FLAG_URLPATH.'admin/skin_options.php?show_options=1&amp;skin='.sanitize_flagname($playlist["skin"]).'&amp;TB_iframe=1&amp;width=600&amp;height=560'; ?>"><?php _e('Change Skin Options', 'flag' ); ?></a>
137
  echo '<option'.$cur.' value="'.dirname($skin_file).'">'.$skin_data['Name'].'</option>'."\n";
138
  }
139
  } else {
140
+ echo '<option value="rotator_default">'.__("No Skins", "flag").'</option>';
141
  }
142
  ?>
143
  </select>&nbsp;&nbsp;<a id="skinOptions" class="thickbox" href="<?php echo FLAG_URLPATH.'admin/skin_options.php?show_options=1&amp;skin='.sanitize_flagname($playlist["skin"]).'&amp;TB_iframe=1&amp;width=600&amp;height=560'; ?>"><?php _e('Change Skin Options', 'flag' ); ?></a>
admin/manage.php CHANGED
@@ -383,11 +383,11 @@ class flagManageGallery {
383
  //TODO:Error message when update failed
384
  //TODO:Combine update in one query per image
385
 
386
- $description = $_POST['description'];
387
- $alttext = $_POST['alttext'];
388
- $link = $_POST['link'];
389
  $exclude = isset($_POST['exclude'])? $_POST['exclude'] : 0;
390
- $pictures = $_POST['pid'];
391
  $hitcounter = isset($_POST['hitcounter'])? $_POST['hitcounter'] : 0;
392
  $total_votes = isset($_POST['total_votes'])? $_POST['total_votes'] : 0;
393
 
383
  //TODO:Error message when update failed
384
  //TODO:Combine update in one query per image
385
 
386
+ $description = isset($_POST['description'])? $_POST['description'] : 0;
387
+ $alttext = isset($_POST['alttext'])? $_POST['alttext'] : 0;
388
+ $link = isset($_POST['link'])? $_POST['link'] : 0;
389
  $exclude = isset($_POST['exclude'])? $_POST['exclude'] : 0;
390
+ $pictures = isset($_POST['pid'])? $_POST['pid'] : 0;
391
  $hitcounter = isset($_POST['hitcounter'])? $_POST['hitcounter'] : 0;
392
  $total_votes = isset($_POST['total_votes'])? $_POST['total_votes'] : 0;
393
 
admin/skins.php CHANGED
@@ -22,7 +22,7 @@ if( isset($_POST['installskin']) ) {
22
  }
23
  if( isset($_POST['skinzipurl']) ) {
24
  check_admin_referer('skin_install');
25
- $url = 'http://photogallerycreator.com/depository/'.sanitize_flagname(basename($_POST['skinzipurl']));
26
  $skins_dir = $flag_options['skinsDirABS'];
27
  $mzip = download_url($url);
28
  if(is_wp_error($mzip)){
@@ -158,7 +158,7 @@ if ( isset($_POST['updateskinoption']) ) {
158
 
159
  if ( isset($_POST['license_key']) ) {
160
  check_admin_referer('skin-api');
161
- $license_key = mysql_real_escape_string($_POST['license_key']);
162
  $flag_options['license_key'] = trim($license_key);
163
  update_option('flag_options', $flag_options);
164
  flagGallery::show_message(__('License Key Updated','flag'));
@@ -382,7 +382,7 @@ $total_all_skins = count($all_skins);
382
  }
383
  } else {
384
  //$skins_xml_error = __('URL file-access is disabled in the server configuration.', 'flag');
385
- $skins_xml_error = __('cURL library is not installed on your server.','flag').'<br>'.__('Download skins from http://photogallerycreator.com', 'flag');
386
  }
387
 
388
 
22
  }
23
  if( isset($_POST['skinzipurl']) ) {
24
  check_admin_referer('skin_install');
25
+ $url = 'http://mypgc.co/depository/'.sanitize_flagname(basename($_POST['skinzipurl']));
26
  $skins_dir = $flag_options['skinsDirABS'];
27
  $mzip = download_url($url);
28
  if(is_wp_error($mzip)){
158
 
159
  if ( isset($_POST['license_key']) ) {
160
  check_admin_referer('skin-api');
161
+ $license_key = esc_sql($_POST['license_key']);
162
  $flag_options['license_key'] = trim($license_key);
163
  update_option('flag_options', $flag_options);
164
  flagGallery::show_message(__('License Key Updated','flag'));
382
  }
383
  } else {
384
  //$skins_xml_error = __('URL file-access is disabled in the server configuration.', 'flag');
385
+ $skins_xml_error = __('cURL library is not installed on your server.','flag').'<br>'.__('Download skins from http://codeasily.com/portfolio/grand-flagallery-skins/', 'flag');
386
  }
387
 
388
 
admin/tinymce/editor_plugin.js CHANGED
@@ -19,8 +19,8 @@
19
  ed.addCommand('mceFlAG', function() {
20
  ed.windowManager.open({
21
  file : url + '/window.php',
22
- width : 360 + ed.getLang('FlAG.delta_width', 0),
23
- height : 210 + ed.getLang('FlAG.delta_height', 0),
24
  inline : 1
25
  }, {
26
  plugin_url : url // Plugin absolute URL
19
  ed.addCommand('mceFlAG', function() {
20
  ed.windowManager.open({
21
  file : url + '/window.php',
22
+ width : 460 + ed.getLang('FlAG.delta_width', 0),
23
+ height : 250 + ed.getLang('FlAG.delta_height', 0),
24
  inline : 1
25
  }, {
26
  plugin_url : url // Plugin absolute URL
admin/tinymce/tinymce.php CHANGED
@@ -113,8 +113,8 @@ class add_flag_button {
113
  });
114
  function wpflagins() {
115
  tb_show("<?php _e('Insert Flash Album with one or more galleries', 'flag'); ?>","<?php echo FLAG_URLPATH; ?>admin/tinymce/window.php?riched=false&TB_iframe=true&width=360&height=210",false);
116
- jQuery("#TB_window").css({width:"360px", height:"210px", marginTop:"-120px", marginLeft:"-180px", top:"50%"});
117
- jQuery("#TB_iframeContent").css({width:"360px", height:"210px"});
118
  jQuery(window).unbind("resize");
119
  }
120
  function bind_resize() {
113
  });
114
  function wpflagins() {
115
  tb_show("<?php _e('Insert Flash Album with one or more galleries', 'flag'); ?>","<?php echo FLAG_URLPATH; ?>admin/tinymce/window.php?riched=false&TB_iframe=true&width=360&height=210",false);
116
+ jQuery("#TB_window").css({width:"460px", height:"310px", marginTop:"-160px", marginLeft:"-230px", top:"50%"});
117
+ jQuery("#TB_iframeContent").css({width:"460px", height:"310px"});
118
  jQuery(window).unbind("resize");
119
  }
120
  function bind_resize() {
admin/tinymce/window.php CHANGED
@@ -13,8 +13,8 @@ global $flag, $flagdb, $wp_query;
13
 
14
  $all_skins = get_skins();
15
  $all_playlists = get_playlists();
16
-
17
- if($_REQUEST['riched'] == "false") {
18
  ?>
19
  <html xmlns="http://www.w3.org/1999/xhtml">
20
  <head>
@@ -38,11 +38,11 @@ if($_REQUEST['riched'] == "false") {
38
 
39
  <base target="_self" />
40
  </head>
41
- <body id="link" onload="tinyMCEPopup.executeOnLoad('init();');document.body.style.display='';document.getElementById('galleries').focus();" style="display: none">
42
  <?php } ?>
43
  <form name="FlAG" action="#">
44
  <?php
45
- if($_REQUEST['riched'] == "false") {
46
  ?>
47
  <div class="cptabs_wrapper">
48
  <ul id="tabs" class="tabs">
@@ -196,7 +196,7 @@ if($_REQUEST['riched'] == "false") {
196
  <input type="button" id="insert" name="insert" value="<?php _e("Insert", 'flag'); ?>" />
197
  </div>
198
  </div>
199
- <?php if($_REQUEST['riched'] == "false") { ?>
200
  <script type="text/javascript">
201
  /* <![CDATA[ */
202
  var cptabs=new ddtabcontent("tabs");
@@ -277,7 +277,7 @@ if($_REQUEST['riched'] == "false") {
277
  tagtext = '[flagallery' + galleryid + album + gallerysize + galorderby + galorder + galexclude + skinname + skinalign + playlist + ']';
278
  win.send_to_editor(tagtext);
279
  win.bind_resize();
280
- <?php if($_REQUEST['riched'] != "false") { ?>
281
  tinyMCEPopup.close();
282
  <?php } ?>
283
  } else alert('Choose at least one gallery!');
13
 
14
  $all_skins = get_skins();
15
  $all_playlists = get_playlists();
16
+ $riched = isset($_REQUEST['riched']);
17
+ if($riched) {
18
  ?>
19
  <html xmlns="http://www.w3.org/1999/xhtml">
20
  <head>
38
 
39
  <base target="_self" />
40
  </head>
41
+ <body id="link" onload="tinyMCEPopup.executeOnLoad('init();');document.body.style.display='';document.getElementById('galleries').focus();" style="display: none; font-size: 13px;">
42
  <?php } ?>
43
  <form name="FlAG" action="#">
44
  <?php
45
+ if($riched) {
46
  ?>
47
  <div class="cptabs_wrapper">
48
  <ul id="tabs" class="tabs">
196
  <input type="button" id="insert" name="insert" value="<?php _e("Insert", 'flag'); ?>" />
197
  </div>
198
  </div>
199
+ <?php if($riched) { ?>
200
  <script type="text/javascript">
201
  /* <![CDATA[ */
202
  var cptabs=new ddtabcontent("tabs");
277
  tagtext = '[flagallery' + galleryid + album + gallerysize + galorderby + galorder + galexclude + skinname + skinalign + playlist + ']';
278
  win.send_to_editor(tagtext);
279
  win.bind_resize();
280
+ <?php if(!$riched) { ?>
281
  tinyMCEPopup.close();
282
  <?php } ?>
283
  } else alert('Choose at least one gallery!');
admin/tuning.php CHANGED
@@ -13,6 +13,12 @@ function flag_tune($show_error=true, $skins_reset=false) {
13
  $flag_options['skinsDirABS'] = $skins_dir;
14
  $flag_options['skinsDirURL'] = WP_PLUGIN_URL . '/flagallery-skins/';
15
  update_option('flag_options', $flag_options);
 
 
 
 
 
 
16
 
17
  $errors = '';
18
  // check for main folder
13
  $flag_options['skinsDirABS'] = $skins_dir;
14
  $flag_options['skinsDirURL'] = WP_PLUGIN_URL . '/flagallery-skins/';
15
  update_option('flag_options', $flag_options);
16
+
17
+ if(version_compare(get_option('flagVersion'), '4.25', '<')){
18
+ $skins_reset = true;
19
+ @unlink($skins_dir.'banner_default');
20
+ @unlink($skins_dir.'banner_widget_default');
21
+ }
22
 
23
  $errors = '';
24
  // check for main folder
flag-config.php CHANGED
@@ -27,4 +27,6 @@ if ( !defined('WP_LOAD_PATH') ) {
27
  }
28
 
29
  // let's load WordPress
30
- require_once( WP_LOAD_PATH . 'wp-load.php');
 
 
27
  }
28
 
29
  // let's load WordPress
30
+ if ( ! function_exists('wp_unregister_GLOBALS') ) {
31
+ require_once( WP_LOAD_PATH . 'wp-load.php');
32
+ }
flag.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
  /*
3
  Plugin Name: GRAND Flash Album Gallery
4
- Plugin URI: http://codeasily.com/wordpress-plugins/flash-album-gallery/flag/
5
  Description: The Grand Flagallery plugin - provides a comprehensive interface for managing photos and images through a set of admin pages, and it displays photos in a way that makes your web site look very professional.
6
- Version: 4.23
7
  Author: Rattus
8
  Author URI: http://codeasily.com/
9
 
@@ -23,7 +23,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
23
  if (!class_exists('flagLoad')) {
24
  class flagLoad {
25
 
26
- var $version = '4.23';
27
  var $dbversion = '2.75';
28
  var $minium_WP = '3.0';
29
  var $minium_WPMU = '3.0';
@@ -190,7 +190,7 @@ class flagLoad {
190
  define('FLAGFOLDER', plugin_basename( dirname(__FILE__)) );
191
 
192
  define('FLAG_ABSPATH', str_replace("\\","/", WP_PLUGIN_DIR . '/' . plugin_basename( dirname(__FILE__) ) . '/' ));
193
- define('FLAG_URLPATH', WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/' );
194
 
195
  // get value for safe mode
196
  if ( !defined('SAFE_MODE') ) {
1
  <?php
2
  /*
3
  Plugin Name: GRAND Flash Album Gallery
4
+ Plugin URI: http://codeasily.com/wordpress-plugins/flag/
5
  Description: The Grand Flagallery plugin - provides a comprehensive interface for managing photos and images through a set of admin pages, and it displays photos in a way that makes your web site look very professional.
6
+ Version: 4.28
7
  Author: Rattus
8
  Author URI: http://codeasily.com/
9
 
23
  if (!class_exists('flagLoad')) {
24
  class flagLoad {
25
 
26
+ var $version = '4.28';
27
  var $dbversion = '2.75';
28
  var $minium_WP = '3.0';
29
  var $minium_WPMU = '3.0';
190
  define('FLAGFOLDER', plugin_basename( dirname(__FILE__)) );
191
 
192
  define('FLAG_ABSPATH', str_replace("\\","/", WP_PLUGIN_DIR . '/' . plugin_basename( dirname(__FILE__) ) . '/' ));
193
+ define('FLAG_URLPATH', plugins_url() . '/' . plugin_basename( dirname(__FILE__) ) . '/' );
194
 
195
  // get value for safe mode
196
  if ( !defined('SAFE_MODE') ) {
lib/swfobject.php CHANGED
@@ -44,6 +44,7 @@ function flagShowFlashAlbum($galleryID, $name='Gallery', $width='', $height='',
44
  }
45
 
46
  $data = '';
 
47
  if(file_exists($skinpath . "/settings/settings.xml")) {
48
  if ($settings_xml = @simplexml_load_file($skinpath . "/settings/settings.xml", 'SimpleXMLElement', LIBXML_NOCDATA)){
49
  $data = $settings_xml->properties;
@@ -51,10 +52,13 @@ function flagShowFlashAlbum($galleryID, $name='Gallery', $width='', $height='',
51
  $data->siteurl = site_url();
52
  $data->key = $flag_options['license_key'];
53
  if(empty($wmode))
54
- $wmode = (string) $settings_xml->properties->property0;
55
- $flashBackcolor = (string) $settings_xml->properties->property1;
56
  $flashBackcolor = str_replace('0x','',$flashBackcolor);
57
- $swfmousewheel = (string) $settings_xml->properties->swfmousewheel;
 
 
 
58
  }
59
  } else if(file_exists($skinpath . "_settings.php")) {
60
  include( $skinpath . "_settings.php");
@@ -158,12 +162,19 @@ function flagShowFlashAlbum($galleryID, $name='Gallery', $width='', $height='',
158
  if(!flagGetUserNow($_SERVER['HTTP_USER_AGENT']) && !preg_match("/Android/i", $_SERVER['HTTP_USER_AGENT'])){
159
  $out .= 'function json_xml_'.$skinID.'(e){ return '.$xml['json'].'; }';
160
  $out .= 'var '.$skinID.' = jQuery("div#'.$skinID.'_jq").clone().wrap(document.createElement(\'div\')).parent().html();';
161
- $out .= $swfobject->javascript();
 
 
 
 
 
 
 
 
 
162
  }
163
- $out .= 'jQuery(function() { var fv = swfobject.getFlashPlayerVersion();';
164
- $out .= 'if(fv.major < 10 || (navigator.userAgent.toLowerCase().indexOf("android") > -1)) { new FlAGClass(ExtendVar, "'.$skinID.'", false, false); }';
165
- $out .= '});';
166
- $out .= '/* ]]> */</script>';
167
 
168
  $out = apply_filters('flag_show_flash_content', $out);
169
 
44
  }
45
 
46
  $data = '';
47
+ $showAlternate = false;
48
  if(file_exists($skinpath . "/settings/settings.xml")) {
49
  if ($settings_xml = @simplexml_load_file($skinpath . "/settings/settings.xml", 'SimpleXMLElement', LIBXML_NOCDATA)){
50
  $data = $settings_xml->properties;
52
  $data->siteurl = site_url();
53
  $data->key = $flag_options['license_key'];
54
  if(empty($wmode))
55
+ $wmode = (string) $data->property0;
56
+ $flashBackcolor = (string) $data->property1;
57
  $flashBackcolor = str_replace('0x','',$flashBackcolor);
58
+ $swfmousewheel = (string) $data->swfmousewheel;
59
+ if(isset($data->showAlternate) && ('false' != $data->showAlternate)){
60
+ $showAlternate = $data->showAlternate;
61
+ }
62
  }
63
  } else if(file_exists($skinpath . "_settings.php")) {
64
  include( $skinpath . "_settings.php");
162
  if(!flagGetUserNow($_SERVER['HTTP_USER_AGENT']) && !preg_match("/Android/i", $_SERVER['HTTP_USER_AGENT'])){
163
  $out .= 'function json_xml_'.$skinID.'(e){ return '.$xml['json'].'; }';
164
  $out .= 'var '.$skinID.' = jQuery("div#'.$skinID.'_jq").clone().wrap(document.createElement(\'div\')).parent().html();';
165
+ if(!$showAlternate) {
166
+ $out .= $swfobject->javascript();
167
+ }
168
+ }
169
+ $out .= 'jQuery(function() {';
170
+ if($showAlternate) {
171
+ $out .= 'new FlAGClass(ExtendVar, "' . $skinID . '", false, false);';
172
+ } else{
173
+ $out .= 'var fv = swfobject.getFlashPlayerVersion();';
174
+ $out .= 'if(fv.major < 10 || (navigator.userAgent.toLowerCase().indexOf("android") > -1)) { new FlAGClass(ExtendVar, "' . $skinID . '", false, false); }';
175
  }
176
+ $out .= '});';
177
+ $out .= '/* ]]> */</script>';
 
 
178
 
179
  $out = apply_filters('flag_show_flash_content', $out);
180
 
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
  === Grand Flagallery - Photo Gallery Plugin ===
2
  Contributors: Rattus
3
  Donate link: http://photogallerycreator.com/grand-flagallery/
4
- Tags: admin, flash, fullscreen gallery, gallery, image, images, image gallery, mp3, music, page, photo, photo gallery, slider, plugin, slideshow, video, widget, iphone gallery, best gallery, portfolio, banner rotator
5
  Requires at least: 3.0
6
- Tested up to: 4.0.0
7
  Stable tag: trunk
8
 
9
  Photo Gallery, Video Gallery, Music Album & Banner Rotator plugin with powerfull admin to manage your image galleries and media content
@@ -26,30 +26,51 @@ With this gallery plugin you can easy upload images, create music and video play
26
 
27
  For more information read **[Review, Tutorials, FAQ](http://codeasily.com/wordpress-plugins/flag/ "Grand Flagallery Home Page")** and see demos created with "Grand Flagallery" WordPress Plugin.
28
 
29
- Image Link support now available in gallery skins. [See Slider Skin demo](http://photogallerycreator.com/grand-flagallery/slider-gallery-skin-for-wordpress/).
30
 
31
- Responsive Banner Rotator! Full support of iPhone/iPad. Ideal for mobile themes. [See demo](http://skins.mypgc.co) in the site's header.
32
 
33
  Music/Video Player: Each instance (player copy) can play different file. All instances are connected between, so as soon as one start playing the previous is stopped automatically. Playlists also available.
34
 
35
- GRAND Pages - Full Window Gallery Template. You can display your image gallery in full window separate page (gallery template). [View Demo 1](http://photogallerycreator.com/flagallery/grand-pages-full-window-gallery-template/), [View Demo 2](http://photogallerycreator.com/flagallery/3d-sphere-v2-0-full-window-mode/)
36
 
37
  You have the opportunity to create image gallery, as separate pages. It looks very cool when you open image gallery, and gallery images occupies the entire page... such a large and beautiful. Wow! And there is a button with which you can go back to the previous page. You can also specify the name of the button and link.
38
 
39
- Added music playlist support in image gallery skins. Now your visitors can listen music while watching gallery. [View Demo](http://photogallerycreator.com/flagallery/optima-grandpage/)
40
 
41
  Now you can see "Views" of each photo in the gallery and visitors can "Like" image and see image "Rating".
42
 
43
- * Demo [Photo Galleries](http://photogallerycreator.com/grand-flagallery/)
44
- * Demo [Full Window Gallery Template](http://photogallerycreator.com/flagallery/grand-pages-full-window-gallery-template/)
45
- * Demo [Video Galleries](http://photogallerycreator.com/flv-video-players/)
46
- * Demo [mp3 Music Players](http://photogallerycreator.com/mp3-music-players/)
47
- * Demo [Gallery Widgets](http://photogallerycreator.com/widgets-for-wordpress/)
48
- * Demo [Facebook Gallery Integration](http://www.facebook.com/#!/PhotoGalleryCreator?sk=app_206659789371708)
 
 
49
 
50
 
51
  == Changelog ==
52
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  = v4.23 - 9.09.2014 =
54
  * Wordpress 4.0 compatibility
55
 
1
  === Grand Flagallery - Photo Gallery Plugin ===
2
  Contributors: Rattus
3
  Donate link: http://photogallerycreator.com/grand-flagallery/
4
+ Tags: admin, flash gallery, fullscreen gallery, gallery, image, images, image gallery, mp3, music, page, photo, photo gallery, slider, plugin, slideshow, video, widget, iphone gallery, best gallery, portfolio, image rotator
5
  Requires at least: 3.0
6
+ Tested up to: 4.1.0
7
  Stable tag: trunk
8
 
9
  Photo Gallery, Video Gallery, Music Album & Banner Rotator plugin with powerfull admin to manage your image galleries and media content
26
 
27
  For more information read **[Review, Tutorials, FAQ](http://codeasily.com/wordpress-plugins/flag/ "Grand Flagallery Home Page")** and see demos created with "Grand Flagallery" WordPress Plugin.
28
 
29
+ Image Link support now available in gallery skins. [See Slider Skin demo](http://codeasily.com/portfolio-item/flagallery-slider-skin/).
30
 
31
+ Responsive Banner Rotator! Full support of iPhone/iPad. Ideal for mobile themes. [See demo](http://codeasily.com/portfolio-item/flagallery-nivoslider-banner-rotator/) in the site's header.
32
 
33
  Music/Video Player: Each instance (player copy) can play different file. All instances are connected between, so as soon as one start playing the previous is stopped automatically. Playlists also available.
34
 
35
+ GRAND Pages - Full Window Gallery Template. You can display your image gallery in full window separate page (gallery template). [View Demo 1](http://codeasily.com/flagallery/minima-skin/), [View Demo 2](http://codeasily.com/flagallery/sphere-3d-skin/)
36
 
37
  You have the opportunity to create image gallery, as separate pages. It looks very cool when you open image gallery, and gallery images occupies the entire page... such a large and beautiful. Wow! And there is a button with which you can go back to the previous page. You can also specify the name of the button and link.
38
 
39
+ Added music playlist support in image gallery skins. Now your visitors can listen music while watching gallery. [View Demo](http://codeasily.com/flagallery/optima-skin/)
40
 
41
  Now you can see "Views" of each photo in the gallery and visitors can "Like" image and see image "Rating".
42
 
43
+ * Demo [Photo Galleries](http://codeasily.com/portfolio/grand-flagallery-skins/)
44
+ * Demo [Full Window Gallery Template](http://codeasily.com/flagallery/optima-skin/)
45
+ * Demo [Video Galleries](http://codeasily.com/portfolio-item/flagallery-videoblog-pro-skin/)
46
+
47
+ Also available mp3 players and widgets.
48
+
49
+ > Try also another gallery plugin created by me, which called **[Gmedia Gallery](https://wordpress.org/plugins/grand-media/)**
50
+
51
 
52
 
53
  == Changelog ==
54
 
55
+ = v4.28 - 12.01.2015 =
56
+ * Fixed urls to install skins and other plugin's website links
57
+
58
+ = v4.27 - 26.12.2014 =
59
+ * Fixed few PHP Notices
60
+ * Compatibility with EWW Image Optimizer plugin
61
+
62
+ = v4.26 - 20.11.2014 =
63
+ * Fixed few PHP Notices
64
+
65
+ = v4.25 - 23.10.2014 =
66
+ * Fixed vulnerability in banner skins
67
+ * Rename banner to rotator
68
+
69
+ = v4.24 - 22.10.2014 =
70
+ * Improved script for Alternate JS gallery
71
+ * Fixed js error with widgets
72
+ * Minima skin updated: New option to preview alternative gallery (To update skins click Reset Settings button on Overview page)
73
+
74
  = v4.23 - 9.09.2014 =
75
  * Wordpress 4.0 compatibility
76
 
skins/banner_widget_default/settings/settings.xml DELETED
@@ -1,46 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <item type="checkBox" name="autoPlay">
3
- <item type="numericSteper" name="slideshowDelay">
4
- <title><![CDATA[Slideshow Delay]]></title>
5
- <description><![CDATA[]]></description>
6
- <maximum>30</maximum>
7
- <minimum>0</minimum>
8
- <stepSize>1</stepSize>
9
- <value>10</value>
10
- </item>
11
- <item type="comboBox" name="orientation">
12
- <item type="textInput" name="itemsWidth">
13
- <item type="textInput" name="itemsHeight">
14
- <item type="comboBox" name="imgZoom">
15
- <item type="colorPicker" name="itemsBg">
16
- <item type="checkBox" name="linkWindow">
17
- <item type="colorPicker" name="mpButtoColor1">
18
- <item type="colorPicker" name="mpButtoColor2">
19
- <properties>
20
- <property0><![CDATA[opaque]]></property0>
21
- <swfmousewheel>false</swfmousewheel>
22
- <property1>0x000000</property1>
23
- <itemsBg>0x242424</itemsBg>
24
- <width><![CDATA[100%]]></width>
25
- <height><![CDATA[350]]></height>
26
- <itemsWidth><![CDATA[450]]></itemsWidth>
27
- <itemsHeight><![CDATA[270]]></itemsHeight>
28
- <orientation><![CDATA[horisontal]]></orientation>
29
- <cameraPan>false</cameraPan>
30
- <cameraAngLock>0</cameraAngLock>
31
- <button3dMode><![CDATA[false]]></button3dMode>
32
- <imgZoom><![CDATA[FILL]]></imgZoom>
33
- <autoPlay>true</autoPlay>
34
- <slideshowDelay>10</slideshowDelay>
35
- <botDescroptionPart>false</botDescroptionPart>
36
- <readMoreText><![CDATA[Read More]]></readMoreText>
37
- <dsBoxHeight>40</dsBoxHeight>
38
- <dsBoxColor>0x000000</dsBoxColor>
39
- <dsBoxBgAlpha>85</dsBoxBgAlpha>
40
- <titleColor>0xff0000</titleColor>
41
- <linkColor>0xff0000</linkColor>
42
- <linkWindow>true</linkWindow>
43
- <dsBoxTextColor>0xffffff</dsBoxTextColor>
44
- <mpButtoColor1>0xffffff</mpButtoColor1>
45
- <mpButtoColor2>0xff0000</mpButtoColor2>
46
- </properties>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
skins/compact_music_player/compact_music_player.php CHANGED
@@ -4,8 +4,8 @@ mSkin Name: Compact MP3 Player
4
  Skin URI:
5
  Description:
6
  Author: PGC
7
- Author URI: http://PhotoGalleryCreator.com
8
- Version: 1.3
9
  */
10
 
11
  function flagShowSkin_music_compact($args) {
4
  Skin URI:
5
  Description:
6
  Author: PGC
7
+ Author URI: http://mypgc.co
8
+ Version: 1.4
9
  */
10
 
11
  function flagShowSkin_music_compact($args) {
skins/compact_music_player/gallery.php CHANGED
@@ -1,9 +1,11 @@
1
  <?php // Create XML output
2
- header("content-type:text/xml;charset=utf-8");
3
  preg_match('|^(.*?/)(wp-content)/|i', str_replace('\\', '/', __FILE__), $_m);
4
  require_once( $_m[1] . 'wp-load.php');
5
  $flag_options = get_option ('flag_options');
6
- $file = $_GET['playlist'];
 
 
 
7
  $isWidget = isset($_GET['widget'])? $_GET['widget'] : false;
8
  $playlistPath = $_m[1].$flag_options['galleryPath'].'playlists/'.$file.'.xml';
9
  if(file_exists($playlistPath)) {
@@ -38,8 +40,8 @@ if(file_exists($playlistPath)) {
38
  if($isWidget){
39
  $newXML = preg_replace("|<properties>.*?<category|si", $properties, $newXML);
40
  }
 
41
  echo $newXML;
42
  } else {
43
- echo 'no such file or directory';
44
  }
45
- ?>
1
  <?php // Create XML output
 
2
  preg_match('|^(.*?/)(wp-content)/|i', str_replace('\\', '/', __FILE__), $_m);
3
  require_once( $_m[1] . 'wp-load.php');
4
  $flag_options = get_option ('flag_options');
5
+ if(!isset($_GET['playlist'])){
6
+ die;
7
+ }
8
+ $file = basename($_GET['playlist']);
9
  $isWidget = isset($_GET['widget'])? $_GET['widget'] : false;
10
  $playlistPath = $_m[1].$flag_options['galleryPath'].'playlists/'.$file.'.xml';
11
  if(file_exists($playlistPath)) {
40
  if($isWidget){
41
  $newXML = preg_replace("|<properties>.*?<category|si", $properties, $newXML);
42
  }
43
+ header("content-type:text/xml;charset=utf-8");
44
  echo $newXML;
45
  } else {
46
+ die;
47
  }
 
skins/compact_music_player/settings/settings.xml CHANGED
@@ -1,16 +1 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <item type="colorPicker" name="property2">
3
- <property0><![CDATA[transparent]]></property0>
4
- <property1>0xffffff</property1>
5
- <property2>0x3383a7</property2>
6
- <property3>0xffffff</property3>
7
- <property4>0x143646</property4>
8
- <property5>0x77b3ce</property5>
9
- <property6>0x5e8ca1</property6>
10
- <property7>0xffffff</property7>
11
- <property8>0x000000</property8>
12
- <property9><![CDATA[INFO]]></property9>
13
- <width><![CDATA[240]]></width>
14
- <height><![CDATA[90]]></height>
15
- <autoPlay>false</autoPlay>
16
- </properties>
17
  <property0><![CDATA[transparent]]></property0>
18
  <property1>0xffffff</property1>
19
  <property2>0x3383a7</property2>
20
  <property3>0xffffff</property3>
21
  <property4>0x143646</property4>
22
  <property5>0x77b3ce</property5>
23
  <property6>0x5e8ca1</property6>
24
  <property7>0xffffff</property7>
25
  <property8>0x000000</property8>
26
  <property9><![CDATA[INFO]]></property9>
27
  <width><![CDATA[240]]></width>
28
  <height><![CDATA[90]]></height>
29
  <autoPlay>false</autoPlay>
1
+ <?xml version="1.0" encoding="UTF-8"?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  <property0><![CDATA[transparent]]></property0>
3
  <property1>0xffffff</property1>
4
  <property2>0x3383a7</property2>
5
  <property3>0xffffff</property3>
6
  <property4>0x143646</property4>
7
  <property5>0x77b3ce</property5>
8
  <property6>0x5e8ca1</property6>
9
  <property7>0xffffff</property7>
10
  <property8>0x000000</property8>
11
  <property9><![CDATA[INFO]]></property9>
12
  <width><![CDATA[240]]></width>
13
  <height><![CDATA[90]]></height>
14
  <autoPlay>false</autoPlay>
skins/minima_jn/minima_jn.php CHANGED
@@ -2,11 +2,11 @@
2
 
3
  /*
4
  Skin Name: Minima
5
- Version: 1.3
6
  uid: minima
7
- Skin URI: http://photogallerycreator.com/grand-flagallery/
8
  Description:<strong>Compatible:</strong><li>HitCounter.</li><li>Alternate jQuery gallery for iPhone / iPad devices without flash player.</li><li>SEO optimized and support feed RSS2.</li><li>GRAND Pages - FullWindow Mode.</li><br />Details: bottom custom size thumbnails, unlimited categories, nice scrollbar.<br /><strong style="color: red;">Requirements - GRAND FlAGallery v2.0 or higher.</strong><br />
9
  Author: PGC
10
- Author URI: http://PhotoGalleryCreator.com
11
  */
12
  ?>
2
 
3
  /*
4
  Skin Name: Minima
5
+ Version: 1.4
6
  uid: minima
7
+ Skin URI:
8
  Description:<strong>Compatible:</strong><li>HitCounter.</li><li>Alternate jQuery gallery for iPhone / iPad devices without flash player.</li><li>SEO optimized and support feed RSS2.</li><li>GRAND Pages - FullWindow Mode.</li><br />Details: bottom custom size thumbnails, unlimited categories, nice scrollbar.<br /><strong style="color: red;">Requirements - GRAND FlAGallery v2.0 or higher.</strong><br />
9
  Author: PGC
10
+ Author URI: http://mypgc.co
11
  */
12
  ?>
skins/minima_jn/settings/settings.xml CHANGED
@@ -1,5 +1,5 @@
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <panel title="Minima 1.3">
3
  <item type="checkBox" name="autoSlideshow">
4
  <title><![CDATA[AutoSlideshow]]></title>
5
  <description><![CDATA[]]></description>
@@ -149,6 +149,11 @@
149
  <showTextField>true</showTextField>
150
  <selectedColor>0x000000</selectedColor>
151
  </item>
 
 
 
 
 
152
  <properties>
153
  <property0><![CDATA[opaque]]></property0>
154
  <swfmousewheel>false</swfmousewheel>
@@ -175,6 +180,7 @@
175
  <linkColor>0xffffff</linkColor>
176
  <descriptionFontSize>12</descriptionFontSize>
177
  <counterStatus>true</counterStatus>
 
178
  </properties>
179
 
180
  </panel>
1
  <?xml version="1.0" encoding="UTF-8"?>
2
+ <panel title="Minima 1.4">
3
  <item type="checkBox" name="autoSlideshow">
4
  <title><![CDATA[AutoSlideshow]]></title>
5
  <description><![CDATA[]]></description>
149
  <showTextField>true</showTextField>
150
  <selectedColor>0x000000</selectedColor>
151
  </item>
152
+ <item type="checkBox" name="showAlternate">
153
+ <title><![CDATA[Show Alternative JS Gallery instead of Flash]]></title>
154
+ <description><![CDATA[This option is just if you want to see how the gallery looks on browsers without flash support]]></description>
155
+ <selected>false</selected>
156
+ </item>
157
  <properties>
158
  <property0><![CDATA[opaque]]></property0>
159
  <swfmousewheel>false</swfmousewheel>
180
  <linkColor>0xffffff</linkColor>
181
  <descriptionFontSize>12</descriptionFontSize>
182
  <counterStatus>true</counterStatus>
183
+ <showAlternate>false</showAlternate>
184
  </properties>
185
 
186
  </panel>
skins/music_default/gallery.php CHANGED
@@ -1,9 +1,11 @@
1
  <?php // Create XML output
2
- header("content-type:text/xml;charset=utf-8");
3
  preg_match('|^(.*?/)(wp-content)/|i', str_replace('\\', '/', __FILE__), $_m);
4
  require_once( $_m[1] . 'wp-load.php');
5
  $flag_options = get_option ('flag_options');
6
- $file = $_GET['playlist'];
 
 
 
7
  $isWidget = isset($_GET['widget'])? $_GET['widget'] : false;
8
  $playlistPath = $_m[1].$flag_options['galleryPath'].'playlists/'.$file.'.xml';
9
  if(file_exists($playlistPath)) {
@@ -38,8 +40,8 @@ if(file_exists($playlistPath)) {
38
  if($isWidget){
39
  $newXML = preg_replace("|<properties>.*?<category|si", $properties, $newXML);
40
  }
 
41
  echo $newXML;
42
  } else {
43
- echo 'no such file or directory';
44
  }
45
- ?>
1
  <?php // Create XML output
 
2
  preg_match('|^(.*?/)(wp-content)/|i', str_replace('\\', '/', __FILE__), $_m);
3
  require_once( $_m[1] . 'wp-load.php');
4
  $flag_options = get_option ('flag_options');
5
+ if(!isset($_GET['playlist'])){
6
+ die;
7
+ }
8
+ $file = basename($_GET['playlist']);
9
  $isWidget = isset($_GET['widget'])? $_GET['widget'] : false;
10
  $playlistPath = $_m[1].$flag_options['galleryPath'].'playlists/'.$file.'.xml';
11
  if(file_exists($playlistPath)) {
40
  if($isWidget){
41
  $newXML = preg_replace("|<properties>.*?<category|si", $properties, $newXML);
42
  }
43
+ header("content-type:text/xml;charset=utf-8");
44
  echo $newXML;
45
  } else {
46
+ die;
47
  }
 
skins/music_default/music_default.php CHANGED
@@ -4,8 +4,8 @@ mSkin Name: Default Player
4
  Skin URI:
5
  Description:
6
  Author: PGC
7
- Author URI: http://PhotoGalleryCreator.com
8
- Version: 1.5
9
  */
10
 
11
  function flagShowSkin_music_default($args) {
4
  Skin URI:
5
  Description:
6
  Author: PGC
7
+ Author URI: http://mypgc.co
8
+ Version: 1.6
9
  */
10
 
11
  function flagShowSkin_music_default($args) {
skins/music_default/settings/settings.xml CHANGED
@@ -1,15 +1 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <property0><![CDATA[opaque]]></property0>
3
- <property1>0xffffff</property1>
4
- <property2>0x3383a7</property2>
5
- <property3>0xffffff</property3>
6
- <property4>0x143646</property4>
7
- <property5>0x77b3ce</property5>
8
- <property6>0x5e8ca1</property6>
9
- <property7>0xffffff</property7>
10
- <property8>0x000000</property8>
11
- <property9><![CDATA[INFO]]></property9>
12
- <width><![CDATA[400]]></width>
13
- <height><![CDATA[144]]></height>
14
- <autoPlay>false</autoPlay>
15
- </properties>
16
  <property0><![CDATA[opaque]]></property0>
17
  <property1>0xffffff</property1>
18
  <property2>0x3383a7</property2>
19
  <property3>0xffffff</property3>
20
  <property4>0x143646</property4>
21
  <property5>0x77b3ce</property5>
22
  <property6>0x5e8ca1</property6>
23
  <property7>0xffffff</property7>
24
  <property8>0x000000</property8>
25
  <property9><![CDATA[INFO]]></property9>
26
  <width><![CDATA[400]]></width>
27
  <height><![CDATA[144]]></height>
28
  <autoPlay>false</autoPlay>
1
+ <?xml version="1.0" encoding="UTF-8"?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  <property0><![CDATA[opaque]]></property0>
3
  <property1>0xffffff</property1>
4
  <property2>0x3383a7</property2>
5
  <property3>0xffffff</property3>
6
  <property4>0x143646</property4>
7
  <property5>0x77b3ce</property5>
8
  <property6>0x5e8ca1</property6>
9
  <property7>0xffffff</property7>
10
  <property8>0x000000</property8>
11
  <property9><![CDATA[INFO]]></property9>
12
  <width><![CDATA[400]]></width>
13
  <height><![CDATA[144]]></height>
14
  <autoPlay>false</autoPlay>
skins/{banner_default → rotator_default}/index.php RENAMED
File without changes
skins/{banner_default → rotator_default}/license.txt RENAMED
File without changes
skins/{banner_default/banner_default.php → rotator_default/rotator_default.php} RENAMED
@@ -4,8 +4,8 @@ bSkin Name: Default Banner Player
4
  Skin URI:
5
  Description: New version! Responsive layout. Themes available.
6
  Author: PGC
7
- Author URI: http://PhotoGalleryCreator.com
8
- Version: 2.2
9
  */
10
 
11
  function flagShowSkin_banner_default($args) {
4
  Skin URI:
5
  Description: New version! Responsive layout. Themes available.
6
  Author: PGC
7
+ Author URI: http://mypgc.co
8
+ Version: 2.3
9
  */
10
 
11
  function flagShowSkin_banner_default($args) {
skins/{banner_default → rotator_default}/screenshot.png RENAMED
File without changes
skins/{banner_default → rotator_default}/settings/settings.xml RENAMED
@@ -1,5 +1,5 @@
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <panel title="Banner Box Skin 2.2">
3
  <item type="comboBox" name="theme">
4
  <title><![CDATA[Choose theme]]></title>
5
  <data>
1
  <?xml version="1.0" encoding="UTF-8"?>
2
+ <panel title="Banner Box Skin 2.3">
3
  <item type="comboBox" name="theme">
4
  <title><![CDATA[Choose theme]]></title>
5
  <data>
skins/{banner_widget_default → rotator_widget_default}/gallery.php RENAMED
@@ -1,9 +1,11 @@
1
  <?php // Create XML output
2
- header("content-type:text/xml;charset=utf-8");
3
  preg_match('|^(.*?/)(wp-content)/|i', str_replace('\\', '/', __FILE__), $_m);
4
  require_once( $_m[1] . 'wp-load.php');
5
  $flag_options = get_option ('flag_options');
6
- $file = $_GET['playlist'];
 
 
 
7
  $playlistPath = $_m[1].$flag_options['galleryPath'].'playlists/banner/'.$file.'.xml';
8
  if(file_exists($playlistPath)) {
9
  require_once( FLAG_ABSPATH.'admin/banner.functions.php');
@@ -37,8 +39,8 @@ if(file_exists($playlistPath)) {
37
  }
38
  $newXML = preg_replace("|<items>.*?</items>|si", $content, $xml);
39
  $newXML = preg_replace("|<properties>.*?<category|si", $properties, $newXML);
 
40
  echo $newXML;
41
  } else {
42
- echo 'no such file or directory:'.$playlistPath;
43
  }
44
- ?>
1
  <?php // Create XML output
 
2
  preg_match('|^(.*?/)(wp-content)/|i', str_replace('\\', '/', __FILE__), $_m);
3
  require_once( $_m[1] . 'wp-load.php');
4
  $flag_options = get_option ('flag_options');
5
+ if(!isset($_GET['playlist'])){
6
+ die;
7
+ }
8
+ $file = basename($_GET['playlist']);
9
  $playlistPath = $_m[1].$flag_options['galleryPath'].'playlists/banner/'.$file.'.xml';
10
  if(file_exists($playlistPath)) {
11
  require_once( FLAG_ABSPATH.'admin/banner.functions.php');
39
  }
40
  $newXML = preg_replace("|<items>.*?</items>|si", $content, $xml);
41
  $newXML = preg_replace("|<properties>.*?<category|si", $properties, $newXML);
42
+ header("content-type:text/xml;charset=utf-8");
43
  echo $newXML;
44
  } else {
45
+ die;
46
  }
 
skins/{banner_widget_default → rotator_widget_default}/gallery.swf RENAMED
File without changes
skins/{banner_widget_default → rotator_widget_default}/index.php RENAMED
File without changes
skins/{banner_widget_default → rotator_widget_default}/jgallery.php RENAMED
File without changes
skins/{banner_widget_default → rotator_widget_default}/jquery.cycle.lite.js RENAMED
File without changes
skins/{banner_widget_default → rotator_widget_default}/license.txt RENAMED
File without changes
skins/{banner_widget_default/banner_widget_default.php → rotator_widget_default/rotator_widget_default.php} RENAMED
@@ -4,8 +4,8 @@ wSkin Name: Banner Rotator Widget Default
4
  Skin URI:
5
  Description:
6
  Author: PGC
7
- Author URI: http://PhotoGalleryCreator.com
8
- Version: 1.3
9
  */
10
 
11
  function flagShowSkin_banner_widget_default($args) {
@@ -53,7 +53,7 @@ function flagShowSkin_banner_widget_default($args) {
53
  $swfobject->add_flashvars( 'skinID', $skinID );
54
  $swfobject->add_flashvars('playlist', $xml);
55
  // create the output
56
- $out = '<div class="grandbanner '.$wmode.'">' . $swfobject->output($alternate) . '</div>';
57
  // add now the script code
58
  $out .= "\n".'<script type="text/javascript" src="'.$js.'"></script>';
59
  $out .= "\n".'<script type="text/javascript" defer="defer">';
@@ -66,4 +66,3 @@ function flagShowSkin_banner_widget_default($args) {
66
  }
67
  remove_all_filters( 'flagShowWidgetBannerSkin' );
68
  add_filter( 'flagShowWidgetBannerSkin', 'flagShowSkin_banner_widget_default' );
69
- ?>
4
  Skin URI:
5
  Description:
6
  Author: PGC
7
+ Author URI: http://mypgc.co
8
+ Version: 1.4
9
  */
10
 
11
  function flagShowSkin_banner_widget_default($args) {
53
  $swfobject->add_flashvars( 'skinID', $skinID );
54
  $swfobject->add_flashvars('playlist', $xml);
55
  // create the output
56
+ $out = '<div class="grandrotator noLightbox '.$wmode.'">' . $swfobject->output($alternate) . '</div>';
57
  // add now the script code
58
  $out .= "\n".'<script type="text/javascript" src="'.$js.'"></script>';
59
  $out .= "\n".'<script type="text/javascript" defer="defer">';
66
  }
67
  remove_all_filters( 'flagShowWidgetBannerSkin' );
68
  add_filter( 'flagShowWidgetBannerSkin', 'flagShowSkin_banner_widget_default' );
 
skins/{banner_widget_default → rotator_widget_default}/screenshot.png RENAMED
File without changes
skins/rotator_widget_default/settings/settings.xml ADDED
@@ -0,0 +1 @@
 
0
  <property0><![CDATA[opaque]]></property0>
1
  <swfmousewheel>false</swfmousewheel>
2
  <property1>0x000000</property1>
3
  <itemsBg>0x242424</itemsBg>
4
  <width><![CDATA[100%]]></width>
5
  <height><![CDATA[350]]></height>
6
  <itemsWidth><![CDATA[450]]></itemsWidth>
7
  <itemsHeight><![CDATA[270]]></itemsHeight>
8
  <orientation><![CDATA[horisontal]]></orientation>
9
  <cameraPan>false</cameraPan>
10
  <cameraAngLock>0</cameraAngLock>
11
  <button3dMode><![CDATA[false]]></button3dMode>
12
  <imgZoom><![CDATA[FILL]]></imgZoom>
13
  <autoPlay>true</autoPlay>
14
  <slideshowDelay>10</slideshowDelay>
15
  <botDescroptionPart>false</botDescroptionPart>
16
  <readMoreText><![CDATA[Read More]]></readMoreText>
17
  <dsBoxHeight>40</dsBoxHeight>
18
  <dsBoxColor>0x000000</dsBoxColor>
19
  <dsBoxBgAlpha>85</dsBoxBgAlpha>
20
  <titleColor>0xff0000</titleColor>
21
  <linkColor>0xff0000</linkColor>
22
  <linkWindow>true</linkWindow>
23
  <dsBoxTextColor>0xffffff</dsBoxTextColor>
24
  <mpButtoColor1>0xffffff</mpButtoColor1>
25
  <mpButtoColor2>0xff0000</mpButtoColor2>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
  <property0><![CDATA[opaque]]></property0>
3
  <swfmousewheel>false</swfmousewheel>
4
  <property1>0x000000</property1>
5
  <itemsBg>0x242424</itemsBg>
6
  <width><![CDATA[100%]]></width>
7
  <height><![CDATA[350]]></height>
8
  <itemsWidth><![CDATA[450]]></itemsWidth>
9
  <itemsHeight><![CDATA[270]]></itemsHeight>
10
  <orientation><![CDATA[horisontal]]></orientation>
11
  <cameraPan>false</cameraPan>
12
  <cameraAngLock>0</cameraAngLock>
13
  <button3dMode><![CDATA[false]]></button3dMode>
14
  <imgZoom><![CDATA[FILL]]></imgZoom>
15
  <autoPlay>true</autoPlay>
16
  <slideshowDelay>10</slideshowDelay>
17
  <botDescroptionPart>false</botDescroptionPart>
18
  <readMoreText><![CDATA[Read More]]></readMoreText>
19
  <dsBoxHeight>40</dsBoxHeight>
20
  <dsBoxColor>0x000000</dsBoxColor>
21
  <dsBoxBgAlpha>85</dsBoxBgAlpha>
22
  <titleColor>0xff0000</titleColor>
23
  <linkColor>0xff0000</linkColor>
24
  <linkWindow>true</linkWindow>
25
  <dsBoxTextColor>0xffffff</dsBoxTextColor>
26
  <mpButtoColor1>0xffffff</mpButtoColor1>
27
  <mpButtoColor2>0xff0000</mpButtoColor2>
skins/video_default/gallery.php CHANGED
@@ -1,9 +1,11 @@
1
  <?php // Create XML output
2
- header("content-type:text/xml;charset=utf-8");
3
  preg_match('|^(.*?/)(wp-content)/|i', str_replace('\\', '/', __FILE__), $_m);
4
  require_once( $_m[1] . 'wp-load.php');
5
  $flag_options = get_option ('flag_options');
6
- $file = $_GET['playlist'];
 
 
 
7
  $playlistPath = $_m[1].$flag_options['galleryPath'].'playlists/video/'.$file.'.xml';
8
  if(file_exists($playlistPath)) {
9
  require_once( FLAG_ABSPATH.'admin/video.functions.php');
@@ -29,8 +31,8 @@ if(file_exists($playlistPath)) {
29
  }
30
  $xml = file_get_contents($playlistPath);
31
  $newXML = preg_replace("|<items>.*?</items>|si", $content, $xml);
 
32
  echo $newXML;
33
  } else {
34
- echo 'no such file or directory';
35
  }
36
- ?>
1
  <?php // Create XML output
 
2
  preg_match('|^(.*?/)(wp-content)/|i', str_replace('\\', '/', __FILE__), $_m);
3
  require_once( $_m[1] . 'wp-load.php');
4
  $flag_options = get_option ('flag_options');
5
+ if(!isset($_GET['playlist'])){
6
+ die;
7
+ }
8
+ $file = basename($_GET['playlist']);
9
  $playlistPath = $_m[1].$flag_options['galleryPath'].'playlists/video/'.$file.'.xml';
10
  if(file_exists($playlistPath)) {
11
  require_once( FLAG_ABSPATH.'admin/video.functions.php');
31
  }
32
  $xml = file_get_contents($playlistPath);
33
  $newXML = preg_replace("|<items>.*?</items>|si", $content, $xml);
34
+ header("content-type:text/xml;charset=utf-8");
35
  echo $newXML;
36
  } else {
37
+ die;
38
  }
 
skins/video_default/settings/settings.xml CHANGED
@@ -1,29 +1 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <item type="checkBox" name="swfmousewheel">
3
- <title><![CDATA[SWF Mouse Wheel]]></title>
4
- <description><![CDATA[Turn On/Off mouse wheel detection over Gallery.]]></description>
5
- <selected>false</selected>
6
- </item>
7
- <item type="colorPicker" name="titleColor">
8
- <item type="colorPicker" name="linkColor">
9
- <item type="colorPicker" name="ggDsTextColor">
10
- <item type="colorPicker" name="ggButtoColor1">
11
- <item type="colorPicker" name="ggButtoColor2">
12
- <item type="colorPicker" name="vmBgColor">
13
- <item type="colorPicker" name="vmButtoColor1">
14
- <item type="colorPicker" name="vmButtoColor2">
15
- <properties>
16
- <property0><![CDATA[opaque]]></property0>
17
- <swfmousewheel>false</swfmousewheel>
18
- <property1>0xffffff</property1>
19
- <width><![CDATA[100%]]></width>
20
- <height><![CDATA[400]]></height>
21
- <titleColor>0xff0000</titleColor>
22
- <linkColor>0xff0000</linkColor>
23
- <ggDsTextColor>0x212121</ggDsTextColor>
24
- <ggButtoColor1>0xc1c1c1</ggButtoColor1>
25
- <ggButtoColor2>0xff0000</ggButtoColor2>
26
- <vmBgColor>0x212121</vmBgColor>
27
- <vmButtoColor1>0xffffff</vmButtoColor1>
28
- <vmButtoColor2>0xff0000</vmButtoColor2>
29
- </properties>
30
  <property0><![CDATA[opaque]]></property0>
31
  <swfmousewheel>false</swfmousewheel>
32
  <property1>0xffffff</property1>
33
  <width><![CDATA[100%]]></width>
34
  <height><![CDATA[400]]></height>
35
  <titleColor>0xff0000</titleColor>
36
  <linkColor>0xff0000</linkColor>
37
  <ggDsTextColor>0x212121</ggDsTextColor>
38
  <ggButtoColor1>0xc1c1c1</ggButtoColor1>
39
  <ggButtoColor2>0xff0000</ggButtoColor2>
40
  <vmBgColor>0x212121</vmBgColor>
41
  <vmButtoColor1>0xffffff</vmButtoColor1>
42
  <vmButtoColor2>0xff0000</vmButtoColor2>
1
+ <?xml version="1.0" encoding="UTF-8"?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  <property0><![CDATA[opaque]]></property0>
3
  <swfmousewheel>false</swfmousewheel>
4
  <property1>0xffffff</property1>
5
  <width><![CDATA[100%]]></width>
6
  <height><![CDATA[400]]></height>
7
  <titleColor>0xff0000</titleColor>
8
  <linkColor>0xff0000</linkColor>
9
  <ggDsTextColor>0x212121</ggDsTextColor>
10
  <ggButtoColor1>0xc1c1c1</ggButtoColor1>
11
  <ggButtoColor2>0xff0000</ggButtoColor2>
12
  <vmBgColor>0x212121</vmBgColor>
13
  <vmButtoColor1>0xffffff</vmButtoColor1>
14
  <vmButtoColor2>0xff0000</vmButtoColor2>
skins/video_default/video_default.php CHANGED
@@ -4,8 +4,8 @@ vSkin Name: Default Mini VideoBlog
4
  Skin URI:
5
  Description:
6
  Author: PGC
7
- Author URI: http://PhotoGalleryCreator.com
8
- Version: 1.3
9
  */
10
 
11
  function flagShowSkin_video_default($args) {
4
  Skin URI:
5
  Description:
6
  Author: PGC
7
+ Author URI: http://mypgc.co
8
+ Version: 1.4
9
  */
10
 
11
  function flagShowSkin_video_default($args) {
widgets/widgets.php CHANGED
@@ -193,7 +193,7 @@ class flagBannerWidget extends WP_Widget {
193
  require_once (dirname( dirname(__FILE__) ) . '/admin/banner.functions.php');
194
 
195
  //Defaults
196
- $instance = wp_parse_args( (array) $instance, array( 'title' => 'Banner', 'xml' => '', 'width' => '100%', 'height' => '200', 'skin' => 'banner_widget_default') );
197
  $title = esc_html( $instance['title'] );
198
  $width = esc_attr( $instance['width'] );
199
  $height = esc_attr( $instance['height'] );
@@ -239,7 +239,7 @@ class flagBannerWidget extends WP_Widget {
239
  // register it
240
  add_action('widgets_init', create_function('', 'return register_widget("flagBannerWidget");'));
241
 
242
- function flagBannerWidget($xml, $w = '100%', $h = '200', $skin = 'banner_widget_default') {
243
 
244
  echo flagBannerWidget::render_slideshow($xml, $w, $h, $skin);
245
 
@@ -436,7 +436,7 @@ class flagWidget extends WP_Widget {
436
 
437
  echo '</div>'."\n";
438
  echo '<style type="text/css">.flag_fancybox img, .flag_newbox img { border: 1px solid #A9A9A9; margin: 0 2px 2px 0; padding: 1px; }</style>'."\n";
439
- echo '<script type="text/javascript">var fbVar = "'.plugins_url('/', dirname(__FILE__)).'"; var fbW = '.$instance['fwidth'].', fbH = '.$instance['fheight'].'; waitJQ(fbVar,fbW,fbH);</script>'."\n";
440
  echo $after_widget;
441
 
442
  }
@@ -584,7 +584,7 @@ class flagVideoWidget extends WP_Widget {
584
 
585
  echo '</div>'."\n";
586
  echo '<style type="text/css">.flag_fancyvid img { border: 1px solid #A9A9A9; margin: 0 2px 2px 0; padding: 1px; }</style>'."\n";
587
- echo '<script type="text/javascript">var fvVar = "'.plugins_url('/', dirname(__FILE__)).'"; var fvW = '.$instance['fwidth'].', fvH = '.$instance['fheight'].'; waitJQv(fvVar,fvW,fvH);</script>'."\n";
588
  echo $after_widget;
589
  }
590
 
193
  require_once (dirname( dirname(__FILE__) ) . '/admin/banner.functions.php');
194
 
195
  //Defaults
196
+ $instance = wp_parse_args( (array) $instance, array( 'title' => 'Banner', 'xml' => '', 'width' => '100%', 'height' => '200', 'skin' => 'rotator_widget_default') );
197
  $title = esc_html( $instance['title'] );
198
  $width = esc_attr( $instance['width'] );
199
  $height = esc_attr( $instance['height'] );
239
  // register it
240
  add_action('widgets_init', create_function('', 'return register_widget("flagBannerWidget");'));
241
 
242
+ function flagBannerWidget($xml, $w = '100%', $h = '200', $skin = 'rotator_widget_default') {
243
 
244
  echo flagBannerWidget::render_slideshow($xml, $w, $h, $skin);
245
 
436
 
437
  echo '</div>'."\n";
438
  echo '<style type="text/css">.flag_fancybox img, .flag_newbox img { border: 1px solid #A9A9A9; margin: 0 2px 2px 0; padding: 1px; }</style>'."\n";
439
+ echo '<script type="text/javascript" defer="defer">jQuery(function(){ var fbVar = "'.plugins_url('/', dirname(__FILE__)).'"; var fbW = '.$instance['fwidth'].', fbH = '.$instance['fheight'].'; waitJQ(fbVar,fbW,fbH); });</script>'."\n";
440
  echo $after_widget;
441
 
442
  }
584
 
585
  echo '</div>'."\n";
586
  echo '<style type="text/css">.flag_fancyvid img { border: 1px solid #A9A9A9; margin: 0 2px 2px 0; padding: 1px; }</style>'."\n";
587
+ echo '<script type="text/javascript" defer="defer">jQuery(function(){ var fvVar = "'.plugins_url('/', dirname(__FILE__)).'"; var fvW = '.$instance['fwidth'].', fvH = '.$instance['fheight'].'; waitJQv(fvVar,fvW,fvH); });</script>'."\n";
588
  echo $after_widget;
589
  }
590