Gallery – Flagallery Photo Portfolio - Version 3.20

Version Description

Download this release

Release Info

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

Code changes from version 3.12 to 3.20

Files changed (55) hide show
  1. admin/addgallery.php +180 -144
  2. admin/admin.php +9 -3
  3. admin/css/flagadmin.css +3 -2
  4. admin/css/flagallery.css +1 -0
  5. admin/facebook-tool.php +5 -5
  6. admin/flag_install.php +5 -2
  7. admin/functions.php +23 -11
  8. admin/jgallery.php +17 -6
  9. admin/js/photoswipe/photoswipe.css +1 -2
  10. admin/js/plupload/jquery.plupload.queue/css/jquery.plupload.queue.css +177 -0
  11. admin/js/plupload/jquery.plupload.queue/img/backgrounds.gif +0 -0
  12. admin/js/plupload/jquery.plupload.queue/img/buttons-disabled.png +0 -0
  13. admin/js/plupload/jquery.plupload.queue/img/buttons.png +0 -0
  14. admin/js/plupload/jquery.plupload.queue/img/delete.gif +0 -0
  15. admin/js/plupload/jquery.plupload.queue/img/done.gif +0 -0
  16. admin/js/plupload/jquery.plupload.queue/img/error.gif +0 -0
  17. admin/js/plupload/jquery.plupload.queue/img/throbber.gif +0 -0
  18. admin/js/plupload/jquery.plupload.queue/img/transp50.png +0 -0
  19. admin/js/plupload/jquery.plupload.queue/jquery.plupload.queue.js +1 -0
  20. admin/js/plupload/license.txt +339 -0
  21. admin/js/plupload/plupload.flash.js +1 -0
  22. admin/js/plupload/plupload.flash.swf +0 -0
  23. admin/js/plupload/plupload.html4.js +1 -0
  24. admin/js/plupload/plupload.html5.js +1 -0
  25. admin/js/plupload/plupload.js +2 -0
  26. admin/js/script.js +2 -2
  27. admin/js/swfupload.handler.js +0 -155
  28. admin/js/swfupload.js +0 -980
  29. admin/js/swfupload.swf +0 -0
  30. admin/manage-galleries.php +10 -6
  31. admin/manage-images.php +1 -1
  32. admin/meta_box.php +5 -3
  33. admin/overview.php +1 -1
  34. admin/settings.php +32 -14
  35. admin/skins.php +2 -1
  36. admin/tinymce/window.php +4 -2
  37. admin/tuning.php +6 -3
  38. admin/upload.php +3 -1
  39. facebook.php +4 -4
  40. flag.php +2 -2
  41. lang/flag-hu_HU.mo +0 -0
  42. lang/flag-hu_HU.po +2944 -0
  43. lib/app.php +3 -3
  44. lib/flag-db.php +8 -5
  45. lib/shortcodes.php +12 -7
  46. lib/sitemap.php +3 -2
  47. lib/swfobject.php +7 -6
  48. readme.txt +39 -12
  49. skins/banner_widget_default/banner_widget_default.php +2 -2
  50. skins/compact_music_player/compact_music_player.php +2 -2
  51. skins/minima_jn/minima_jn.php +1 -1
  52. skins/minima_jn/settings/settings.xml +3 -3
  53. skins/music_default/music_default.php +2 -2
  54. skins/video_default/video_default.php +2 -2
  55. widgets/widgets.php +36 -16
admin/addgallery.php CHANGED
@@ -14,12 +14,6 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
14
  // check for the max image size
15
  $maxsize = flagGallery::check_memory_limit();
16
 
17
- // link for the flash file
18
- $swf_upload_link = FLAG_URLPATH . 'admin/upload.php';
19
- $swf_upload_link = wp_nonce_url($swf_upload_link, 'flag_swfupload');
20
- //flash doesn't seem to like encoded ampersands, so convert them back here
21
- $swf_upload_link = str_replace('&', '&', $swf_upload_link);
22
-
23
  $defaultpath = $flag->options['galleryPath'];
24
 
25
  if ($_POST['addgallery']){
@@ -29,7 +23,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
29
  flagAdmin::create_gallery($newgallery, $defaultpath);
30
  }
31
  if ($_POST['uploadimage']){
32
- check_admin_referer('flag_addgallery');
33
  if ($_FILES['MF__F_0_0']['error'] == 0) {
34
  flagAdmin::upload_images();
35
  }
@@ -44,31 +38,20 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
44
  }
45
 
46
 
47
- if (isset($_POST['swf_callback'])){
48
- if ($_POST['galleryselect'] == "0" )
49
- flagGallery::show_error(__('No gallery selected !','flag'));
50
- else {
51
- // get the path to the gallery
52
- $galleryID = (int) $_POST['galleryselect'];
53
- $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->flaggallery WHERE gid = '$galleryID' ");
54
- flagAdmin::import_gallery($gallerypath);
55
- }
56
- }
57
-
58
  if ( isset($_POST['disable_flash']) ){
59
- check_admin_referer('flag_addgallery');
60
  $flag->options['swfUpload'] = false;
61
  update_option('flag_options', $flag->options);
62
  }
63
 
64
  if ( isset($_POST['enable_flash']) ){
65
- check_admin_referer('flag_addgallery');
66
  $flag->options['swfUpload'] = true;
67
  update_option('flag_options', $flag->options);
68
  }
69
 
70
  //get all galleries (after we added new ones)
71
- $gallerylist = $flagdb->find_all_galleries('gid', 'DESC');
72
 
73
  ?>
74
 
@@ -92,88 +75,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
92
  });
93
  /* ]]> */
94
  </script>
95
- <?php }
96
- if($flag->options['swfUpload']) { ?>
97
- <!-- SWFUpload script -->
98
- <script type="text/javascript">
99
- /* <![CDATA[ */
100
- var flag_swf_upload;
101
-
102
- window.onload = function () {
103
- flag_swf_upload = new SWFUpload({
104
- // Backend settings
105
- upload_url : "<?php echo $swf_upload_link; ?>",
106
- flash_url : "<?php echo FLAG_URLPATH; ?>admin/js/swfupload.swf",
107
-
108
- // Button Settings
109
- button_placeholder_id : "spanButtonPlaceholder",
110
- button_width: 300,
111
- button_height: 27,
112
- button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT,
113
- button_cursor: SWFUpload.CURSOR.HAND,
114
-
115
- // File Upload Settings
116
- file_size_limit : "<?php echo wp_max_upload_size(); ?>b",
117
- file_types : "*.jpg;*.gif;*.png",
118
- file_types_description : "<?php _e('Image Files', 'flag'); ?>",
119
-
120
- // Queue handler
121
- file_queued_handler : fileQueued,
122
-
123
- // Upload handler
124
- upload_start_handler : uploadStart,
125
- upload_progress_handler : uploadProgress,
126
- upload_error_handler : uploadError,
127
- upload_success_handler : uploadSuccess,
128
- upload_complete_handler : uploadComplete,
129
-
130
- post_params : {
131
- "auth_cookie" : "<?php echo (is_ssl() ? $_COOKIE[SECURE_AUTH_COOKIE] : $_COOKIE[AUTH_COOKIE]); ?>",
132
- "logged_in_cookie": "<?php echo $_COOKIE[LOGGED_IN_COOKIE]; ?>",
133
- "_wpnonce" : "<?php echo wp_create_nonce('flag_swfupload'); ?>",
134
- "galleryselect" : "0"
135
- },
136
-
137
- // i18names
138
- custom_settings : {
139
- "remove" : "<?php _e('remove', 'flag'); ?>",
140
- "browse" : "<?php _e('Browse...', 'flag'); ?>",
141
- "upload" : "<?php _e('Upload images', 'flag'); ?>"
142
- },
143
-
144
- // Debug settings
145
- debug: false
146
-
147
- });
148
-
149
- // on load change the upload to swfupload
150
- initSWFUpload();
151
-
152
- };
153
- /* ]]> */
154
- </script>
155
- <div class="wrap" id="progressbar-wrap" style="display:none;">
156
- <div class="progressborder">
157
- <div class="progressbar" id="progressbar">
158
- <span>0%</span>
159
- </div>
160
- </div>
161
- </div>
162
- <?php } else { ?>
163
- <!-- MultiFile script -->
164
- <script type="text/javascript">
165
- /* <![CDATA[ */
166
- jQuery(document).ready(function(){
167
- jQuery('#imagefiles').MultiFile({
168
- STRING: {
169
- remove:'<?php _e('remove', 'flag'); ?>'
170
- }
171
- });
172
- });
173
- /* ]]> */
174
- </script>
175
- <?php } ?>
176
-
177
  <div id="slider" class="wrap">
178
 
179
  <ul id="tabs" class="tabs">
@@ -209,9 +111,178 @@ if($flag->options['swfUpload']) { ?>
209
  <!-- upload images -->
210
  <div id="uploadimage" class="cptab">
211
  <h2><?php _e('Upload images', 'flag'); ?></h2>
212
- <script type="text/javascript">
213
- /* <![CDATA[ */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
214
  jQuery(document).ready(function(){
 
 
 
 
 
 
215
  if(jQuery("#galleryselect").val() == 0) {
216
  jQuery("#choosegalfirst").animate({opacity: "0.5"}, 600);
217
  jQuery("#choosegalfirst .disabledbut").show();
@@ -223,51 +294,16 @@ if($flag->options['swfUpload']) { ?>
223
  if(jQuery(this).val() == 0) {
224
  jQuery("#choosegalfirst .disabledbut").show();
225
  jQuery("#choosegalfirst").animate({opacity: "0.5"}, 600);
226
- } else {
227
  jQuery("#choosegalfirst .disabledbut").hide();
228
  jQuery("#choosegalfirst").animate({opacity: "1"}, 600);
229
  }
230
  });
231
  });
232
- /* ]]> */
233
  </script>
234
- <form name="uploadimage" id="uploadimage_form" method="POST" enctype="multipart/form-data" action="<?php echo $filepath; ?>" accept-charset="utf-8" >
235
- <?php wp_nonce_field('flag_addgallery'); ?>
236
- <table class="form-table">
237
- <tr valign="top">
238
- <th scope="row"><strong><?php _e('Upload image(s):', 'flag'); ?></strong></th>
239
- <td><span id='spanButtonPlaceholder'></span><input type="file" name="imagefiles[]" id="imagefiles" size="35" class="imagefiles"/></td>
240
- </tr>
241
- <tr valign="top">
242
- <td colspan="2"><label for="galleryselect"><?php _e('in to', 'flag'); ?></label>
243
- <select name="galleryselect" id="galleryselect">
244
- <option value="0" ><?php _e('Choose gallery', 'flag'); ?></option>
245
- <?php $ingallery = isset($_GET['gid']) ? (int) $_GET['gid'] : '';
246
- foreach($gallerylist as $gallery) {
247
- if ( !flagAdmin::can_manage_this_gallery($gallery->author) )
248
- continue;
249
- $name = ( empty($gallery->title) ) ? $gallery->name : esc_html(stripslashes($gallery->title));
250
- $sel = ($ingallery == $gallery->gid) ? 'selected="selected" ' : '';
251
- echo '<option ' . $sel . 'value="' . $gallery->gid . '" >' . $gallery->gid . ' - ' . $name . '</option>' . "\n";
252
- } ?>
253
- </select>
254
- <?php echo $maxsize; ?>
255
- <br /><?php if ((IS_WPMU) && flagGallery::flag_wpmu_enable_function('wpmuQuotaCheck')) display_space_usage(); ?>
256
- </td>
257
- </tr>
258
- </table>
259
- <div class="submit">
260
- <span class="useflashupload">
261
- <?php if ($flag->options['swfUpload']) { ?>
262
- <input type="submit" name="disable_flash" id="disable_flash" title="<?php _e('The batch upload requires Adobe Flash 10, disable it if you have problems','flag'); ?>" value="<?php _e('Disable flash upload', 'flag'); ?>" />
263
- <?php } else { ?>
264
- <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('Enable flash based upload', 'flag'); ?>" />
265
- <?php } ?>
266
- </span>
267
- <span id="choosegalfirst"><input class="button-primary" type="submit" name="uploadimage" id="uploadimage_btn" value="<?php _e('Upload images', 'flag'); ?>" /><span class="disabledbut" style="display: none;"></span></span>
268
- <div class="clear"></div>
269
- </div>
270
- </form>
271
  </div>
272
  <?php if( !IS_WPMU || current_user_can('FlAG Import folder') ) { ?>
273
  <!-- import folder -->
14
  // check for the max image size
15
  $maxsize = flagGallery::check_memory_limit();
16
 
 
 
 
 
 
 
17
  $defaultpath = $flag->options['galleryPath'];
18
 
19
  if ($_POST['addgallery']){
23
  flagAdmin::create_gallery($newgallery, $defaultpath);
24
  }
25
  if ($_POST['uploadimage']){
26
+ check_admin_referer('flag_upload');
27
  if ($_FILES['MF__F_0_0']['error'] == 0) {
28
  flagAdmin::upload_images();
29
  }
38
  }
39
 
40
 
 
 
 
 
 
 
 
 
 
 
 
41
  if ( isset($_POST['disable_flash']) ){
42
+ check_admin_referer('flag_upload');
43
  $flag->options['swfUpload'] = false;
44
  update_option('flag_options', $flag->options);
45
  }
46
 
47
  if ( isset($_POST['enable_flash']) ){
48
+ check_admin_referer('flag_upload');
49
  $flag->options['swfUpload'] = true;
50
  update_option('flag_options', $flag->options);
51
  }
52
 
53
  //get all galleries (after we added new ones)
54
+ $gallerylist = $flagdb->find_all_galleries($flag->options['albSort'], $flag->options['albSortDir']);
55
 
56
  ?>
57
 
75
  });
76
  /* ]]> */
77
  </script>
78
+ <?php } ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
  <div id="slider" class="wrap">
80
 
81
  <ul id="tabs" class="tabs">
111
  <!-- upload images -->
112
  <div id="uploadimage" class="cptab">
113
  <h2><?php _e('Upload images', 'flag'); ?></h2>
114
+ <form name="uploadimage" id="gmUpload" method="POST" enctype="multipart/form-data" action="<?php echo $filepath; ?>" accept-charset="utf-8" >
115
+ <?php wp_nonce_field('flag_upload'); ?>
116
+ <table class="form-table">
117
+ <tr valign="top">
118
+ <td style="width: 216px;"><label for="galleryselect"><?php _e('in to', 'flag'); ?></label>
119
+ <select name="galleryselect" id="galleryselect" style="width: 200px">
120
+ <option value="0" ><?php _e('Choose gallery', 'flag'); ?></option>
121
+ <?php $ingallery = isset($_GET['gid']) ? (int) $_GET['gid'] : '';
122
+ foreach($gallerylist as $gallery) {
123
+ if ( !flagAdmin::can_manage_this_gallery($gallery->author) )
124
+ continue;
125
+ $name = ( empty($gallery->title) ) ? $gallery->name : esc_html(stripslashes($gallery->title));
126
+ if($flag->options['albSort'] == 'gid'){ $name = $gallery->gid.' - '.$name; }
127
+ if($flag->options['albSort'] == 'title'){ $name = $name.' ('.$gallery->gid.')'; }
128
+ $sel = ($ingallery == $gallery->gid) ? 'selected="selected" ' : '';
129
+ echo '<option ' . $sel . 'value="' . $gallery->gid . '" >' . $name . '</option>' . "\n";
130
+ } ?>
131
+ </select>
132
+ <?php echo $maxsize; ?>
133
+ <br /><?php if ((IS_WPMU) && flagGallery::flag_wpmu_enable_function('wpmuQuotaCheck')) display_space_usage(); ?>
134
+
135
+ <div class="submit">
136
+ <span class="useflashupload">
137
+ <?php if ($flag->options['swfUpload']) { ?>
138
+ <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'); ?>" />
139
+ <?php } else { ?>
140
+ <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'); ?>" />
141
+ <?php } ?>
142
+ </span>
143
+ <div class="clear"></div>
144
+ </div>
145
+
146
+ </td>
147
+
148
+ <td><div id="pluploadUploader">
149
+ <?php if (!$flag->options['swfUpload']) { ?>
150
+ <strong><?php _e('Upload image(s):', 'flag'); ?></strong><br>
151
+ <input type="file" name="imagefiles[]" id="imagefiles" size="35" class="imagefiles"/></div>
152
+ <span id="choosegalfirst">
153
+ <input class="button-primary" type="submit" name="uploadimage" id="uploadimage_btn" value="<?php _e('Upload images', 'flag'); ?>" />
154
+ <span class="disabledbut" style="display: none;"></span>
155
+ </span>
156
+ <?php } ?>
157
+ </td>
158
+ </tr>
159
+ </table>
160
+ <div id="pl-message"></div>
161
+ </form>
162
+ <?php if($flag->options['swfUpload']) { ?>
163
+ <script type="text/javascript">
164
+ // Convert divs to queue widgets when the DOM is ready
165
+ jQuery(function () {
166
+ var files_remaining = 0;
167
+ jQuery("#pluploadUploader").pluploadQueue({
168
+ // General settings
169
+ runtimes : 'flash,html5,html4',
170
+ url : '<?php echo str_replace( '&#038;', '&', wp_nonce_url( plugins_url( FLAGFOLDER. '/admin/upload.php' ), 'flag_upload' ) ); ?>',
171
+ multipart : true,
172
+ multipart_params : { postData: ''},
173
+ max_file_size : '<?php echo min((floor( wp_max_upload_size() * 0.99 / 1024 / 1024 ) - 1), 8); ?>Mb',
174
+ unique_names : false,
175
+ rename : true,
176
+ urlstream_upload : true,
177
+
178
+ // Resize images on clientside if we can
179
+ //resize : {width : 150, height : 150, quality : 90},
180
+
181
+ // Specify what files to browse for
182
+ filters : [{title: "Images", extensions: "jpg,gif,png"}],
183
+
184
+ // Flash settings
185
+ flash_swf_url : '<?php echo plugins_url( FLAGFOLDER. '/admin/js/plupload/plupload.flash.swf'); ?>',
186
+
187
+ // PreInit events, bound before any internal events
188
+ preinit : {
189
+ Init: function(up, info) {
190
+ console.log('[Init]', 'Info:', info, 'Features:', up.features);
191
+ },
192
+
193
+ UploadFile: function(up, file) {
194
+ console.log('[UploadFile]', file);
195
+ up.settings.multipart_params = { galleryselect: jQuery('#galleryselect').val(), last: files_remaining };
196
+ files_remaining--;
197
+ // You can override settings before the file is uploaded
198
+ // up.settings.url = 'upload.php?id=' + file.id;
199
+ // up.settings.multipart_params = {param1 : 'value1', param2 : 'value2'};
200
+ }
201
+ },
202
+
203
+ // Post init events, bound after the internal events
204
+ init : {
205
+ Refresh: function(up) {
206
+ // Called when upload shim is moved
207
+ console.log('[Refresh]');
208
+ files_remaining = up.files.length;
209
+ if(jQuery("#galleryselect").val() == 0) {
210
+ jQuery(".plupload_start").addClass("plupload_disabled");
211
+ }
212
+ },
213
+
214
+ StateChanged: function(up) {
215
+ // Called when the state of the queue is changed
216
+ console.log('[StateChanged]', up.state == plupload.STARTED ? "STARTED" : "STOPPED");
217
+ },
218
+
219
+ QueueChanged: function(up) {
220
+ // Called when the files in queue are changed by adding/removing files
221
+ console.log('[QueueChanged]');
222
+ },
223
+
224
+ UploadProgress: function(up, file) {
225
+ // Called while a file is being uploaded
226
+ console.log('[UploadProgress]', 'File:', file, "Total:", up.total);
227
+ },
228
+
229
+ FileUploaded: function(up, file, info) {
230
+ // Called when a file has finished uploading
231
+ console.log('[FileUploaded] File:', file, "Info:", info);
232
+ if (info.response){
233
+ file.status = plupload.FAILED;
234
+ jQuery('<div/>').addClass('error').html('<span><u><em>'+file.name+':</em></u> '+info.response+'</span>').appendTo('#pl-message');
235
+ }
236
+ },
237
+
238
+ Error: function(up, args) {
239
+ // Called when a error has occured
240
+ jQuery('<div/>').addClass('error').html('<span><u><em>'+args.file.name+':</em></u> '+args.message+' '+args.status+'</span>').appendTo('#pl-message');
241
+ console.log('[error] ', args);
242
+ },
243
+
244
+ UploadComplete: function(up, file) {
245
+ console.log('[UploadComplete]');
246
+ jQuery(".plupload_buttons").css("display", "inline");
247
+ jQuery(".plupload_upload_status").css("display", "inline");
248
+ jQuery(".plupload_start").addClass("plupload_disabled");
249
+ jQuery("#gmUpload").one("mousedown", ".plupload_add", function () {
250
+ up.splice();
251
+ up.trigger('Refresh');
252
+ //up.refresh();
253
+ });
254
+ 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');
255
+ }
256
+ }
257
+ });
258
+ jQuery("#gmUpload").on('click','.plupload_disabled',function(){
259
+ if(files_remaining){
260
+ alert("Choose gallery, please.")
261
+ }
262
+ });
263
+ jQuery("#galleryselect").change(function () {
264
+ if(jQuery(this).val() == 0) {
265
+ jQuery(".plupload_start").addClass('plupload_disabled');
266
+ } else {
267
+ if(files_remaining){
268
+ jQuery(".plupload_start").removeClass('plupload_disabled');
269
+ }
270
+ }
271
+ });
272
+
273
+ });
274
+ </script>
275
+ <?php } else { ?>
276
+ <!-- MultiFile script -->
277
+ <script type="text/javascript">
278
+ /* <![CDATA[ */
279
  jQuery(document).ready(function(){
280
+ jQuery('#imagefiles').MultiFile({
281
+ STRING: {
282
+ remove:'<?php _e('remove', 'flag'); ?>'
283
+ }
284
+ });
285
+
286
  if(jQuery("#galleryselect").val() == 0) {
287
  jQuery("#choosegalfirst").animate({opacity: "0.5"}, 600);
288
  jQuery("#choosegalfirst .disabledbut").show();
294
  if(jQuery(this).val() == 0) {
295
  jQuery("#choosegalfirst .disabledbut").show();
296
  jQuery("#choosegalfirst").animate({opacity: "0.5"}, 600);
297
+ } else {
298
  jQuery("#choosegalfirst .disabledbut").hide();
299
  jQuery("#choosegalfirst").animate({opacity: "1"}, 600);
300
  }
301
  });
302
  });
303
+ /* ]]> */
304
  </script>
305
+
306
+ <?php } ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
307
  </div>
308
  <?php if( !IS_WPMU || current_user_can('FlAG Import folder') ) { ?>
309
  <!-- import folder -->
admin/admin.php CHANGED
@@ -135,8 +135,7 @@ class flagAdminPanel{
135
  'failure' => __('A failure occurred', 'flag')
136
  ) );
137
  wp_register_script('flag-progressbar', FLAG_URLPATH .'admin/js/flag.progressbar.js', array('jquery'), '1.0.0');
138
- wp_register_script('swfupload_f10', FLAG_URLPATH .'admin/js/swfupload.js', array('jquery'), '2.2.0');
139
-
140
  if (isset($_GET['page'])) {
141
  switch ($_GET['page']) {
142
  case 'flag-overview' :
@@ -147,7 +146,13 @@ class flagAdminPanel{
147
  wp_enqueue_script( 'jquery-ui-draggable' );
148
  wp_enqueue_script( 'jquery-ui-droppable' );
149
  wp_enqueue_script( 'multifile', FLAG_URLPATH .'admin/js/jquery.MultiFile.js', array('jquery'), '1.4.6' );
150
- wp_enqueue_script( 'flag-swfupload-handler', FLAG_URLPATH .'admin/js/swfupload.handler.js', array('swfupload_f10'), '2.2.0' );
 
 
 
 
 
 
151
  wp_enqueue_script('dataset', FLAG_URLPATH .'admin/js/jquery.dataset.js', array('jquery'), '0.1.0');
152
  wp_enqueue_script( 'postbox' );
153
  wp_enqueue_script( 'flag-ajax' );
@@ -190,6 +195,7 @@ class flagAdminPanel{
190
  case "flag-options" :
191
  wp_enqueue_style( 'farbtastic' );
192
  case "flag-manage-gallery" :
 
193
  wp_enqueue_style( 'flagtabs', FLAG_URLPATH .'admin/css/tabs.css', false, '1.0.0', 'screen' );
194
  case "flag-music-box" :
195
  case "flag-video-box" :
135
  'failure' => __('A failure occurred', 'flag')
136
  ) );
137
  wp_register_script('flag-progressbar', FLAG_URLPATH .'admin/js/flag.progressbar.js', array('jquery'), '1.0.0');
138
+
 
139
  if (isset($_GET['page'])) {
140
  switch ($_GET['page']) {
141
  case 'flag-overview' :
146
  wp_enqueue_script( 'jquery-ui-draggable' );
147
  wp_enqueue_script( 'jquery-ui-droppable' );
148
  wp_enqueue_script( 'multifile', FLAG_URLPATH .'admin/js/jquery.MultiFile.js', array('jquery'), '1.4.6' );
149
+
150
+ wp_enqueue_script( 'plupload', FLAG_URLPATH . '/admin/js/plupload/plupload.js', array( 'jquery' ), '1.5.7' );
151
+ wp_enqueue_script( 'plupload-flash', FLAG_URLPATH . '/admin/js/plupload/plupload.flash.js', array( 'jquery' ), '1.5.7' );
152
+ wp_enqueue_script( 'plupload-html4', FLAG_URLPATH . '/admin/js/plupload/plupload.html4.js', array( 'jquery' ), '1.5.7' );
153
+ wp_enqueue_script( 'plupload-html5', FLAG_URLPATH . '/admin/js/plupload/plupload.html5.js', array( 'jquery' ), '1.5.7' );
154
+ wp_enqueue_script( 'jquery.plupload.queue', FLAG_URLPATH . '/admin/js/plupload/jquery.plupload.queue/jquery.plupload.queue.js', array( 'jquery' ), '1.5.7' );
155
+
156
  wp_enqueue_script('dataset', FLAG_URLPATH .'admin/js/jquery.dataset.js', array('jquery'), '0.1.0');
157
  wp_enqueue_script( 'postbox' );
158
  wp_enqueue_script( 'flag-ajax' );
195
  case "flag-options" :
196
  wp_enqueue_style( 'farbtastic' );
197
  case "flag-manage-gallery" :
198
+ wp_enqueue_style( 'jquery.plupload.queue', FLAG_URLPATH . '/admin/js/plupload/jquery.plupload.queue/css/jquery.plupload.queue.css', array(), '1.5.7', 'screen' );
199
  wp_enqueue_style( 'flagtabs', FLAG_URLPATH .'admin/css/tabs.css', false, '1.0.0', 'screen' );
200
  case "flag-music-box" :
201
  case "flag-video-box" :
admin/css/flagadmin.css CHANGED
@@ -67,7 +67,7 @@
67
  vertical-align:top;
68
  }
69
  #uploadQueue {}
70
- #choosegalfirst {position:relative; float:left; margin-left:15px; overflow:hidden;}
71
  #choosegalfirst .disabledbut {position:absolute; top:0; left:0; right:0; bottom:0; width:100%; height:100%;}
72
 
73
  /* SETTINGS FOR THE OPTIONS TABLE */
@@ -264,4 +264,5 @@ div.message .flag_progress { position: relative; height: 18px; width: 400px; bor
264
  div.message .flag_progress .txt { position: absolute; left: 10px; top: 0; line-height: 18px; font-weight: bold; height: 18px; z-index: 10; }
265
  div.message .flag_progress .flag_complete { position: absolute; left: 0; top: 0; height: 18px; width: 0px; overflow: hidden; background: #00FFB7; z-index: 5; }
266
  div#license div p { font-size: 13px; }
267
- .highlight_new { background-color: #E4F2FD; color: #000000; font-weight: bold; }
 
67
  vertical-align:top;
68
  }
69
  #uploadQueue {}
70
+ #choosegalfirst {display:block; position:relative; margin:20px 0; overflow:hidden;}
71
  #choosegalfirst .disabledbut {position:absolute; top:0; left:0; right:0; bottom:0; width:100%; height:100%;}
72
 
73
  /* SETTINGS FOR THE OPTIONS TABLE */
264
  div.message .flag_progress .txt { position: absolute; left: 10px; top: 0; line-height: 18px; font-weight: bold; height: 18px; z-index: 10; }
265
  div.message .flag_progress .flag_complete { position: absolute; left: 0; top: 0; height: 18px; width: 0px; overflow: hidden; background: #00FFB7; z-index: 5; }
266
  div#license div p { font-size: 13px; }
267
+ .highlight_new { background-color: #E4F2FD; color: #000000; font-weight: bold; }
268
+ .success { background-color: #CCFFCC; border: 1px solid darkgreen; border-radius: 3px; margin: 5px 15px; padding: 3px 7px; }
admin/css/flagallery.css CHANGED
@@ -2,6 +2,7 @@
2
  ** Flash Album Gallery StyleSheet
3
  */
4
  .flashalbum { overflow:hidden; position:relative;}
 
5
  .grandmusic, .grandvideo, .grandflv, .grandmp3, .grandbanner { overflow:hidden; position:relative; }
6
  body.FlAG { margin: 0; padding: 0; font-size: 0; line-height: 0; }
7
  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; }
2
  ** Flash Album Gallery StyleSheet
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; }
admin/facebook-tool.php CHANGED
@@ -15,7 +15,7 @@ if(isset($_POST['copy_file'])) {
15
  flagGallery::show_error(__('Failure','flag'));
16
  }
17
  }
18
- global $flagdb;
19
  require_once (dirname(__FILE__) . '/get_skin.php');
20
  require_once (dirname(__FILE__) . '/playlist.functions.php');
21
  require_once (dirname(__FILE__) . '/video.functions.php');
@@ -159,14 +159,14 @@ function fb_url(galleries,skin,h,l) {
159
  <table border="0" cellpadding="4" cellspacing="0">
160
  <tr>
161
  <td nowrap="nowrap" valign="top"><div><?php _e("Select galleries", 'flag'); ?>:<span style="color:red;"> *</span><br /><small><?php _e("(album categories)", 'flag'); ?></small></div></td>
162
- <td valign="top"><div id="galleries" style="width: 214px; height: 160px; overflow: auto;">
163
- <div class="row"><input type="checkbox" value="all" checked="checked" /> <strong>* - <?php _e("all galleries", 'flag'); ?></strong></div>
164
  <?php
165
- $gallerylist = $flagdb->find_all_galleries('gid', 'ASC');
166
  if(is_array($gallerylist)) {
167
  foreach($gallerylist as $gallery) {
168
  $name = ( empty($gallery->title) ) ? $gallery->name : esc_html(stripslashes($gallery->title));
169
- echo '<div class="row"><input type="checkbox" value="' . $gallery->gid . '" /> <span>' . $gallery->gid . ' - ' . $name . '</span></div>' . "\n";
170
  }
171
  }
172
  ?>
15
  flagGallery::show_error(__('Failure','flag'));
16
  }
17
  }
18
+ global $flag, $flagdb;
19
  require_once (dirname(__FILE__) . '/get_skin.php');
20
  require_once (dirname(__FILE__) . '/playlist.functions.php');
21
  require_once (dirname(__FILE__) . '/video.functions.php');
159
  <table border="0" cellpadding="4" cellspacing="0">
160
  <tr>
161
  <td nowrap="nowrap" valign="top"><div><?php _e("Select galleries", 'flag'); ?>:<span style="color:red;"> *</span><br /><small><?php _e("(album categories)", 'flag'); ?></small></div></td>
162
+ <td valign="top"><div id="galleries" style="width: 214px; height: 160px; overflow: auto; white-space: nowrap;">
163
+ <div class="row"><input type="checkbox" value="all" checked="checked" /> <strong><span style="display:inline-block; width:3em;">*</span> - <?php _e("all galleries", 'flag'); ?></strong></div>
164
  <?php
165
+ $gallerylist = $flagdb->find_all_galleries($flag->options['albSort'], $flag->options['albSortDir']);
166
  if(is_array($gallerylist)) {
167
  foreach($gallerylist as $gallery) {
168
  $name = ( empty($gallery->title) ) ? $gallery->name : esc_html(stripslashes($gallery->title));
169
+ echo '<div class="row"><input type="checkbox" value="' . $gallery->gid . '" /> <span><span style="display:inline-block; width:3em;">' . $gallery->gid . '</span> - ' . $name . '</span></div>' . "\n";
170
  }
171
  }
172
  ?>
admin/flag_install.php CHANGED
@@ -205,8 +205,11 @@ function flag_list_options() {
205
  $flag_options['useMediaRSS'] = false; // activate the global Media RSS file
206
 
207
  // Sort Settings
208
- $flag_options['galSort'] = 'sortorder'; // Sort order
209
- $flag_options['galSortDir'] = 'ASC'; // Sort direction
 
 
 
210
 
211
  // Flash settings
212
  $flag_options['skinsDirABS'] = str_replace("\\","/", WP_PLUGIN_DIR . '/flagallery-skins/' );
205
  $flag_options['useMediaRSS'] = false; // activate the global Media RSS file
206
 
207
  // Sort Settings
208
+ $flag_options['albSort'] = 'title'; // Galleries Sort order
209
+ $flag_options['albSortDir'] = 'ASC'; // Galleries Sort dir
210
+ $flag_options['albPerPage'] = '50'; // Galleries per page
211
+ $flag_options['galSort'] = 'sortorder'; // Images Sort order
212
+ $flag_options['galSortDir'] = 'ASC'; // Images Sort direction
213
 
214
  // Flash settings
215
  $flag_options['skinsDirABS'] = str_replace("\\","/", WP_PLUGIN_DIR . '/flagallery-skins/' );
admin/functions.php CHANGED
@@ -915,7 +915,7 @@ class flagAdmin{
915
  static function swfupload_image($galleryID = 0) {
916
 
917
  global $wpdb;
918
-
919
  if ($galleryID == 0) {
920
  //@unlink($temp_file);
921
  return __('No gallery selected!','flag');
@@ -926,24 +926,24 @@ class flagAdmin{
926
  return '0';
927
 
928
  // Check the upload
929
- if (!isset($_FILES['Filedata']) || !is_uploaded_file($_FILES["Filedata"]["tmp_name"]) || $_FILES["Filedata"]["error"] === UPLOAD_ERR_OK)
930
- flagAdmin::file_upload_error_message($_FILES['Filedata']['error']);
931
 
932
  // get the filename and extension
933
- $temp_file = $_FILES["Filedata"]['tmp_name'];
934
 
935
- $filepart = flagGallery::fileinfo( $_FILES['Filedata']['name'] );
936
  $filename = $filepart['basename'];
937
 
938
  // check for allowed extension
939
  $ext = array('jpeg', 'jpg', 'png', 'gif');
940
  if (!in_array($filepart['extension'], $ext))
941
- return $filename . __('is no valid image file!','flag');
942
 
943
- // get the path to the gallery
944
  $gallerypath = $wpdb->get_var($wpdb->prepare("SELECT path FROM {$wpdb->flaggallery} WHERE gid = %d ", $galleryID));
945
  if (!$gallerypath){
946
- @unlink($temp_file);
947
  return __('Failure in database, no gallery path set !','flag');
948
  }
949
 
@@ -959,15 +959,27 @@ class flagAdmin{
959
  $dest_file = WINABSPATH . $gallerypath . '/' . $filename;
960
 
961
  // save temp file to gallery
962
- if ( !@move_uploaded_file($_FILES["Filedata"]['tmp_name'], $dest_file) ){
963
  flagAdmin::check_safemode(WINABSPATH.$gallerypath);
964
  return __('Error, the file could not moved to : ','flag').$dest_file;
965
  }
966
 
967
  if ( !flagAdmin::chmod($dest_file) )
968
  return __('Error, the file permissions could not set','flag');
969
-
970
- return '0';
 
 
 
 
 
 
 
 
 
 
 
 
971
  }
972
 
973
  /**
915
  static function swfupload_image($galleryID = 0) {
916
 
917
  global $wpdb;
918
+
919
  if ($galleryID == 0) {
920
  //@unlink($temp_file);
921
  return __('No gallery selected!','flag');
926
  return '0';
927
 
928
  // Check the upload
929
+ if (!isset($_FILES['file']) || !is_uploaded_file($_FILES["file"]["tmp_name"]) || $_FILES["file"]["error"] === UPLOAD_ERR_OK)
930
+ flagAdmin::file_upload_error_message($_FILES['file']['error']);
931
 
932
  // get the filename and extension
933
+ $temp_file = $_FILES["file"]['tmp_name'];
934
 
935
+ $filepart = flagGallery::fileinfo( $_FILES['file']['name'] );
936
  $filename = $filepart['basename'];
937
 
938
  // check for allowed extension
939
  $ext = array('jpeg', 'jpg', 'png', 'gif');
940
  if (!in_array($filepart['extension'], $ext))
941
+ return $filename . ' '. __('is no valid image file!','flag');
942
 
943
+ // get the path to the gallery
944
  $gallerypath = $wpdb->get_var($wpdb->prepare("SELECT path FROM {$wpdb->flaggallery} WHERE gid = %d ", $galleryID));
945
  if (!$gallerypath){
946
+ @unlink($temp_file);
947
  return __('Failure in database, no gallery path set !','flag');
948
  }
949
 
959
  $dest_file = WINABSPATH . $gallerypath . '/' . $filename;
960
 
961
  // save temp file to gallery
962
+ if ( !@move_uploaded_file($temp_file, $dest_file) ){
963
  flagAdmin::check_safemode(WINABSPATH.$gallerypath);
964
  return __('Error, the file could not moved to : ','flag').$dest_file;
965
  }
966
 
967
  if ( !flagAdmin::chmod($dest_file) )
968
  return __('Error, the file permissions could not set','flag');
969
+
970
+ // add images to database
971
+ $image_ids = flagAdmin::add_Images($galleryID, array($filename));
972
+ $return = '';
973
+ //create thumbnails
974
+ foreach($image_ids as $picture){
975
+ $return = flagAdmin::create_thumbnail($picture);
976
+ }
977
+ //add the preview image if needed
978
+ if(intval($_POST['last']) == 1)
979
+ flagAdmin::set_gallery_preview ( $galleryID );
980
+
981
+ return (intval($return) == 1)? '' : $return;
982
+
983
  }
984
 
985
  /**
admin/jgallery.php CHANGED
@@ -6,7 +6,7 @@ $xml = array();
6
  $flag_options = get_option ('flag_options');
7
  $siteurl = site_url();
8
  $c = array();
9
- $isCrawler = flagGetUserNow($_SERVER['HTTP_USER_AGENT']); // check if is a crowler
10
  extract($altColors);
11
  $bg = ($wmode == 'window')? '#'.$Background : 'transparent';
12
  $xml['alt'] = '<style type="text/css" scoped="scoped">';
@@ -66,6 +66,13 @@ $i = 0;
66
  if(isset($flag_options['disableViews']) && !empty($flag_options['disableViews'])){
67
  $disableViews = 1;
68
  } else { $disableViews = 0; }
 
 
 
 
 
 
 
69
  foreach ( $gID as $galID ) {
70
  $galID = (int) $galID;
71
  $status = $wpdb->get_var("SELECT status FROM $wpdb->flaggallery WHERE gid={$galID}");
@@ -75,10 +82,10 @@ foreach ( $gID as $galID ) {
75
 
76
  if ( $galID == 0) {
77
  $thegalleries = array();
78
- $thepictures = $wpdb->get_results("SELECT pid, galleryid, filename, description, alttext, link, imagedate, sortorder, hitcounter, total_value, total_votes FROM $wpdb->flagpictures WHERE 1=1 {$exclude_clause} ORDER BY {$flag_options['galSort']} {$flag_options['galSortDir']} ", ARRAY_A);
79
  } else {
80
  $thegalleries = $wpdb->get_row("SELECT gid, name, path, title, galdesc FROM $wpdb->flaggallery WHERE gid={$galID}", ARRAY_A);
81
- $thepictures = $wpdb->get_results("SELECT pid, filename, description, alttext, link, imagedate, hitcounter, total_value, total_votes FROM $wpdb->flagpictures WHERE galleryid = '{$galID}' {$exclude_clause} ORDER BY {$flag_options['galSort']} {$flag_options['galSortDir']} ", ARRAY_A);
82
  }
83
  $captions = '';
84
 
@@ -93,7 +100,7 @@ foreach ( $gID as $galID ) {
93
  $xml['alt'] .= '<h4>'.htmlspecialchars_decode($thegalleries['title'], ENT_QUOTES).'</h4>';
94
  $xml['alt'] .= '<p>'.str_replace('"','', strip_tags(htmlspecialchars_decode($galdesc, ENT_QUOTES))).'</p>';
95
  $xml['alt'] .= '</div>';
96
- $xml['alt'] .= '<div class="flagcategory" id="gid_'.$galID.'_'.$skinID.'">."\n"';
97
  $n = count($thepictures);
98
  $var = floor($n/5);
99
  if($var==0 || $var > 4) $var=4;
@@ -101,13 +108,17 @@ foreach ( $gID as $galID ) {
101
  $j=0;
102
  $b = array();
103
  foreach ($thepictures as $picture) {
 
 
 
 
104
  $picture = array_map('stripslashes', $picture);
105
  $b['data'][] = $picture;
106
 
107
  $pid = intval($picture['pid']);
108
 
109
  if ($isCrawler){
110
- $xml['alt'] .= '<a style="display:block; overflow: hidden; height: 100px; width: 115px; margin-bottom: 10px; background-color: #eeeeee; background-position: 22px 44px; text-align: left;" class="i'. $j++ .' flag_pic_alt" href="'.$siteurl.'/'.$thegalleries['path'].'/'.$picture['filename'].'" id="flag_pic_'.$pid.'"><img style="float:left; margin-right: 10px; width: auto; height: auto; min-height:100px; min-width:115px;" title="'.esc_attr(strip_tags($picture['alttext'])).'" alt="'.esc_attr(strip_tags($picture['alttext'])).'" src="'.$siteurl.'/'.$thegalleries['path'].'/thumbs/thumbs_'.$picture['filename'].'" /><span style="display: block; overflow: hidden; text-decoration: none; color: #000; font-weight: normal;" class="flag_pic_desc" id="flag_desc_'.$pid.'"><strong>'.htmlspecialchars_decode($picture['alttext']).'</strong><br />'.htmlspecialchars_decode($picture['description']).'</span></a>';
111
  } else {
112
  if(!$disableViews){
113
  $views = (intval($picture['hitcounter']) < 10000) ? $picture['hitcounter'] : round($picture['hitcounter']/1000, 1).'k';
@@ -116,7 +127,7 @@ foreach ( $gID as $galID ) {
116
  } else {
117
  $views_panel = '';
118
  }
119
- $xml['alt'] .= '<a class="i'. $j++ .' flag_pic_alt" href="'.$siteurl.'/'.$thegalleries['path'].'/'.$picture['filename'].'" id="flag_pic_'.$pid.'" title="'.esc_attr(strip_tags($picture['alttext'])).'">[img src='.$siteurl.'/'.$thegalleries['path'].'/thumbs/thumbs_'.$picture['filename'].']'.$views_panel.'<span class="flag_pic_desc" id="flag_desc_'.$pid.'"><strong>'.htmlspecialchars_decode($picture['alttext']).'</strong><br /><span>'.htmlspecialchars_decode($picture['description']).'</span></span></a>';
120
  }
121
  }
122
  $xml['alt'] .= '</div>';
6
  $flag_options = get_option ('flag_options');
7
  $siteurl = site_url();
8
  $c = array();
9
+ $isCrawler = isset($_SERVER['HTTP_USER_AGENT'])? flagGetUserNow($_SERVER['HTTP_USER_AGENT']) : false;
10
  extract($altColors);
11
  $bg = ($wmode == 'window')? '#'.$Background : 'transparent';
12
  $xml['alt'] = '<style type="text/css" scoped="scoped">';
66
  if(isset($flag_options['disableViews']) && !empty($flag_options['disableViews'])){
67
  $disableViews = 1;
68
  } else { $disableViews = 0; }
69
+ if((get_option( 'flag_db_version' ) < 2.75)){
70
+ $select_columns = 'pid, galleryid, filename, description, alttext, imagedate, sortorder, hitcounter, total_value, total_votes, meta_data';
71
+ $exclude_clause = '';
72
+ } else {
73
+ $select_columns = 'pid, galleryid, filename, description, alttext, link, imagedate, sortorder, hitcounter, total_value, total_votes, meta_data';
74
+ }
75
+
76
  foreach ( $gID as $galID ) {
77
  $galID = (int) $galID;
78
  $status = $wpdb->get_var("SELECT status FROM $wpdb->flaggallery WHERE gid={$galID}");
82
 
83
  if ( $galID == 0) {
84
  $thegalleries = array();
85
+ $thepictures = $wpdb->get_results("SELECT $select_columns FROM $wpdb->flagpictures WHERE 1=1 {$exclude_clause} ORDER BY {$flag_options['galSort']} {$flag_options['galSortDir']} ", ARRAY_A);
86
  } else {
87
  $thegalleries = $wpdb->get_row("SELECT gid, name, path, title, galdesc FROM $wpdb->flaggallery WHERE gid={$galID}", ARRAY_A);
88
+ $thepictures = $wpdb->get_results("SELECT $select_columns FROM $wpdb->flagpictures WHERE galleryid = '{$galID}' {$exclude_clause} ORDER BY {$flag_options['galSort']} {$flag_options['galSortDir']} ", ARRAY_A);
89
  }
90
  $captions = '';
91
 
100
  $xml['alt'] .= '<h4>'.htmlspecialchars_decode($thegalleries['title'], ENT_QUOTES).'</h4>';
101
  $xml['alt'] .= '<p>'.str_replace('"','', strip_tags(htmlspecialchars_decode($galdesc, ENT_QUOTES))).'</p>';
102
  $xml['alt'] .= '</div>';
103
+ $xml['alt'] .= '<div class="flagcategory" id="gid_'.$galID.'_'.$skinID.'">';
104
  $n = count($thepictures);
105
  $var = floor($n/5);
106
  if($var==0 || $var > 4) $var=4;
108
  $j=0;
109
  $b = array();
110
  foreach ($thepictures as $picture) {
111
+ $meta_data = maybe_unserialize($picture['meta_data']);
112
+ $picture['width'] = $meta_data['width'];
113
+ $picture['height'] = $meta_data['height'];
114
+ unset($picture['meta_data']);
115
  $picture = array_map('stripslashes', $picture);
116
  $b['data'][] = $picture;
117
 
118
  $pid = intval($picture['pid']);
119
 
120
  if ($isCrawler){
121
+ $xml['alt'] .= '<a style="display:block; overflow: hidden; height: 100px; width: 115px; margin-bottom: 10px; background-color: #eeeeee; background-position: 22px 44px; text-align: left;" class="i'. $j++ .' flag_pic_alt" href="'.$siteurl.'/'.$thegalleries['path'].'/'.$picture['filename'].'" id="flag_pic_'.$pid.'"><img style="float:left; margin-right: 10px; width: auto; height: auto; min-height:100px; min-width:115px;" title="'.esc_attr(strip_tags(htmlspecialchars_decode($picture['alttext']))).'" alt="'.esc_attr(strip_tags(htmlspecialchars_decode($picture['alttext']))).'" src="'.$siteurl.'/'.$thegalleries['path'].'/thumbs/thumbs_'.$picture['filename'].'" /><span style="display: block; overflow: hidden; text-decoration: none; color: #000; font-weight: normal;" class="flag_pic_desc" id="flag_desc_'.$pid.'"><strong>'.strip_tags(htmlspecialchars_decode($picture['alttext'])).'</strong><br />'.strip_tags(htmlspecialchars_decode($picture['description'])).'</span></a>';
122
  } else {
123
  if(!$disableViews){
124
  $views = (intval($picture['hitcounter']) < 10000) ? $picture['hitcounter'] : round($picture['hitcounter']/1000, 1).'k';
127
  } else {
128
  $views_panel = '';
129
  }
130
+ $xml['alt'] .= '<a class="i'. $j++ .' flag_pic_alt" href="'.$siteurl.'/'.$thegalleries['path'].'/'.$picture['filename'].'" id="flag_pic_'.$pid.'" title="'.esc_attr(strip_tags(htmlspecialchars_decode($picture['alttext']))).'">[img src='.$siteurl.'/'.$thegalleries['path'].'/thumbs/thumbs_'.$picture['filename'].']'.$views_panel.'<span class="flag_pic_desc" id="flag_desc_'.$pid.'"><strong>'.$picture['alttext'].'</strong><br /><span>'.$picture['description'].'</span></span></a>';
131
  }
132
  }
133
  $xml['alt'] .= '</div>';
admin/js/photoswipe/photoswipe.css CHANGED
@@ -16,7 +16,7 @@ body.ps-active, body.ps-building, div.ps-active, div.ps-building
16
  background: #000;
17
  overflow: hidden;
18
  }
19
- body.ps-active *, div.ps-active *
20
  {
21
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
22
  display: none;
@@ -75,7 +75,6 @@ div.ps-caption
75
  text-align: center;
76
  min-height: 44px;
77
  }
78
- div.ps-caption * { display: inline; }
79
 
80
  div.ps-caption-bottom
81
  {
16
  background: #000;
17
  overflow: hidden;
18
  }
19
+ body.ps-active > *, div.ps-active > *
20
  {
21
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
22
  display: none;
75
  text-align: center;
76
  min-height: 44px;
77
  }
 
78
 
79
  div.ps-caption-bottom
80
  {
admin/js/plupload/jquery.plupload.queue/css/jquery.plupload.queue.css ADDED
@@ -0,0 +1,177 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Plupload
3
+ ------------------------------------------------------------------- */
4
+
5
+ .plupload_button {
6
+ display: -moz-inline-box; /* FF < 3*/
7
+ display: inline-block;
8
+ font: normal 12px sans-serif;
9
+ text-decoration: none;
10
+ color: #42454a;
11
+ border: 1px solid #bababa;
12
+ padding: 2px 8px 3px 20px;
13
+ margin-right: 4px;
14
+ background: #f3f3f3 url('../img/buttons.png') no-repeat 0 center;
15
+ outline: 0;
16
+
17
+ /* Optional rounded corners for browsers that support it */
18
+ -moz-border-radius: 3px;
19
+ -khtml-border-radius: 3px;
20
+ -webkit-border-radius: 3px;
21
+ border-radius: 3px;
22
+ }
23
+
24
+ .plupload_button:hover {
25
+ color: #000;
26
+ text-decoration: none;
27
+ }
28
+
29
+ .plupload_disabled, a.plupload_disabled:hover {
30
+ color: #737373;
31
+ border-color: #c5c5c5;
32
+ background: #ededed url('../img/buttons-disabled.png') no-repeat 0 center;
33
+ cursor: default;
34
+ }
35
+
36
+ .plupload_add {
37
+ background-position: -181px center;
38
+ }
39
+
40
+ .plupload_wrapper {
41
+ font: normal 11px Verdana,sans-serif;
42
+ width: 100%;
43
+ }
44
+
45
+ .plupload_container {
46
+ padding: 8px;
47
+ background: url('../img/transp50.png');
48
+ /*-moz-border-radius: 5px;*/
49
+ }
50
+
51
+ .plupload_container input {
52
+ border: 1px solid #DDD;
53
+ font: normal 11px Verdana,sans-serif;
54
+ width: 98%;
55
+ }
56
+
57
+ .plupload_header {background: #2A2C2E url('../img/backgrounds.gif') repeat-x;}
58
+ .plupload_header_content {
59
+ background: url('../img/backgrounds.gif') no-repeat 0 -317px;
60
+ min-height: 56px;
61
+ padding-left: 60px;
62
+ color: #FFF;
63
+ }
64
+ .plupload_header_title {
65
+ font: normal 18px sans-serif;
66
+ padding: 6px 0 3px;
67
+ }
68
+ .plupload_header_text {
69
+ font: normal 12px sans-serif;
70
+ }
71
+
72
+ .plupload_filelist {
73
+ margin: 0;
74
+ padding: 0;
75
+ list-style: none;
76
+ }
77
+
78
+ .plupload_scroll .plupload_filelist {
79
+ height: 185px;
80
+ background: #F5F5F5;
81
+ overflow-y: scroll;
82
+ }
83
+
84
+ .plupload_filelist li {
85
+ padding: 10px 8px;
86
+ background: #F5F5F5 url('../img/backgrounds.gif') repeat-x 0 -156px;
87
+ border-bottom: 1px solid #DDD;
88
+ }
89
+
90
+ .plupload_filelist_header, .plupload_filelist_footer {
91
+ background: #DFDFDF;
92
+ padding: 8px 8px;
93
+ color: #42454A;
94
+ }
95
+ .plupload_filelist_header {
96
+ border-top: 1px solid #EEE;
97
+ border-bottom: 1px solid #CDCDCD;
98
+ }
99
+
100
+ .plupload_filelist_footer {border-top: 1px solid #FFF; height: 22px; line-height: 20px; vertical-align: middle;}
101
+ .plupload_file_name {float: left; overflow: hidden}
102
+ .plupload_file_status {color: #777;}
103
+ .plupload_file_status span {color: #42454A;}
104
+ .plupload_file_size, .plupload_file_status, .plupload_progress {
105
+ float: right;
106
+ width: 80px;
107
+ }
108
+ .plupload_file_size, .plupload_file_status, .plupload_file_action {text-align: right;}
109
+
110
+ .plupload_filelist .plupload_file_name {width: 205px}
111
+
112
+ .plupload_file_action {
113
+ float: right;
114
+ width: 16px;
115
+ height: 16px;
116
+ margin-left: 15px;
117
+ }
118
+
119
+ .plupload_file_action * {
120
+ display: none;
121
+ width: 16px;
122
+ height: 16px;
123
+ }
124
+
125
+ li.plupload_uploading {background: #ECF3DC url('../img/backgrounds.gif') repeat-x 0 -238px;}
126
+ li.plupload_done {color:#AAA}
127
+
128
+ li.plupload_delete a {
129
+ background: url('../img/delete.gif');
130
+ }
131
+
132
+ li.plupload_failed a {
133
+ background: url('../img/error.gif');
134
+ cursor: default;
135
+ }
136
+
137
+ li.plupload_done a {
138
+ background: url('../img/done.gif');
139
+ cursor: default;
140
+ }
141
+
142
+ .plupload_progress, .plupload_upload_status {
143
+ display: none;
144
+ }
145
+
146
+ .plupload_progress_container {
147
+ margin-top: 3px;
148
+ border: 1px solid #CCC;
149
+ background: #FFF;
150
+ padding: 1px;
151
+ }
152
+ .plupload_progress_bar {
153
+ width: 0px;
154
+ height: 7px;
155
+ background: #CDEB8B;
156
+ }
157
+
158
+ .plupload_scroll .plupload_filelist_header .plupload_file_action, .plupload_scroll .plupload_filelist_footer .plupload_file_action {
159
+ margin-right: 17px;
160
+ }
161
+
162
+ /* Floats */
163
+
164
+ .plupload_clear,.plupload_clearer {clear: both;}
165
+ .plupload_clearer, .plupload_progress_bar {
166
+ display: block;
167
+ font-size: 0;
168
+ line-height: 0;
169
+ }
170
+
171
+ li.plupload_droptext {
172
+ background: transparent;
173
+ text-align: center;
174
+ vertical-align: middle;
175
+ border: 0;
176
+ line-height: 165px;
177
+ }
admin/js/plupload/jquery.plupload.queue/img/backgrounds.gif ADDED
Binary file
admin/js/plupload/jquery.plupload.queue/img/buttons-disabled.png ADDED
Binary file
admin/js/plupload/jquery.plupload.queue/img/buttons.png ADDED
Binary file
admin/js/plupload/jquery.plupload.queue/img/delete.gif ADDED
Binary file
admin/js/plupload/jquery.plupload.queue/img/done.gif ADDED
Binary file
admin/js/plupload/jquery.plupload.queue/img/error.gif ADDED
Binary file
admin/js/plupload/jquery.plupload.queue/img/throbber.gif ADDED
Binary file
admin/js/plupload/jquery.plupload.queue/img/transp50.png ADDED
Binary file
admin/js/plupload/jquery.plupload.queue/jquery.plupload.queue.js ADDED
@@ -0,0 +1 @@
 
1
+ (function(c){var d={};function a(e){return plupload.translate(e)||e}function b(f,e){e.contents().each(function(g,h){h=c(h);if(!h.is(".plupload")){h.remove()}});e.prepend('<div class="plupload_wrapper plupload_scroll"><div id="'+f+'_container" class="plupload_container"><div class="plupload"><div class="plupload_header"><div class="plupload_header_content"><div class="plupload_header_title">'+a("Select files")+'</div><div class="plupload_header_text">'+a("Add files to the upload queue and click the start button.")+'</div></div></div><div class="plupload_content"><div class="plupload_filelist_header"><div class="plupload_file_name">'+a("Filename")+'</div><div class="plupload_file_action">&nbsp;</div><div class="plupload_file_status"><span>'+a("Status")+'</span></div><div class="plupload_file_size">'+a("Size")+'</div><div class="plupload_clearer">&nbsp;</div></div><ul id="'+f+'_filelist" class="plupload_filelist"></ul><div class="plupload_filelist_footer"><div class="plupload_file_name"><div class="plupload_buttons"><a href="#" class="plupload_button plupload_add">'+a("Add files")+'</a><a href="#" class="plupload_button plupload_start">'+a("Start upload")+'</a></div><span class="plupload_upload_status"></span></div><div class="plupload_file_action"></div><div class="plupload_file_status"><span class="plupload_total_status">0%</span></div><div class="plupload_file_size"><span class="plupload_total_file_size">0 b</span></div><div class="plupload_progress"><div class="plupload_progress_container"><div class="plupload_progress_bar"></div></div></div><div class="plupload_clearer">&nbsp;</div></div></div></div></div><input type="hidden" id="'+f+'_count" name="'+f+'_count" value="0" /></div>')}c.fn.pluploadQueue=function(e){if(e){this.each(function(){var j,i,k;i=c(this);k=i.attr("id");if(!k){k=plupload.guid();i.attr("id",k)}j=new plupload.Uploader(c.extend({dragdrop:true,container:k},e));d[k]=j;function h(l){var n;if(l.status==plupload.DONE){n="plupload_done"}if(l.status==plupload.FAILED){n="plupload_failed"}if(l.status==plupload.QUEUED){n="plupload_delete"}if(l.status==plupload.UPLOADING){n="plupload_uploading"}var m=c("#"+l.id).attr("class",n).find("a").css("display","block");if(l.hint){m.attr("title",l.hint)}}function f(){c("span.plupload_total_status",i).html(j.total.percent+"%");c("div.plupload_progress_bar",i).css("width",j.total.percent+"%");c("span.plupload_upload_status",i).html(a("Uploaded %d/%d files").replace(/%d\/%d/,j.total.uploaded+"/"+j.files.length))}function g(){var m=c("ul.plupload_filelist",i).html(""),n=0,l;c.each(j.files,function(p,o){l="";if(o.status==plupload.DONE){if(o.target_name){l+='<input type="hidden" name="'+k+"_"+n+'_tmpname" value="'+plupload.xmlEncode(o.target_name)+'" />'}l+='<input type="hidden" name="'+k+"_"+n+'_name" value="'+plupload.xmlEncode(o.name)+'" />';l+='<input type="hidden" name="'+k+"_"+n+'_status" value="'+(o.status==plupload.DONE?"done":"failed")+'" />';n++;c("#"+k+"_count").val(n)}m.append('<li id="'+o.id+'"><div class="plupload_file_name"><span>'+o.name+'</span></div><div class="plupload_file_action"><a href="#"></a></div><div class="plupload_file_status">'+o.percent+'%</div><div class="plupload_file_size">'+plupload.formatSize(o.size)+'</div><div class="plupload_clearer">&nbsp;</div>'+l+"</li>");h(o);c("#"+o.id+".plupload_delete a").click(function(q){c("#"+o.id).remove();j.removeFile(o);q.preventDefault()})});c("span.plupload_total_file_size",i).html(plupload.formatSize(j.total.size));if(j.total.queued===0){c("span.plupload_add_text",i).html(a("Add files."))}else{c("span.plupload_add_text",i).html(j.total.queued+" files queued.")}c("a.plupload_start",i).toggleClass("plupload_disabled",j.files.length==(j.total.uploaded+j.total.failed));m[0].scrollTop=m[0].scrollHeight;f();if(!j.files.length&&j.features.dragdrop&&j.settings.dragdrop){c("#"+k+"_filelist").append('<li class="plupload_droptext">'+a("Drag files here.")+"</li>")}}j.bind("UploadFile",function(l,m){c("#"+m.id).addClass("plupload_current_file")});j.bind("Init",function(l,m){b(k,i);if(!e.unique_names&&e.rename){i.on("click","#"+k+"_filelist div.plupload_file_name span",function(s){var q=c(s.target),o,r,n,p="";o=l.getFile(q.parents("li")[0].id);n=o.name;r=/^(.+)(\.[^.]+)$/.exec(n);if(r){n=r[1];p=r[2]}q.hide().after('<input type="text" />');q.next().val(n).focus().blur(function(){q.show().next().remove()}).keydown(function(u){var t=c(this);if(c.inArray(u.keyCode,[13,27])!==-1){u.preventDefault();if(u.keyCode===13){o.name=t.val()+p;q.html(o.name)}t.blur()}})})}c("a.plupload_add",i).attr("id",k+"_browse");l.settings.browse_button=k+"_browse";if(l.features.dragdrop&&l.settings.dragdrop){l.settings.drop_element=k+"_filelist";c("#"+k+"_filelist").append('<li class="plupload_droptext">'+a("Drag files here.")+"</li>")}c("#"+k+"_container").attr("title","Using runtime: "+m.runtime);c("a.plupload_start",i).click(function(n){if(!c(this).hasClass("plupload_disabled")){j.start()}n.preventDefault()});c("a.plupload_stop",i).click(function(n){n.preventDefault();j.stop()});c("a.plupload_start",i).addClass("plupload_disabled")});j.init();j.bind("Error",function(l,o){var m=o.file,n;if(m){n=o.message;if(o.details){n+=" ("+o.details+")"}if(o.code==plupload.FILE_SIZE_ERROR){alert(a("Error: File too large: ")+m.name)}if(o.code==plupload.FILE_EXTENSION_ERROR){alert(a("Error: Invalid file extension: ")+m.name)}m.hint=n;c("#"+m.id).attr("class","plupload_failed").find("a").css("display","block").attr("title",n)}});j.bind("StateChanged",function(){if(j.state===plupload.STARTED){c("li.plupload_delete a,div.plupload_buttons",i).hide();c("span.plupload_upload_status,div.plupload_progress,a.plupload_stop",i).css("display","block");c("span.plupload_upload_status",i).html("Uploaded "+j.total.uploaded+"/"+j.files.length+" files");if(e.multiple_queues){c("span.plupload_total_status,span.plupload_total_file_size",i).show()}}else{g();c("a.plupload_stop,div.plupload_progress",i).hide();c("a.plupload_delete",i).css("display","block")}});j.bind("QueueChanged",g);j.bind("FileUploaded",function(l,m){h(m)});j.bind("UploadProgress",function(l,m){c("#"+m.id+" div.plupload_file_status",i).html(m.percent+"%");h(m);f();if(e.multiple_queues&&j.total.uploaded+j.total.failed==j.files.length){c(".plupload_buttons,.plupload_upload_status",i).css("display","inline");c(".plupload_start",i).addClass("plupload_disabled");c("span.plupload_total_status,span.plupload_total_file_size",i).hide()}});if(e.setup){e.setup(j)}});return this}else{return d[c(this[0]).attr("id")]}}})(jQuery);
admin/js/plupload/license.txt ADDED
@@ -0,0 +1,339 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ GNU GENERAL PUBLIC LICENSE
2
+ Version 2, June 1991
3
+
4
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
5
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
6
+ Everyone is permitted to copy and distribute verbatim copies
7
+ of this license document, but changing it is not allowed.
8
+
9
+ Preamble
10
+
11
+ The licenses for most software are designed to take away your
12
+ freedom to share and change it. By contrast, the GNU General Public
13
+ License is intended to guarantee your freedom to share and change free
14
+ software--to make sure the software is free for all its users. This
15
+ General Public License applies to most of the Free Software
16
+ Foundation's software and to any other program whose authors commit to
17
+ using it. (Some other Free Software Foundation software is covered by
18
+ the GNU Lesser General Public License instead.) You can apply it to
19
+ your programs, too.
20
+
21
+ When we speak of free software, we are referring to freedom, not
22
+ price. Our General Public Licenses are designed to make sure that you
23
+ have the freedom to distribute copies of free software (and charge for
24
+ this service if you wish), that you receive source code or can get it
25
+ if you want it, that you can change the software or use pieces of it
26
+ in new free programs; and that you know you can do these things.
27
+
28
+ To protect your rights, we need to make restrictions that forbid
29
+ anyone to deny you these rights or to ask you to surrender the rights.
30
+ These restrictions translate to certain responsibilities for you if you
31
+ distribute copies of the software, or if you modify it.
32
+
33
+ For example, if you distribute copies of such a program, whether
34
+ gratis or for a fee, you must give the recipients all the rights that
35
+ you have. You must make sure that they, too, receive or can get the
36
+ source code. And you must show them these terms so they know their
37
+ rights.
38
+
39
+ We protect your rights with two steps: (1) copyright the software, and
40
+ (2) offer you this license which gives you legal permission to copy,
41
+ distribute and/or modify the software.
42
+
43
+ Also, for each author's protection and ours, we want to make certain
44
+ that everyone understands that there is no warranty for this free
45
+ software. If the software is modified by someone else and passed on, we
46
+ want its recipients to know that what they have is not the original, so
47
+ that any problems introduced by others will not reflect on the original
48
+ authors' reputations.
49
+
50
+ Finally, any free program is threatened constantly by software
51
+ patents. We wish to avoid the danger that redistributors of a free
52
+ program will individually obtain patent licenses, in effect making the
53
+ program proprietary. To prevent this, we have made it clear that any
54
+ patent must be licensed for everyone's free use or not licensed at all.
55
+
56
+ The precise terms and conditions for copying, distribution and
57
+ modification follow.
58
+
59
+ GNU GENERAL PUBLIC LICENSE
60
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61
+
62
+ 0. This License applies to any program or other work which contains
63
+ a notice placed by the copyright holder saying it may be distributed
64
+ under the terms of this General Public License. The "Program", below,
65
+ refers to any such program or work, and a "work based on the Program"
66
+ means either the Program or any derivative work under copyright law:
67
+ that is to say, a work containing the Program or a portion of it,
68
+ either verbatim or with modifications and/or translated into another
69
+ language. (Hereinafter, translation is included without limitation in
70
+ the term "modification".) Each licensee is addressed as "you".
71
+
72
+ Activities other than copying, distribution and modification are not
73
+ covered by this License; they are outside its scope. The act of
74
+ running the Program is not restricted, and the output from the Program
75
+ is covered only if its contents constitute a work based on the
76
+ Program (independent of having been made by running the Program).
77
+ Whether that is true depends on what the Program does.
78
+
79
+ 1. You may copy and distribute verbatim copies of the Program's
80
+ source code as you receive it, in any medium, provided that you
81
+ conspicuously and appropriately publish on each copy an appropriate
82
+ copyright notice and disclaimer of warranty; keep intact all the
83
+ notices that refer to this License and to the absence of any warranty;
84
+ and give any other recipients of the Program a copy of this License
85
+ along with the Program.
86
+
87
+ You may charge a fee for the physical act of transferring a copy, and
88
+ you may at your option offer warranty protection in exchange for a fee.
89
+
90
+ 2. You may modify your copy or copies of the Program or any portion
91
+ of it, thus forming a work based on the Program, and copy and
92
+ distribute such modifications or work under the terms of Section 1
93
+ above, provided that you also meet all of these conditions:
94
+
95
+ a) You must cause the modified files to carry prominent notices
96
+ stating that you changed the files and the date of any change.
97
+
98
+ b) You must cause any work that you distribute or publish, that in
99
+ whole or in part contains or is derived from the Program or any
100
+ part thereof, to be licensed as a whole at no charge to all third
101
+ parties under the terms of this License.
102
+
103
+ c) If the modified program normally reads commands interactively
104
+ when run, you must cause it, when started running for such
105
+ interactive use in the most ordinary way, to print or display an
106
+ announcement including an appropriate copyright notice and a
107
+ notice that there is no warranty (or else, saying that you provide
108
+ a warranty) and that users may redistribute the program under
109
+ these conditions, and telling the user how to view a copy of this
110
+ License. (Exception: if the Program itself is interactive but
111
+ does not normally print such an announcement, your work based on
112
+ the Program is not required to print an announcement.)
113
+
114
+ These requirements apply to the modified work as a whole. If
115
+ identifiable sections of that work are not derived from the Program,
116
+ and can be reasonably considered independent and separate works in
117
+ themselves, then this License, and its terms, do not apply to those
118
+ sections when you distribute them as separate works. But when you
119
+ distribute the same sections as part of a whole which is a work based
120
+ on the Program, the distribution of the whole must be on the terms of
121
+ this License, whose permissions for other licensees extend to the
122
+ entire whole, and thus to each and every part regardless of who wrote it.
123
+
124
+ Thus, it is not the intent of this section to claim rights or contest
125
+ your rights to work written entirely by you; rather, the intent is to
126
+ exercise the right to control the distribution of derivative or
127
+ collective works based on the Program.
128
+
129
+ In addition, mere aggregation of another work not based on the Program
130
+ with the Program (or with a work based on the Program) on a volume of
131
+ a storage or distribution medium does not bring the other work under
132
+ the scope of this License.
133
+
134
+ 3. You may copy and distribute the Program (or a work based on it,
135
+ under Section 2) in object code or executable form under the terms of
136
+ Sections 1 and 2 above provided that you also do one of the following:
137
+
138
+ a) Accompany it with the complete corresponding machine-readable
139
+ source code, which must be distributed under the terms of Sections
140
+ 1 and 2 above on a medium customarily used for software interchange; or,
141
+
142
+ b) Accompany it with a written offer, valid for at least three
143
+ years, to give any third party, for a charge no more than your
144
+ cost of physically performing source distribution, a complete
145
+ machine-readable copy of the corresponding source code, to be
146
+ distributed under the terms of Sections 1 and 2 above on a medium
147
+ customarily used for software interchange; or,
148
+
149
+ c) Accompany it with the information you received as to the offer
150
+ to distribute corresponding source code. (This alternative is
151
+ allowed only for noncommercial distribution and only if you
152
+ received the program in object code or executable form with such
153
+ an offer, in accord with Subsection b above.)
154
+
155
+ The source code for a work means the preferred form of the work for
156
+ making modifications to it. For an executable work, complete source
157
+ code means all the source code for all modules it contains, plus any
158
+ associated interface definition files, plus the scripts used to
159
+ control compilation and installation of the executable. However, as a
160
+ special exception, the source code distributed need not include
161
+ anything that is normally distributed (in either source or binary
162
+ form) with the major components (compiler, kernel, and so on) of the
163
+ operating system on which the executable runs, unless that component
164
+ itself accompanies the executable.
165
+
166
+ If distribution of executable or object code is made by offering
167
+ access to copy from a designated place, then offering equivalent
168
+ access to copy the source code from the same place counts as
169
+ distribution of the source code, even though third parties are not
170
+ compelled to copy the source along with the object code.
171
+
172
+ 4. You may not copy, modify, sublicense, or distribute the Program
173
+ except as expressly provided under this License. Any attempt
174
+ otherwise to copy, modify, sublicense or distribute the Program is
175
+ void, and will automatically terminate your rights under this License.
176
+ However, parties who have received copies, or rights, from you under
177
+ this License will not have their licenses terminated so long as such
178
+ parties remain in full compliance.
179
+
180
+ 5. You are not required to accept this License, since you have not
181
+ signed it. However, nothing else grants you permission to modify or
182
+ distribute the Program or its derivative works. These actions are
183
+ prohibited by law if you do not accept this License. Therefore, by
184
+ modifying or distributing the Program (or any work based on the
185
+ Program), you indicate your acceptance of this License to do so, and
186
+ all its terms and conditions for copying, distributing or modifying
187
+ the Program or works based on it.
188
+
189
+ 6. Each time you redistribute the Program (or any work based on the
190
+ Program), the recipient automatically receives a license from the
191
+ original licensor to copy, distribute or modify the Program subject to
192
+ these terms and conditions. You may not impose any further
193
+ restrictions on the recipients' exercise of the rights granted herein.
194
+ You are not responsible for enforcing compliance by third parties to
195
+ this License.
196
+
197
+ 7. If, as a consequence of a court judgment or allegation of patent
198
+ infringement or for any other reason (not limited to patent issues),
199
+ conditions are imposed on you (whether by court order, agreement or
200
+ otherwise) that contradict the conditions of this License, they do not
201
+ excuse you from the conditions of this License. If you cannot
202
+ distribute so as to satisfy simultaneously your obligations under this
203
+ License and any other pertinent obligations, then as a consequence you
204
+ may not distribute the Program at all. For example, if a patent
205
+ license would not permit royalty-free redistribution of the Program by
206
+ all those who receive copies directly or indirectly through you, then
207
+ the only way you could satisfy both it and this License would be to
208
+ refrain entirely from distribution of the Program.
209
+
210
+ If any portion of this section is held invalid or unenforceable under
211
+ any particular circumstance, the balance of the section is intended to
212
+ apply and the section as a whole is intended to apply in other
213
+ circumstances.
214
+
215
+ It is not the purpose of this section to induce you to infringe any
216
+ patents or other property right claims or to contest validity of any
217
+ such claims; this section has the sole purpose of protecting the
218
+ integrity of the free software distribution system, which is
219
+ implemented by public license practices. Many people have made
220
+ generous contributions to the wide range of software distributed
221
+ through that system in reliance on consistent application of that
222
+ system; it is up to the author/donor to decide if he or she is willing
223
+ to distribute software through any other system and a licensee cannot
224
+ impose that choice.
225
+
226
+ This section is intended to make thoroughly clear what is believed to
227
+ be a consequence of the rest of this License.
228
+
229
+ 8. If the distribution and/or use of the Program is restricted in
230
+ certain countries either by patents or by copyrighted interfaces, the
231
+ original copyright holder who places the Program under this License
232
+ may add an explicit geographical distribution limitation excluding
233
+ those countries, so that distribution is permitted only in or among
234
+ countries not thus excluded. In such case, this License incorporates
235
+ the limitation as if written in the body of this License.
236
+
237
+ 9. The Free Software Foundation may publish revised and/or new versions
238
+ of the General Public License from time to time. Such new versions will
239
+ be similar in spirit to the present version, but may differ in detail to
240
+ address new problems or concerns.
241
+
242
+ Each version is given a distinguishing version number. If the Program
243
+ specifies a version number of this License which applies to it and "any
244
+ later version", you have the option of following the terms and conditions
245
+ either of that version or of any later version published by the Free
246
+ Software Foundation. If the Program does not specify a version number of
247
+ this License, you may choose any version ever published by the Free Software
248
+ Foundation.
249
+
250
+ 10. If you wish to incorporate parts of the Program into other free
251
+ programs whose distribution conditions are different, write to the author
252
+ to ask for permission. For software which is copyrighted by the Free
253
+ Software Foundation, write to the Free Software Foundation; we sometimes
254
+ make exceptions for this. Our decision will be guided by the two goals
255
+ of preserving the free status of all derivatives of our free software and
256
+ of promoting the sharing and reuse of software generally.
257
+
258
+ NO WARRANTY
259
+
260
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261
+ FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
262
+ OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263
+ PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264
+ OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
266
+ TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
267
+ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268
+ REPAIR OR CORRECTION.
269
+
270
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272
+ REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273
+ INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274
+ OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275
+ TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276
+ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277
+ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278
+ POSSIBILITY OF SUCH DAMAGES.
279
+
280
+ END OF TERMS AND CONDITIONS
281
+
282
+ How to Apply These Terms to Your New Programs
283
+
284
+ If you develop a new program, and you want it to be of the greatest
285
+ possible use to the public, the best way to achieve this is to make it
286
+ free software which everyone can redistribute and change under these terms.
287
+
288
+ To do so, attach the following notices to the program. It is safest
289
+ to attach them to the start of each source file to most effectively
290
+ convey the exclusion of warranty; and each file should have at least
291
+ the "copyright" line and a pointer to where the full notice is found.
292
+
293
+ <one line to give the program's name and a brief idea of what it does.>
294
+ Copyright (C) <year> <name of author>
295
+
296
+ This program is free software; you can redistribute it and/or modify
297
+ it under the terms of the GNU General Public License as published by
298
+ the Free Software Foundation; either version 2 of the License, or
299
+ (at your option) any later version.
300
+
301
+ This program is distributed in the hope that it will be useful,
302
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
303
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
304
+ GNU General Public License for more details.
305
+
306
+ You should have received a copy of the GNU General Public License along
307
+ with this program; if not, write to the Free Software Foundation, Inc.,
308
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
309
+
310
+ Also add information on how to contact you by electronic and paper mail.
311
+
312
+ If the program is interactive, make it output a short notice like this
313
+ when it starts in an interactive mode:
314
+
315
+ Gnomovision version 69, Copyright (C) year name of author
316
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
317
+ This is free software, and you are welcome to redistribute it
318
+ under certain conditions; type `show c' for details.
319
+
320
+ The hypothetical commands `show w' and `show c' should show the appropriate
321
+ parts of the General Public License. Of course, the commands you use may
322
+ be called something other than `show w' and `show c'; they could even be
323
+ mouse-clicks or menu items--whatever suits your program.
324
+
325
+ You should also get your employer (if you work as a programmer) or your
326
+ school, if any, to sign a "copyright disclaimer" for the program, if
327
+ necessary. Here is a sample; alter the names:
328
+
329
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
330
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
331
+
332
+ <signature of Ty Coon>, 1 April 1989
333
+ Ty Coon, President of Vice
334
+
335
+ This General Public License does not permit incorporating your program into
336
+ proprietary programs. If your program is a subroutine library, you may
337
+ consider it more useful to permit linking proprietary applications with the
338
+ library. If this is what you want to do, use the GNU Lesser General
339
+ Public License instead of this License.
admin/js/plupload/plupload.flash.js ADDED
@@ -0,0 +1 @@
 
1
+ (function(f,b,d,e){var a={},g={};function c(){var h;try{h=navigator.plugins["Shockwave Flash"];h=h.description}catch(j){try{h=new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version")}catch(i){h="0.0"}}h=h.match(/\d+/g);return parseFloat(h[0]+"."+h[1])}d.flash={trigger:function(j,h,i){setTimeout(function(){var m=a[j],l,k;if(m){m.trigger("Flash:"+h,i)}},0)}};d.runtimes.Flash=d.addRuntime("flash",{getFeatures:function(){return{jpgresize:true,pngresize:true,maxWidth:8091,maxHeight:8091,chunks:true,progress:true,multipart:true,multi_selection:true}},init:function(m,o){var k,l,h=0,i=b.body;if(c()<10){o({success:false});return}g[m.id]=false;a[m.id]=m;k=b.getElementById(m.settings.browse_button);l=b.createElement("div");l.id=m.id+"_flash_container";d.extend(l.style,{position:"absolute",top:"0px",background:m.settings.shim_bgcolor||"transparent",zIndex:99999,width:"100%",height:"100%"});l.className="plupload flash";if(m.settings.container){i=b.getElementById(m.settings.container);if(d.getStyle(i,"position")==="static"){i.style.position="relative"}}i.appendChild(l);(function(){var p,q;p='<object id="'+m.id+'_flash" type="application/x-shockwave-flash" data="'+m.settings.flash_swf_url+'" ';if(d.ua.ie){p+='classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" '}p+='width="100%" height="100%" style="outline:0"><param name="movie" value="'+m.settings.flash_swf_url+'" /><param name="flashvars" value="id='+escape(m.id)+'" /><param name="wmode" value="transparent" /><param name="allowscriptaccess" value="always" /></object>';if(d.ua.ie){q=b.createElement("div");l.appendChild(q);q.outerHTML=p;q=null}else{l.innerHTML=p}}());function n(){return b.getElementById(m.id+"_flash")}function j(){if(h++>5000){o({success:false});return}if(g[m.id]===false){setTimeout(j,1)}}j();k=l=null;m.bind("Destroy",function(p){var q;d.removeAllEvents(b.body,p.id);delete g[p.id];delete a[p.id];q=b.getElementById(p.id+"_flash_container");if(q){q.parentNode.removeChild(q)}});m.bind("Flash:Init",function(){var r={},q;try{n().setFileFilters(m.settings.filters,m.settings.multi_selection)}catch(p){o({success:false});return}if(g[m.id]){return}g[m.id]=true;m.bind("UploadFile",function(s,u){var v=s.settings,t=m.settings.resize||{};n().uploadFile(r[u.id],v.url,{name:u.target_name||u.name,mime:d.mimeTypes[u.name.replace(/^.+\.([^.]+)/,"$1").toLowerCase()]||"application/octet-stream",chunk_size:v.chunk_size,width:t.width,height:t.height,quality:t.quality,multipart:v.multipart,multipart_params:v.multipart_params||{},file_data_name:v.file_data_name,format:/\.(jpg|jpeg)$/i.test(u.name)?"jpg":"png",headers:v.headers,urlstream_upload:v.urlstream_upload})});m.bind("CancelUpload",function(){n().cancelUpload()});m.bind("Flash:UploadProcess",function(t,s){var u=t.getFile(r[s.id]);if(u.status!=d.FAILED){u.loaded=s.loaded;u.size=s.size;t.trigger("UploadProgress",u)}});m.bind("Flash:UploadChunkComplete",function(s,u){var v,t=s.getFile(r[u.id]);v={chunk:u.chunk,chunks:u.chunks,response:u.text};s.trigger("ChunkUploaded",t,v);if(t.status!==d.FAILED&&s.state!==d.STOPPED){n().uploadNextChunk()}if(u.chunk==u.chunks-1){t.status=d.DONE;s.trigger("FileUploaded",t,{response:u.text})}});m.bind("Flash:SelectFiles",function(s,v){var u,t,w=[],x;for(t=0;t<v.length;t++){u=v[t];x=d.guid();r[x]=u.id;r[u.id]=x;w.push(new d.File(x,u.name,u.size))}if(w.length){m.trigger("FilesAdded",w)}});m.bind("Flash:SecurityError",function(s,t){m.trigger("Error",{code:d.SECURITY_ERROR,message:d.translate("Security error."),details:t.message,file:m.getFile(r[t.id])})});m.bind("Flash:GenericError",function(s,t){m.trigger("Error",{code:d.GENERIC_ERROR,message:d.translate("Generic error."),details:t.message,file:m.getFile(r[t.id])})});m.bind("Flash:IOError",function(s,t){m.trigger("Error",{code:d.IO_ERROR,message:d.translate("IO error."),details:t.message,file:m.getFile(r[t.id])})});m.bind("Flash:ImageError",function(s,t){m.trigger("Error",{code:parseInt(t.code,10),message:d.translate("Image error."),file:m.getFile(r[t.id])})});m.bind("Flash:StageEvent:rollOver",function(s){var t,u;t=b.getElementById(m.settings.browse_button);u=s.settings.browse_button_hover;if(t&&u){d.addClass(t,u)}});m.bind("Flash:StageEvent:rollOut",function(s){var t,u;t=b.getElementById(m.settings.browse_button);u=s.settings.browse_button_hover;if(t&&u){d.removeClass(t,u)}});m.bind("Flash:StageEvent:mouseDown",function(s){var t,u;t=b.getElementById(m.settings.browse_button);u=s.settings.browse_button_active;if(t&&u){d.addClass(t,u);d.addEvent(b.body,"mouseup",function(){d.removeClass(t,u)},s.id)}});m.bind("Flash:StageEvent:mouseUp",function(s){var t,u;t=b.getElementById(m.settings.browse_button);u=s.settings.browse_button_active;if(t&&u){d.removeClass(t,u)}});m.bind("Flash:ExifData",function(s,t){m.trigger("ExifData",m.getFile(r[t.id]),t.data)});m.bind("Flash:GpsData",function(s,t){m.trigger("GpsData",m.getFile(r[t.id]),t.data)});m.bind("QueueChanged",function(s){m.refresh()});m.bind("FilesRemoved",function(s,u){var t;for(t=0;t<u.length;t++){n().removeFile(r[u[t].id])}});m.bind("StateChanged",function(s){m.refresh()});m.bind("Refresh",function(s){var t,u,v;n().setFileFilters(m.settings.filters,m.settings.multi_selection);t=b.getElementById(s.settings.browse_button);if(t){u=d.getPos(t,b.getElementById(s.settings.container));v=d.getSize(t);d.extend(b.getElementById(s.id+"_flash_container").style,{top:u.y+"px",left:u.x+"px",width:v.w+"px",height:v.h+"px"})}});m.bind("DisableBrowse",function(s,t){n().disableBrowse(t)});o({success:true})})}})})(window,document,plupload);
admin/js/plupload/plupload.flash.swf ADDED
Binary file
admin/js/plupload/plupload.html4.js ADDED
@@ -0,0 +1 @@
 
1
+ (function(d,a,b,c){function e(f){return a.getElementById(f)}b.runtimes.Html4=b.addRuntime("html4",{getFeatures:function(){return{multipart:true,triggerDialog:(b.ua.gecko&&d.FormData||b.ua.webkit)}},init:function(f,g){f.bind("Init",function(p){var j=a.body,n,h="javascript",k,x,q,z=[],r=/MSIE/.test(navigator.userAgent),t=[],m=p.settings.filters,o,l,s,w;no_type_restriction:for(o=0;o<m.length;o++){l=m[o].extensions.split(/,/);for(w=0;w<l.length;w++){if(l[w]==="*"){t=[];break no_type_restriction}s=b.mimeTypes[l[w]];if(s&&b.inArray(s,t)===-1){t.push(s)}}}t=t.join(",");function v(){var B,y,i,A;q=b.guid();z.push(q);B=a.createElement("form");B.setAttribute("id","form_"+q);B.setAttribute("method","post");B.setAttribute("enctype","multipart/form-data");B.setAttribute("encoding","multipart/form-data");B.setAttribute("target",p.id+"_iframe");B.style.position="absolute";y=a.createElement("input");y.setAttribute("id","input_"+q);y.setAttribute("type","file");y.setAttribute("accept",t);y.setAttribute("size",1);A=e(p.settings.browse_button);if(p.features.triggerDialog&&A){b.addEvent(e(p.settings.browse_button),"click",function(C){if(!y.disabled){y.click()}C.preventDefault()},p.id)}b.extend(y.style,{width:"100%",height:"100%",opacity:0,fontSize:"99px",cursor:"pointer"});b.extend(B.style,{overflow:"hidden"});i=p.settings.shim_bgcolor;if(i){B.style.background=i}if(r){b.extend(y.style,{filter:"alpha(opacity=0)"})}b.addEvent(y,"change",function(F){var D=F.target,C,E=[],G;if(D.value){e("form_"+q).style.top=-1048575+"px";C=D.value.replace(/\\/g,"/");C=C.substring(C.length,C.lastIndexOf("/")+1);E.push(new b.File(q,C));if(!p.features.triggerDialog){b.removeAllEvents(B,p.id)}else{b.removeEvent(A,"click",p.id)}b.removeEvent(y,"change",p.id);v();if(E.length){f.trigger("FilesAdded",E)}}},p.id);B.appendChild(y);j.appendChild(B);p.refresh()}function u(){var i=a.createElement("div");i.innerHTML='<iframe id="'+p.id+'_iframe" name="'+p.id+'_iframe" src="'+h+':&quot;&quot;" style="display:none"></iframe>';n=i.firstChild;j.appendChild(n);b.addEvent(n,"load",function(C){var D=C.target,B,y;if(!k){return}try{B=D.contentWindow.document||D.contentDocument||d.frames[D.id].document}catch(A){p.trigger("Error",{code:b.SECURITY_ERROR,message:b.translate("Security error."),file:k});return}y=B.documentElement.innerText||B.documentElement.textContent;if(y){k.status=b.DONE;k.loaded=1025;k.percent=100;p.trigger("UploadProgress",k);p.trigger("FileUploaded",k,{response:y})}},p.id)}if(p.settings.container){j=e(p.settings.container);if(b.getStyle(j,"position")==="static"){j.style.position="relative"}}p.bind("UploadFile",function(i,A){var B,y;if(A.status==b.DONE||A.status==b.FAILED||i.state==b.STOPPED){return}B=e("form_"+A.id);y=e("input_"+A.id);y.setAttribute("name",i.settings.file_data_name);B.setAttribute("action",i.settings.url);b.each(b.extend({name:A.target_name||A.name},i.settings.multipart_params),function(E,C){var D=a.createElement("input");b.extend(D,{type:"hidden",name:C,value:E});B.insertBefore(D,B.firstChild)});k=A;e("form_"+q).style.top=-1048575+"px";B.submit()});p.bind("FileUploaded",function(i){i.refresh()});p.bind("StateChanged",function(i){if(i.state==b.STARTED){u()}else{if(i.state==b.STOPPED){d.setTimeout(function(){b.removeEvent(n,"load",i.id);if(n.parentNode){n.parentNode.removeChild(n)}},0)}}b.each(i.files,function(A,y){if(A.status===b.DONE||A.status===b.FAILED){var B=e("form_"+A.id);if(B){B.parentNode.removeChild(B)}}})});p.bind("Refresh",function(y){var F,A,B,C,i,G,H,E,D;F=e(y.settings.browse_button);if(F){i=b.getPos(F,e(y.settings.container));G=b.getSize(F);H=e("form_"+q);E=e("input_"+q);b.extend(H.style,{top:i.y+"px",left:i.x+"px",width:G.w+"px",height:G.h+"px"});if(y.features.triggerDialog){if(b.getStyle(F,"position")==="static"){b.extend(F.style,{position:"relative"})}D=parseInt(F.style.zIndex,10);if(isNaN(D)){D=0}b.extend(F.style,{zIndex:D});b.extend(H.style,{zIndex:D-1})}B=y.settings.browse_button_hover;C=y.settings.browse_button_active;A=y.features.triggerDialog?F:H;if(B){b.addEvent(A,"mouseover",function(){b.addClass(F,B)},y.id);b.addEvent(A,"mouseout",function(){b.removeClass(F,B)},y.id)}if(C){b.addEvent(A,"mousedown",function(){b.addClass(F,C)},y.id);b.addEvent(a.body,"mouseup",function(){b.removeClass(F,C)},y.id)}}});f.bind("FilesRemoved",function(y,B){var A,C;for(A=0;A<B.length;A++){C=e("form_"+B[A].id);if(C){C.parentNode.removeChild(C)}}});f.bind("DisableBrowse",function(i,A){var y=a.getElementById("input_"+q);if(y){y.disabled=A}});f.bind("Destroy",function(i){var y,A,B,C={inputContainer:"form_"+q,inputFile:"input_"+q,browseButton:i.settings.browse_button};for(y in C){A=e(C[y]);if(A){b.removeAllEvents(A,i.id)}}b.removeAllEvents(a.body,i.id);b.each(z,function(E,D){B=e("form_"+E);if(B){B.parentNode.removeChild(B)}})});v()});g({success:true})}})})(window,document,plupload);
admin/js/plupload/plupload.html5.js ADDED
@@ -0,0 +1 @@
 
1
+ (function(k,m,l,g){var d={},j;function c(s){var r=s.naturalWidth,u=s.naturalHeight;if(r*u>1024*1024){var t=m.createElement("canvas");t.width=t.height=1;var q=t.getContext("2d");q.drawImage(s,-r+1,0);return q.getImageData(0,0,1,1).data[3]===0}else{return false}}function f(u,r,z){var q=m.createElement("canvas");q.width=1;q.height=z;var A=q.getContext("2d");A.drawImage(u,0,0);var t=A.getImageData(0,0,1,z).data;var x=0;var v=z;var y=z;while(y>x){var s=t[(y-1)*4+3];if(s===0){v=y}else{x=y}y=(v+x)>>1}var w=(y/z);return(w===0)?1:w}function o(K,s,t){var v=K.naturalWidth,z=K.naturalHeight;var E=t.width,B=t.height;var F=s.getContext("2d");F.save();var r=c(K);if(r){v/=2;z/=2}var I=1024;var q=m.createElement("canvas");q.width=q.height=I;var u=q.getContext("2d");var G=f(K,v,z);var A=0;while(A<z){var J=A+I>z?z-A:I;var C=0;while(C<v){var D=C+I>v?v-C:I;u.clearRect(0,0,I,I);u.drawImage(K,-C,-A);var x=(C*E/v)<<0;var y=Math.ceil(D*E/v);var w=(A*B/z/G)<<0;var H=Math.ceil(J*B/z/G);F.drawImage(q,0,0,D,J,x,w,y,H);C+=I}A+=I}F.restore();q=u=null}function p(r,s){var q;if("FileReader" in k){q=new FileReader();q.readAsDataURL(r);q.onload=function(){s(q.result)}}else{return s(r.getAsDataURL())}}function n(r,s){var q;if("FileReader" in k){q=new FileReader();q.readAsBinaryString(r);q.onload=function(){s(q.result)}}else{return s(r.getAsBinary())}}function e(u,s,q,y){var t,r,x,v,w=this;p(d[u.id],function(z){t=m.createElement("canvas");t.style.display="none";m.body.appendChild(t);x=new Image();x.onerror=x.onabort=function(){y({success:false})};x.onload=function(){var F,A,C,B,E;if(!s.width){s.width=x.width}if(!s.height){s.height=x.height}v=Math.min(s.width/x.width,s.height/x.height);if(v<1){F=Math.round(x.width*v);A=Math.round(x.height*v)}else{if(s.quality&&q==="image/jpeg"){F=x.width;A=x.height}else{y({success:false});return}}t.width=F;t.height=A;o(x,t,{width:F,height:A});if(q==="image/jpeg"){B=new h(atob(z.substring(z.indexOf("base64,")+7)));if(B.headers&&B.headers.length){E=new a();if(E.init(B.get("exif")[0])){E.setExif("PixelXDimension",F);E.setExif("PixelYDimension",A);B.set("exif",E.getBinary());if(w.hasEventListener("ExifData")){w.trigger("ExifData",u,E.EXIF())}if(w.hasEventListener("GpsData")){w.trigger("GpsData",u,E.GPS())}}}}if(s.quality&&q==="image/jpeg"){try{z=t.toDataURL(q,s.quality/100)}catch(D){z=t.toDataURL(q)}}else{z=t.toDataURL(q)}z=z.substring(z.indexOf("base64,")+7);z=atob(z);if(B&&B.headers&&B.headers.length){z=B.restore(z);B.purge()}t.parentNode.removeChild(t);y({success:true,data:z})};x.src=z})}l.runtimes.Html5=l.addRuntime("html5",{getFeatures:function(){var v,r,u,t,s,q;r=u=s=q=false;if(k.XMLHttpRequest){v=new XMLHttpRequest();u=!!v.upload;r=!!(v.sendAsBinary||v.upload)}if(r){t=!!(v.sendAsBinary||(k.Uint8Array&&k.ArrayBuffer));s=!!(File&&(File.prototype.getAsDataURL||k.FileReader)&&t);q=!!(File&&(File.prototype.mozSlice||File.prototype.webkitSlice||File.prototype.slice))}j=l.ua.safari&&l.ua.windows;return{html5:r,dragdrop:(function(){var w=m.createElement("div");return("draggable" in w)||("ondragstart" in w&&"ondrop" in w)}()),jpgresize:s,pngresize:s,multipart:s||!!k.FileReader||!!k.FormData,canSendBinary:t,cantSendBlobInFormData:!!(l.ua.gecko&&k.FormData&&k.FileReader&&!FileReader.prototype.readAsArrayBuffer)||l.ua.android,progress:u,chunks:q,multi_selection:!(l.ua.safari&&l.ua.windows),triggerDialog:(l.ua.gecko&&k.FormData||l.ua.webkit)}},init:function(s,u){var q,t;function r(z){var x,w,y=[],A,v={};for(w=0;w<z.length;w++){x=z[w];if(v[x.name]&&l.ua.safari&&l.ua.windows){continue}v[x.name]=true;A=l.guid();d[A]=x;y.push(new l.File(A,x.fileName||x.name,x.fileSize||x.size))}if(y.length){s.trigger("FilesAdded",y)}}q=this.getFeatures();if(!q.html5){u({success:false});return}s.bind("Init",function(A){var J,I,F=[],z,G,w=A.settings.filters,x,E,v=m.body,H;J=m.createElement("div");J.id=A.id+"_html5_container";l.extend(J.style,{position:"absolute",background:s.settings.shim_bgcolor||"transparent",width:"100px",height:"100px",overflow:"hidden",zIndex:99999,opacity:s.settings.shim_bgcolor?"":0});J.className="plupload html5";if(s.settings.container){v=m.getElementById(s.settings.container);if(l.getStyle(v,"position")==="static"){v.style.position="relative"}}v.appendChild(J);no_type_restriction:for(z=0;z<w.length;z++){x=w[z].extensions.split(/,/);for(G=0;G<x.length;G++){if(x[G]==="*"){F=[];break no_type_restriction}E=l.mimeTypes[x[G]];if(E&&l.inArray(E,F)===-1){F.push(E)}}}J.innerHTML='<input id="'+s.id+'_html5" style="font-size:999px" type="file" accept="'+F.join(",")+'" '+(s.settings.multi_selection&&s.features.multi_selection?'multiple="multiple"':"")+" />";J.scrollTop=100;H=m.getElementById(s.id+"_html5");if(A.features.triggerDialog){l.extend(H.style,{position:"absolute",width:"100%",height:"100%"})}else{l.extend(H.style,{cssFloat:"right",styleFloat:"right"})}H.onchange=function(){r(this.files);this.value=""};I=m.getElementById(A.settings.browse_button);if(I){var C=A.settings.browse_button_hover,D=A.settings.browse_button_active,B=A.features.triggerDialog?I:J;if(C){l.addEvent(B,"mouseover",function(){l.addClass(I,C)},A.id);l.addEvent(B,"mouseout",function(){l.removeClass(I,C)},A.id)}if(D){l.addEvent(B,"mousedown",function(){l.addClass(I,D)},A.id);l.addEvent(m.body,"mouseup",function(){l.removeClass(I,D)},A.id)}if(A.features.triggerDialog){l.addEvent(I,"click",function(K){var y=m.getElementById(A.id+"_html5");if(y&&!y.disabled){y.click()}K.preventDefault()},A.id)}}});s.bind("PostInit",function(){var v=m.getElementById(s.settings.drop_element);if(v){if(j){l.addEvent(v,"dragenter",function(z){var y,w,x;y=m.getElementById(s.id+"_drop");if(!y){y=m.createElement("input");y.setAttribute("type","file");y.setAttribute("id",s.id+"_drop");y.setAttribute("multiple","multiple");l.addEvent(y,"change",function(){r(this.files);l.removeEvent(y,"change",s.id);y.parentNode.removeChild(y)},s.id);l.addEvent(y,"dragover",function(A){A.stopPropagation()},s.id);v.appendChild(y)}w=l.getPos(v,m.getElementById(s.settings.container));x=l.getSize(v);if(l.getStyle(v,"position")==="static"){l.extend(v.style,{position:"relative"})}l.extend(y.style,{position:"absolute",display:"block",top:0,left:0,width:x.w+"px",height:x.h+"px",opacity:0})},s.id);return}l.addEvent(v,"dragover",function(w){w.preventDefault()},s.id);l.addEvent(v,"drop",function(x){var w=x.dataTransfer;if(w&&w.files){r(w.files)}x.preventDefault()},s.id)}});s.bind("Refresh",function(v){var w,x,y,A,z;w=m.getElementById(s.settings.browse_button);if(w){x=l.getPos(w,m.getElementById(v.settings.container));y=l.getSize(w);A=m.getElementById(s.id+"_html5_container");l.extend(A.style,{top:x.y+"px",left:x.x+"px",width:y.w+"px",height:y.h+"px"});if(s.features.triggerDialog){if(l.getStyle(w,"position")==="static"){l.extend(w.style,{position:"relative"})}z=parseInt(l.getStyle(w,"zIndex"),10);if(isNaN(z)){z=0}l.extend(w.style,{zIndex:z});l.extend(A.style,{zIndex:z-1})}}});s.bind("DisableBrowse",function(v,x){var w=m.getElementById(v.id+"_html5");if(w){w.disabled=x}});s.bind("CancelUpload",function(){if(t&&t.abort){t.abort()}});s.bind("UploadFile",function(v,x){var y=v.settings,B,w;function A(D,G,C){var E;if(File.prototype.slice){try{D.slice();return D.slice(G,C)}catch(F){return D.slice(G,C-G)}}else{if(E=File.prototype.webkitSlice||File.prototype.mozSlice){return E.call(D,G,C)}else{return null}}}function z(C){var F=0,E=0;function D(){var L,P,N,O,K,M,H,G=v.settings.url;function J(S){if(t.sendAsBinary){t.sendAsBinary(S)}else{if(v.features.canSendBinary){var Q=new Uint8Array(S.length);for(var R=0;R<S.length;R++){Q[R]=(S.charCodeAt(R)&255)}t.send(Q.buffer)}}}function I(R){var V=0,W="----pluploadboundary"+l.guid(),T,S="--",U="\r\n",Q="";t=new XMLHttpRequest;if(t.upload){t.upload.onprogress=function(X){x.loaded=Math.min(x.size,E+X.loaded-V);v.trigger("UploadProgress",x)}}t.onreadystatechange=function(){var X,Z;if(t.readyState==4&&v.state!==l.STOPPED){try{X=t.status}catch(Y){X=0}if(X>=400){v.trigger("Error",{code:l.HTTP_ERROR,message:l.translate("HTTP Error."),file:x,status:X})}else{if(N){Z={chunk:F,chunks:N,response:t.responseText,status:X};v.trigger("ChunkUploaded",x,Z);E+=M;if(Z.cancelled){x.status=l.FAILED;return}x.loaded=Math.min(x.size,(F+1)*K)}else{x.loaded=x.size}v.trigger("UploadProgress",x);R=L=T=Q=null;if(!N||++F>=N){x.status=l.DONE;v.trigger("FileUploaded",x,{response:t.responseText,status:X})}else{D()}}}};if(v.settings.multipart&&q.multipart){O.name=x.target_name||x.name;t.open("post",G,true);l.each(v.settings.headers,function(Y,X){t.setRequestHeader(X,Y)});if(typeof(R)!=="string"&&!!k.FormData){T=new FormData();l.each(l.extend(O,v.settings.multipart_params),function(Y,X){T.append(X,Y)});T.append(v.settings.file_data_name,R);t.send(T);return}if(typeof(R)==="string"){t.setRequestHeader("Content-Type","multipart/form-data; boundary="+W);l.each(l.extend(O,v.settings.multipart_params),function(Y,X){Q+=S+W+U+'Content-Disposition: form-data; name="'+X+'"'+U+U;Q+=unescape(encodeURIComponent(Y))+U});H=l.mimeTypes[x.name.replace(/^.+\.([^.]+)/,"$1").toLowerCase()]||"application/octet-stream";Q+=S+W+U+'Content-Disposition: form-data; name="'+v.settings.file_data_name+'"; filename="'+unescape(encodeURIComponent(x.name))+'"'+U+"Content-Type: "+H+U+U+R+U+S+W+S+U;V=Q.length-R.length;R=Q;J(R);return}}G=l.buildUrl(v.settings.url,l.extend(O,v.settings.multipart_params));t.open("post",G,true);t.setRequestHeader("Content-Type","application/octet-stream");l.each(v.settings.headers,function(Y,X){t.setRequestHeader(X,Y)});if(typeof(R)==="string"){J(R)}else{t.send(R)}}if(x.status==l.DONE||x.status==l.FAILED||v.state==l.STOPPED){return}O={name:x.target_name||x.name};if(y.chunk_size&&x.size>y.chunk_size&&(q.chunks||typeof(C)=="string")){K=y.chunk_size;N=Math.ceil(x.size/K);M=Math.min(K,x.size-(F*K));if(typeof(C)=="string"){L=C.substring(F*K,F*K+M)}else{L=A(C,F*K,F*K+M)}O.chunk=F;O.chunks=N}else{M=x.size;L=C}if(v.settings.multipart&&q.multipart&&typeof(L)!=="string"&&k.FileReader&&q.cantSendBlobInFormData&&q.chunks&&v.settings.chunk_size){(function(){var Q=new FileReader();Q.onload=function(){I(Q.result);Q=null};Q.readAsBinaryString(L)}())}else{I(L)}}D()}B=d[x.id];if(q.jpgresize&&v.settings.resize&&/\.(png|jpg|jpeg)$/i.test(x.name)){e.call(v,x,v.settings.resize,/\.png$/i.test(x.name)?"image/png":"image/jpeg",function(C){if(C.success){x.size=C.data.length;z(C.data)}else{if(q.chunks){z(B)}else{n(B,z)}}})}else{if(!q.chunks&&q.jpgresize){n(B,z)}else{z(B)}}});s.bind("Destroy",function(v){var x,y,w=m.body,z={inputContainer:v.id+"_html5_container",inputFile:v.id+"_html5",browseButton:v.settings.browse_button,dropElm:v.settings.drop_element};for(x in z){y=m.getElementById(z[x]);if(y){l.removeAllEvents(y,v.id)}}l.removeAllEvents(m.body,v.id);if(v.settings.container){w=m.getElementById(v.settings.container)}w.removeChild(m.getElementById(z.inputContainer))});u({success:true})}});function b(){var t=false,r;function u(w,y){var v=t?0:-8*(y-1),z=0,x;for(x=0;x<y;x++){z|=(r.charCodeAt(w+x)<<Math.abs(v+x*8))}return z}function q(x,v,w){var w=arguments.length===3?w:r.length-v-1;r=r.substr(0,v)+x+r.substr(w+v)}function s(w,x,z){var A="",v=t?0:-8*(z-1),y;for(y=0;y<z;y++){A+=String.fromCharCode((x>>Math.abs(v+y*8))&255)}q(A,w,z)}return{II:function(v){if(v===g){return t}else{t=v}},init:function(v){t=false;r=v},SEGMENT:function(v,x,w){switch(arguments.length){case 1:return r.substr(v,r.length-v-1);case 2:return r.substr(v,x);case 3:q(w,v,x);break;default:return r}},BYTE:function(v){return u(v,1)},SHORT:function(v){return u(v,2)},LONG:function(v,w){if(w===g){return u(v,4)}else{s(v,w,4)}},SLONG:function(v){var w=u(v,4);return(w>2147483647?w-4294967296:w)},STRING:function(v,w){var x="";for(w+=v;v<w;v++){x+=String.fromCharCode(u(v,1))}return x}}}function h(v){var x={65505:{app:"EXIF",name:"APP1",signature:"Exif\0"},65506:{app:"ICC",name:"APP2",signature:"ICC_PROFILE\0"},65517:{app:"IPTC",name:"APP13",signature:"Photoshop 3.0\0"}},w=[],u,q,s=g,t=0,r;u=new b();u.init(v);if(u.SHORT(0)!==65496){return}q=2;r=Math.min(1048576,v.length);while(q<=r){s=u.SHORT(q);if(s>=65488&&s<=65495){q+=2;continue}if(s===65498||s===65497){break}t=u.SHORT(q+2)+2;if(x[s]&&u.STRING(q+4,x[s].signature.length)===x[s].signature){w.push({hex:s,app:x[s].app.toUpperCase(),name:x[s].name.toUpperCase(),start:q,length:t,segment:u.SEGMENT(q,t)})}q+=t}u.init(null);return{headers:w,restore:function(B){u.init(B);var z=new h(B);if(!z.headers){return false}for(var A=z.headers.length;A>0;A--){var C=z.headers[A-1];u.SEGMENT(C.start,C.length,"")}z.purge();q=u.SHORT(2)==65504?4+u.SHORT(4):2;for(var A=0,y=w.length;A<y;A++){u.SEGMENT(q,0,w[A].segment);q+=w[A].length}return u.SEGMENT()},get:function(A){var B=[];for(var z=0,y=w.length;z<y;z++){if(w[z].app===A.toUpperCase()){B.push(w[z].segment)}}return B},set:function(B,A){var C=[];if(typeof(A)==="string"){C.push(A)}else{C=A}for(var z=ii=0,y=w.length;z<y;z++){if(w[z].app===B.toUpperCase()){w[z].segment=C[ii];w[z].length=C[ii].length;ii++}if(ii>=C.length){break}}},purge:function(){w=[];u.init(null)}}}function a(){var t,q,r={},w;t=new b();q={tiff:{274:"Orientation",34665:"ExifIFDPointer",34853:"GPSInfoIFDPointer"},exif:{36864:"ExifVersion",40961:"ColorSpace",40962:"PixelXDimension",40963:"PixelYDimension",36867:"DateTimeOriginal",33434:"ExposureTime",33437:"FNumber",34855:"ISOSpeedRatings",37377:"ShutterSpeedValue",37378:"ApertureValue",37383:"MeteringMode",37384:"LightSource",37385:"Flash",41986:"ExposureMode",41987:"WhiteBalance",41990:"SceneCaptureType",41988:"DigitalZoomRatio",41992:"Contrast",41993:"Saturation",41994:"Sharpness"},gps:{0:"GPSVersionID",1:"GPSLatitudeRef",2:"GPSLatitude",3:"GPSLongitudeRef",4:"GPSLongitude"}};w={ColorSpace:{1:"sRGB",0:"Uncalibrated"},MeteringMode:{0:"Unknown",1:"Average",2:"CenterWeightedAverage",3:"Spot",4:"MultiSpot",5:"Pattern",6:"Partial",255:"Other"},LightSource:{1:"Daylight",2:"Fliorescent",3:"Tungsten",4:"Flash",9:"Fine weather",10:"Cloudy weather",11:"Shade",12:"Daylight fluorescent (D 5700 - 7100K)",13:"Day white fluorescent (N 4600 -5400K)",14:"Cool white fluorescent (W 3900 - 4500K)",15:"White fluorescent (WW 3200 - 3700K)",17:"Standard light A",18:"Standard light B",19:"Standard light C",20:"D55",21:"D65",22:"D75",23:"D50",24:"ISO studio tungsten",255:"Other"},Flash:{0:"Flash did not fire.",1:"Flash fired.",5:"Strobe return light not detected.",7:"Strobe return light detected.",9:"Flash fired, compulsory flash mode",13:"Flash fired, compulsory flash mode, return light not detected",15:"Flash fired, compulsory flash mode, return light detected",16:"Flash did not fire, compulsory flash mode",24:"Flash did not fire, auto mode",25:"Flash fired, auto mode",29:"Flash fired, auto mode, return light not detected",31:"Flash fired, auto mode, return light detected",32:"No flash function",65:"Flash fired, red-eye reduction mode",69:"Flash fired, red-eye reduction mode, return light not detected",71:"Flash fired, red-eye reduction mode, return light detected",73:"Flash fired, compulsory flash mode, red-eye reduction mode",77:"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",79:"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",89:"Flash fired, auto mode, red-eye reduction mode",93:"Flash fired, auto mode, return light not detected, red-eye reduction mode",95:"Flash fired, auto mode, return light detected, red-eye reduction mode"},ExposureMode:{0:"Auto exposure",1:"Manual exposure",2:"Auto bracket"},WhiteBalance:{0:"Auto white balance",1:"Manual white balance"},SceneCaptureType:{0:"Standard",1:"Landscape",2:"Portrait",3:"Night scene"},Contrast:{0:"Normal",1:"Soft",2:"Hard"},Saturation:{0:"Normal",1:"Low saturation",2:"High saturation"},Sharpness:{0:"Normal",1:"Soft",2:"Hard"},GPSLatitudeRef:{N:"North latitude",S:"South latitude"},GPSLongitudeRef:{E:"East longitude",W:"West longitude"}};function s(x,F){var z=t.SHORT(x),C,I,J,E,D,y,A,G,H=[],B={};for(C=0;C<z;C++){A=y=x+12*C+2;J=F[t.SHORT(A)];if(J===g){continue}E=t.SHORT(A+=2);D=t.LONG(A+=2);A+=4;H=[];switch(E){case 1:case 7:if(D>4){A=t.LONG(A)+r.tiffHeader}for(I=0;I<D;I++){H[I]=t.BYTE(A+I)}break;case 2:if(D>4){A=t.LONG(A)+r.tiffHeader}B[J]=t.STRING(A,D-1);continue;case 3:if(D>2){A=t.LONG(A)+r.tiffHeader}for(I=0;I<D;I++){H[I]=t.SHORT(A+I*2)}break;case 4:if(D>1){A=t.LONG(A)+r.tiffHeader}for(I=0;I<D;I++){H[I]=t.LONG(A+I*4)}break;case 5:A=t.LONG(A)+r.tiffHeader;for(I=0;I<D;I++){H[I]=t.LONG(A+I*4)/t.LONG(A+I*4+4)}break;case 9:A=t.LONG(A)+r.tiffHeader;for(I=0;I<D;I++){H[I]=t.SLONG(A+I*4)}break;case 10:A=t.LONG(A)+r.tiffHeader;for(I=0;I<D;I++){H[I]=t.SLONG(A+I*4)/t.SLONG(A+I*4+4)}break;default:continue}G=(D==1?H[0]:H);if(w.hasOwnProperty(J)&&typeof G!="object"){B[J]=w[J][G]}else{B[J]=G}}return B}function v(){var y=g,x=r.tiffHeader;t.II(t.SHORT(x)==18761);if(t.SHORT(x+=2)!==42){return false}r.IFD0=r.tiffHeader+t.LONG(x+=2);y=s(r.IFD0,q.tiff);r.exifIFD=("ExifIFDPointer" in y?r.tiffHeader+y.ExifIFDPointer:g);r.gpsIFD=("GPSInfoIFDPointer" in y?r.tiffHeader+y.GPSInfoIFDPointer:g);return true}function u(z,x,C){var E,B,A,D=0;if(typeof(x)==="string"){var y=q[z.toLowerCase()];for(hex in y){if(y[hex]===x){x=hex;break}}}E=r[z.toLowerCase()+"IFD"];B=t.SHORT(E);for(i=0;i<B;i++){A=E+12*i+2;if(t.SHORT(A)==x){D=A+8;break}}if(!D){return false}t.LONG(D,C);return true}return{init:function(x){r={tiffHeader:10};if(x===g||!x.length){return false}t.init(x);if(t.SHORT(0)===65505&&t.STRING(4,5).toUpperCase()==="EXIF\0"){return v()}return false},EXIF:function(){var y;y=s(r.exifIFD,q.exif);if(y.ExifVersion&&l.typeOf(y.ExifVersion)==="array"){for(var z=0,x="";z<y.ExifVersion.length;z++){x+=String.fromCharCode(y.ExifVersion[z])}y.ExifVersion=x}return y},GPS:function(){var x;x=s(r.gpsIFD,q.gps);if(x.GPSVersionID){x.GPSVersionID=x.GPSVersionID.join(".")}return x},setExif:function(x,y){if(x!=="PixelXDimension"&&x!=="PixelYDimension"){return false}return u("exif",x,y)},getBinary:function(){return t.SEGMENT()}}}})(window,document,plupload);
admin/js/plupload/plupload.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /*1.5.7*/
2
+ (function(){var f=0,k=[],m={},i={},a={"<":"lt",">":"gt","&":"amp",'"':"quot","'":"#39"},l=/[<>&\"\']/g,b,c=window.setTimeout,d={},e;function h(){this.returnValue=false}function j(){this.cancelBubble=true}(function(n){var o=n.split(/,/),p,r,q;for(p=0;p<o.length;p+=2){q=o[p+1].split(/ /);for(r=0;r<q.length;r++){i[q[r]]=o[p]}}})("application/msword,doc dot,application/pdf,pdf,application/pgp-signature,pgp,application/postscript,ps ai eps,application/rtf,rtf,application/vnd.ms-excel,xls xlb,application/vnd.ms-powerpoint,ppt pps pot,application/zip,zip,application/x-shockwave-flash,swf swfl,application/vnd.openxmlformats-officedocument.wordprocessingml.document,docx,application/vnd.openxmlformats-officedocument.wordprocessingml.template,dotx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,xlsx,application/vnd.openxmlformats-officedocument.presentationml.presentation,pptx,application/vnd.openxmlformats-officedocument.presentationml.template,potx,application/vnd.openxmlformats-officedocument.presentationml.slideshow,ppsx,application/x-javascript,js,application/json,json,audio/mpeg,mpga mpega mp2 mp3,audio/x-wav,wav,audio/mp4,m4a,image/bmp,bmp,image/gif,gif,image/jpeg,jpeg jpg jpe,image/photoshop,psd,image/png,png,image/svg+xml,svg svgz,image/tiff,tiff tif,text/plain,asc txt text diff log,text/html,htm html xhtml,text/css,css,text/csv,csv,text/rtf,rtf,video/mpeg,mpeg mpg mpe m2v,video/quicktime,qt mov,video/mp4,mp4,video/x-m4v,m4v,video/x-flv,flv,video/x-ms-wmv,wmv,video/avi,avi,video/webm,webm,video/3gpp,3gp,video/3gpp2,3g2,video/vnd.rn-realvideo,rv,application/vnd.oasis.opendocument.formula-template,otf,application/octet-stream,exe");var g={VERSION:"1.5.7",STOPPED:1,STARTED:2,QUEUED:1,UPLOADING:2,FAILED:4,DONE:5,GENERIC_ERROR:-100,HTTP_ERROR:-200,IO_ERROR:-300,SECURITY_ERROR:-400,INIT_ERROR:-500,FILE_SIZE_ERROR:-600,FILE_EXTENSION_ERROR:-601,IMAGE_FORMAT_ERROR:-700,IMAGE_MEMORY_ERROR:-701,IMAGE_DIMENSIONS_ERROR:-702,mimeTypes:i,ua:(function(){var r=navigator,q=r.userAgent,s=r.vendor,o,n,p;o=/WebKit/.test(q);p=o&&s.indexOf("Apple")!==-1;n=window.opera&&window.opera.buildNumber;return{windows:navigator.platform.indexOf("Win")!==-1,android:/Android/.test(q),ie:!o&&!n&&(/MSIE/gi).test(q)&&(/Explorer/gi).test(r.appName),webkit:o,gecko:!o&&/Gecko/.test(q),safari:p,opera:!!n}}()),typeOf:function(n){return({}).toString.call(n).match(/\s([a-z|A-Z]+)/)[1].toLowerCase()},extend:function(n){g.each(arguments,function(o,p){if(p>0){g.each(o,function(r,q){n[q]=r})}});return n},cleanName:function(n){var o,p;p=[/[\300-\306]/g,"A",/[\340-\346]/g,"a",/\307/g,"C",/\347/g,"c",/[\310-\313]/g,"E",/[\350-\353]/g,"e",/[\314-\317]/g,"I",/[\354-\357]/g,"i",/\321/g,"N",/\361/g,"n",/[\322-\330]/g,"O",/[\362-\370]/g,"o",/[\331-\334]/g,"U",/[\371-\374]/g,"u"];for(o=0;o<p.length;o+=2){n=n.replace(p[o],p[o+1])}n=n.replace(/\s+/g,"_");n=n.replace(/[^a-z0-9_\-\.]+/gi,"");return n},addRuntime:function(n,o){o.name=n;k[n]=o;k.push(o);return o},guid:function(){var n=new Date().getTime().toString(32),o;for(o=0;o<5;o++){n+=Math.floor(Math.random()*65535).toString(32)}return(g.guidPrefix||"p")+n+(f++).toString(32)},buildUrl:function(o,n){var p="";g.each(n,function(r,q){p+=(p?"&":"")+encodeURIComponent(q)+"="+encodeURIComponent(r)});if(p){o+=(o.indexOf("?")>0?"&":"?")+p}return o},each:function(q,r){var p,o,n;if(q){p=q.length;if(p===b){for(o in q){if(q.hasOwnProperty(o)){if(r(q[o],o)===false){return}}}}else{for(n=0;n<p;n++){if(r(q[n],n)===false){return}}}}},formatSize:function(n){if(n===b||/\D/.test(n)){return g.translate("N/A")}if(n>1073741824){return Math.round(n/1073741824,1)+" GB"}if(n>1048576){return Math.round(n/1048576,1)+" MB"}if(n>1024){return Math.round(n/1024,1)+" KB"}return n+" b"},getPos:function(o,s){var t=0,r=0,v,u=document,p,q;o=o;s=s||u.body;function n(B){var z,A,w=0,C=0;if(B){A=B.getBoundingClientRect();z=u.compatMode==="CSS1Compat"?u.documentElement:u.body;w=A.left+z.scrollLeft;C=A.top+z.scrollTop}return{x:w,y:C}}if(o&&o.getBoundingClientRect&&g.ua.ie&&(!u.documentMode||u.documentMode<8)){p=n(o);q=n(s);return{x:p.x-q.x,y:p.y-q.y}}v=o;while(v&&v!=s&&v.nodeType){t+=v.offsetLeft||0;r+=v.offsetTop||0;v=v.offsetParent}v=o.parentNode;while(v&&v!=s&&v.nodeType){t-=v.scrollLeft||0;r-=v.scrollTop||0;v=v.parentNode}return{x:t,y:r}},getSize:function(n){return{w:n.offsetWidth||n.clientWidth,h:n.offsetHeight||n.clientHeight}},parseSize:function(n){var o;if(typeof(n)=="string"){n=/^([0-9]+)([mgk]?)$/.exec(n.toLowerCase().replace(/[^0-9mkg]/g,""));o=n[2];n=+n[1];if(o=="g"){n*=1073741824}if(o=="m"){n*=1048576}if(o=="k"){n*=1024}}return n},xmlEncode:function(n){return n?(""+n).replace(l,function(o){return a[o]?"&"+a[o]+";":o}):n},toArray:function(p){var o,n=[];for(o=0;o<p.length;o++){n[o]=p[o]}return n},inArray:function(p,q){if(q){if(Array.prototype.indexOf){return Array.prototype.indexOf.call(q,p)}for(var n=0,o=q.length;n<o;n++){if(q[n]===p){return n}}}return -1},addI18n:function(n){return g.extend(m,n)},translate:function(n){return m[n]||n},isEmptyObj:function(n){if(n===b){return true}for(var o in n){return false}return true},hasClass:function(p,o){var n;if(p.className==""){return false}n=new RegExp("(^|\\s+)"+o+"(\\s+|$)");return n.test(p.className)},addClass:function(o,n){if(!g.hasClass(o,n)){o.className=o.className==""?n:o.className.replace(/\s+$/,"")+" "+n}},removeClass:function(p,o){var n=new RegExp("(^|\\s+)"+o+"(\\s+|$)");p.className=p.className.replace(n,function(r,q,s){return q===" "&&s===" "?" ":""})},getStyle:function(o,n){if(o.currentStyle){return o.currentStyle[n]}else{if(window.getComputedStyle){return window.getComputedStyle(o,null)[n]}}},addEvent:function(s,n,t){var r,q,p,o;o=arguments[3];n=n.toLowerCase();if(e===b){e="Plupload_"+g.guid()}if(s.addEventListener){r=t;s.addEventListener(n,r,false)}else{if(s.attachEvent){r=function(){var u=window.event;if(!u.target){u.target=u.srcElement}u.preventDefault=h;u.stopPropagation=j;t(u)};s.attachEvent("on"+n,r)}}if(s[e]===b){s[e]=g.guid()}if(!d.hasOwnProperty(s[e])){d[s[e]]={}}q=d[s[e]];if(!q.hasOwnProperty(n)){q[n]=[]}q[n].push({func:r,orig:t,key:o})},removeEvent:function(s,n){var q,t,p;if(typeof(arguments[2])=="function"){t=arguments[2]}else{p=arguments[2]}n=n.toLowerCase();if(s[e]&&d[s[e]]&&d[s[e]][n]){q=d[s[e]][n]}else{return}for(var o=q.length-1;o>=0;o--){if(q[o].key===p||q[o].orig===t){if(s.removeEventListener){s.removeEventListener(n,q[o].func,false)}else{if(s.detachEvent){s.detachEvent("on"+n,q[o].func)}}q[o].orig=null;q[o].func=null;q.splice(o,1);if(t!==b){break}}}if(!q.length){delete d[s[e]][n]}if(g.isEmptyObj(d[s[e]])){delete d[s[e]];try{delete s[e]}catch(r){s[e]=b}}},removeAllEvents:function(o){var n=arguments[1];if(o[e]===b||!o[e]){return}g.each(d[o[e]],function(q,p){g.removeEvent(o,p,n)})}};g.Uploader=function(r){var o={},u,t=[],q,p=false;u=new g.QueueProgress();r=g.extend({chunk_size:0,multipart:true,multi_selection:true,file_data_name:"file",filters:[]},r);function s(){var w,x=0,v;if(this.state==g.STARTED){for(v=0;v<t.length;v++){if(!w&&t[v].status==g.QUEUED){w=t[v];w.status=g.UPLOADING;if(this.trigger("BeforeUpload",w)){this.trigger("UploadFile",w)}}else{x++}}if(x==t.length){this.stop();this.trigger("UploadComplete",t)}}}function n(){var w,v;u.reset();for(w=0;w<t.length;w++){v=t[w];if(v.size!==b){u.size+=v.size;u.loaded+=v.loaded}else{u.size=b}if(v.status==g.DONE){u.uploaded++}else{if(v.status==g.FAILED){u.failed++}else{u.queued++}}}if(u.size===b){u.percent=t.length>0?Math.ceil(u.uploaded/t.length*100):0}else{u.bytesPerSec=Math.ceil(u.loaded/((+new Date()-q||1)/1000));u.percent=u.size>0?Math.ceil(u.loaded/u.size*100):0}}g.extend(this,{state:g.STOPPED,runtime:"",features:{},files:t,settings:r,total:u,id:g.guid(),init:function(){var A=this,B,x,w,z=0,y;if(typeof(r.preinit)=="function"){r.preinit(A)}else{g.each(r.preinit,function(D,C){A.bind(C,D)})}r.page_url=r.page_url||document.location.pathname.replace(/\/[^\/]+$/g,"/");if(!/^(\w+:\/\/|\/)/.test(r.url)){r.url=r.page_url+r.url}r.chunk_size=g.parseSize(r.chunk_size);r.max_file_size=g.parseSize(r.max_file_size);A.bind("FilesAdded",function(C,F){var E,D,H=0,I,G=r.filters;if(G&&G.length){I=[];g.each(G,function(J){g.each(J.extensions.split(/,/),function(K){if(/^\s*\*\s*$/.test(K)){I.push("\\.*")}else{I.push("\\."+K.replace(new RegExp("["+("/^$.*+?|()[]{}\\".replace(/./g,"\\$&"))+"]","g"),"\\$&"))}})});I=new RegExp(I.join("|")+"$","i")}for(E=0;E<F.length;E++){D=F[E];D.loaded=0;D.percent=0;D.status=g.QUEUED;if(I&&!I.test(D.name)){C.trigger("Error",{code:g.FILE_EXTENSION_ERROR,message:g.translate("File extension error."),file:D});continue}if(D.size!==b&&D.size>r.max_file_size){C.trigger("Error",{code:g.FILE_SIZE_ERROR,message:g.translate("File size error."),file:D});continue}t.push(D);H++}if(H){c(function(){A.trigger("QueueChanged");A.refresh()},1)}else{return false}});if(r.unique_names){A.bind("UploadFile",function(C,D){var F=D.name.match(/\.([^.]+)$/),E="tmp";if(F){E=F[1]}D.target_name=D.id+"."+E})}A.bind("UploadProgress",function(C,D){D.percent=D.size>0?Math.ceil(D.loaded/D.size*100):100;n()});A.bind("StateChanged",function(C){if(C.state==g.STARTED){q=(+new Date())}else{if(C.state==g.STOPPED){for(B=C.files.length-1;B>=0;B--){if(C.files[B].status==g.UPLOADING){C.files[B].status=g.QUEUED;n()}}}}});A.bind("QueueChanged",n);A.bind("Error",function(C,D){if(D.file){D.file.status=g.FAILED;n();if(C.state==g.STARTED){c(function(){s.call(A)},1)}}});A.bind("FileUploaded",function(C,D){D.status=g.DONE;D.loaded=D.size;C.trigger("UploadProgress",D);c(function(){s.call(A)},1)});if(r.runtimes){x=[];y=r.runtimes.split(/\s?,\s?/);for(B=0;B<y.length;B++){if(k[y[B]]){x.push(k[y[B]])}}}else{x=k}function v(){var F=x[z++],E,C,D;if(F){E=F.getFeatures();C=A.settings.required_features;if(C){C=C.split(",");for(D=0;D<C.length;D++){if(!E[C[D]]){v();return}}}F.init(A,function(G){if(G&&G.success){A.features=E;A.runtime=F.name;A.trigger("Init",{runtime:F.name});A.trigger("PostInit");A.refresh()}else{v()}})}else{A.trigger("Error",{code:g.INIT_ERROR,message:g.translate("Init error.")})}}v();if(typeof(r.init)=="function"){r.init(A)}else{g.each(r.init,function(D,C){A.bind(C,D)})}},refresh:function(){this.trigger("Refresh")},start:function(){if(t.length&&this.state!=g.STARTED){this.state=g.STARTED;this.trigger("StateChanged");s.call(this)}},stop:function(){if(this.state!=g.STOPPED){this.state=g.STOPPED;this.trigger("CancelUpload");this.trigger("StateChanged")}},disableBrowse:function(){p=arguments[0]!==b?arguments[0]:true;this.trigger("DisableBrowse",p)},getFile:function(w){var v;for(v=t.length-1;v>=0;v--){if(t[v].id===w){return t[v]}}},removeFile:function(w){var v;for(v=t.length-1;v>=0;v--){if(t[v].id===w.id){return this.splice(v,1)[0]}}},splice:function(x,v){var w;w=t.splice(x===b?0:x,v===b?t.length:v);this.trigger("FilesRemoved",w);this.trigger("QueueChanged");return w},trigger:function(w){var y=o[w.toLowerCase()],x,v;if(y){v=Array.prototype.slice.call(arguments);v[0]=this;for(x=0;x<y.length;x++){if(y[x].func.apply(y[x].scope,v)===false){return false}}}return true},hasEventListener:function(v){return !!o[v.toLowerCase()]},bind:function(v,x,w){var y;v=v.toLowerCase();y=o[v]||[];y.push({func:x,scope:w||this});o[v]=y},unbind:function(v){v=v.toLowerCase();var y=o[v],w,x=arguments[1];if(y){if(x!==b){for(w=y.length-1;w>=0;w--){if(y[w].func===x){y.splice(w,1);break}}}else{y=[]}if(!y.length){delete o[v]}}},unbindAll:function(){var v=this;g.each(o,function(x,w){v.unbind(w)})},destroy:function(){this.stop();this.trigger("Destroy");this.unbindAll()}})};g.File=function(q,o,p){var n=this;n.id=q;n.name=o;n.size=p;n.loaded=0;n.percent=0;n.status=0};g.Runtime=function(){this.getFeatures=function(){};this.init=function(n,o){}};g.QueueProgress=function(){var n=this;n.size=0;n.loaded=0;n.uploaded=0;n.failed=0;n.queued=0;n.percent=0;n.bytesPerSec=0;n.reset=function(){n.size=n.loaded=n.uploaded=n.failed=n.queued=n.percent=n.bytesPerSec=0}};g.runtimes={};window.plupload=g})();
admin/js/script.js CHANGED
@@ -133,7 +133,7 @@ function alternate_flag_e(t, ExtendVar){
133
  instance.addEventHandler(window.Code.PhotoSwipe.EventTypes.onBeforeShow, function(e){
134
  jQuery(window).scrollLeft(0).scrollTop(0);
135
  jQuery('meta[name=viewport]').attr('content','width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0');
136
- window.location.hash = '#OpenGallery';
137
  });
138
  // onShow - store a reference to our "say hi" button
139
  instance.addEventHandler(window.Code.PhotoSwipe.EventTypes.onShow, function(e){
@@ -151,7 +151,7 @@ function alternate_flag_e(t, ExtendVar){
151
  } else {
152
  jQuery('meta[name=viewport]').attr('content',metaViewport);
153
  }
154
- window.location.hash = '#CloseGallery';
155
  });
156
  // onDisplayImage
157
  instance.addEventHandler(window.Code.PhotoSwipe.EventTypes.onDisplayImage, function(e){
133
  instance.addEventHandler(window.Code.PhotoSwipe.EventTypes.onBeforeShow, function(e){
134
  jQuery(window).scrollLeft(0).scrollTop(0);
135
  jQuery('meta[name=viewport]').attr('content','width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0');
136
+ //window.location.hash = '#OpenGallery';
137
  });
138
  // onShow - store a reference to our "say hi" button
139
  instance.addEventHandler(window.Code.PhotoSwipe.EventTypes.onShow, function(e){
151
  } else {
152
  jQuery('meta[name=viewport]').attr('content',metaViewport);
153
  }
154
+ //window.location.hash = '#CloseGallery';
155
  });
156
  // onDisplayImage
157
  instance.addEventHandler(window.Code.PhotoSwipe.EventTypes.onDisplayImage, function(e){
admin/js/swfupload.handler.js DELETED
@@ -1,155 +0,0 @@
1
- /**
2
- * Flash Album Gallery - SWFUpload Handler
3
- *
4
- * Built on top of the swfupload library
5
- * http://swfupload.org version 2.2.0
6
- *
7
- */
8
-
9
- // on load change the upload to swfupload
10
- function initSWFUpload() {
11
- jQuery(function() {
12
- jQuery("#uploadimage_btn").after("<input class='button-primary' type='button' name='uploadimage' id='swfupload_btn' value='" + flag_swf_upload.customSettings.upload + "' />")
13
- .remove();
14
- jQuery("#swfupload_btn").click( function() { submitFiles(); } );
15
- jQuery("#imagefiles")
16
- .after("<div id='uploadQueue'></div>")
17
- .after("<input id='imagefiles' type='button' class='button-secondary uploadform' value='" + flag_swf_upload.customSettings.browse + "' />")
18
- .after("<input type='text' id='txtFileName' readonly='readonly' />")
19
- .remove();
20
- jQuery("#imagefiles").click( function() { fileBrowse(); } );
21
- jQuery("#progressbar-wrap").hide();
22
- });
23
- }
24
-
25
- // call the upload dialog
26
- function fileBrowse() {
27
- jQuery("#txtFileName").val("");
28
- flag_swf_upload.cancelUpload();
29
- flag_swf_upload.selectFiles();
30
- }
31
-
32
- // called when a file is added
33
- function fileQueued(fileObj) {
34
- filesize = " (" + Math.round(fileObj.size/1024) + " kB) ";
35
- jQuery("#txtFileName").val(fileObj.name);
36
- jQuery("#uploadQueue")
37
- .append("<div id='" + fileObj.id + "' class='flagUploadItem'> [<a href='javascript:removeFile(\"" + fileObj.id + "\");'>" + flag_swf_upload.customSettings.remove + "</a>] " + fileObj.name + filesize + "</div>")
38
- .children("div:last").slideDown("slow")
39
- .end();
40
- }
41
-
42
- // start the upload
43
- function submitFiles() {
44
- // check if a gallery is selected
45
- if (jQuery('#galleryselect').val() > "0") {
46
- jQuery("#progressbar-wrap").show();
47
- // get old post_params
48
- post_params = flag_swf_upload.getSetting("post_params");
49
- // update the selected gallery in the post_params
50
- post_params['galleryselect'] = jQuery('#galleryselect').val();
51
- flag_swf_upload.setPostParams(post_params);
52
- flag_swf_upload.startUpload();
53
- } else {
54
- jQuery('#uploadimage_form').prepend("<input type=\"hidden\" name=\"swf_callback\" value=\"-1\">");
55
- jQuery("#uploadimage_form").submit();
56
- }
57
- }
58
-
59
- // called when a file will be removed
60
- function removeFile(fileID) {
61
- flag_swf_upload.cancelUpload(fileID);
62
- jQuery("#" + fileID).hide("slow");
63
- jQuery("#" + fileID).remove();
64
- }
65
-
66
- // called before the uploads start
67
- function uploadStart(fileObj) {
68
- jQuery("#progressbar span").text("0% - " + fileObj.name);
69
- return true;
70
- }
71
-
72
- // called during the upload progress
73
- function uploadProgress(fileObj, bytesLoaded) {
74
- var percent = Math.ceil((bytesLoaded / fileObj.size) * 100);
75
- jQuery("#progressbar").css("width", percent + "%");
76
- jQuery("#progressbar span").text(percent + "% - " + fileObj.name);
77
- }
78
-
79
- // called when the file is uploaded
80
- function uploadComplete(fileObj) {
81
- jQuery("#" + fileObj.id).hide("slow");
82
- jQuery("#" + fileObj.id).remove();
83
- if ( flag_swf_upload.getStats().files_queued == 0) {
84
- jQuery("#progressbar-wrap").hide()
85
- jQuery("#uploadimage_form").submit();
86
- }
87
- }
88
-
89
- // called when all files are uploaded
90
- function uploadSuccess(fileObj, server_data) {
91
- // Show any error message
92
- if (server_data != 0){
93
- //jQuery("#progressbar-wrap").append("<div><strong>ERROR</strong>: " + fileObj.name + " : " + server_data + "</div>");
94
- console.log('s: ' + fileObj.name + " : " + server_data);
95
- }
96
- // Upload the next file until queue is empty
97
- if ( flag_swf_upload.getStats().files_queued > 0) {
98
- flag_swf_upload.startUpload();
99
- } else {
100
- // server_data could be add as hidden field
101
- jQuery('#uploadimage_form').prepend("<input type=\"hidden\" name=\"swf_callback\" value=\"" + server_data + "\">");
102
- }
103
- }
104
-
105
- // called on error
106
- function uploadError(fileObj, error_code, message) {
107
- var error_name = "";
108
- switch(error_code) {
109
- case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:
110
- error_name = "HTTP ERROR";
111
- break;
112
- case SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL:
113
- error_name = "MISSING UPLOAD URL";
114
- break;
115
- case SWFUpload.UPLOAD_ERROR.IO_ERROR:
116
- error_name = "IO FAILURE";
117
- break;
118
- case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:
119
- error_name = "SECURITY ERROR";
120
- break;
121
- case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
122
- error_name = "UPLOAD LIMIT EXCEEDED";
123
- break;
124
- case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:
125
- error_name = "UPLOAD FAILED";
126
- break;
127
- case SWFUpload.UPLOAD_ERROR.SPECIFIED_FILE_ID_NOT_FOUND:
128
- error_name = "SPECIFIED FILE ID NOT FOUND";
129
- break;
130
- case SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED:
131
- error_name = "FILE VALIDATION FAILED";
132
- break;
133
- case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
134
- error_name = "FILE CANCELLED";
135
- return;
136
- break;
137
- case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
138
- error_name = "FILE STOPPED";
139
- break;
140
- default:
141
- error_name = "UNKNOWN";
142
- break;
143
- }
144
- jQuery("#progressbar-wrap").append("<div><strong>ERROR " + error_name + " </strong>: " + fileObj.name + " : " + message + "</div>");
145
- console.log('e: ' + error_name + " : " + fileObj.name + " : " + message);
146
- jQuery("#" + fileObj.id).hide("slow");
147
- jQuery("#" + fileObj.id).remove();
148
- if ( flag_swf_upload.getStats().files_queued > 0) {
149
- flag_swf_upload.startUpload();
150
- } else {
151
- jQuery("#progressbar-wrap").hide();
152
- jQuery('#uploadimage_form').prepend("<input type=\"hidden\" name=\"swf_callback\" value=\"" + error_name + "\">");
153
- jQuery("#uploadimage_form").submit();
154
- }
155
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/js/swfupload.js DELETED
@@ -1,980 +0,0 @@
1
- /**
2
- * SWFUpload: http://www.swfupload.org, http://swfupload.googlecode.com
3
- *
4
- * mmSWFUpload 1.0: Flash upload dialog - http://profandesign.se/swfupload/, http://www.vinterwebb.se/
5
- *
6
- * SWFUpload is (c) 2006-2007 Lars Huring, Olov Nilz�n and Mammon Media and is released under the MIT License:
7
- * http://www.opensource.org/licenses/mit-license.php
8
- *
9
- * SWFUpload 2 is (c) 2007-2008 Jake Roberts and is released under the MIT License:
10
- * http://www.opensource.org/licenses/mit-license.php
11
- *
12
- */
13
-
14
-
15
- /* ******************* */
16
- /* Constructor & Init */
17
- /* ******************* */
18
- var SWFUpload;
19
-
20
- if (SWFUpload == undefined) {
21
- SWFUpload = function (settings) {
22
- this.initSWFUpload(settings);
23
- };
24
- }
25
-
26
- SWFUpload.prototype.initSWFUpload = function (settings) {
27
- try {
28
- this.customSettings = {}; // A container where developers can place their own settings associated with this instance.
29
- this.settings = settings;
30
- this.eventQueue = [];
31
- this.movieName = "SWFUpload_" + SWFUpload.movieCount++;
32
- this.movieElement = null;
33
-
34
-
35
- // Setup global control tracking
36
- SWFUpload.instances[this.movieName] = this;
37
-
38
- // Load the settings. Load the Flash movie.
39
- this.initSettings();
40
- this.loadFlash();
41
- this.displayDebugInfo();
42
- } catch (ex) {
43
- delete SWFUpload.instances[this.movieName];
44
- throw ex;
45
- }
46
- };
47
-
48
- /* *************** */
49
- /* Static Members */
50
- /* *************** */
51
- SWFUpload.instances = {};
52
- SWFUpload.movieCount = 0;
53
- SWFUpload.version = "2.2.0 2009-03-25";
54
- SWFUpload.QUEUE_ERROR = {
55
- QUEUE_LIMIT_EXCEEDED : -100,
56
- FILE_EXCEEDS_SIZE_LIMIT : -110,
57
- ZERO_BYTE_FILE : -120,
58
- INVALID_FILETYPE : -130
59
- };
60
- SWFUpload.UPLOAD_ERROR = {
61
- HTTP_ERROR : -200,
62
- MISSING_UPLOAD_URL : -210,
63
- IO_ERROR : -220,
64
- SECURITY_ERROR : -230,
65
- UPLOAD_LIMIT_EXCEEDED : -240,
66
- UPLOAD_FAILED : -250,
67
- SPECIFIED_FILE_ID_NOT_FOUND : -260,
68
- FILE_VALIDATION_FAILED : -270,
69
- FILE_CANCELLED : -280,
70
- UPLOAD_STOPPED : -290
71
- };
72
- SWFUpload.FILE_STATUS = {
73
- QUEUED : -1,
74
- IN_PROGRESS : -2,
75
- ERROR : -3,
76
- COMPLETE : -4,
77
- CANCELLED : -5
78
- };
79
- SWFUpload.BUTTON_ACTION = {
80
- SELECT_FILE : -100,
81
- SELECT_FILES : -110,
82
- START_UPLOAD : -120
83
- };
84
- SWFUpload.CURSOR = {
85
- ARROW : -1,
86
- HAND : -2
87
- };
88
- SWFUpload.WINDOW_MODE = {
89
- WINDOW : "window",
90
- TRANSPARENT : "transparent",
91
- OPAQUE : "opaque"
92
- };
93
-
94
- // Private: takes a URL, determines if it is relative and converts to an absolute URL
95
- // using the current site. Only processes the URL if it can, otherwise returns the URL untouched
96
- SWFUpload.completeURL = function(url) {
97
- if (typeof(url) !== "string" || url.match(/^https?:\/\//i) || url.match(/^\//)) {
98
- return url;
99
- }
100
-
101
- var currentURL = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ":" + window.location.port : "");
102
-
103
- var indexSlash = window.location.pathname.lastIndexOf("/");
104
- if (indexSlash <= 0) {
105
- path = "/";
106
- } else {
107
- path = window.location.pathname.substr(0, indexSlash) + "/";
108
- }
109
-
110
- return /*currentURL +*/ path + url;
111
-
112
- };
113
-
114
-
115
- /* ******************** */
116
- /* Instance Members */
117
- /* ******************** */
118
-
119
- // Private: initSettings ensures that all the
120
- // settings are set, getting a default value if one was not assigned.
121
- SWFUpload.prototype.initSettings = function () {
122
- this.ensureDefault = function (settingName, defaultValue) {
123
- this.settings[settingName] = (this.settings[settingName] == undefined) ? defaultValue : this.settings[settingName];
124
- };
125
-
126
- // Upload backend settings
127
- this.ensureDefault("upload_url", "");
128
- this.ensureDefault("preserve_relative_urls", false);
129
- this.ensureDefault("file_post_name", "Filedata");
130
- this.ensureDefault("post_params", {});
131
- this.ensureDefault("use_query_string", false);
132
- this.ensureDefault("requeue_on_error", false);
133
- this.ensureDefault("http_success", []);
134
- this.ensureDefault("assume_success_timeout", 0);
135
-
136
- // File Settings
137
- this.ensureDefault("file_types", "*.*");
138
- this.ensureDefault("file_types_description", "All Files");
139
- this.ensureDefault("file_size_limit", 0); // Default zero means "unlimited"
140
- this.ensureDefault("file_upload_limit", 0);
141
- this.ensureDefault("file_queue_limit", 0);
142
-
143
- // Flash Settings
144
- this.ensureDefault("flash_url", "swfupload.swf");
145
- this.ensureDefault("prevent_swf_caching", true);
146
-
147
- // Button Settings
148
- this.ensureDefault("button_image_url", "");
149
- this.ensureDefault("button_width", 1);
150
- this.ensureDefault("button_height", 1);
151
- this.ensureDefault("button_text", "");
152
- this.ensureDefault("button_text_style", "color: #000000; font-size: 16pt;");
153
- this.ensureDefault("button_text_top_padding", 0);
154
- this.ensureDefault("button_text_left_padding", 0);
155
- this.ensureDefault("button_action", SWFUpload.BUTTON_ACTION.SELECT_FILES);
156
- this.ensureDefault("button_disabled", false);
157
- this.ensureDefault("button_placeholder_id", "");
158
- this.ensureDefault("button_placeholder", null);
159
- this.ensureDefault("button_cursor", SWFUpload.CURSOR.ARROW);
160
- this.ensureDefault("button_window_mode", SWFUpload.WINDOW_MODE.WINDOW);
161
-
162
- // Debug Settings
163
- this.ensureDefault("debug", false);
164
- this.settings.debug_enabled = this.settings.debug; // Here to maintain v2 API
165
-
166
- // Event Handlers
167
- this.settings.return_upload_start_handler = this.returnUploadStart;
168
- this.ensureDefault("swfupload_loaded_handler", null);
169
- this.ensureDefault("file_dialog_start_handler", null);
170
- this.ensureDefault("file_queued_handler", null);
171
- this.ensureDefault("file_queue_error_handler", null);
172
- this.ensureDefault("file_dialog_complete_handler", null);
173
-
174
- this.ensureDefault("upload_start_handler", null);
175
- this.ensureDefault("upload_progress_handler", null);
176
- this.ensureDefault("upload_error_handler", null);
177
- this.ensureDefault("upload_success_handler", null);
178
- this.ensureDefault("upload_complete_handler", null);
179
-
180
- this.ensureDefault("debug_handler", this.debugMessage);
181
-
182
- this.ensureDefault("custom_settings", {});
183
-
184
- // Other settings
185
- this.customSettings = this.settings.custom_settings;
186
-
187
- // Update the flash url if needed
188
- if (!!this.settings.prevent_swf_caching) {
189
- this.settings.flash_url = this.settings.flash_url + (this.settings.flash_url.indexOf("?") < 0 ? "?" : "&") + "preventswfcaching=" + new Date().getTime();
190
- }
191
-
192
- if (!this.settings.preserve_relative_urls) {
193
- //this.settings.flash_url = SWFUpload.completeURL(this.settings.flash_url); // Don't need to do this one since flash doesn't look at it
194
- this.settings.upload_url = SWFUpload.completeURL(this.settings.upload_url);
195
- this.settings.button_image_url = SWFUpload.completeURL(this.settings.button_image_url);
196
- }
197
-
198
- delete this.ensureDefault;
199
- };
200
-
201
- // Private: loadFlash replaces the button_placeholder element with the flash movie.
202
- SWFUpload.prototype.loadFlash = function () {
203
- var targetElement, tempParent;
204
-
205
- // Make sure an element with the ID we are going to use doesn't already exist
206
- if (document.getElementById(this.movieName) !== null) {
207
- throw "ID " + this.movieName + " is already in use. The Flash Object could not be added";
208
- }
209
-
210
- // Get the element where we will be placing the flash movie
211
- targetElement = document.getElementById(this.settings.button_placeholder_id) || this.settings.button_placeholder;
212
-
213
- if (targetElement == undefined) {
214
- throw "Could not find the placeholder element: " + this.settings.button_placeholder_id;
215
- }
216
-
217
- // Append the container and load the flash
218
- tempParent = document.createElement("div");
219
- tempParent.innerHTML = this.getFlashHTML(); // Using innerHTML is non-standard but the only sensible way to dynamically add Flash in IE (and maybe other browsers)
220
- targetElement.parentNode.replaceChild(tempParent.firstChild, targetElement);
221
-
222
- // Fix IE Flash/Form bug
223
- if (window[this.movieName] == undefined) {
224
- window[this.movieName] = this.getMovieElement();
225
- }
226
-
227
- };
228
-
229
- // Private: getFlashHTML generates the object tag needed to embed the flash in to the document
230
- SWFUpload.prototype.getFlashHTML = function () {
231
- // Flash Satay object syntax: http://www.alistapart.com/articles/flashsatay
232
- return ['<object id="', this.movieName, '" type="application/x-shockwave-flash" data="', this.settings.flash_url, '" width="', this.settings.button_width, '" height="', this.settings.button_height, '" class="swfupload">',
233
- '<param name="wmode" value="', this.settings.button_window_mode, '" />',
234
- '<param name="movie" value="', this.settings.flash_url, '" />',
235
- '<param name="quality" value="high" />',
236
- '<param name="menu" value="false" />',
237
- '<param name="allowScriptAccess" value="always" />',
238
- '<param name="flashvars" value="' + this.getFlashVars() + '" />',
239
- '</object>'].join("");
240
- };
241
-
242
- // Private: getFlashVars builds the parameter string that will be passed
243
- // to flash in the flashvars param.
244
- SWFUpload.prototype.getFlashVars = function () {
245
- // Build a string from the post param object
246
- var paramString = this.buildParamString();
247
- var httpSuccessString = this.settings.http_success.join(",");
248
-
249
- // Build the parameter string
250
- return ["movieName=", encodeURIComponent(this.movieName),
251
- "&amp;uploadURL=", encodeURIComponent(this.settings.upload_url),
252
- "&amp;useQueryString=", encodeURIComponent(this.settings.use_query_string),
253
- "&amp;requeueOnError=", encodeURIComponent(this.settings.requeue_on_error),
254
- "&amp;httpSuccess=", encodeURIComponent(httpSuccessString),
255
- "&amp;assumeSuccessTimeout=", encodeURIComponent(this.settings.assume_success_timeout),
256
- "&amp;params=", encodeURIComponent(paramString),
257
- "&amp;filePostName=", encodeURIComponent(this.settings.file_post_name),
258
- "&amp;fileTypes=", encodeURIComponent(this.settings.file_types),
259
- "&amp;fileTypesDescription=", encodeURIComponent(this.settings.file_types_description),
260
- "&amp;fileSizeLimit=", encodeURIComponent(this.settings.file_size_limit),
261
- "&amp;fileUploadLimit=", encodeURIComponent(this.settings.file_upload_limit),
262
- "&amp;fileQueueLimit=", encodeURIComponent(this.settings.file_queue_limit),
263
- "&amp;debugEnabled=", encodeURIComponent(this.settings.debug_enabled),
264
- "&amp;buttonImageURL=", encodeURIComponent(this.settings.button_image_url),
265
- "&amp;buttonWidth=", encodeURIComponent(this.settings.button_width),
266
- "&amp;buttonHeight=", encodeURIComponent(this.settings.button_height),
267
- "&amp;buttonText=", encodeURIComponent(this.settings.button_text),
268
- "&amp;buttonTextTopPadding=", encodeURIComponent(this.settings.button_text_top_padding),
269
- "&amp;buttonTextLeftPadding=", encodeURIComponent(this.settings.button_text_left_padding),
270
- "&amp;buttonTextStyle=", encodeURIComponent(this.settings.button_text_style),
271
- "&amp;buttonAction=", encodeURIComponent(this.settings.button_action),
272
- "&amp;buttonDisabled=", encodeURIComponent(this.settings.button_disabled),
273
- "&amp;buttonCursor=", encodeURIComponent(this.settings.button_cursor)
274
- ].join("");
275
- };
276
-
277
- // Public: getMovieElement retrieves the DOM reference to the Flash element added by SWFUpload
278
- // The element is cached after the first lookup
279
- SWFUpload.prototype.getMovieElement = function () {
280
- if (this.movieElement == undefined) {
281
- this.movieElement = document.getElementById(this.movieName);
282
- }
283
-
284
- if (this.movieElement === null) {
285
- throw "Could not find Flash element";
286
- }
287
-
288
- return this.movieElement;
289
- };
290
-
291
- // Private: buildParamString takes the name/value pairs in the post_params setting object
292
- // and joins them up in to a string formatted "name=value&amp;name=value"
293
- SWFUpload.prototype.buildParamString = function () {
294
- var postParams = this.settings.post_params;
295
- var paramStringPairs = [];
296
-
297
- if (typeof(postParams) === "object") {
298
- for (var name in postParams) {
299
- if (postParams.hasOwnProperty(name)) {
300
- paramStringPairs.push(encodeURIComponent(name.toString()) + "=" + encodeURIComponent(postParams[name].toString()));
301
- }
302
- }
303
- }
304
-
305
- return paramStringPairs.join("&amp;");
306
- };
307
-
308
- // Public: Used to remove a SWFUpload instance from the page. This method strives to remove
309
- // all references to the SWF, and other objects so memory is properly freed.
310
- // Returns true if everything was destroyed. Returns a false if a failure occurs leaving SWFUpload in an inconsistant state.
311
- // Credits: Major improvements provided by steffen
312
- SWFUpload.prototype.destroy = function () {
313
- try {
314
- // Make sure Flash is done before we try to remove it
315
- this.cancelUpload(null, false);
316
-
317
-
318
- // Remove the SWFUpload DOM nodes
319
- var movieElement = null;
320
- movieElement = this.getMovieElement();
321
-
322
- if (movieElement && typeof(movieElement.CallFunction) === "unknown") { // We only want to do this in IE
323
- // Loop through all the movie's properties and remove all function references (DOM/JS IE 6/7 memory leak workaround)
324
- for (var i in movieElement) {
325
- try {
326
- if (typeof(movieElement[i]) === "function") {
327
- movieElement[i] = null;
328
- }
329
- } catch (ex1) {}
330
- }
331
-
332
- // Remove the Movie Element from the page
333
- try {
334
- movieElement.parentNode.removeChild(movieElement);
335
- } catch (ex) {}
336
- }
337
-
338
- // Remove IE form fix reference
339
- window[this.movieName] = null;
340
-
341
- // Destroy other references
342
- SWFUpload.instances[this.movieName] = null;
343
- delete SWFUpload.instances[this.movieName];
344
-
345
- this.movieElement = null;
346
- this.settings = null;
347
- this.customSettings = null;
348
- this.eventQueue = null;
349
- this.movieName = null;
350
-
351
-
352
- return true;
353
- } catch (ex2) {
354
- return false;
355
- }
356
- };
357
-
358
-
359
- // Public: displayDebugInfo prints out settings and configuration
360
- // information about this SWFUpload instance.
361
- // This function (and any references to it) can be deleted when placing
362
- // SWFUpload in production.
363
- SWFUpload.prototype.displayDebugInfo = function () {
364
- this.debug(
365
- [
366
- "---SWFUpload Instance Info---\n",
367
- "Version: ", SWFUpload.version, "\n",
368
- "Movie Name: ", this.movieName, "\n",
369
- "Settings:\n",
370
- "\t", "upload_url: ", this.settings.upload_url, "\n",
371
- "\t", "flash_url: ", this.settings.flash_url, "\n",
372
- "\t", "use_query_string: ", this.settings.use_query_string.toString(), "\n",
373
- "\t", "requeue_on_error: ", this.settings.requeue_on_error.toString(), "\n",
374
- "\t", "http_success: ", this.settings.http_success.join(", "), "\n",
375
- "\t", "assume_success_timeout: ", this.settings.assume_success_timeout, "\n",
376
- "\t", "file_post_name: ", this.settings.file_post_name, "\n",
377
- "\t", "post_params: ", this.settings.post_params.toString(), "\n",
378
- "\t", "file_types: ", this.settings.file_types, "\n",
379
- "\t", "file_types_description: ", this.settings.file_types_description, "\n",
380
- "\t", "file_size_limit: ", this.settings.file_size_limit, "\n",
381
- "\t", "file_upload_limit: ", this.settings.file_upload_limit, "\n",
382
- "\t", "file_queue_limit: ", this.settings.file_queue_limit, "\n",
383
- "\t", "debug: ", this.settings.debug.toString(), "\n",
384
-
385
- "\t", "prevent_swf_caching: ", this.settings.prevent_swf_caching.toString(), "\n",
386
-
387
- "\t", "button_placeholder_id: ", this.settings.button_placeholder_id.toString(), "\n",
388
- "\t", "button_placeholder: ", (this.settings.button_placeholder ? "Set" : "Not Set"), "\n",
389
- "\t", "button_image_url: ", this.settings.button_image_url.toString(), "\n",
390
- "\t", "button_width: ", this.settings.button_width.toString(), "\n",
391
- "\t", "button_height: ", this.settings.button_height.toString(), "\n",
392
- "\t", "button_text: ", this.settings.button_text.toString(), "\n",
393
- "\t", "button_text_style: ", this.settings.button_text_style.toString(), "\n",
394
- "\t", "button_text_top_padding: ", this.settings.button_text_top_padding.toString(), "\n",
395
- "\t", "button_text_left_padding: ", this.settings.button_text_left_padding.toString(), "\n",
396
- "\t", "button_action: ", this.settings.button_action.toString(), "\n",
397
- "\t", "button_disabled: ", this.settings.button_disabled.toString(), "\n",
398
-
399
- "\t", "custom_settings: ", this.settings.custom_settings.toString(), "\n",
400
- "Event Handlers:\n",
401
- "\t", "swfupload_loaded_handler assigned: ", (typeof this.settings.swfupload_loaded_handler === "function").toString(), "\n",
402
- "\t", "file_dialog_start_handler assigned: ", (typeof this.settings.file_dialog_start_handler === "function").toString(), "\n",
403
- "\t", "file_queued_handler assigned: ", (typeof this.settings.file_queued_handler === "function").toString(), "\n",
404
- "\t", "file_queue_error_handler assigned: ", (typeof this.settings.file_queue_error_handler === "function").toString(), "\n",
405
- "\t", "upload_start_handler assigned: ", (typeof this.settings.upload_start_handler === "function").toString(), "\n",
406
- "\t", "upload_progress_handler assigned: ", (typeof this.settings.upload_progress_handler === "function").toString(), "\n",
407
- "\t", "upload_error_handler assigned: ", (typeof this.settings.upload_error_handler === "function").toString(), "\n",
408
- "\t", "upload_success_handler assigned: ", (typeof this.settings.upload_success_handler === "function").toString(), "\n",
409
- "\t", "upload_complete_handler assigned: ", (typeof this.settings.upload_complete_handler === "function").toString(), "\n",
410
- "\t", "debug_handler assigned: ", (typeof this.settings.debug_handler === "function").toString(), "\n"
411
- ].join("")
412
- );
413
- };
414
-
415
- /* Note: addSetting and getSetting are no longer used by SWFUpload but are included
416
- the maintain v2 API compatibility
417
- */
418
- // Public: (Deprecated) addSetting adds a setting value. If the value given is undefined or null then the default_value is used.
419
- SWFUpload.prototype.addSetting = function (name, value, default_value) {
420
- if (value == undefined) {
421
- return (this.settings[name] = default_value);
422
- } else {
423
- return (this.settings[name] = value);
424
- }
425
- };
426
-
427
- // Public: (Deprecated) getSetting gets a setting. Returns an empty string if the setting was not found.
428
- SWFUpload.prototype.getSetting = function (name) {
429
- if (this.settings[name] != undefined) {
430
- return this.settings[name];
431
- }
432
-
433
- return "";
434
- };
435
-
436
-
437
-
438
- // Private: callFlash handles function calls made to the Flash element.
439
- // Calls are made with a setTimeout for some functions to work around
440
- // bugs in the ExternalInterface library.
441
- SWFUpload.prototype.callFlash = function (functionName, argumentArray) {
442
- argumentArray = argumentArray || [];
443
-
444
- var movieElement = this.getMovieElement();
445
- var returnValue, returnString;
446
-
447
- // Flash's method if calling ExternalInterface methods (code adapted from MooTools).
448
- try {
449
- returnString = movieElement.CallFunction('<invoke name="' + functionName + '" returntype="javascript">' + __flash__argumentsToXML(argumentArray, 0) + '</invoke>');
450
- returnValue = eval(returnString);
451
- } catch (ex) {
452
- throw "Call to " + functionName + " failed";
453
- }
454
-
455
- // Unescape file post param values
456
- if (returnValue != undefined && typeof returnValue.post === "object") {
457
- returnValue = this.unescapeFilePostParams(returnValue);
458
- }
459
-
460
- return returnValue;
461
- };
462
-
463
- /* *****************************
464
- -- Flash control methods --
465
- Your UI should use these
466
- to operate SWFUpload
467
- ***************************** */
468
-
469
- // WARNING: this function does not work in Flash Player 10
470
- // Public: selectFile causes a File Selection Dialog window to appear. This
471
- // dialog only allows 1 file to be selected.
472
- SWFUpload.prototype.selectFile = function () {
473
- this.callFlash("SelectFile");
474
- };
475
-
476
- // WARNING: this function does not work in Flash Player 10
477
- // Public: selectFiles causes a File Selection Dialog window to appear/ This
478
- // dialog allows the user to select any number of files
479
- // Flash Bug Warning: Flash limits the number of selectable files based on the combined length of the file names.
480
- // If the selection name length is too long the dialog will fail in an unpredictable manner. There is no work-around
481
- // for this bug.
482
- SWFUpload.prototype.selectFiles = function () {
483
- this.callFlash("SelectFiles");
484
- };
485
-
486
-
487
- // Public: startUpload starts uploading the first file in the queue unless
488
- // the optional parameter 'fileID' specifies the ID
489
- SWFUpload.prototype.startUpload = function (fileID) {
490
- this.callFlash("StartUpload", [fileID]);
491
- };
492
-
493
- // Public: cancelUpload cancels any queued file. The fileID parameter may be the file ID or index.
494
- // If you do not specify a fileID the current uploading file or first file in the queue is cancelled.
495
- // If you do not want the uploadError event to trigger you can specify false for the triggerErrorEvent parameter.
496
- SWFUpload.prototype.cancelUpload = function (fileID, triggerErrorEvent) {
497
- if (triggerErrorEvent !== false) {
498
- triggerErrorEvent = true;
499
- }
500
- this.callFlash("CancelUpload", [fileID, triggerErrorEvent]);
501
- };
502
-
503
- // Public: stopUpload stops the current upload and requeues the file at the beginning of the queue.
504
- // If nothing is currently uploading then nothing happens.
505
- SWFUpload.prototype.stopUpload = function () {
506
- this.callFlash("StopUpload");
507
- };
508
-
509
- /* ************************
510
- * Settings methods
511
- * These methods change the SWFUpload settings.
512
- * SWFUpload settings should not be changed directly on the settings object
513
- * since many of the settings need to be passed to Flash in order to take
514
- * effect.
515
- * *********************** */
516
-
517
- // Public: getStats gets the file statistics object.
518
- SWFUpload.prototype.getStats = function () {
519
- return this.callFlash("GetStats");
520
- };
521
-
522
- // Public: setStats changes the SWFUpload statistics. You shouldn't need to
523
- // change the statistics but you can. Changing the statistics does not
524
- // affect SWFUpload accept for the successful_uploads count which is used
525
- // by the upload_limit setting to determine how many files the user may upload.
526
- SWFUpload.prototype.setStats = function (statsObject) {
527
- this.callFlash("SetStats", [statsObject]);
528
- };
529
-
530
- // Public: getFile retrieves a File object by ID or Index. If the file is
531
- // not found then 'null' is returned.
532
- SWFUpload.prototype.getFile = function (fileID) {
533
- if (typeof(fileID) === "number") {
534
- return this.callFlash("GetFileByIndex", [fileID]);
535
- } else {
536
- return this.callFlash("GetFile", [fileID]);
537
- }
538
- };
539
-
540
- // Public: addFileParam sets a name/value pair that will be posted with the
541
- // file specified by the Files ID. If the name already exists then the
542
- // exiting value will be overwritten.
543
- SWFUpload.prototype.addFileParam = function (fileID, name, value) {
544
- return this.callFlash("AddFileParam", [fileID, name, value]);
545
- };
546
-
547
- // Public: removeFileParam removes a previously set (by addFileParam) name/value
548
- // pair from the specified file.
549
- SWFUpload.prototype.removeFileParam = function (fileID, name) {
550
- this.callFlash("RemoveFileParam", [fileID, name]);
551
- };
552
-
553
- // Public: setUploadUrl changes the upload_url setting.
554
- SWFUpload.prototype.setUploadURL = function (url) {
555
- this.settings.upload_url = url.toString();
556
- this.callFlash("SetUploadURL", [url]);
557
- };
558
-
559
- // Public: setPostParams changes the post_params setting
560
- SWFUpload.prototype.setPostParams = function (paramsObject) {
561
- this.settings.post_params = paramsObject;
562
- this.callFlash("SetPostParams", [paramsObject]);
563
- };
564
-
565
- // Public: addPostParam adds post name/value pair. Each name can have only one value.
566
- SWFUpload.prototype.addPostParam = function (name, value) {
567
- this.settings.post_params[name] = value;
568
- this.callFlash("SetPostParams", [this.settings.post_params]);
569
- };
570
-
571
- // Public: removePostParam deletes post name/value pair.
572
- SWFUpload.prototype.removePostParam = function (name) {
573
- delete this.settings.post_params[name];
574
- this.callFlash("SetPostParams", [this.settings.post_params]);
575
- };
576
-
577
- // Public: setFileTypes changes the file_types setting and the file_types_description setting
578
- SWFUpload.prototype.setFileTypes = function (types, description) {
579
- this.settings.file_types = types;
580
- this.settings.file_types_description = description;
581
- this.callFlash("SetFileTypes", [types, description]);
582
- };
583
-
584
- // Public: setFileSizeLimit changes the file_size_limit setting
585
- SWFUpload.prototype.setFileSizeLimit = function (fileSizeLimit) {
586
- this.settings.file_size_limit = fileSizeLimit;
587
- this.callFlash("SetFileSizeLimit", [fileSizeLimit]);
588
- };
589
-
590
- // Public: setFileUploadLimit changes the file_upload_limit setting
591
- SWFUpload.prototype.setFileUploadLimit = function (fileUploadLimit) {
592
- this.settings.file_upload_limit = fileUploadLimit;
593
- this.callFlash("SetFileUploadLimit", [fileUploadLimit]);
594
- };
595
-
596
- // Public: setFileQueueLimit changes the file_queue_limit setting
597
- SWFUpload.prototype.setFileQueueLimit = function (fileQueueLimit) {
598
- this.settings.file_queue_limit = fileQueueLimit;
599
- this.callFlash("SetFileQueueLimit", [fileQueueLimit]);
600
- };
601
-
602
- // Public: setFilePostName changes the file_post_name setting
603
- SWFUpload.prototype.setFilePostName = function (filePostName) {
604
- this.settings.file_post_name = filePostName;
605
- this.callFlash("SetFilePostName", [filePostName]);
606
- };
607
-
608
- // Public: setUseQueryString changes the use_query_string setting
609
- SWFUpload.prototype.setUseQueryString = function (useQueryString) {
610
- this.settings.use_query_string = useQueryString;
611
- this.callFlash("SetUseQueryString", [useQueryString]);
612
- };
613
-
614
- // Public: setRequeueOnError changes the requeue_on_error setting
615
- SWFUpload.prototype.setRequeueOnError = function (requeueOnError) {
616
- this.settings.requeue_on_error = requeueOnError;
617
- this.callFlash("SetRequeueOnError", [requeueOnError]);
618
- };
619
-
620
- // Public: setHTTPSuccess changes the http_success setting
621
- SWFUpload.prototype.setHTTPSuccess = function (http_status_codes) {
622
- if (typeof http_status_codes === "string") {
623
- http_status_codes = http_status_codes.replace(" ", "").split(",");
624
- }
625
-
626
- this.settings.http_success = http_status_codes;
627
- this.callFlash("SetHTTPSuccess", [http_status_codes]);
628
- };
629
-
630
- // Public: setHTTPSuccess changes the http_success setting
631
- SWFUpload.prototype.setAssumeSuccessTimeout = function (timeout_seconds) {
632
- this.settings.assume_success_timeout = timeout_seconds;
633
- this.callFlash("SetAssumeSuccessTimeout", [timeout_seconds]);
634
- };
635
-
636
- // Public: setDebugEnabled changes the debug_enabled setting
637
- SWFUpload.prototype.setDebugEnabled = function (debugEnabled) {
638
- this.settings.debug_enabled = debugEnabled;
639
- this.callFlash("SetDebugEnabled", [debugEnabled]);
640
- };
641
-
642
- // Public: setButtonImageURL loads a button image sprite
643
- SWFUpload.prototype.setButtonImageURL = function (buttonImageURL) {
644
- if (buttonImageURL == undefined) {
645
- buttonImageURL = "";
646
- }
647
-
648
- this.settings.button_image_url = buttonImageURL;
649
- this.callFlash("SetButtonImageURL", [buttonImageURL]);
650
- };
651
-
652
- // Public: setButtonDimensions resizes the Flash Movie and button
653
- SWFUpload.prototype.setButtonDimensions = function (width, height) {
654
- this.settings.button_width = width;
655
- this.settings.button_height = height;
656
-
657
- var movie = this.getMovieElement();
658
- if (movie != undefined) {
659
- movie.style.width = width + "px";
660
- movie.style.height = height + "px";
661
- }
662
-
663
- this.callFlash("SetButtonDimensions", [width, height]);
664
- };
665
- // Public: setButtonText Changes the text overlaid on the button
666
- SWFUpload.prototype.setButtonText = function (html) {
667
- this.settings.button_text = html;
668
- this.callFlash("SetButtonText", [html]);
669
- };
670
- // Public: setButtonTextPadding changes the top and left padding of the text overlay
671
- SWFUpload.prototype.setButtonTextPadding = function (left, top) {
672
- this.settings.button_text_top_padding = top;
673
- this.settings.button_text_left_padding = left;
674
- this.callFlash("SetButtonTextPadding", [left, top]);
675
- };
676
-
677
- // Public: setButtonTextStyle changes the CSS used to style the HTML/Text overlaid on the button
678
- SWFUpload.prototype.setButtonTextStyle = function (css) {
679
- this.settings.button_text_style = css;
680
- this.callFlash("SetButtonTextStyle", [css]);
681
- };
682
- // Public: setButtonDisabled disables/enables the button
683
- SWFUpload.prototype.setButtonDisabled = function (isDisabled) {
684
- this.settings.button_disabled = isDisabled;
685
- this.callFlash("SetButtonDisabled", [isDisabled]);
686
- };
687
- // Public: setButtonAction sets the action that occurs when the button is clicked
688
- SWFUpload.prototype.setButtonAction = function (buttonAction) {
689
- this.settings.button_action = buttonAction;
690
- this.callFlash("SetButtonAction", [buttonAction]);
691
- };
692
-
693
- // Public: setButtonCursor changes the mouse cursor displayed when hovering over the button
694
- SWFUpload.prototype.setButtonCursor = function (cursor) {
695
- this.settings.button_cursor = cursor;
696
- this.callFlash("SetButtonCursor", [cursor]);
697
- };
698
-
699
- /* *******************************
700
- Flash Event Interfaces
701
- These functions are used by Flash to trigger the various
702
- events.
703
-
704
- All these functions a Private.
705
-
706
- Because the ExternalInterface library is buggy the event calls
707
- are added to a queue and the queue then executed by a setTimeout.
708
- This ensures that events are executed in a determinate order and that
709
- the ExternalInterface bugs are avoided.
710
- ******************************* */
711
-
712
- SWFUpload.prototype.queueEvent = function (handlerName, argumentArray) {
713
- // Warning: Don't call this.debug inside here or you'll create an infinite loop
714
-
715
- if (argumentArray == undefined) {
716
- argumentArray = [];
717
- } else if (!(argumentArray instanceof Array)) {
718
- argumentArray = [argumentArray];
719
- }
720
-
721
- var self = this;
722
- if (typeof this.settings[handlerName] === "function") {
723
- // Queue the event
724
- this.eventQueue.push(function () {
725
- this.settings[handlerName].apply(this, argumentArray);
726
- });
727
-
728
- // Execute the next queued event
729
- setTimeout(function () {
730
- self.executeNextEvent();
731
- }, 0);
732
-
733
- } else if (this.settings[handlerName] !== null) {
734
- throw "Event handler " + handlerName + " is unknown or is not a function";
735
- }
736
- };
737
-
738
- // Private: Causes the next event in the queue to be executed. Since events are queued using a setTimeout
739
- // we must queue them in order to garentee that they are executed in order.
740
- SWFUpload.prototype.executeNextEvent = function () {
741
- // Warning: Don't call this.debug inside here or you'll create an infinite loop
742
-
743
- var f = this.eventQueue ? this.eventQueue.shift() : null;
744
- if (typeof(f) === "function") {
745
- f.apply(this);
746
- }
747
- };
748
-
749
- // Private: unescapeFileParams is part of a workaround for a flash bug where objects passed through ExternalInterface cannot have
750
- // properties that contain characters that are not valid for JavaScript identifiers. To work around this
751
- // the Flash Component escapes the parameter names and we must unescape again before passing them along.
752
- SWFUpload.prototype.unescapeFilePostParams = function (file) {
753
- var reg = /[$]([0-9a-f]{4})/i;
754
- var unescapedPost = {};
755
- var uk;
756
-
757
- if (file != undefined) {
758
- for (var k in file.post) {
759
- if (file.post.hasOwnProperty(k)) {
760
- uk = k;
761
- var match;
762
- while ((match = reg.exec(uk)) !== null) {
763
- uk = uk.replace(match[0], String.fromCharCode(parseInt("0x" + match[1], 16)));
764
- }
765
- unescapedPost[uk] = file.post[k];
766
- }
767
- }
768
-
769
- file.post = unescapedPost;
770
- }
771
-
772
- return file;
773
- };
774
-
775
- // Private: Called by Flash to see if JS can call in to Flash (test if External Interface is working)
776
- SWFUpload.prototype.testExternalInterface = function () {
777
- try {
778
- return this.callFlash("TestExternalInterface");
779
- } catch (ex) {
780
- return false;
781
- }
782
- };
783
-
784
- // Private: This event is called by Flash when it has finished loading. Don't modify this.
785
- // Use the swfupload_loaded_handler event setting to execute custom code when SWFUpload has loaded.
786
- SWFUpload.prototype.flashReady = function () {
787
- // Check that the movie element is loaded correctly with its ExternalInterface methods defined
788
- var movieElement = this.getMovieElement();
789
-
790
- if (!movieElement) {
791
- this.debug("Flash called back ready but the flash movie can't be found.");
792
- return;
793
- }
794
-
795
- this.cleanUp(movieElement);
796
-
797
- this.queueEvent("swfupload_loaded_handler");
798
- };
799
-
800
- // Private: removes Flash added fuctions to the DOM node to prevent memory leaks in IE.
801
- // This function is called by Flash each time the ExternalInterface functions are created.
802
- SWFUpload.prototype.cleanUp = function (movieElement) {
803
- // Pro-actively unhook all the Flash functions
804
- try {
805
- if (this.movieElement && typeof(movieElement.CallFunction) === "unknown") { // We only want to do this in IE
806
- this.debug("Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)");
807
- for (var key in movieElement) {
808
- try {
809
- if (typeof(movieElement[key]) === "function") {
810
- movieElement[key] = null;
811
- }
812
- } catch (ex) {
813
- }
814
- }
815
- }
816
- } catch (ex1) {
817
-
818
- }
819
-
820
- // Fix Flashes own cleanup code so if the SWFMovie was removed from the page
821
- // it doesn't display errors.
822
- window["__flash__removeCallback"] = function (instance, name) {
823
- try {
824
- if (instance) {
825
- instance[name] = null;
826
- }
827
- } catch (flashEx) {
828
-
829
- }
830
- };
831
-
832
- };
833
-
834
-
835
- /* This is a chance to do something before the browse window opens */
836
- SWFUpload.prototype.fileDialogStart = function () {
837
- this.queueEvent("file_dialog_start_handler");
838
- };
839
-
840
-
841
- /* Called when a file is successfully added to the queue. */
842
- SWFUpload.prototype.fileQueued = function (file) {
843
- file = this.unescapeFilePostParams(file);
844
- this.queueEvent("file_queued_handler", file);
845
- };
846
-
847
-
848
- /* Handle errors that occur when an attempt to queue a file fails. */
849
- SWFUpload.prototype.fileQueueError = function (file, errorCode, message) {
850
- file = this.unescapeFilePostParams(file);
851
- this.queueEvent("file_queue_error_handler", [file, errorCode, message]);
852
- };
853
-
854
- /* Called after the file dialog has closed and the selected files have been queued.
855
- You could call startUpload here if you want the queued files to begin uploading immediately. */
856
- SWFUpload.prototype.fileDialogComplete = function (numFilesSelected, numFilesQueued, numFilesInQueue) {
857
- this.queueEvent("file_dialog_complete_handler", [numFilesSelected, numFilesQueued, numFilesInQueue]);
858
- };
859
-
860
- SWFUpload.prototype.uploadStart = function (file) {
861
- file = this.unescapeFilePostParams(file);
862
- this.queueEvent("return_upload_start_handler", file);
863
- };
864
-
865
- SWFUpload.prototype.returnUploadStart = function (file) {
866
- var returnValue;
867
- if (typeof this.settings.upload_start_handler === "function") {
868
- file = this.unescapeFilePostParams(file);
869
- returnValue = this.settings.upload_start_handler.call(this, file);
870
- } else if (this.settings.upload_start_handler != undefined) {
871
- throw "upload_start_handler must be a function";
872
- }
873
-
874
- // Convert undefined to true so if nothing is returned from the upload_start_handler it is
875
- // interpretted as 'true'.
876
- if (returnValue === undefined) {
877
- returnValue = true;
878
- }
879
-
880
- returnValue = !!returnValue;
881
-
882
- this.callFlash("ReturnUploadStart", [returnValue]);
883
- };
884
-
885
-
886
-
887
- SWFUpload.prototype.uploadProgress = function (file, bytesComplete, bytesTotal) {
888
- file = this.unescapeFilePostParams(file);
889
- this.queueEvent("upload_progress_handler", [file, bytesComplete, bytesTotal]);
890
- };
891
-
892
- SWFUpload.prototype.uploadError = function (file, errorCode, message) {
893
- file = this.unescapeFilePostParams(file);
894
- this.queueEvent("upload_error_handler", [file, errorCode, message]);
895
- };
896
-
897
- SWFUpload.prototype.uploadSuccess = function (file, serverData, responseReceived) {
898
- file = this.unescapeFilePostParams(file);
899
- this.queueEvent("upload_success_handler", [file, serverData, responseReceived]);
900
- };
901
-
902
- SWFUpload.prototype.uploadComplete = function (file) {
903
- file = this.unescapeFilePostParams(file);
904
- this.queueEvent("upload_complete_handler", file);
905
- };
906
-
907
- /* Called by SWFUpload JavaScript and Flash functions when debug is enabled. By default it writes messages to the
908
- internal debug console. You can override this event and have messages written where you want. */
909
- SWFUpload.prototype.debug = function (message) {
910
- this.queueEvent("debug_handler", message);
911
- };
912
-
913
-
914
- /* **********************************
915
- Debug Console
916
- The debug console is a self contained, in page location
917
- for debug message to be sent. The Debug Console adds
918
- itself to the body if necessary.
919
-
920
- The console is automatically scrolled as messages appear.
921
-
922
- If you are using your own debug handler or when you deploy to production and
923
- have debug disabled you can remove these functions to reduce the file size
924
- and complexity.
925
- ********************************** */
926
-
927
- // Private: debugMessage is the default debug_handler. If you want to print debug messages
928
- // call the debug() function. When overriding the function your own function should
929
- // check to see if the debug setting is true before outputting debug information.
930
- SWFUpload.prototype.debugMessage = function (message) {
931
- if (this.settings.debug) {
932
- var exceptionMessage, exceptionValues = [];
933
-
934
- // Check for an exception object and print it nicely
935
- if (typeof message === "object" && typeof message.name === "string" && typeof message.message === "string") {
936
- for (var key in message) {
937
- if (message.hasOwnProperty(key)) {
938
- exceptionValues.push(key + ": " + message[key]);
939
- }
940
- }
941
- exceptionMessage = exceptionValues.join("\n") || "";
942
- exceptionValues = exceptionMessage.split("\n");
943
- exceptionMessage = "EXCEPTION: " + exceptionValues.join("\nEXCEPTION: ");
944
- SWFUpload.Console.writeLine(exceptionMessage);
945
- } else {
946
- SWFUpload.Console.writeLine(message);
947
- }
948
- }
949
- };
950
-
951
- SWFUpload.Console = {};
952
- SWFUpload.Console.writeLine = function (message) {
953
- var console, documentForm;
954
-
955
- try {
956
- console = document.getElementById("SWFUpload_Console");
957
-
958
- if (!console) {
959
- documentForm = document.createElement("form");
960
- document.getElementsByTagName("body")[0].appendChild(documentForm);
961
-
962
- console = document.createElement("textarea");
963
- console.id = "SWFUpload_Console";
964
- console.style.fontFamily = "monospace";
965
- console.setAttribute("wrap", "off");
966
- console.wrap = "off";
967
- console.style.overflow = "auto";
968
- console.style.width = "700px";
969
- console.style.height = "350px";
970
- console.style.margin = "5px";
971
- documentForm.appendChild(console);
972
- }
973
-
974
- console.value += message + "\n";
975
-
976
- console.scrollTop = console.scrollHeight - console.clientHeight;
977
- } catch (ex) {
978
- alert("Exception: " + ex.name + " Message: " + ex.message);
979
- }
980
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/js/swfupload.swf DELETED
Binary file
admin/manage-galleries.php CHANGED
@@ -10,11 +10,15 @@ function flag_manage_gallery_main() {
10
  //Build the pagination for more than 25 galleries
11
  if ( ! isset( $_GET['paged'] ) || $_GET['paged'] < 1 )
12
  $_GET['paged'] = 1;
13
-
 
 
 
 
14
  $_GET['paged'] = intval($_GET['paged']);
15
- $perpage = 50;
16
  $start = ( $_GET['paged'] - 1 ) * $perpage;
17
- $gallerylist = $flagdb->find_all_galleries('gid', 'asc', $counter = true, $perpage, $start, $exclude = false, $draft = true);
18
 
19
  $page_links = paginate_links( array(
20
  'base' => add_query_arg( 'paged', '%#%' ),
@@ -112,7 +116,7 @@ function flag_manage_gallery_main() {
112
  <input type="submit" value="<?php _e( 'Search Images', 'flag' ); ?>" class="button" />
113
  </p>
114
  </form>
115
- <form id="editgalleries" class="flagform" method="POST" action="<?php echo $flag->manage_page->base_page . '&amp;paged=' . intval($_GET['paged']); ?>" accept-charset="utf-8">
116
  <?php wp_nonce_field('flag_bulkgallery'); ?>
117
  <input type="hidden" name="page" value="manage-galleries" />
118
 
@@ -149,8 +153,8 @@ function flag_manage_gallery_main() {
149
  <th scope="col" class="cb column-cb" >
150
  <input type="checkbox" onclick="checkAll(document.getElementById('editgalleries'));" name="checkall"/>
151
  </th>
152
- <th scope="col" ><?php _e('ID'); ?></th>
153
- <th scope="col" width="25%"><?php _e('Title', 'flag'); ?></th>
154
  <th scope="col" width="55%"><?php _e('Description', 'flag'); ?></th>
155
  <th scope="col" ><?php _e('Author', 'flag'); ?></th>
156
  <th scope="col" ><?php _e('Quantity', 'flag'); ?></th>
10
  //Build the pagination for more than 25 galleries
11
  if ( ! isset( $_GET['paged'] ) || $_GET['paged'] < 1 )
12
  $_GET['paged'] = 1;
13
+
14
+ $sort_gall_by = (isset($_GET['galsort']))? $_GET['galsort'] : $flag->options['albSort'];
15
+ $sort_gall_dir = (isset($_GET['sortdir']))? $_GET['sortdir'] : $flag->options['albSortDir'];
16
+ $ascdesc = ($sort_gall_dir == 'DESC')? 'ASC' : 'DESC';
17
+
18
  $_GET['paged'] = intval($_GET['paged']);
19
+ $perpage = intval($flag->options['albPerPage'])? intval($flag->options['albPerPage']) : 50;
20
  $start = ( $_GET['paged'] - 1 ) * $perpage;
21
+ $gallerylist = $flagdb->find_all_galleries($sort_gall_by, $sort_gall_dir, $counter = true, $perpage, $start, $exclude = false, $draft = true);
22
 
23
  $page_links = paginate_links( array(
24
  'base' => add_query_arg( 'paged', '%#%' ),
116
  <input type="submit" value="<?php _e( 'Search Images', 'flag' ); ?>" class="button" />
117
  </p>
118
  </form>
119
+ <form id="editgalleries" class="flagform" method="POST" action="<?php echo $flag->manage_page->base_page . '&amp;paged=' . $_GET['paged']; ?>" accept-charset="utf-8">
120
  <?php wp_nonce_field('flag_bulkgallery'); ?>
121
  <input type="hidden" name="page" value="manage-galleries" />
122
 
153
  <th scope="col" class="cb column-cb" >
154
  <input type="checkbox" onclick="checkAll(document.getElementById('editgalleries'));" name="checkall"/>
155
  </th>
156
+ <th scope="col" ><a href="<?php echo $flag->manage_page->base_page . "&galsort=gid&sortdir={$ascdesc}&paged=" . $_GET['paged']; ?>"><?php _e('ID'); ?></a></th>
157
+ <th scope="col" width="25%"><a href="<?php echo $flag->manage_page->base_page . "&galsort=title&sortdir={$ascdesc}&paged=" . $_GET['paged']; ?>"><?php _e('Title', 'flag'); ?></a></th>
158
  <th scope="col" width="55%"><?php _e('Description', 'flag'); ?></th>
159
  <th scope="col" ><?php _e('Author', 'flag'); ?></th>
160
  <th scope="col" ><?php _e('Quantity', 'flag'); ?></th>
admin/manage-images.php CHANGED
@@ -209,7 +209,7 @@ jQuery(document).ready( function() {
209
  foreach ($gallerylist as $gal) {
210
  if ($gal->gid != $act_gid) {
211
  ?>
212
- <option value="<?php echo wp_nonce_url( $flag->manage_page->base_page . "&amp;mode=edit&amp;gid=" . $gal->gid, 'flag_editgallery')?>" ><?php echo $gal->gid; ?> - <?php echo esc_html(stripslashes($gal->title)); ?></option>
213
  <?php
214
  }
215
  }
209
  foreach ($gallerylist as $gal) {
210
  if ($gal->gid != $act_gid) {
211
  ?>
212
+ <option value="<?php echo wp_nonce_url( $flag->manage_page->base_page . "&amp;mode=edit&amp;gid=" . $gal->gid, 'flag_editgallery')?>" ><?php if($flag->options['albSort'] == 'gid'){ echo $gal->gid.' - '; } echo esc_html(stripslashes($gal->title)); if($flag->options['albSort'] == 'title'){ echo ' ('.$gal->gid.')'; } ?></option>
213
  <?php
214
  }
215
  }
admin/meta_box.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); }
2
 
3
- global $flagdb, $post;
4
  require_once (dirname(__FILE__) . '/get_skin.php');
5
  require_once (dirname(__FILE__) . '/playlist.functions.php');
6
  $i_skins = get_skins();
@@ -108,11 +108,13 @@ function short_code(galleries,skin,wmode,playlist) {
108
  <td valign="top"><div id="galleries" style="width: 214px; height: 160px; overflow: auto;">
109
  <div class="row"><input type="checkbox" value="all" /> <strong>* - <?php _e("all galleries", 'flag'); ?></strong></div>
110
  <?php
111
- $gallerylist = $flagdb->find_all_galleries('gid', 'ASC');
112
  if(is_array($gallerylist)) {
113
  foreach($gallerylist as $gallery) {
114
  $name = ( empty($gallery->title) ) ? $gallery->name : $gallery->title;
115
- echo '<div class="row"><input type="checkbox" value="' . $gallery->gid . '" /> <span>' . $gallery->gid . ' - ' . $name . '</span></div>' . "\n";
 
 
116
  }
117
  }
118
  ?>
1
  <?php if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); }
2
 
3
+ global $flag, $flagdb, $post;
4
  require_once (dirname(__FILE__) . '/get_skin.php');
5
  require_once (dirname(__FILE__) . '/playlist.functions.php');
6
  $i_skins = get_skins();
108
  <td valign="top"><div id="galleries" style="width: 214px; height: 160px; overflow: auto;">
109
  <div class="row"><input type="checkbox" value="all" /> <strong>* - <?php _e("all galleries", 'flag'); ?></strong></div>
110
  <?php
111
+ $gallerylist = $flagdb->find_all_galleries($flag->options['albSort'], $flag->options['albSortDir']);
112
  if(is_array($gallerylist)) {
113
  foreach($gallerylist as $gallery) {
114
  $name = ( empty($gallery->title) ) ? $gallery->name : $gallery->title;
115
+ if($flag->options['albSort'] == 'gid'){ $name = $gallery->gid.' - '.$name; }
116
+ if($flag->options['albSort'] == 'title'){ $name = $name.' ('.$gallery->gid.')'; }
117
+ echo '<div class="row"><input type="checkbox" value="' . $gallery->gid . '" /> <span>' . $name . '</span></div>' . "\n";
118
  }
119
  }
120
  ?>
admin/overview.php CHANGED
@@ -104,7 +104,7 @@ function flag_overview_setup(){
104
  include_once( dirname (__FILE__). '/tuning.php');
105
 
106
  flag_default_options();
107
- flag_tune();
108
  $flag->define_constant();
109
  $flag->load_options();
110
 
104
  include_once( dirname (__FILE__). '/tuning.php');
105
 
106
  flag_default_options();
107
+ flag_tune(true,true);
108
  $flag->define_constant();
109
  $flag->load_options();
110
 
admin/settings.php CHANGED
@@ -160,10 +160,10 @@ jQuery(document).ready(function() {
160
  <div id="imageoptions" class="cptab">
161
  <form name="generaloptions" method="post">
162
  <?php wp_nonce_field('flag_settings'); ?>
163
- <input type="hidden" name="page_options" value="galleryPath,flashWidth,flashHeight,deleteImg,deepLinks,useMediaRSS,jAlterGal,jAlterGalScript,BarsBG,CatBGColor,CatBGColorOver,CatColor,CatColorOver,ThumbBG,ThumbLoaderColor,TitleColor,DescrColor,imgWidth,imgHeight,imgQuality,galSort,galSortDir,disableViews" />
164
  <h2><?php _e('Image Gallery Options','flag'); ?></h2>
165
  <h3><?php _e('General Options','flag'); ?></h3>
166
- <table class="form-table flag-options">
167
  <tr valign="top">
168
  <th align="left" width="200"><?php _e('Gallery path','flag'); ?></th>
169
  <td><input readonly="readonly" type="text" size="35" name="galleryPath" value="<?php echo $flag_options['galleryPath']; ?>" />
@@ -192,7 +192,7 @@ jQuery(document).ready(function() {
192
  </table>
193
 
194
  <h3><?php _e('Image settings','flag'); ?></h3>
195
- <table class="form-table flag-options">
196
  <tr valign="top">
197
  <th scope="row" width="200"><label><?php _e('Resize Images','flag'); ?></label><br /><small>(Manage Gallery -> 'Resize Images' action)</small></th>
198
  <td><input type="text" size="5" name="imgWidth" value="<?php echo $flag_options['imgWidth']; ?>" /> x <input type="text" size="5" name="imgHeight" value="<?php echo $flag_options['imgHeight']; ?>" />
@@ -205,10 +205,27 @@ jQuery(document).ready(function() {
205
  </table>
206
 
207
  <h3><?php _e('Sort options','flag'); ?></h3>
208
- <table class="form-table flag-options">
209
  <tr>
210
- <th valign="top" width="200"><?php _e('Sort thumbnails','flag'); ?>:</th>
211
- <td>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
212
  <label><input name="galSort" type="radio" value="sortorder" <?php checked('sortorder', $flag_options['galSort']); ?> /> <?php _e('Custom order', 'flag'); ?></label><br />
213
  <label><input name="galSort" type="radio" value="pid" <?php checked('pid', $flag_options['galSort']); ?> /> <?php _e('Image ID', 'flag'); ?></label><br />
214
  <label><input name="galSort" type="radio" value="filename" <?php checked('filename', $flag_options['galSort']); ?> /> <?php _e('File name', 'flag'); ?></label><br />
@@ -218,17 +235,14 @@ jQuery(document).ready(function() {
218
  <label><input name="galSort" type="radio" value="total_votes" <?php checked('total_votes', $flag_options['galSort']); ?> /> <?php _e('Image likes', 'flag'); ?></label><br />
219
  <label><input name="galSort" type="radio" value="rand()" <?php checked('rand()', $flag_options['galSort']); ?> /> <?php _e('Randomly', 'flag'); ?></label>
220
  </td>
221
- </tr>
222
- <tr>
223
- <th valign="top"><?php _e('Sort direction','flag'); ?>:</th>
224
- <td><label><input name="galSortDir" type="radio" value="ASC" <?php checked('ASC', $flag_options['galSortDir']); ?> /> <?php _e('Ascending', 'flag'); ?></label><br />
225
  <label><input name="galSortDir" type="radio" value="DESC" <?php checked('DESC', $flag_options['galSortDir']); ?> /> <?php _e('Descending', 'flag'); ?></label>
226
  </td>
227
  </tr>
228
  </table>
229
 
230
  <h3><?php _e('Alternative Gallery Options','flag'); ?> <br><small style="color: darkgreen;"><?php _e('(Note: this is not flash skin option. Options below only for alternative gallery in mobile browsers)','flag'); ?></small></h3>
231
- <table class="flag_colors form-table flag-options">
232
  <tr>
233
  <th align="left"><?php _e('Show jQuery gallery for browsers without flashplayer','flag'); ?></th>
234
  <td><input type="checkbox" name="jAlterGal" value="1" <?php checked('1', $flag_options['jAlterGal']); ?> /></td>
@@ -312,10 +326,14 @@ jQuery(document).ready(function() {
312
  <p><a href="https://itunes.apple.com/us/app/mypgc/id663405181?ls=1&mt=8"><img src="<?php echo plugins_url() . '/' . FLAGFOLDER; ?>/admin/images/appstore_button.png" alt="Download from AppStore" /></a></p>
313
  <div class="submit"><input class="button-primary" type="submit" name="membership" value="<?php _e('Update Settings for Remote Access', 'flag'); ?>"/></div>
314
  </form>
315
- <?php if($regform){ ?>
316
  <form name="reg_on_mypgc" method="post" style="float: left; border: 1px solid #666666; background-color: #ffffee; margin-top: 95px; width: 49%;">
317
  <?php wp_nonce_field('flag_settings'); ?>
318
  <h3 style="padding-left: 10px;"><?php _e('Register with form below or <a href="http://mypgc.co/membership/" target="_blank">purchase license key</a>','flag'); ?></h3>
 
 
 
 
319
  <input type="hidden" name="access_key" value="<?php echo $flag_options['access_key']?>" />
320
  <input type="hidden" name="access_url" value="<?php echo plugins_url() . '/' . FLAGFOLDER . '/lib/app.php'; ?>" />
321
  <table class="form-table" style="100%;">
@@ -339,7 +357,7 @@ jQuery(document).ready(function() {
339
  <?php wp_nonce_field('flag_settings'); ?>
340
  <input type="hidden" name="page_options" value="videoBG,vmColor1,vmColor2,vmAutoplay,vmWidth,vmHeight" />
341
  <h2><?php _e('Flash Video Player Colors','flag'); ?></h2>
342
- <table class="flag_colors form-table flag-options">
343
  <tr>
344
  <th width="200"><?php _e('Video BG','flag'); ?>:</th>
345
  <td><input class="colorPick" type="text" size="7" maxlength="6" id="videoBG" name="videoBG" value="<?php echo $flag_options['videoBG']?>" /><div id="cp_videoBG" style="background:#F9F9F9;position:absolute;display:none;"></div></td>
@@ -376,7 +394,7 @@ jQuery(document).ready(function() {
376
  <?php wp_nonce_field('flag_settings'); ?>
377
  <input type="hidden" name="page_options" value="mpBG,mpColor1,mpColor2,mpAutoplay" />
378
  <h2><?php _e('MP3 Player Colors','flag'); ?></h2>
379
- <table class="flag_colors form-table flag-options">
380
  <tr>
381
  <th width="200"><?php _e('Player BG','flag'); ?>:</th>
382
  <td><input class="colorPick" type="text" size="7" maxlength="6" id="mpBG" name="mpBG" value="<?php echo $flag_options['mpBG']?>" /><div id="cp_mpBG" style="background:#F9F9F9;position:absolute;display:none;"></div></td>
160
  <div id="imageoptions" class="cptab">
161
  <form name="generaloptions" method="post">
162
  <?php wp_nonce_field('flag_settings'); ?>
163
+ <input type="hidden" name="page_options" value="galleryPath,flashWidth,flashHeight,deleteImg,deepLinks,useMediaRSS,jAlterGal,jAlterGalScript,BarsBG,CatBGColor,CatBGColorOver,CatColor,CatColorOver,ThumbBG,ThumbLoaderColor,TitleColor,DescrColor,imgWidth,imgHeight,imgQuality,albSort,albSortDir,albPerPage,galSort,galSortDir,disableViews" />
164
  <h2><?php _e('Image Gallery Options','flag'); ?></h2>
165
  <h3><?php _e('General Options','flag'); ?></h3>
166
+ <table class="form-table flag-options" style="width: auto; white-space: nowrap;">
167
  <tr valign="top">
168
  <th align="left" width="200"><?php _e('Gallery path','flag'); ?></th>
169
  <td><input readonly="readonly" type="text" size="35" name="galleryPath" value="<?php echo $flag_options['galleryPath']; ?>" />
192
  </table>
193
 
194
  <h3><?php _e('Image settings','flag'); ?></h3>
195
+ <table class="form-table flag-options" style="width: auto; white-space: nowrap;">
196
  <tr valign="top">
197
  <th scope="row" width="200"><label><?php _e('Resize Images','flag'); ?></label><br /><small>(Manage Gallery -> 'Resize Images' action)</small></th>
198
  <td><input type="text" size="5" name="imgWidth" value="<?php echo $flag_options['imgWidth']; ?>" /> x <input type="text" size="5" name="imgHeight" value="<?php echo $flag_options['imgHeight']; ?>" />
205
  </table>
206
 
207
  <h3><?php _e('Sort options','flag'); ?></h3>
208
+ <table class="form-table flag-options" style="width: auto; white-space: nowrap;">
209
  <tr>
210
+ <th valign="top" width="200"><?php _e('Sort galleries','flag'); ?>:</th>
211
+ <td valign="top">
212
+ <label><input name="albSort" type="radio" value="gid" <?php checked('gid', $flag_options['albSort']); ?> /> <?php _e('Gallery ID', 'flag'); ?></label><br />
213
+ <label><input name="albSort" type="radio" value="title" <?php checked('title', $flag_options['albSort']); ?> /> <?php _e('Title', 'flag'); ?></label><br />
214
+ </td>
215
+ <td valign="top"><label><input name="albSortDir" type="radio" value="ASC" <?php checked('ASC', $flag_options['albSortDir']); ?> /> <?php _e('Ascending', 'flag'); ?></label><br />
216
+ <label><input name="albSortDir" type="radio" value="DESC" <?php checked('DESC', $flag_options['albSortDir']); ?> /> <?php _e('Descending', 'flag'); ?></label>
217
+ </td>
218
+ </tr>
219
+ <tr style="border-bottom: 1px solid #000000;">
220
+ <th valign="top" width="200"><?php _e('Galleries per page: <br><small>on Manage Galleries page</small>','flag'); ?></th>
221
+ <td valign="top">
222
+ <input name="albPerPage" type="text" value="<?php echo $flag_options['albPerPage']; ?>" />
223
+ </td>
224
+ <td valign="top"></td>
225
+ </tr>
226
+ <tr>
227
+ <th valign="top" width="200"><?php _e('Sort images','flag'); ?>:</th>
228
+ <td valign="top">
229
  <label><input name="galSort" type="radio" value="sortorder" <?php checked('sortorder', $flag_options['galSort']); ?> /> <?php _e('Custom order', 'flag'); ?></label><br />
230
  <label><input name="galSort" type="radio" value="pid" <?php checked('pid', $flag_options['galSort']); ?> /> <?php _e('Image ID', 'flag'); ?></label><br />
231
  <label><input name="galSort" type="radio" value="filename" <?php checked('filename', $flag_options['galSort']); ?> /> <?php _e('File name', 'flag'); ?></label><br />
235
  <label><input name="galSort" type="radio" value="total_votes" <?php checked('total_votes', $flag_options['galSort']); ?> /> <?php _e('Image likes', 'flag'); ?></label><br />
236
  <label><input name="galSort" type="radio" value="rand()" <?php checked('rand()', $flag_options['galSort']); ?> /> <?php _e('Randomly', 'flag'); ?></label>
237
  </td>
238
+ <td valign="top"><label><input name="galSortDir" type="radio" value="ASC" <?php checked('ASC', $flag_options['galSortDir']); ?> /> <?php _e('Ascending', 'flag'); ?></label><br />
 
 
 
239
  <label><input name="galSortDir" type="radio" value="DESC" <?php checked('DESC', $flag_options['galSortDir']); ?> /> <?php _e('Descending', 'flag'); ?></label>
240
  </td>
241
  </tr>
242
  </table>
243
 
244
  <h3><?php _e('Alternative Gallery Options','flag'); ?> <br><small style="color: darkgreen;"><?php _e('(Note: this is not flash skin option. Options below only for alternative gallery in mobile browsers)','flag'); ?></small></h3>
245
+ <table class="flag_colors form-table flag-options" style="width: auto; white-space: nowrap;">
246
  <tr>
247
  <th align="left"><?php _e('Show jQuery gallery for browsers without flashplayer','flag'); ?></th>
248
  <td><input type="checkbox" name="jAlterGal" value="1" <?php checked('1', $flag_options['jAlterGal']); ?> /></td>
326
  <p><a href="https://itunes.apple.com/us/app/mypgc/id663405181?ls=1&mt=8"><img src="<?php echo plugins_url() . '/' . FLAGFOLDER; ?>/admin/images/appstore_button.png" alt="Download from AppStore" /></a></p>
327
  <div class="submit"><input class="button-primary" type="submit" name="membership" value="<?php _e('Update Settings for Remote Access', 'flag'); ?>"/></div>
328
  </form>
329
+ <?php if($regform || empty($flag_options['access_key'])){ ?>
330
  <form name="reg_on_mypgc" method="post" style="float: left; border: 1px solid #666666; background-color: #ffffee; margin-top: 95px; width: 49%;">
331
  <?php wp_nonce_field('flag_settings'); ?>
332
  <h3 style="padding-left: 10px;"><?php _e('Register with form below or <a href="http://mypgc.co/membership/" target="_blank">purchase license key</a>','flag'); ?></h3>
333
+ <div style="padding:0 10px;">
334
+ <p><?php _e("this email and password that you'll receive will be used to login in iOS application",'flag'); ?></p>
335
+ <p><?php _e("Note: if you already purchased license key you don't need register again.",'flag'); ?></p>
336
+ </div>
337
  <input type="hidden" name="access_key" value="<?php echo $flag_options['access_key']?>" />
338
  <input type="hidden" name="access_url" value="<?php echo plugins_url() . '/' . FLAGFOLDER . '/lib/app.php'; ?>" />
339
  <table class="form-table" style="100%;">
357
  <?php wp_nonce_field('flag_settings'); ?>
358
  <input type="hidden" name="page_options" value="videoBG,vmColor1,vmColor2,vmAutoplay,vmWidth,vmHeight" />
359
  <h2><?php _e('Flash Video Player Colors','flag'); ?></h2>
360
+ <table class="flag_colors form-table flag-options" style="width: auto; white-space: nowrap;">
361
  <tr>
362
  <th width="200"><?php _e('Video BG','flag'); ?>:</th>
363
  <td><input class="colorPick" type="text" size="7" maxlength="6" id="videoBG" name="videoBG" value="<?php echo $flag_options['videoBG']?>" /><div id="cp_videoBG" style="background:#F9F9F9;position:absolute;display:none;"></div></td>
394
  <?php wp_nonce_field('flag_settings'); ?>
395
  <input type="hidden" name="page_options" value="mpBG,mpColor1,mpColor2,mpAutoplay" />
396
  <h2><?php _e('MP3 Player Colors','flag'); ?></h2>
397
+ <table class="flag_colors form-table flag-options" style="width: auto; white-space: nowrap;">
398
  <tr>
399
  <th width="200"><?php _e('Player BG','flag'); ?>:</th>
400
  <td><input class="colorPick" type="text" size="7" maxlength="6" id="mpBG" name="mpBG" value="<?php echo $flag_options['mpBG']?>" /><div id="cp_mpBG" style="background:#F9F9F9;position:absolute;display:none;"></div></td>
admin/skins.php CHANGED
@@ -63,7 +63,7 @@ if( isset($_POST['skinzipurl']) ) {
63
  }
64
 
65
  }
66
- if(unlink($mzip)){
67
  flagGallery::show_message( __('The skin installed successfully.', 'flag') );
68
  }
69
  }
@@ -363,6 +363,7 @@ $total_all_skins = count($all_skins);
363
  $ch = curl_init($skins_remote_xml);
364
  curl_setopt($ch, CURLOPT_HEADER, 0);
365
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 
366
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
367
  $skins_xml = @simplexml_load_string(curl_exec($ch));
368
  curl_close ($ch);
63
  }
64
 
65
  }
66
+ if(@unlink($mzip)){
67
  flagGallery::show_message( __('The skin installed successfully.', 'flag') );
68
  }
69
  }
363
  $ch = curl_init($skins_remote_xml);
364
  curl_setopt($ch, CURLOPT_HEADER, 0);
365
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
366
+ curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
367
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
368
  $skins_xml = @simplexml_load_string(curl_exec($ch));
369
  curl_close ($ch);
admin/tinymce/window.php CHANGED
@@ -77,11 +77,13 @@ if($_REQUEST['riched'] == "false") {
77
  <td><select id="galleries" name="galleries" style="width: 200px" size="6" multiple="multiple">
78
  <option value="all" selected="selected" onclick="javascript:document.getElementById('sort_tab').style.display='block'" style="font-weight:bold">* - <?php _e("all galleries", 'flag'); ?></option>
79
  <?php
80
- $gallerylist = $flagdb->find_all_galleries('gid', 'ASC');
81
  if(is_array($gallerylist)) {
82
  foreach($gallerylist as $gallery) {
83
  $name = ( empty($gallery->title) ) ? $gallery->name : esc_html(stripslashes($gallery->title));
84
- echo '<option value="' . $gallery->gid . '" >' . $gallery->gid . ' - ' . $name . '</option>' . "\n";
 
 
85
  }
86
  }
87
  ?>
77
  <td><select id="galleries" name="galleries" style="width: 200px" size="6" multiple="multiple">
78
  <option value="all" selected="selected" onclick="javascript:document.getElementById('sort_tab').style.display='block'" style="font-weight:bold">* - <?php _e("all galleries", 'flag'); ?></option>
79
  <?php
80
+ $gallerylist = $flagdb->find_all_galleries($flag->options['albSort'], $flag->options['albSortDir']);
81
  if(is_array($gallerylist)) {
82
  foreach($gallerylist as $gallery) {
83
  $name = ( empty($gallery->title) ) ? $gallery->name : esc_html(stripslashes($gallery->title));
84
+ if($flag->options['albSort'] == 'gid'){ $name = $gallery->gid.' - '.$name; }
85
+ if($flag->options['albSort'] == 'title'){ $name = $name.' ('.$gallery->gid.')'; }
86
+ echo '<option value="' . $gallery->gid . '" >' . $name . '</option>' . "\n";
87
  }
88
  }
89
  ?>
admin/tuning.php CHANGED
@@ -4,7 +4,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
4
 
5
  require_once(dirname(dirname(__FILE__)) . '/lib/core.php');
6
 
7
- function flag_tune($show_error=true) {
8
  /* Move skins outside the plugin folder */
9
  $flag_options = get_option('flag_options');
10
  $skins_dir = str_replace("\\","/", WP_PLUGIN_DIR . '/flagallery-skins/' );
@@ -32,8 +32,11 @@ function flag_tune($show_error=true) {
32
  continue;
33
  if ( is_dir( $old_skins_dir.$file ) ) {
34
  if( is_dir( $skins_dir.$file ) ) {
35
- //flagGallery::flagFolderDelete( $skins_dir.$file );
36
- continue;
 
 
 
37
  }
38
  if ( !@rename($old_skins_dir.$file, $skins_dir.$file) ) {
39
  $errors .= sprintf(__('Failed to move files from %1$s to %2$s','flag'),
4
 
5
  require_once(dirname(dirname(__FILE__)) . '/lib/core.php');
6
 
7
+ function flag_tune($show_error=true, $skins_reset=false) {
8
  /* Move skins outside the plugin folder */
9
  $flag_options = get_option('flag_options');
10
  $skins_dir = str_replace("\\","/", WP_PLUGIN_DIR . '/flagallery-skins/' );
32
  continue;
33
  if ( is_dir( $old_skins_dir.$file ) ) {
34
  if( is_dir( $skins_dir.$file ) ) {
35
+ if($skins_reset){
36
+ flagGallery::flagFolderDelete( $skins_dir.$file );
37
+ } else {
38
+ continue;
39
+ }
40
  }
41
  if ( !@rename($old_skins_dir.$file, $skins_dir.$file) ) {
42
  $errors .= sprintf(__('Failed to move files from %1$s to %2$s','flag'),
admin/upload.php CHANGED
@@ -4,6 +4,8 @@
4
  *
5
  */
6
  define('WP_ADMIN', true);
 
 
7
 
8
  // look up for the path
9
  require_once( dirname( dirname(__FILE__) ) . '/flag-config.php');
@@ -32,7 +34,7 @@ if ( !current_user_can('FlAG Upload images') )
32
  die('You do not have permission to upload files. -2');
33
 
34
  //check for correct nonce
35
- check_admin_referer('flag_swfupload');
36
 
37
  //check for flag
38
  if ( !defined('FLAG_ABSPATH') )
4
  *
5
  */
6
  define('WP_ADMIN', true);
7
+ ini_set( 'display_errors', 0 );
8
+ ini_set( 'error_reporting', 0 );
9
 
10
  // look up for the path
11
  require_once( dirname( dirname(__FILE__) ) . '/flag-config.php');
34
  die('You do not have permission to upload files. -2');
35
 
36
  //check for correct nonce
37
+ check_admin_referer('flag_upload');
38
 
39
  //check for flag
40
  if ( !defined('FLAG_ABSPATH') )
facebook.php CHANGED
@@ -33,10 +33,10 @@ if(isset($_GET['i'])) {
33
  /** @var $flagdb flagdb */
34
  global $flagdb;
35
  $gids='';
36
- if(empty($orderby)) $orderby='gid';
37
- if(empty($order)) $order='DESC';
38
- $gallerylist = $flagdb->find_all_galleries($orderby, $order);
39
- if(is_array($gallerylist)) {
40
  foreach($gallerylist as $gallery) {
41
  $gids.='_'.$gallery->gid;
42
  }
33
  /** @var $flagdb flagdb */
34
  global $flagdb;
35
  $gids='';
36
+ $orderby=$flag_options['albSort'];
37
+ $order=$flag_options['albSortDir'];
38
+ $gallerylist = $flagdb->find_all_galleries($orderby, $order);
39
+ if(is_array($gallerylist)) {
40
  foreach($gallerylist as $gallery) {
41
  $gids.='_'.$gallery->gid;
42
  }
flag.php CHANGED
@@ -3,7 +3,7 @@
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: 3.12
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 = '3.12';
27
  var $dbversion = '2.75';
28
  var $minium_WP = '3.0';
29
  var $minium_WPMU = '3.0';
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: 3.20
7
  Author: Rattus
8
  Author URI: http://codeasily.com/
9
 
23
  if (!class_exists('flagLoad')) {
24
  class flagLoad {
25
 
26
+ var $version = '3.20';
27
  var $dbversion = '2.75';
28
  var $minium_WP = '3.0';
29
  var $minium_WPMU = '3.0';
lang/flag-hu_HU.mo ADDED
Binary file
lang/flag-hu_HU.po ADDED
@@ -0,0 +1,2944 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2013
2
+ # This file is distributed under the same license as the package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: flag 1.0\n"
6
+ "Report-Msgid-Bugs-To: http://wordpress.org/tag/flash-album-gallery\n"
7
+ "POT-Creation-Date: 2013-07-10 10:46:14+00:00\n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=UTF-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2013-09-15 16:44+0100\n"
12
+ "Last-Translator: Riffe <riffe@freemail.hu>\n"
13
+ "Language-Team: LANGUAGE <LL@li.org>\n"
14
+ "X-Generator: Poedit 1.5.7\n"
15
+ "X-Poedit-SourceCharset: UTF-8\n"
16
+
17
+ #: admin/addgallery.php:37
18
+ msgid "Upload failed!"
19
+ msgstr "Feltöltés nem sikerült!"
20
+
21
+ #: admin/addgallery.php:49 admin/functions.php:819
22
+ msgid "No gallery selected !"
23
+ msgstr "Nincs galéria kiválasztva!"
24
+
25
+ #: admin/addgallery.php:118
26
+ msgid "Image Files"
27
+ msgstr "Kép fájlok"
28
+
29
+ #: admin/addgallery.php:139 admin/addgallery.php:169
30
+ msgid "remove"
31
+ msgstr "eltávolítás"
32
+
33
+ #: admin/addgallery.php:140 admin/addgallery.php:281 admin/banner-box.php:342
34
+ #: admin/music-box.php:311 admin/video-box.php:265
35
+ msgid "Browse..."
36
+ msgstr "Tallózás ..."
37
+
38
+ #: admin/addgallery.php:141 admin/addgallery.php:211 admin/addgallery.php:267
39
+ msgid "Upload images"
40
+ msgstr "Képek feltöltése"
41
+
42
+ #: admin/addgallery.php:180
43
+ msgid "Add new gallery"
44
+ msgstr "Új galéria hozzáadása"
45
+
46
+ #: admin/addgallery.php:181
47
+ msgid "Upload Images"
48
+ msgstr "Képek feltöltése"
49
+
50
+ #: admin/addgallery.php:183 admin/addgallery.php:275
51
+ msgid "Import image folder"
52
+ msgstr "Kép könyvtár importálása"
53
+
54
+ #: admin/addgallery.php:189
55
+ msgid "Create a new gallery"
56
+ msgstr "Új galéria létrehozása"
57
+
58
+ #: admin/addgallery.php:194
59
+ msgid "New Gallery"
60
+ msgstr "Új galéria"
61
+
62
+ #: admin/addgallery.php:199
63
+ msgid "Create a new , empty gallery below the folder"
64
+ msgstr "Létre hoz egy új, üres galériát "
65
+
66
+ #: admin/addgallery.php:201
67
+ msgid "Allowed characters for file and folder names are"
68
+ msgstr "Engedélyezett karakterek a fájl és könyvtárnevekben"
69
+
70
+ #: admin/addgallery.php:203
71
+ msgid "Add gallery"
72
+ msgstr "Galéria hozzáadása"
73
+
74
+ #: admin/addgallery.php:238
75
+ msgid "Upload image(s):"
76
+ msgstr "Kép(ek) feltöltése:"
77
+
78
+ #: admin/addgallery.php:242
79
+ msgid "in to"
80
+ msgstr "be"
81
+
82
+ #: admin/addgallery.php:244
83
+ msgid "Choose gallery"
84
+ msgstr "Galéria választása"
85
+
86
+ #: admin/addgallery.php:262
87
+ msgid ""
88
+ "The batch upload requires Adobe Flash 10, disable it if you have problems"
89
+ msgstr ""
90
+ "A kötegelt feltöltéshez Adobe Flash 10 szükséges, letílthatod ha ez nem "
91
+ "alkalmas neked"
92
+
93
+ #: admin/addgallery.php:262
94
+ msgid "Disable flash upload"
95
+ msgstr "Flash feltöltés letiltása"
96
+
97
+ #: admin/addgallery.php:264
98
+ msgid "Upload multiple files at once by ctrl/shift-selecting in dialog"
99
+ msgstr ""
100
+ "Több fájl feltöltése egyszerre ctrl / shift- billentyűk használata a "
101
+ "kiválasztáskor a párbeszédpanelen"
102
+
103
+ #: admin/addgallery.php:264
104
+ msgid "Enable flash based upload"
105
+ msgstr "Flash alapú feltöltés engedélyezése"
106
+
107
+ #: admin/addgallery.php:280 admin/banner-box.php:341 admin/music-box.php:310
108
+ #: admin/video-box.php:264
109
+ msgid "Import from Server path:"
110
+ msgstr "Importálás Szerverről:"
111
+
112
+ #: admin/addgallery.php:284
113
+ msgid ""
114
+ " Please note : For safe-mode = ON you need to add the subfolder thumbs "
115
+ "manually"
116
+ msgstr ""
117
+ "Kérjük, vegye figyelembe: A safe-mode = ON meg kell adni az almappához kézzel"
118
+
119
+ #: admin/addgallery.php:287 admin/banner-box.php:349 admin/music-box.php:318
120
+ #: admin/video-box.php:272
121
+ msgid "Import folder"
122
+ msgstr "Import könyvtár"
123
+
124
+ #: admin/admin.php:53 admin/admin.php:54
125
+ msgid "GRAND Flash Album Gallery overview"
126
+ msgstr "GRAND Flash Album Gallery áttekintás"
127
+
128
+ #: admin/admin.php:53 admin/media-upload.php:8
129
+ msgid "FlAGallery"
130
+ msgstr "FlAGallery"
131
+
132
+ #: admin/admin.php:54
133
+ msgid "Overview"
134
+ msgstr "Áttekintés"
135
+
136
+ #: admin/admin.php:55
137
+ msgid "FlAG Manage gallery"
138
+ msgstr "FlAG Galéria Kezelés"
139
+
140
+ #: admin/admin.php:55
141
+ msgid "Manage Galleries"
142
+ msgstr "Galériák kezelése"
143
+
144
+ #: admin/admin.php:56
145
+ msgid "FlAG Music Box"
146
+ msgstr "FlAG Zene Doboz"
147
+
148
+ #: admin/admin.php:56
149
+ msgid "Music Box"
150
+ msgstr "Zene Doboz"
151
+
152
+ #: admin/admin.php:57
153
+ msgid "FlAG Video Box"
154
+ msgstr "FlAG Video Doboz"
155
+
156
+ #: admin/admin.php:57
157
+ msgid "Video Box"
158
+ msgstr "Video Doboz"
159
+
160
+ #: admin/admin.php:58
161
+ msgid "FlAG Banner Box"
162
+ msgstr "FlAG Banner Doboz"
163
+
164
+ #: admin/admin.php:58
165
+ msgid "Banner Box"
166
+ msgstr "Banner Doboz"
167
+
168
+ #: admin/admin.php:59
169
+ msgid "FlAG Manage skins"
170
+ msgstr "FlAG Megjelenések Kezelése"
171
+
172
+ #: admin/admin.php:59 admin/skins.php:339
173
+ msgid "Skins"
174
+ msgstr "Felületek"
175
+
176
+ #: admin/admin.php:60
177
+ msgid "FlAG Change options"
178
+ msgstr "FlAG Beállítások változtatása"
179
+
180
+ #: admin/admin.php:60 admin/skins.php:457
181
+ msgid "Options"
182
+ msgstr "Beállítások"
183
+
184
+ #: admin/admin.php:61
185
+ msgid "FlAG Facebook Integration"
186
+ msgstr "FlAG Facebook Integráció"
187
+
188
+ #: admin/admin.php:61
189
+ msgid "Facebook"
190
+ msgstr "Facebook"
191
+
192
+ #: admin/admin.php:63
193
+ msgid "GRAND Flash Album Gallery"
194
+ msgstr "GRAND Flash Album Gallery"
195
+
196
+ #: admin/admin.php:63
197
+ msgid "Grand Flagallery"
198
+ msgstr "Grand Flagallery"
199
+
200
+ #: admin/admin.php:133
201
+ msgid "You do not have the correct permission"
202
+ msgstr "Nem rendelkezik a megfelelő engedéllyel"
203
+
204
+ #: admin/admin.php:134
205
+ msgid "Unexpected Error"
206
+ msgstr "Váratlan hiba"
207
+
208
+ #: admin/admin.php:135
209
+ msgid "A failure occurred"
210
+ msgstr "Hiba történt"
211
+
212
+ #: admin/admin.php:215 admin/admin.php:249 admin/functions.php:105
213
+ #: admin/functions.php:181 admin/manage-images.php:205 admin/manage.php:101
214
+ #: admin/manage.php:112 admin/manage.php:120 admin/overview.php:197
215
+ msgid "Gallery"
216
+ msgid_plural "Galleries"
217
+ msgstr[0] ""
218
+ msgstr[1] ""
219
+
220
+ #: admin/admin.php:229
221
+ msgid "Get help with Grand Flagallery"
222
+ msgstr "Segítség a Grand Flagallery-től"
223
+
224
+ #: admin/admin.php:233
225
+ msgid "More Help & Info"
226
+ msgstr "Több Segítség & Információ"
227
+
228
+ #: admin/admin.php:235
229
+ msgid "Grand Flagallery Video Tutorial"
230
+ msgstr "Grand Flagallery Video oktató"
231
+
232
+ #: admin/admin.php:236
233
+ msgid "FAQ"
234
+ msgstr "GY.I.K."
235
+
236
+ #: admin/admin.php:237
237
+ msgid "Grand Flagallery Review"
238
+ msgstr "Grand Flagallery Áttekintése"
239
+
240
+ #: admin/admin.php:238
241
+ msgid "Get your language pack"
242
+ msgstr "Nyelvi csomag beszerzése"
243
+
244
+ #: admin/admin.php:239
245
+ msgid "Skins for Grand Flagallery"
246
+ msgstr "Felületek a Grand Flagallery-hez"
247
+
248
+ #: admin/ajax.php:139 admin/ajax.php:165 admin/facebook-tool.php:13
249
+ msgid "Success"
250
+ msgstr "Sikerült"
251
+
252
+ #: admin/ajax.php:190 admin/functions.php:250 admin/functions.php:290
253
+ msgid "<em>%s</em> was <strong>not</strong> imported due to an error: %s"
254
+ msgstr ""
255
+ "<em>%s</em> nem sikerült<strong></strong> az importálás egy hiba miatt: %s"
256
+
257
+ #: admin/ajax.php:192 admin/functions.php:253 admin/functions.php:293
258
+ msgid "<em>%s</em> has been added to Media library"
259
+ msgstr "<em>%s</em>hozzáadásra került a Media könyvtárhoz"
260
+
261
+ #: admin/banner-box.php:90 admin/music-box.php:86 admin/video-box.php:80
262
+ msgid "Media updated"
263
+ msgstr "Média feltöltve"
264
+
265
+ #: admin/banner-box.php:133
266
+ msgid "Import folder is complete. The page reloads after 5 seconds."
267
+ msgstr "Import könyvtár kész. Az oldal újra betöltődik 5 másodpercen belűl."
268
+
269
+ #: admin/banner-box.php:134
270
+ msgid "Import folder complete. Refresh page."
271
+ msgstr "import könyvtár kész. Frissítsd az oldalt."
272
+
273
+ #: admin/banner-box.php:155 admin/music-box.php:107 admin/video-box.php:101
274
+ msgid "Created playlists"
275
+ msgstr "Lejátszási lista készítése"
276
+
277
+ #: admin/banner-box.php:159 admin/banner-sort.php:68 admin/banner-sort.php:76
278
+ #: admin/manage-banner.php:149 admin/manage-galleries.php:153
279
+ #: admin/manage-images.php:232 admin/manage-playlist.php:150
280
+ #: admin/manage-video.php:150 admin/music-box.php:111
281
+ #: admin/playlist-sort.php:68 admin/playlist-sort.php:76
282
+ #: admin/video-box.php:105 admin/video-sort.php:73 admin/video-sort.php:81
283
+ #: lib/meta.php:398
284
+ msgid "Title"
285
+ msgstr "Cím"
286
+
287
+ #: admin/banner-box.php:160 admin/banner-box.php:433 admin/banner-box.php:442
288
+ #: admin/manage-banner.php:153 admin/manage-banner.php:185
289
+ #: admin/manage-banner.php:194 admin/manage-galleries.php:154
290
+ #: admin/manage-images.php:236 admin/manage-images.php:601
291
+ #: admin/manage-playlist.php:154 admin/manage-playlist.php:187
292
+ #: admin/manage-playlist.php:197 admin/manage-video.php:154
293
+ #: admin/manage-video.php:187 admin/manage-video.php:197
294
+ #: admin/media-upload.php:184 admin/music-box.php:112 admin/music-box.php:402
295
+ #: admin/music-box.php:412 admin/skins.php:385 admin/skins.php:393
296
+ #: admin/video-box.php:106 admin/video-box.php:317 admin/video-box.php:327
297
+ msgid "Description"
298
+ msgstr "Leírás"
299
+
300
+ #: admin/banner-box.php:161 admin/manage-galleries.php:156
301
+ #: admin/music-box.php:113 admin/video-box.php:107
302
+ msgid "Quantity"
303
+ msgstr "Mennyiség"
304
+
305
+ #: admin/banner-box.php:162 admin/manage-banner.php:127
306
+ #: admin/manage-playlist.php:128 admin/manage-video.php:128
307
+ #: admin/music-box.php:114 admin/video-box.php:108
308
+ msgid "Shortcode"
309
+ msgstr ""
310
+
311
+ #: admin/banner-box.php:163 admin/manage-galleries.php:157
312
+ #: admin/music-box.php:115 admin/skins.php:386 admin/skins.php:394
313
+ #: admin/video-box.php:109
314
+ msgid "Action"
315
+ msgstr "Akció"
316
+
317
+ #: admin/banner-box.php:179 admin/manage-galleries.php:178
318
+ #: admin/music-box.php:131 admin/video-box.php:125
319
+ msgid "Edit"
320
+ msgstr "Szerkesztés"
321
+
322
+ #: admin/banner-box.php:183 admin/music-box.php:135 admin/video-box.php:129
323
+ msgid "player"
324
+ msgstr "Lejátszó"
325
+
326
+ #: admin/banner-box.php:187 admin/music-box.php:139 admin/video-box.php:133
327
+ msgid "Delete this playlist?"
328
+ msgstr "Törlöd ezt a lejátszási listát?"
329
+
330
+ #: admin/banner-box.php:187 admin/manage-galleries.php:191
331
+ #: admin/manage-galleries.php:273 admin/manage-images.php:401
332
+ #: admin/music-box.php:139 admin/skins.php:461 admin/skins.php:471
333
+ #: admin/video-box.php:133
334
+ msgid "Delete"
335
+ msgstr "Törlés"
336
+
337
+ #: admin/banner-box.php:193 admin/music-box.php:145 admin/video-box.php:139
338
+ msgid "No playlists found"
339
+ msgstr "Nincs lejátszási lista"
340
+
341
+ #: admin/banner-box.php:290 admin/manage-banner.php:42
342
+ #: admin/manage-playlist.php:42 admin/manage-video.php:42
343
+ #: admin/music-box.php:248 admin/video-box.php:205
344
+ msgid "No items selected"
345
+ msgstr "Nincs elem kiválasztva"
346
+
347
+ #: admin/banner-box.php:336
348
+ msgid "Import banners from folder"
349
+ msgstr "Banner importálása könyvtárból"
350
+
351
+ #: admin/banner-box.php:345 admin/music-box.php:314 admin/video-box.php:268
352
+ msgid "delete files after import in WordPress Media Library"
353
+ msgstr "törli a fájlokat az importálás után a WordPress Média Tárból"
354
+
355
+ #: admin/banner-box.php:355
356
+ msgid "WordPress Image Library"
357
+ msgstr "WordPress Kép Könyvtár"
358
+
359
+ #: admin/banner-box.php:379 admin/manage-galleries.php:22
360
+ #: admin/manage-images.php:55 admin/music-box.php:347
361
+ msgid "&laquo;"
362
+ msgstr ""
363
+
364
+ #: admin/banner-box.php:380 admin/manage-galleries.php:23
365
+ #: admin/manage-images.php:56 admin/music-box.php:348
366
+ msgid "&raquo;"
367
+ msgstr ""
368
+
369
+ #: admin/banner-box.php:387 admin/music-box.php:355
370
+ msgid "Selected Media"
371
+ msgstr "Kiválasztott média"
372
+
373
+ #: admin/banner-box.php:387 admin/music-box.php:355
374
+ msgid "Clear Selected"
375
+ msgstr "Kiválasztás törlése"
376
+
377
+ #: admin/banner-box.php:389 admin/manage-galleries.php:136
378
+ #: admin/manage-images.php:271 admin/music-box.php:357
379
+ msgid "Displaying %s&#8211;%s of %s"
380
+ msgstr "Megjelenít %s&#8211;%s a %s-ból"
381
+
382
+ #: admin/banner-box.php:404 admin/music-box.php:372 admin/video-box.php:287
383
+ msgid "Update Media"
384
+ msgstr "Média Frissítése"
385
+
386
+ #: admin/banner-box.php:407 admin/manage-banner.php:168
387
+ #: admin/manage-galleries.php:124 admin/manage-images.php:280
388
+ #: admin/manage-playlist.php:169 admin/manage-video.php:169
389
+ #: admin/music-box.php:375 admin/video-box.php:290
390
+ msgid "No action"
391
+ msgstr "Nincs akció"
392
+
393
+ #: admin/banner-box.php:408 admin/music-box.php:376 admin/video-box.php:291
394
+ msgid "Create new playlist"
395
+ msgstr "Új Lejátszási lista létrehozása"
396
+
397
+ #: admin/banner-box.php:410 admin/manage-galleries.php:131
398
+ #: admin/music-box.php:378 admin/video-box.php:293
399
+ msgid "Apply"
400
+ msgstr "Elfogad"
401
+
402
+ #: admin/banner-box.php:412
403
+ msgid "Upload Banner(s)"
404
+ msgstr "Banner(ek) feltöltése"
405
+
406
+ #: admin/banner-box.php:421 admin/manage-banner.php:174
407
+ #: admin/manage-banner.php:244 admin/manage-playlist.php:175
408
+ #: admin/manage-playlist.php:255 admin/manage-video.php:175
409
+ #: admin/manage-video.php:250 admin/music-box.php:389 admin/video-box.php:304
410
+ msgid "Update Playlist"
411
+ msgstr "Lejátszási lista frissítése"
412
+
413
+ #: admin/banner-box.php:429 admin/banner-box.php:438
414
+ #: admin/manage-banner.php:181 admin/manage-banner.php:190
415
+ #: admin/manage-playlist.php:182 admin/manage-playlist.php:192
416
+ #: admin/manage-video.php:182 admin/manage-video.php:192
417
+ #: admin/music-box.php:397 admin/music-box.php:407 admin/video-box.php:312
418
+ #: admin/video-box.php:322
419
+ msgid "Check"
420
+ msgstr "Jelölés"
421
+
422
+ #: admin/banner-box.php:430 admin/banner-box.php:439 admin/banner-sort.php:65
423
+ #: admin/banner-sort.php:73 admin/manage-banner.php:182
424
+ #: admin/manage-banner.php:191 admin/manage-galleries.php:152
425
+ #: admin/manage-images.php:596 admin/manage-playlist.php:183
426
+ #: admin/manage-playlist.php:193 admin/manage-sort.php:99
427
+ #: admin/manage-sort.php:108 admin/manage-video.php:183
428
+ #: admin/manage-video.php:193 admin/music-box.php:398 admin/music-box.php:408
429
+ #: admin/playlist-sort.php:65 admin/playlist-sort.php:73
430
+ #: admin/video-box.php:313 admin/video-box.php:323 admin/video-sort.php:70
431
+ #: admin/video-sort.php:78
432
+ msgid "ID"
433
+ msgstr ""
434
+
435
+ #: admin/banner-box.php:431 admin/banner-box.php:440
436
+ #: admin/manage-banner.php:183 admin/manage-banner.php:192
437
+ #: admin/manage-images.php:597 admin/manage-playlist.php:185
438
+ #: admin/manage-playlist.php:195 admin/manage-video.php:185
439
+ #: admin/manage-video.php:195 admin/media-upload.php:205
440
+ #: admin/music-box.php:400 admin/music-box.php:410 admin/video-box.php:315
441
+ #: admin/video-box.php:325
442
+ msgid "Thumbnail"
443
+ msgstr "Bélyegkép"
444
+
445
+ #: admin/banner-box.php:432 admin/banner-box.php:441
446
+ msgid "Filename / Title / Link"
447
+ msgstr "Fájlnév / Cím / Link"
448
+
449
+ #: admin/banner-box.php:459 admin/music-box.php:429 admin/video-box.php:351
450
+ msgid "Already Added"
451
+ msgstr "Már hozzáadva"
452
+
453
+ #: admin/banner-box.php:480 admin/manage-banner.php:226
454
+ msgid "URL"
455
+ msgstr "URL"
456
+
457
+ #: admin/banner-box.php:489
458
+ msgid "No images in WordPress Media Library."
459
+ msgstr "Nincs kép a WordPress Média Tárban"
460
+
461
+ #: admin/banner-box.php:507 admin/music-box.php:486 admin/video-box.php:410
462
+ msgid "Playlist Title"
463
+ msgstr "Lejátszási lista címe"
464
+
465
+ #: admin/banner-box.php:509 admin/facebook-tool.php:180 admin/meta_box.php:126
466
+ #: admin/music-box.php:488 admin/tinymce/window.php:118
467
+ #: admin/video-box.php:412
468
+ msgid "Choose skin"
469
+ msgstr "Válassz Felületet"
470
+
471
+ #: admin/banner-box.php:518 admin/manage-banner.php:140
472
+ #: admin/manage-playlist.php:141 admin/manage-video.php:141
473
+ #: admin/music-box.php:497 admin/video-box.php:421
474
+ msgid "No Skins"
475
+ msgstr "Nincsenek Felületek"
476
+
477
+ #: admin/banner-box.php:526 admin/music-box.php:505 admin/video-box.php:429
478
+ msgid "Playlist Description"
479
+ msgstr "Lejátszási lista leírása"
480
+
481
+ #: admin/banner-box.php:531 admin/manage-galleries.php:335
482
+ #: admin/manage-galleries.php:365 admin/manage-images.php:514
483
+ #: admin/manage-images.php:543 admin/manage-images.php:573
484
+ #: admin/music-box.php:510 admin/video-box.php:434
485
+ msgid "Cancel"
486
+ msgstr "Mégsem"
487
+
488
+ #: admin/banner-box.php:533 admin/manage-banner.php:171
489
+ #: admin/manage-galleries.php:333 admin/manage-galleries.php:363
490
+ #: admin/manage-images.php:290 admin/manage-images.php:512
491
+ #: admin/manage-images.php:541 admin/manage-images.php:571
492
+ #: admin/manage-playlist.php:172 admin/manage-video.php:172
493
+ #: admin/music-box.php:512 admin/video-box.php:436
494
+ msgid "OK"
495
+ msgstr "OK"
496
+
497
+ #: admin/banner-sort.php:17 admin/manage-sort.php:53
498
+ #: admin/playlist-sort.php:17 admin/video-sort.php:22
499
+ msgid "Sort Gallery"
500
+ msgstr "Galéria rendezése"
501
+
502
+ #: admin/banner-sort.php:20 admin/playlist-sort.php:20 admin/video-sort.php:25
503
+ msgid "Back to playlist"
504
+ msgstr "Vissza a lejátszólistához"
505
+
506
+ #: admin/banner-sort.php:25 admin/banner-sort.php:108 admin/manage-sort.php:63
507
+ #: admin/manage-sort.php:146 admin/playlist-sort.php:25
508
+ #: admin/playlist-sort.php:106 admin/video-sort.php:30
509
+ #: admin/video-sort.php:113
510
+ msgid "Update Sort Order"
511
+ msgstr "Rendezési frissítése"
512
+
513
+ #: admin/banner-sort.php:66 admin/banner-sort.php:74 admin/manage-sort.php:100
514
+ #: admin/manage-sort.php:109
515
+ msgid "Thumb"
516
+ msgstr "Bélyeg"
517
+
518
+ #: admin/banner-sort.php:67 admin/banner-sort.php:75
519
+ #: admin/manage-images.php:598 admin/manage-sort.php:101
520
+ #: admin/manage-sort.php:110 admin/playlist-sort.php:67
521
+ #: admin/playlist-sort.php:75 admin/video-sort.php:72 admin/video-sort.php:80
522
+ msgid "Filename"
523
+ msgstr "Fáljnév"
524
+
525
+ #: admin/banner-sort.php:103 admin/manage-banner.php:238
526
+ #: admin/manage-galleries.php:203 admin/manage-images.php:475
527
+ #: admin/manage-playlist.php:249 admin/manage-sort.php:140
528
+ #: admin/manage-video.php:244 admin/playlist-sort.php:101
529
+ #: admin/video-sort.php:108
530
+ msgid "No entries found"
531
+ msgstr "Nem található"
532
+
533
+ #: admin/banner.functions.php:151 admin/playlist.functions.php:121
534
+ #: admin/video.functions.php:121
535
+ msgid "Playlist Saved Successfully"
536
+ msgstr "Lejátszási lista mentése Sikerült"
537
+
538
+ #: admin/banner.functions.php:154 admin/playlist.functions.php:124
539
+ #: admin/video.functions.php:124
540
+ msgid "Create directory please:"
541
+ msgstr "Hozz létre könyvátar:"
542
+
543
+ #: admin/banner.functions.php:176 admin/playlist.functions.php:146
544
+ #: admin/video.functions.php:146
545
+ msgid "deleted"
546
+ msgstr "törölve"
547
+
548
+ #: admin/db_skin_color_scheme.php:51
549
+ msgid "Color Settings"
550
+ msgstr "Szín beállítások"
551
+
552
+ #: admin/db_skin_color_scheme.php:54
553
+ msgid "Background Color"
554
+ msgstr "Háttérszín"
555
+
556
+ #: admin/db_skin_color_scheme.php:58
557
+ msgid "Buttons Background Color"
558
+ msgstr "Gomb háttérszín"
559
+
560
+ #: admin/db_skin_color_scheme.php:62
561
+ msgid "Buttons Text Color"
562
+ msgstr "Gomb szöveg szín"
563
+
564
+ #: admin/db_skin_color_scheme.php:71 admin/settings.php:262
565
+ msgid "Category Buttons Color"
566
+ msgstr "Ketegória gomb szín"
567
+
568
+ #: admin/db_skin_color_scheme.php:80
569
+ msgid "Category Buttons Text Color"
570
+ msgstr "Kategória gomb szöveg szín"
571
+
572
+ #: admin/db_skin_color_scheme.php:89
573
+ msgid "Thumbs Rollover Color"
574
+ msgstr "Bélyegképek Rollover szín"
575
+
576
+ #: admin/db_skin_color_scheme.php:98
577
+ msgid "Main Title"
578
+ msgstr "Fő cím"
579
+
580
+ #: admin/db_skin_color_scheme.php:102
581
+ msgid "Category Title"
582
+ msgstr "Kategória Cím"
583
+
584
+ #: admin/db_skin_color_scheme.php:106
585
+ msgid "Item Background"
586
+ msgstr "Elem háttér"
587
+
588
+ #: admin/db_skin_color_scheme.php:110
589
+ msgid "Item Title"
590
+ msgstr "Elem Cím"
591
+
592
+ #: admin/db_skin_color_scheme.php:114
593
+ msgid "Item Description"
594
+ msgstr "Elem Leírása"
595
+
596
+ #: admin/db_skin_color_scheme.php:120 admin/manage-images.php:260
597
+ #: admin/manage-images.php:298 admin/manage-images.php:481
598
+ #: admin/settings.php:287 admin/settings.php:370 admin/settings.php:401
599
+ msgid "Save Changes"
600
+ msgstr "Változások mentése"
601
+
602
+ #: admin/facebook-tool.php:15
603
+ msgid "Failure"
604
+ msgstr "Hiba"
605
+
606
+ #: admin/facebook-tool.php:144
607
+ msgid "Facebook Integration"
608
+ msgstr "Facebook integráció"
609
+
610
+ #: admin/facebook-tool.php:155
611
+ msgid "Copy facebook.php file to root directory"
612
+ msgstr "facebook.php fájl másolása a gyökér könyvtárba"
613
+
614
+ #: admin/facebook-tool.php:158
615
+ msgid "Photo Gallery Facebook Page Generator"
616
+ msgstr "Facebook Képgaléria Készítő"
617
+
618
+ #: admin/facebook-tool.php:161 admin/meta_box.php:107
619
+ #: admin/tinymce/window.php:76
620
+ msgid "Select galleries"
621
+ msgstr "Galéria választása"
622
+
623
+ #: admin/facebook-tool.php:161 admin/meta_box.php:107
624
+ #: admin/tinymce/window.php:76
625
+ msgid "(album categories)"
626
+ msgstr "(album kategóriák)"
627
+
628
+ #: admin/facebook-tool.php:163 admin/meta_box.php:109
629
+ #: admin/tinymce/window.php:78
630
+ msgid "all galleries"
631
+ msgstr "minden galéria"
632
+
633
+ #: admin/facebook-tool.php:176 admin/meta_box.php:122
634
+ msgid "Galleries order"
635
+ msgstr "Galériák rendezése"
636
+
637
+ #: admin/facebook-tool.php:182 admin/meta_box.php:128
638
+ msgid "skin active by default"
639
+ msgstr "felület használata alapértelmezettként"
640
+
641
+ #: admin/facebook-tool.php:191 admin/tinymce/window.php:129
642
+ msgid "Skin size"
643
+ msgstr "Felület mérete"
644
+
645
+ #: admin/facebook-tool.php:191 admin/tinymce/window.php:129
646
+ msgid "blank for default"
647
+ msgstr "hagyd üresen az alapértelmezetthez"
648
+
649
+ #: admin/facebook-tool.php:192 admin/tinymce/window.php:130
650
+ msgid "width"
651
+ msgstr "szélesség"
652
+
653
+ #: admin/facebook-tool.php:192 admin/tinymce/window.php:130
654
+ msgid "height"
655
+ msgstr "magasság"
656
+
657
+ #: admin/facebook-tool.php:195
658
+ msgid "Post ID"
659
+ msgstr "Bejegyzés ID"
660
+
661
+ #: admin/facebook-tool.php:195
662
+ msgid "optional"
663
+ msgstr "választható"
664
+
665
+ #: admin/facebook-tool.php:199 admin/facebook-tool.php:221
666
+ #: admin/facebook-tool.php:243 admin/facebook-tool.php:265
667
+ msgid "Facebook Page Url"
668
+ msgstr "Facebook Page Url"
669
+
670
+ #: admin/facebook-tool.php:204
671
+ msgid "mp3 Gallery Facebook Page Generator"
672
+ msgstr "mp3 Galéria Facebook Oldal Készítő"
673
+
674
+ #: admin/facebook-tool.php:207 admin/facebook-tool.php:209
675
+ #: admin/facebook-tool.php:229 admin/facebook-tool.php:231
676
+ #: widgets/widgets.php:499
677
+ msgid "Choose playlist"
678
+ msgstr "Lejátszási lista választása"
679
+
680
+ #: admin/facebook-tool.php:226
681
+ msgid "Video Blog Gallery Facebook Page Generator"
682
+ msgstr "Videó Blog Galéria Facebook oldal Készítő"
683
+
684
+ #: admin/facebook-tool.php:248
685
+ msgid "Banner Box Facebook Page Generator"
686
+ msgstr "Banner Doboz Facebook Oldal Készítő"
687
+
688
+ #: admin/facebook-tool.php:251
689
+ msgid "Choose xml"
690
+ msgstr "xml választása"
691
+
692
+ #: admin/facebook-tool.php:253
693
+ msgid "Choose XML"
694
+ msgstr "xml választása"
695
+
696
+ #: admin/flag_install.php:124
697
+ msgid ""
698
+ "Flash Album Gallery : Tables could not created, please check your database "
699
+ "settings"
700
+ msgstr ""
701
+ "Flash Album Galéria: Táblázatot nem tudtam létrehozni, kérlek ellenőrizd le "
702
+ "az adatbázis beállításokat"
703
+
704
+ #: admin/flag_install.php:149
705
+ msgid "Sorry, Flash Album Gallery works only with a role called administrator"
706
+ msgstr ""
707
+ "Bocs, de a Flash Album Galéria csak Adminisztrátori jogosultsággal működik"
708
+
709
+ #: admin/functions.php:46
710
+ msgid "No valid gallery name!"
711
+ msgstr "Érvénytelen galéria név"
712
+
713
+ #: admin/functions.php:53 admin/functions.php:62 admin/functions.php:76
714
+ #: admin/functions.php:153 admin/functions.php:160 admin/functions.php:234
715
+ #: admin/functions.php:241 admin/functions.php:274 admin/functions.php:281
716
+ #: admin/functions.php:314 admin/functions.php:320
717
+ msgid "Directory"
718
+ msgstr "Könyvtár"
719
+
720
+ #: admin/functions.php:53
721
+ msgid "didn't exist. Please create first the main gallery folder "
722
+ msgstr "nem létezik. Kérlek hozz létre egy Fő galéria könyvtárat"
723
+
724
+ #: admin/functions.php:54 admin/functions.php:63
725
+ msgid "Check this link, if you didn't know how to set the permission :"
726
+ msgstr ""
727
+ "Ellenőrizze ezt a linket, ha nem tudja, hogyan kell beállítani az "
728
+ "engedélyeket:"
729
+
730
+ #: admin/functions.php:62 admin/functions.php:76
731
+ msgid "is not writeable !"
732
+ msgstr "nem írható!"
733
+
734
+ #: admin/functions.php:71 admin/functions.php:81 lib/core.php:100
735
+ msgid "Unable to create directory "
736
+ msgstr "Nem sikerült létrehozni a könyvtárat"
737
+
738
+ #: admin/functions.php:85
739
+ msgid "The server setting Safe-Mode is on !"
740
+ msgstr "A szerver beállítás csökkentett mód be van kapcsolva!"
741
+
742
+ #: admin/functions.php:86
743
+ msgid "If you have problems, please create directory"
744
+ msgstr "Ha problémák merülnek fel, kérjlek, készíts egy könyvtárat"
745
+
746
+ #: admin/functions.php:87
747
+ msgid "and the thumbnails directory"
748
+ msgstr "és a miniatűrök könyvtár"
749
+
750
+ #: admin/functions.php:87
751
+ msgid "with permission 777 manually !"
752
+ msgstr "ezekkel az engedélyekkel 777 manuálisan!"
753
+
754
+ #: admin/functions.php:105
755
+ msgid "already exists"
756
+ msgstr "már létezik"
757
+
758
+ #: admin/functions.php:115
759
+ msgid ""
760
+ "Gallery '%1$s' successfully created.<br/>You can show this gallery with the "
761
+ "tag %2$s.<br/>"
762
+ msgstr ""
763
+ "A '%1$s' galéria sikeresen elkészűlt.<br/>A galériát ezzel a cimkével tudod "
764
+ "megjeleníteni %2$s.<br/>"
765
+
766
+ #: admin/functions.php:118
767
+ msgid "Edit gallery"
768
+ msgstr "Galéria szerkesztése"
769
+
770
+ #: admin/functions.php:153 admin/functions.php:234 admin/functions.php:274
771
+ #: admin/functions.php:314
772
+ msgid "doesn&#96;t exist!"
773
+ msgstr "nincs ilyen"
774
+
775
+ #: admin/functions.php:160
776
+ msgid "contains no pictures"
777
+ msgstr "nem tartalmaz képeket"
778
+
779
+ #: admin/functions.php:178
780
+ msgid "Database error. Could not add gallery!"
781
+ msgstr "Adatbázis hiba. Nem tudtam hozzá adni a galériát!"
782
+
783
+ #: admin/functions.php:181
784
+ msgid "successfully created!"
785
+ msgstr "Létrehozás sikerült!"
786
+
787
+ #: admin/functions.php:210 admin/functions.php:894
788
+ #: admin/manage-galleries.php:125 admin/manage-images.php:281
789
+ #: admin/manage.php:232 admin/manage.php:301
790
+ msgid "Create new thumbnails"
791
+ msgstr "Új bélyegképek készítése"
792
+
793
+ #: admin/functions.php:213
794
+ msgid " picture(s) successfully added"
795
+ msgstr "kép(ek) sikeresen hozzáadva"
796
+
797
+ #: admin/functions.php:241
798
+ msgid "does not contain flv files"
799
+ msgstr "nem tartalmaz flv fájlokat"
800
+
801
+ #: admin/functions.php:256 admin/functions.php:296
802
+ msgid " file(s) successfully added"
803
+ msgstr "fájl(ok) sikeresen hozzáadva"
804
+
805
+ #: admin/functions.php:281
806
+ msgid "does not contain mp3 files"
807
+ msgstr "nem tartalmaz mp3 fájlokat"
808
+
809
+ #: admin/functions.php:320
810
+ msgid "does not contain image files"
811
+ msgstr "nem tartalmaz kép fájlokat"
812
+
813
+ #: admin/functions.php:323
814
+ msgid "image(s) in the folder"
815
+ msgstr "kép(ek) a könyvtárban"
816
+
817
+ #: admin/functions.php:323
818
+ msgid "Crunching..."
819
+ msgstr ""
820
+
821
+ #: admin/functions.php:348
822
+ msgid "File type does not meet security guidelines. Try another."
823
+ msgstr ""
824
+ "A Fájltípus nem felel meg a biztonsági irányelveknek. Próbálj egy másikat."
825
+
826
+ #: admin/functions.php:379
827
+ msgid "The selected file could not be copied to %s."
828
+ msgstr "A kiválasztott fájlt nem tudtam másolni a %s."
829
+
830
+ #: admin/functions.php:478 admin/functions.php:552
831
+ msgid "Object didn't contain correct data"
832
+ msgstr "Az objektum nem tartalmazott pontos adatokat"
833
+
834
+ #: admin/functions.php:483
835
+ msgid " is not writeable "
836
+ msgstr "nem írható"
837
+
838
+ #: admin/functions.php:562
839
+ msgid " is not writeable"
840
+ msgstr "nem írható"
841
+
842
+ #: admin/functions.php:657 admin/functions.php:710
843
+ msgid "(Error : Couldn't not update data base)"
844
+ msgstr "(Hiba: nem tudtam frissíteni az adatbázist)"
845
+
846
+ #: admin/functions.php:664
847
+ msgid "(Error : Couldn't not update meta data)"
848
+ msgstr "(Hiba: nem tudtam frissíteni a meta adatokat)"
849
+
850
+ #: admin/functions.php:666 admin/functions.php:713
851
+ msgid "(Error : Couldn't not find image)"
852
+ msgstr "(Hiba: nem találtam képet)"
853
+
854
+ #: admin/functions.php:827 admin/functions.php:944
855
+ msgid "Failure in database, no gallery path set !"
856
+ msgstr "Hiba az adatbázisban, nincs kijelölt galéria útvonal!"
857
+
858
+ #: admin/functions.php:851 admin/functions.php:938
859
+ msgid "is no valid image file!"
860
+ msgstr "nem valós kép fájl!"
861
+
862
+ #: admin/functions.php:865 admin/functions.php:1105 admin/functions.php:1178
863
+ msgid ""
864
+ "Unable to write to directory %s. Is this directory writable by the server?"
865
+ msgstr "Nem lehet írni a% s könyvtárat. Ez a könyvtár írható a szerveren?"
866
+
867
+ #: admin/functions.php:872 admin/functions.php:961
868
+ msgid "Error, the file could not moved to : "
869
+ msgstr "Hiba, a fájlt nem tudtam mozgatni:"
870
+
871
+ #: admin/functions.php:877 admin/functions.php:965
872
+ msgid "Error, the file permissions could not set"
873
+ msgstr "Hiba, a fájl hozzáférés nincs beállítva"
874
+
875
+ #: admin/functions.php:898
876
+ msgid " Image(s) successfully added"
877
+ msgstr "Kép(ek) sikeresen hozzáadva"
878
+
879
+ #: admin/functions.php:918
880
+ msgid "No gallery selected!"
881
+ msgstr "Nincs galéria kiválasztva!"
882
+
883
+ #: admin/functions.php:980
884
+ msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini"
885
+ msgstr ""
886
+ "A feltölteni kívánt fájl nagyobb upload_max_filesize-ban megadott méretnél "
887
+ "amit php.ini-ben lehet beállítani"
888
+
889
+ #: admin/functions.php:982
890
+ msgid ""
891
+ "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
892
+ "the HTML form"
893
+ msgstr ""
894
+ "A feltölteni kívánt fájl nagy a megadott MAX_FILE_SIZE értékhez képest HTML "
895
+ "formában"
896
+
897
+ #: admin/functions.php:984
898
+ msgid "The uploaded file was only partially uploaded"
899
+ msgstr "A feltöltött fájl csak részben került feltöltésre"
900
+
901
+ #: admin/functions.php:986
902
+ msgid "No file was uploaded"
903
+ msgstr "Nincs fájl feltöltve"
904
+
905
+ #: admin/functions.php:988
906
+ msgid "Missing a temporary folder"
907
+ msgstr "Hiányzik egy ideiglenes mappa"
908
+
909
+ #: admin/functions.php:990
910
+ msgid "Failed to write file to disk"
911
+ msgstr "Nem sikerült írni a merevlemezre"
912
+
913
+ #: admin/functions.php:992
914
+ msgid "File upload stopped by extension"
915
+ msgstr "File feltöltés megállt a kiterjesztés miatt"
916
+
917
+ #: admin/functions.php:994
918
+ msgid "Unknown upload error"
919
+ msgstr "Ismeretlen feltöltési hiba"
920
+
921
+ #: admin/functions.php:1008
922
+ msgid ""
923
+ "Sorry, you have used your space allocation. Please delete some files to "
924
+ "upload more files."
925
+ msgstr ""
926
+ "Sajnos már elhasználtad a feltöltésre szánt összes helyet. Kérlek törölj "
927
+ "néhány szükségtelen fájlt, ha fel akarsz tölteni!"
928
+
929
+ #: admin/functions.php:1048
930
+ msgid ""
931
+ "SAFE MODE Restriction in effect! You need to create the folder <strong>%s</"
932
+ "strong> manually"
933
+ msgstr ""
934
+ "Csökkentett mód korlátozása! Létre kell hoznod egy <strong>%s</strong> "
935
+ "könyvtárt manuálisan"
936
+
937
+ #: admin/functions.php:1049
938
+ msgid ""
939
+ "When safe_mode is on, PHP checks to see if the owner (%s) of the current "
940
+ "script matches the owner (%s) of the file to be operated on by a file "
941
+ "function or its directory"
942
+ msgstr ""
943
+ "Ha a safe_mode van bekapcsolva, a PHP ellenőrzi, hogy a tulajdonos (% s) "
944
+ "megegyezik a jelenlegi script a tulajdonosával (% s)"
945
+
946
+ #: admin/functions.php:1099 admin/functions.php:1172
947
+ msgid "The destination gallery does not exist"
948
+ msgstr "A cél galéria nem létezik"
949
+
950
+ #: admin/functions.php:1130
951
+ msgid "Failed to move image %1$s to %2$s"
952
+ msgstr "Hiba történt a kép %1$s és % 2$s között"
953
+
954
+ #: admin/functions.php:1148
955
+ msgid "Moved %1$s picture(s) to gallery : %2$s ."
956
+ msgstr "%1$s kép került mozgatásra a galériába: %2$s."
957
+
958
+ #: admin/functions.php:1205
959
+ msgid "Failed to copy image %1$s to %2$s"
960
+ msgstr "Sikertelen kép másolása %1$s -ból %2$s-ba"
961
+
962
+ #: admin/functions.php:1217
963
+ msgid "Failed to copy database row for picture %s"
964
+ msgstr "Nem sikerült az adatbázis sorából másolni a képhez %s"
965
+
966
+ #: admin/functions.php:1222
967
+ msgid ""
968
+ "Image %1$s (%2$s) copied as image %3$s (%4$s) &raquo; The file already "
969
+ "existed in the destination gallery."
970
+ msgstr ""
971
+ " %1$s (%2$s) kép másolva mint kép %3$s (%4$s) &raquo; A fájl már létezik a "
972
+ "célkönyvtárban."
973
+
974
+ #: admin/functions.php:1225
975
+ msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)"
976
+ msgstr " %1$s (%2$s) kép másolva mint %3$s (%4$s) kép"
977
+
978
+ #: admin/functions.php:1234
979
+ msgid "Copied %1$s picture(s) to gallery: %2$s ."
980
+ msgstr "%1$s kép másolva a: %2$s galériába"
981
+
982
+ #: admin/grab_meta.php:13 admin/showmeta.php:28
983
+ msgid "Meta Data"
984
+ msgstr "Meta adatok"
985
+
986
+ #: admin/grab_meta.php:20 admin/showmeta.php:48
987
+ msgid "No meta data saved"
988
+ msgstr "A Meta adatok nincsenek elmentve"
989
+
990
+ #: admin/grab_meta.php:23 admin/showmeta.php:54
991
+ msgid "EXIF Data"
992
+ msgstr "EXIF adatok"
993
+
994
+ #: admin/grab_meta.php:29 admin/showmeta.php:80
995
+ msgid "IPTC Data"
996
+ msgstr "IPTC adatok"
997
+
998
+ #: admin/grab_meta.php:35 admin/showmeta.php:104
999
+ msgid "XMP Data"
1000
+ msgstr "XMP adatok"
1001
+
1002
+ #: admin/manage-banner.php:50 admin/manage-playlist.php:50
1003
+ #: admin/manage-video.php:50
1004
+ msgid ""
1005
+ "You are about to delete %s item(s) \n"
1006
+ " \n"
1007
+ " 'Cancel' to stop, 'OK' to proceed."
1008
+ msgstr ""
1009
+ "Arra készül, hogy % s elem(et) töröl \n"
1010
+ " \n"
1011
+ " \"Mégse\",ha abba akarod hagyni, 'OK' a folytatáshoz."
1012
+
1013
+ #: admin/manage-banner.php:54 admin/manage-playlist.php:54
1014
+ #: admin/manage-video.php:54
1015
+ msgid ""
1016
+ "You are about to start the bulk edit for %s item(s) \n"
1017
+ " \n"
1018
+ " 'Cancel' to stop, 'OK' to proceed."
1019
+ msgstr ""
1020
+ "Tömeges szerkesztésre készülsz % s elem(en) \n"
1021
+ " \n"
1022
+ " \"Mégse\", ha abba akarod hagyni, 'OK' a folytatáshoz."
1023
+
1024
+ #: admin/manage-banner.php:100 admin/manage-playlist.php:101
1025
+ #: admin/manage-video.php:101
1026
+ msgid "Playlist"
1027
+ msgstr "Lejátszási lista"
1028
+
1029
+ #: admin/manage-banner.php:102
1030
+ msgid "Back to Banner Box"
1031
+ msgstr "Vissza a Banner Dobozhoz"
1032
+
1033
+ #: admin/manage-banner.php:104 admin/manage-playlist.php:105
1034
+ #: admin/manage-video.php:105
1035
+ msgid "Choose another playlist"
1036
+ msgstr "Válassz másik lejátszási listát"
1037
+
1038
+ #: admin/manage-banner.php:123 admin/manage-playlist.php:124
1039
+ #: admin/manage-video.php:124
1040
+ msgid "Playlist settings"
1041
+ msgstr "Lejátszási lista beállításai"
1042
+
1043
+ #: admin/manage-banner.php:129 admin/manage-playlist.php:130
1044
+ #: admin/manage-video.php:130
1045
+ msgid "Playlist Skin"
1046
+ msgstr "Lejátszási lista megjelenése"
1047
+
1048
+ #: admin/manage-banner.php:143 admin/manage-playlist.php:144
1049
+ #: admin/manage-video.php:144
1050
+ msgid "Change Skin Options"
1051
+ msgstr "Megjelenés beállításainak megváltoztatása"
1052
+
1053
+ #: admin/manage-banner.php:145 admin/manage-playlist.php:146
1054
+ #: admin/manage-video.php:146
1055
+ msgid "Update skin options for this playlist"
1056
+ msgstr "Lejátszólista megjelenésének frissítése"
1057
+
1058
+ #: admin/manage-banner.php:157 admin/manage-images.php:240
1059
+ #: admin/manage-playlist.php:158 admin/manage-video.php:158
1060
+ msgid "Path"
1061
+ msgstr "Útvonal"
1062
+
1063
+ #: admin/manage-banner.php:169 admin/manage-playlist.php:170
1064
+ #: admin/manage-video.php:170
1065
+ msgid "Delete items"
1066
+ msgstr "Tételek törlése"
1067
+
1068
+ #: admin/manage-banner.php:172 admin/manage-playlist.php:173
1069
+ #: admin/manage-video.php:173
1070
+ msgid "Sort Playlist"
1071
+ msgstr "Lejátszólista rendezése"
1072
+
1073
+ #: admin/manage-banner.php:173 admin/manage-playlist.php:174
1074
+ #: admin/manage-video.php:174
1075
+ msgid "Add/Remove Items from Playlist"
1076
+ msgstr "Elemek Hozzáadása/Eltávolítása a Lejátszólistáról "
1077
+
1078
+ #: admin/manage-banner.php:184 admin/manage-banner.php:193
1079
+ #: admin/manage-playlist.php:186 admin/manage-playlist.php:196
1080
+ #: admin/manage-video.php:186 admin/manage-video.php:196
1081
+ #: admin/music-box.php:401 admin/music-box.php:411 admin/video-box.php:316
1082
+ #: admin/video-box.php:326
1083
+ msgid "Filename / Title"
1084
+ msgstr "Fájlnév / Cím"
1085
+
1086
+ #: admin/manage-galleries.php:64 admin/manage-images.php:150
1087
+ msgid "No images selected"
1088
+ msgstr "Nincs kép kiválasztva"
1089
+
1090
+ #: admin/manage-galleries.php:81
1091
+ msgid ""
1092
+ "You are about to start the bulk edit for %s galleries \n"
1093
+ " \n"
1094
+ " 'Cancel' to stop, 'OK' to proceed."
1095
+ msgstr ""
1096
+ "Tömeges szerkesztésre készülsz % s galérián \n"
1097
+ " \n"
1098
+ " \"Mégse\", ha abba akarod hagyni, 'OK' a folytatáshoz."
1099
+
1100
+ #: admin/manage-galleries.php:106
1101
+ msgid "Gallery Overview"
1102
+ msgstr "Galéria Áttekintése"
1103
+
1104
+ #: admin/manage-galleries.php:109 admin/manage-galleries.php:112
1105
+ #: admin/manage-images.php:190 admin/manage-images.php:193
1106
+ msgid "Search Images"
1107
+ msgstr "Képek keresése"
1108
+
1109
+ #: admin/manage-galleries.php:126 admin/manage-images.php:282
1110
+ #: admin/manage.php:216 admin/manage.php:287
1111
+ msgid "Resize images"
1112
+ msgstr "Képek átméretezése"
1113
+
1114
+ #: admin/manage-galleries.php:127 admin/manage-images.php:284
1115
+ #: admin/manage.php:194 admin/manage.php:268
1116
+ msgid "Import metadata"
1117
+ msgstr "Meta adatok importálása"
1118
+
1119
+ #: admin/manage-galleries.php:128 admin/manage-images.php:285
1120
+ msgid "Metadata to description"
1121
+ msgstr "Metaadat leírás"
1122
+
1123
+ #: admin/manage-galleries.php:155 admin/manage-images.php:244 lib/meta.php:399
1124
+ msgid "Author"
1125
+ msgstr "Szerző"
1126
+
1127
+ #: admin/manage-galleries.php:184 admin/manage-galleries.php:195
1128
+ msgid "Draft"
1129
+ msgstr "Vázlat"
1130
+
1131
+ #: admin/manage-galleries.php:191
1132
+ msgid "Delete this gallery ?"
1133
+ msgstr "Törlöd ezt a galériát?"
1134
+
1135
+ #: admin/manage-galleries.php:193
1136
+ msgid "Publish this gallery?"
1137
+ msgstr "Közzéteszed ezt a galériát?"
1138
+
1139
+ #: admin/manage-galleries.php:193
1140
+ msgid "Publish"
1141
+ msgstr "Közzététel"
1142
+
1143
+ #: admin/manage-galleries.php:195
1144
+ msgid "Make this gallery draft?"
1145
+ msgstr "Ezt a galériát vázlatként hagyod?"
1146
+
1147
+ #: admin/manage-galleries.php:260 admin/tinymce/window.php:50
1148
+ #: admin/tinymce/window.php:59
1149
+ msgid "Albums"
1150
+ msgstr "Albumok"
1151
+
1152
+ #: admin/manage-galleries.php:262
1153
+ msgid "Create New Album"
1154
+ msgstr "Új Album létrehozása"
1155
+
1156
+ #: admin/manage-galleries.php:263
1157
+ msgid "Categories"
1158
+ msgstr "Kategóriák"
1159
+
1160
+ #: admin/manage-galleries.php:273 admin/skins.php:333
1161
+ msgid "Save"
1162
+ msgstr "Metés"
1163
+
1164
+ #: admin/manage-galleries.php:284
1165
+ msgid "Drag&Drop Categories Here"
1166
+ msgstr "Fogd&Engedd el Kategóriák itt"
1167
+
1168
+ #: admin/manage-galleries.php:291
1169
+ msgid "No Albums"
1170
+ msgstr "Nincsenek Albumok"
1171
+
1172
+ #: admin/manage-galleries.php:324 admin/manage-images.php:532
1173
+ msgid "Resize Images to"
1174
+ msgstr "Képek átméretezése"
1175
+
1176
+ #: admin/manage-galleries.php:328
1177
+ msgid "Width x height (in pixel). FlAGallery will keep ratio size"
1178
+ msgstr "Szélesség x magasság (pixel), FIAGallery megtartja a kép arányait"
1179
+
1180
+ #: admin/manage-galleries.php:352 admin/manage-images.php:560
1181
+ msgid "Width x height (in pixel)"
1182
+ msgstr "Szélesség x Magasság (pixel)"
1183
+
1184
+ #: admin/manage-galleries.php:354 admin/manage-images.php:562
1185
+ msgid "These values are maximum values "
1186
+ msgstr "Ezek az értékek a maximális értékek"
1187
+
1188
+ #: admin/manage-galleries.php:357 admin/manage-images.php:565
1189
+ msgid "Set fix dimension"
1190
+ msgstr "Fix méret beállítása"
1191
+
1192
+ #: admin/manage-galleries.php:359 admin/manage-images.php:567
1193
+ msgid "Ignore the aspect ratio, no portrait thumbnails"
1194
+ msgstr "Figyelmen kívül hagyja a képarányt a nem álló miniatűröknél"
1195
+
1196
+ #: admin/manage-images.php:31
1197
+ msgid "Gallery not found."
1198
+ msgstr "Nem találom a galériát."
1199
+
1200
+ #: admin/manage-images.php:37
1201
+ msgid "Sorry, you have no access here"
1202
+ msgstr "Sajnálom, ehhez nincs hozzáférésed engedélyezve"
1203
+
1204
+ #: admin/manage-images.php:172
1205
+ msgid ""
1206
+ "You are about to start the bulk edit for %s images \n"
1207
+ " \n"
1208
+ " 'Cancel' to stop, 'OK' to proceed."
1209
+ msgstr ""
1210
+ "Tömeges kép szerkesztésbe kezdesz %s képen \n"
1211
+ " \n"
1212
+ " 'Mégse' ha nem így akartad, 'OK' a folytatáshoz."
1213
+
1214
+ #: admin/manage-images.php:187
1215
+ msgid "Search results for &#8220;%s&#8221;"
1216
+ msgstr "Keresés eredménye: &#8220;%s&#8221;"
1217
+
1218
+ #: admin/manage-images.php:207
1219
+ msgid "Choose another gallery"
1220
+ msgstr "válassz másik galériát"
1221
+
1222
+ #: admin/manage-images.php:228
1223
+ msgid "Gallery settings"
1224
+ msgstr "Galéria beállítások"
1225
+
1226
+ #: admin/manage-images.php:259
1227
+ msgid "Scan Folder for new images"
1228
+ msgstr "Új képek ellenörzése a mappában"
1229
+
1230
+ #: admin/manage-images.php:283
1231
+ msgid "Delete images"
1232
+ msgstr "Képek törlése"
1233
+
1234
+ #: admin/manage-images.php:286
1235
+ msgid "Copy to..."
1236
+ msgstr "Másolás ide ..."
1237
+
1238
+ #: admin/manage-images.php:287
1239
+ msgid "Move to..."
1240
+ msgstr "Mozgatás ide..."
1241
+
1242
+ #: admin/manage-images.php:293
1243
+ msgid "Sort gallery"
1244
+ msgstr "Galéria rendezése"
1245
+
1246
+ #: admin/manage-images.php:296
1247
+ msgid "Add Images"
1248
+ msgstr "Képek hozzáadása"
1249
+
1250
+ #: admin/manage-images.php:389 admin/manage-images.php:393
1251
+ msgid "Size: "
1252
+ msgstr "Méret:"
1253
+
1254
+ #: admin/manage-images.php:389 admin/manage-images.php:393
1255
+ msgid "pixel"
1256
+ msgstr "pixel"
1257
+
1258
+ #: admin/manage-images.php:398
1259
+ msgid "View \"%s\""
1260
+ msgstr "Megtekintés \"%s\""
1261
+
1262
+ #: admin/manage-images.php:398
1263
+ msgid "View"
1264
+ msgstr "Megtekintés"
1265
+
1266
+ #: admin/manage-images.php:399
1267
+ msgid "Show Meta data"
1268
+ msgstr "Meta adatok mutatása"
1269
+
1270
+ #: admin/manage-images.php:399
1271
+ msgid "Meta"
1272
+ msgstr "Meta"
1273
+
1274
+ #: admin/manage-images.php:400
1275
+ msgid "Customize thumbnail"
1276
+ msgstr "Bélyegképek testreszabása "
1277
+
1278
+ #: admin/manage-images.php:400
1279
+ msgid "Edit thumb"
1280
+ msgstr "Bélyegkép szerkesztése"
1281
+
1282
+ #: admin/manage-images.php:401
1283
+ msgid "Delete \"%s\""
1284
+ msgstr "Törlés \"%s\""
1285
+
1286
+ #: admin/manage-images.php:496
1287
+ msgid "Select the destination gallery:"
1288
+ msgstr "Válaszd ki a célgalériát:"
1289
+
1290
+ #: admin/manage-images.php:536
1291
+ msgid "Width x height (in pixel). Grand Flagallery will keep ratio size"
1292
+ msgstr "Szélesség x magasság ( pixel). Grand Flagallery megtartja a képarányt"
1293
+
1294
+ #: admin/manage-images.php:599
1295
+ msgid "Views / Likes"
1296
+ msgstr "Megtekintések / Lájkok"
1297
+
1298
+ #: admin/manage-images.php:600
1299
+ msgid "Rating"
1300
+ msgstr "Értékelés"
1301
+
1302
+ #: admin/manage-images.php:601 admin/manage-sort.php:103
1303
+ #: admin/manage-sort.php:112
1304
+ msgid "Alt &amp; Title Text"
1305
+ msgstr "Alt &amp; Cím szöveg"
1306
+
1307
+ #: admin/manage-images.php:602
1308
+ msgid "Only for logged in users"
1309
+ msgstr "Csak bejelentkezett felhasználóknak"
1310
+
1311
+ #: admin/manage-playlist.php:103
1312
+ msgid "Back to Music Box"
1313
+ msgstr "Vissza a Zene Dobozhoz"
1314
+
1315
+ #: admin/manage-playlist.php:184 admin/manage-playlist.php:194
1316
+ #: admin/manage-video.php:184 admin/manage-video.php:194
1317
+ #: admin/media-upload.php:201 admin/music-box.php:399 admin/music-box.php:409
1318
+ #: admin/video-box.php:314 admin/video-box.php:324
1319
+ msgid "Size"
1320
+ msgstr "Méret"
1321
+
1322
+ #: admin/manage-playlist.php:233 admin/manage-video.php:232
1323
+ #: admin/music-box.php:454 admin/video-box.php:380
1324
+ msgid "Thumb URL:"
1325
+ msgstr "Bélyegkép URL"
1326
+
1327
+ #: admin/manage-playlist.php:233 admin/manage-video.php:232
1328
+ #: admin/music-box.php:454 admin/video-box.php:380
1329
+ msgid "Add an Image"
1330
+ msgstr "Kép hozzáadása"
1331
+
1332
+ #: admin/manage-playlist.php:233 admin/manage-video.php:232
1333
+ #: admin/music-box.php:454 admin/video-box.php:380
1334
+ msgid "assist"
1335
+ msgstr "segít"
1336
+
1337
+ #: admin/manage-sort.php:31
1338
+ msgid "Sort order changed"
1339
+ msgstr "Rendezési sorrend megváltozott"
1340
+
1341
+ #: admin/manage-sort.php:57
1342
+ msgid "Back to gallery"
1343
+ msgstr "Vissza a galériához"
1344
+
1345
+ #: admin/manage-sort.php:102 admin/manage-sort.php:111
1346
+ msgid "Date"
1347
+ msgstr "Dátum"
1348
+
1349
+ #: admin/manage-video.php:103
1350
+ msgid "Back to Video Box"
1351
+ msgstr "Vissza a Videó dobozhoz"
1352
+
1353
+ #: admin/manage.php:101 admin/manage.php:153 admin/skins.php:217
1354
+ msgid "deleted successfully"
1355
+ msgstr "A törlés sikerült"
1356
+
1357
+ #: admin/manage.php:112
1358
+ msgid "now in draft"
1359
+ msgstr "most mint vázlat"
1360
+
1361
+ #: admin/manage.php:120
1362
+ msgid "now visible"
1363
+ msgstr "most látható"
1364
+
1365
+ #: admin/manage.php:134
1366
+ msgid "Album"
1367
+ msgstr "Album"
1368
+
1369
+ #: admin/manage.php:134
1370
+ msgid "successfully created"
1371
+ msgstr "Létrehozás sikerült"
1372
+
1373
+ #: admin/manage.php:153
1374
+ msgid "Picture"
1375
+ msgstr "Kép"
1376
+
1377
+ #: admin/manage.php:162
1378
+ msgid "Operation successful. Please clear your browser cache."
1379
+ msgstr "Sikeres művelet. Törölje a böngésző cache-t."
1380
+
1381
+ #: admin/manage.php:199 admin/manage.php:271
1382
+ msgid "Copy metadata to image Description"
1383
+ msgstr "Meta adatok másolása a kép leírásához"
1384
+
1385
+ #: admin/manage.php:264
1386
+ msgid "Pictures deleted successfully "
1387
+ msgstr "Képek törlése végrehajtva"
1388
+
1389
+ #: admin/manage.php:345
1390
+ msgid "Update successful"
1391
+ msgstr "Frissítés sikerült"
1392
+
1393
+ #: admin/manage_thumbnail.php:17 admin/manage_thumbnail.php:20
1394
+ #: admin/showmeta.php:10 admin/showmeta.php:13
1395
+ msgid "Cheatin&#8217; uh?"
1396
+ msgstr ""
1397
+
1398
+ #: admin/manage_thumbnail.php:107
1399
+ msgid "Select with the mouse the area for the new thumbnail."
1400
+ msgstr "Jelöld ki az egérrel az új területet az új bélyegképhez."
1401
+
1402
+ #: admin/manage_thumbnail.php:121
1403
+ msgid "Thumbnail updated"
1404
+ msgstr "Bélyegkép frissítése"
1405
+
1406
+ #: admin/manage_thumbnail.php:126
1407
+ msgid "Error updating thumbnail."
1408
+ msgstr "Bélyegkép frissítési hiba."
1409
+
1410
+ #: admin/manage_thumbnail.php:143
1411
+ msgid "Select the area for the thumbnail from the picture on the left."
1412
+ msgstr "Válasz ki egy területet a bélyegképhez a baloldali képen."
1413
+
1414
+ #: admin/manage_thumbnail.php:158 admin/wpmu.php:61
1415
+ msgid "Update"
1416
+ msgstr "Frissítés"
1417
+
1418
+ #: admin/media-upload.php:125
1419
+ msgid "No gallery"
1420
+ msgstr "Nincs galéria"
1421
+
1422
+ #: admin/media-upload.php:137
1423
+ msgid "Select &#187;"
1424
+ msgstr "Kiválasztás &#187;"
1425
+
1426
+ #: admin/media-upload.php:168
1427
+ msgid "Show"
1428
+ msgstr "Megjelenít"
1429
+
1430
+ #: admin/media-upload.php:169
1431
+ msgid "Hide"
1432
+ msgstr "Elrejt"
1433
+
1434
+ #: admin/media-upload.php:174
1435
+ msgid "Image ID:"
1436
+ msgstr "Kép ID:"
1437
+
1438
+ #: admin/media-upload.php:180
1439
+ msgid "Alt/Title text"
1440
+ msgstr "Alt/Cím szöveg"
1441
+
1442
+ #: admin/media-upload.php:188
1443
+ msgid "Alignment"
1444
+ msgstr "Igazítás"
1445
+
1446
+ #: admin/media-upload.php:191
1447
+ msgid "None"
1448
+ msgstr "Nincs"
1449
+
1450
+ #: admin/media-upload.php:193
1451
+ msgid "Left"
1452
+ msgstr "Balra"
1453
+
1454
+ #: admin/media-upload.php:195
1455
+ msgid "Center"
1456
+ msgstr "Középen"
1457
+
1458
+ #: admin/media-upload.php:197
1459
+ msgid "Right"
1460
+ msgstr "Jobbra"
1461
+
1462
+ #: admin/media-upload.php:207
1463
+ msgid "Full size"
1464
+ msgstr "Teljes méret"
1465
+
1466
+ #: admin/media-upload.php:215
1467
+ msgid "Insert into Post"
1468
+ msgstr "Beágyazás a bejegyzésbe"
1469
+
1470
+ #: admin/media-upload.php:225
1471
+ msgid "Save all changes"
1472
+ msgstr "Minden változás mentése"
1473
+
1474
+ #: admin/meta_box.php:139
1475
+ msgid "Back Button Text"
1476
+ msgstr "Vissza Gomb szövege"
1477
+
1478
+ #: admin/meta_box.php:141
1479
+ msgid "Leave empty to hide Back button"
1480
+ msgstr "Hagyd üresen a Vissza gomb elrejtéséhez"
1481
+
1482
+ #: admin/meta_box.php:144
1483
+ msgid "Back Button Link"
1484
+ msgstr "Vissza Gomb Link"
1485
+
1486
+ #: admin/meta_box.php:146
1487
+ msgid "Leave empty to use referer link"
1488
+ msgstr "Hagyja üresen hivatkozási link használatához"
1489
+
1490
+ #: admin/meta_box.php:149 admin/tinymce/window.php:53
1491
+ #: admin/tinymce/window.php:62 widgets/widgets.php:595
1492
+ msgid "Music"
1493
+ msgstr "Music"
1494
+
1495
+ #: admin/meta_box.php:151 admin/tinymce/window.php:176
1496
+ msgid "choose playlist"
1497
+ msgstr "Lejátszási lista választása"
1498
+
1499
+ #: admin/meta_box.php:161
1500
+ msgid "(optional) Read Skin specification for supporting this function."
1501
+ msgstr "(választható) Read Skin specifikáció támogatja ezt a funkciót."
1502
+
1503
+ #: admin/meta_box.php:164
1504
+ msgid "Background Image Link"
1505
+ msgstr "Háttérkép link"
1506
+
1507
+ #: admin/meta_box.php:166
1508
+ msgid "(optional) Be sure you set Wmode to 'transparent' in skin's options"
1509
+ msgstr ""
1510
+ "(választható) Biztos vagy benne hogy beállítod a Wmode átlátszóságát ennek a "
1511
+ "Felszínnek a beállításaiban "
1512
+
1513
+ #: admin/meta_box.php:169
1514
+ msgid "Background Position"
1515
+ msgstr "Háttér pozíció"
1516
+
1517
+ #: admin/meta_box.php:183
1518
+ msgid "Background Repeat"
1519
+ msgstr "Háttérkép ismétlés"
1520
+
1521
+ #: admin/music-box.php:305
1522
+ msgid "Import mp3 from folder"
1523
+ msgstr "MP+ importálása könyvtárból"
1524
+
1525
+ #: admin/music-box.php:324
1526
+ msgid "WordPress Music Library"
1527
+ msgstr "WordPress Zene Könyvtár"
1528
+
1529
+ #: admin/music-box.php:380
1530
+ msgid "Upload Music"
1531
+ msgstr "Zene feltöltése"
1532
+
1533
+ #: admin/music-box.php:468
1534
+ msgid "No music in WordPress Media Library."
1535
+ msgstr "Nincs zene a WordPress Média Library-ban"
1536
+
1537
+ #: admin/overview.php:14
1538
+ msgid "Grand Flagallery Overview"
1539
+ msgstr "Grand Flagallery Áttekintés"
1540
+
1541
+ #: admin/overview.php:111
1542
+ msgid "Reset all settings to default parameter"
1543
+ msgstr "Minden beállítás visszaállítása az alapértelmezett értékre"
1544
+
1545
+ #: admin/overview.php:122
1546
+ msgid ""
1547
+ "Uninstall sucessful ! Now delete the plugin and enjoy your life ! Good luck !"
1548
+ msgstr ""
1549
+ "A plugin törlése sikeres! Most törölted a plugint, élvezd az életed! Jó "
1550
+ "szerencsét!"
1551
+
1552
+ #: admin/overview.php:130
1553
+ msgid "Plugin Home"
1554
+ msgstr "Plugin Home"
1555
+
1556
+ #: admin/overview.php:135
1557
+ msgid "Plugin Comments"
1558
+ msgstr "Plugin hozzászólások"
1559
+
1560
+ #: admin/overview.php:140
1561
+ msgid "Rate Plugin"
1562
+ msgstr "Plugin értékelések"
1563
+
1564
+ #: admin/overview.php:145
1565
+ msgid "My Plugins"
1566
+ msgstr "Plugin-jaim"
1567
+
1568
+ #: admin/overview.php:150
1569
+ msgid "Contact Me"
1570
+ msgstr "Kapcsolat"
1571
+
1572
+ #: admin/overview.php:161
1573
+ msgid "Reset settings"
1574
+ msgstr "Beállítások alapba állítása"
1575
+
1576
+ #: admin/overview.php:161
1577
+ msgid ""
1578
+ "Reset all options to default settings ?\\n\\nChoose [Cancel] to Stop, [OK] "
1579
+ "to proceed.\\n"
1580
+ msgstr ""
1581
+ "Vissza állítasz minden beállítást az alapértékekre ?\\n\\nVálassz [Mégse] ha "
1582
+ "nem ezt akarod vagy, [OK] a folytatáshoz.\\n"
1583
+
1584
+ #: admin/overview.php:164
1585
+ msgid "Uninstall plugin"
1586
+ msgstr "Plugin letörlése"
1587
+
1588
+ #: admin/overview.php:164
1589
+ msgid ""
1590
+ "You are about to Uninstall this plugin from WordPress.\\nThis action is not "
1591
+ "reversible.\\n\\nChoose [Cancel] to Stop, [OK] to Uninstall.\\n"
1592
+ msgstr ""
1593
+ "Te most elkezdted a plugin eltávolítását a WordPress pluginok közűl.\\nEz "
1594
+ "nem visszafordítható\\n\\nVálaszd a [Mégse] gombot a visszalépéshez, [OK] "
1595
+ "gombot az eltávolításhoz.\\n"
1596
+
1597
+ #: admin/overview.php:186
1598
+ msgid "At a Glance"
1599
+ msgstr "Dióhéjban"
1600
+
1601
+ #: admin/overview.php:191
1602
+ msgid "Image"
1603
+ msgid_plural "Images"
1604
+ msgstr[0] ""
1605
+ msgstr[1] ""
1606
+
1607
+ #: admin/overview.php:206
1608
+ msgid "Upload pictures"
1609
+ msgstr "Képek feltöltése"
1610
+
1611
+ #: admin/overview.php:207
1612
+ msgid "Here you can control your images and galleries."
1613
+ msgstr "Itt tudod felügyelni a képeid és galériáid"
1614
+
1615
+ #: admin/overview.php:209
1616
+ msgid "Gallery Administrator"
1617
+ msgstr "Galéria adminisztráció"
1618
+
1619
+ #: admin/overview.php:209
1620
+ msgid "Gallery Editor"
1621
+ msgstr "Galéria szerkesztés"
1622
+
1623
+ #: admin/overview.php:210
1624
+ msgid "You currently have %s rights."
1625
+ msgstr "Jelenleg %s jogaid vannak."
1626
+
1627
+ #: admin/overview.php:216
1628
+ msgid "Welcome to FlAGallery !"
1629
+ msgstr "Isten hozott a FlAGallery-ben !"
1630
+
1631
+ #: admin/overview.php:217
1632
+ msgid "Server Settings"
1633
+ msgstr "Szerver beállítás"
1634
+
1635
+ #: admin/overview.php:218
1636
+ msgid "Graphic Library"
1637
+ msgstr "Grafikus könyvtár"
1638
+
1639
+ #: admin/overview.php:219
1640
+ msgid "Setup Box"
1641
+ msgstr "Beállítás Doboz"
1642
+
1643
+ #: admin/overview.php:239
1644
+ msgid "No GD support"
1645
+ msgstr "Nincs GD támogatás"
1646
+
1647
+ #: admin/overview.php:251 admin/overview.php:295 admin/overview.php:298
1648
+ #: admin/overview.php:301
1649
+ msgid "Yes"
1650
+ msgstr "Igen"
1651
+
1652
+ #: admin/overview.php:253 admin/overview.php:296 admin/overview.php:299
1653
+ #: admin/overview.php:302
1654
+ msgid "No"
1655
+ msgstr "Nincs"
1656
+
1657
+ #: admin/overview.php:269
1658
+ msgid "Not set"
1659
+ msgstr "Nincs beállítva"
1660
+
1661
+ #: admin/overview.php:271 admin/overview.php:274
1662
+ msgid "On"
1663
+ msgstr "Be"
1664
+
1665
+ #: admin/overview.php:272 admin/overview.php:275
1666
+ msgid "Off"
1667
+ msgstr "Ki"
1668
+
1669
+ #: admin/overview.php:278 admin/overview.php:281 admin/overview.php:284
1670
+ #: admin/overview.php:287 admin/overview.php:290 admin/overview.php:293
1671
+ msgid "N/A"
1672
+ msgstr "N/A"
1673
+
1674
+ #: admin/overview.php:292
1675
+ msgid " MByte"
1676
+ msgstr "MByte"
1677
+
1678
+ #: admin/overview.php:304
1679
+ msgid "Operating System"
1680
+ msgstr "Operációs rendszer"
1681
+
1682
+ #: admin/overview.php:305
1683
+ msgid "Server"
1684
+ msgstr "Szerver"
1685
+
1686
+ #: admin/overview.php:306
1687
+ msgid "Memory usage"
1688
+ msgstr "Memória használat"
1689
+
1690
+ #: admin/overview.php:307
1691
+ msgid "MYSQL Version"
1692
+ msgstr "MYSQL Verzió"
1693
+
1694
+ #: admin/overview.php:308
1695
+ msgid "SQL Mode"
1696
+ msgstr "SQL Mód"
1697
+
1698
+ #: admin/overview.php:309
1699
+ msgid "PHP Version"
1700
+ msgstr "PHP Verzió"
1701
+
1702
+ #: admin/overview.php:310
1703
+ msgid "PHP Safe Mode"
1704
+ msgstr "PHP Csökkentett Mód"
1705
+
1706
+ #: admin/overview.php:311
1707
+ msgid "PHP Allow URL fopen"
1708
+ msgstr ""
1709
+
1710
+ #: admin/overview.php:312
1711
+ msgid "PHP Memory Limit"
1712
+ msgstr ""
1713
+
1714
+ #: admin/overview.php:313
1715
+ msgid "PHP Max Upload Size"
1716
+ msgstr ""
1717
+
1718
+ #: admin/overview.php:314
1719
+ msgid "PHP Max Post Size"
1720
+ msgstr ""
1721
+
1722
+ #: admin/overview.php:315
1723
+ msgid "PHP Output Buffer Size"
1724
+ msgstr ""
1725
+
1726
+ #: admin/overview.php:316
1727
+ msgid "PHP Max Script Execute Time"
1728
+ msgstr ""
1729
+
1730
+ #: admin/overview.php:317
1731
+ msgid "PHP Exif support"
1732
+ msgstr ""
1733
+
1734
+ #: admin/overview.php:318
1735
+ msgid "PHP IPTC support"
1736
+ msgstr ""
1737
+
1738
+ #: admin/overview.php:319
1739
+ msgid "PHP XML support"
1740
+ msgstr ""
1741
+
1742
+ #: admin/overview.php:377
1743
+ msgid "Storage Space"
1744
+ msgstr "Tárhely méret"
1745
+
1746
+ #: admin/overview.php:380
1747
+ msgid "Upload Space Used:"
1748
+ msgstr "Feltöltésre hazsnált tárhely mérete:"
1749
+
1750
+ #: admin/overview.php:386
1751
+ msgid "Upload Space Remaining:"
1752
+ msgstr "Fennmaradó használható tárhely:"
1753
+
1754
+ #: admin/playlist-sort.php:66 admin/playlist-sort.php:74
1755
+ #: admin/video-sort.php:71 admin/video-sort.php:79
1756
+ msgid "Play"
1757
+ msgstr "Lejátszás"
1758
+
1759
+ #: admin/settings.php:33 admin/skins.php:152 admin/skins.php:204
1760
+ msgid "Update Successfully"
1761
+ msgstr "Frissítés sikerült"
1762
+
1763
+ #: admin/settings.php:47 admin/settings.php:89 admin/skins.php:183
1764
+ #: admin/skins.php:374
1765
+ msgid "cURL library is not installed on your server."
1766
+ msgstr "cURL könyvtár nincs telepítve a Te szerveredre."
1767
+
1768
+ #: admin/settings.php:77
1769
+ msgid "Error: All fields required."
1770
+ msgstr "Hiba: Minden mező kitöltése szükséges."
1771
+
1772
+ #: admin/settings.php:122
1773
+ msgid "Updated capabilities"
1774
+ msgstr "Lehetőségek frissítve"
1775
+
1776
+ #: admin/settings.php:134
1777
+ msgid "Gallery Options"
1778
+ msgstr "Galéria Beállítások"
1779
+
1780
+ #: admin/settings.php:136 admin/settings.php:296
1781
+ msgid "License Key & Remote Control"
1782
+ msgstr "Licensz Kulcs & Távoli Felügyelet"
1783
+
1784
+ #: admin/settings.php:138
1785
+ msgid "FLV Single Player Options"
1786
+ msgstr "FLV Single Player Beállítások"
1787
+
1788
+ #: admin/settings.php:139
1789
+ msgid "MP3 Single Player Options"
1790
+ msgstr "MP3 Single Player Beállítások"
1791
+
1792
+ #: admin/settings.php:141
1793
+ msgid "Roles"
1794
+ msgstr "Szabályok"
1795
+
1796
+ #: admin/settings.php:164
1797
+ msgid "Image Gallery Options"
1798
+ msgstr "Kép Galéria Beállítások"
1799
+
1800
+ #: admin/settings.php:165
1801
+ msgid "General Options"
1802
+ msgstr "Általános Beállítások"
1803
+
1804
+ #: admin/settings.php:168 admin/wpmu.php:44
1805
+ msgid "Gallery path"
1806
+ msgstr "Galéria útvonal"
1807
+
1808
+ #: admin/settings.php:170
1809
+ msgid "This is the default path for all galleries"
1810
+ msgstr "Ez a Galériák alapértelmezett útvonala"
1811
+
1812
+ #: admin/settings.php:173
1813
+ msgid "Default flash size (W x H)"
1814
+ msgstr "Alapértelmezett flash mozi méretei (Szélesség x Magasság)"
1815
+
1816
+ #: admin/settings.php:178
1817
+ msgid "Delete image files"
1818
+ msgstr "Kép fájlok törlése"
1819
+
1820
+ #: admin/settings.php:180
1821
+ msgid "Delete files, when removing a gallery in the database"
1822
+ msgstr "Fájlok törlése, miután a galéria eltávolításra kerül az adatbázisból"
1823
+
1824
+ #: admin/settings.php:183
1825
+ msgid "Activate Deep Linking (optional)"
1826
+ msgstr "Deep Linking aktiválása (választható)"
1827
+
1828
+ #: admin/settings.php:183
1829
+ msgid "Not all skins support this feature."
1830
+ msgstr "Nem minden Felület támogatja ezt a lehetőséget"
1831
+
1832
+ #: admin/settings.php:185
1833
+ msgid "Deep links for images in flash."
1834
+ msgstr "Deep Links a képekhez flashhez"
1835
+
1836
+ #: admin/settings.php:188
1837
+ msgid "Activate Media RSS feed"
1838
+ msgstr "Media RSS követés aktiválása"
1839
+
1840
+ #: admin/settings.php:190
1841
+ msgid "A RSS feed will be added to you blog header."
1842
+ msgstr "Az RSS követés hozzá lesz adva a blog fejlécéhez."
1843
+
1844
+ #: admin/settings.php:194
1845
+ msgid "Image settings"
1846
+ msgstr "Kép Beállítások"
1847
+
1848
+ #: admin/settings.php:197
1849
+ msgid "Resize Images"
1850
+ msgstr "Képek Átméretezése"
1851
+
1852
+ #: admin/settings.php:199
1853
+ msgid "Width x Height (in pixel). Flash Album Gallery will keep ratio size"
1854
+ msgstr ""
1855
+ "Szélesség x Magasság (pixel). A Flash Album Galéria meg fogja tartani a kép "
1856
+ "arányait"
1857
+
1858
+ #: admin/settings.php:202
1859
+ msgid "Image quality"
1860
+ msgstr "Kép minősége"
1861
+
1862
+ #: admin/settings.php:207
1863
+ msgid "Sort options"
1864
+ msgstr "Rendezési lehetőségek"
1865
+
1866
+ #: admin/settings.php:210
1867
+ msgid "Sort thumbnails"
1868
+ msgstr "Bélyegképek rendezése"
1869
+
1870
+ #: admin/settings.php:212
1871
+ msgid "Custom order"
1872
+ msgstr "Egyedi rendezés"
1873
+
1874
+ #: admin/settings.php:213
1875
+ msgid "Image ID"
1876
+ msgstr "Kép ID"
1877
+
1878
+ #: admin/settings.php:214
1879
+ msgid "File name"
1880
+ msgstr "Fájl név"
1881
+
1882
+ #: admin/settings.php:215
1883
+ msgid "Alt / Title text"
1884
+ msgstr "Alt / Cím szöveg"
1885
+
1886
+ #: admin/settings.php:216
1887
+ msgid "Date / Time"
1888
+ msgstr "Dátum / Idő"
1889
+
1890
+ #: admin/settings.php:217
1891
+ msgid "Image views"
1892
+ msgstr "Kép megtekintések"
1893
+
1894
+ #: admin/settings.php:218
1895
+ msgid "Image likes"
1896
+ msgstr "Kép lájkok"
1897
+
1898
+ #: admin/settings.php:219 admin/tinymce/window.php:153
1899
+ msgid "Randomly"
1900
+ msgstr "Véletlenül"
1901
+
1902
+ #: admin/settings.php:223
1903
+ msgid "Sort direction"
1904
+ msgstr "Rendezés iránya"
1905
+
1906
+ #: admin/settings.php:224
1907
+ msgid "Ascending"
1908
+ msgstr "Novekvő"
1909
+
1910
+ #: admin/settings.php:225
1911
+ msgid "Descending"
1912
+ msgstr "Csökkenő"
1913
+
1914
+ #: admin/settings.php:230
1915
+ msgid "Alternative Gallery Options"
1916
+ msgstr "Alternatív Galéria Beállítások"
1917
+
1918
+ #: admin/settings.php:230
1919
+ msgid ""
1920
+ "(Note: this is not flash skin option. Options below only for alternative "
1921
+ "gallery in mobile browsers)"
1922
+ msgstr ""
1923
+ "(Figyelem: ez nem flash felület beállítása. A lenti beállítások csak a mobil "
1924
+ "böngészők alternatív galériához vannak)"
1925
+
1926
+ #: admin/settings.php:233
1927
+ msgid "Show jQuery gallery for browsers without flashplayer"
1928
+ msgstr "jQuery galéria mutatása a böngészőkben Flash lejátszó nélkül"
1929
+
1930
+ #: admin/settings.php:237
1931
+ msgid "jQuery gallery script"
1932
+ msgstr "jQuery galéria script"
1933
+
1934
+ #: admin/settings.php:245
1935
+ msgid "Disable image views/likes counter on thumbnails"
1936
+ msgstr "A képek megtekintése /láájkolása számlálok tiltása a bélyegképeknél"
1937
+
1938
+ #: admin/settings.php:249
1939
+ msgid "Top Bar BG"
1940
+ msgstr "Felső Sáv Háttére"
1941
+
1942
+ #: admin/settings.php:253
1943
+ msgid "Category Buttons BG"
1944
+ msgstr "Kategória Gomb Háttér"
1945
+
1946
+ #: admin/settings.php:271
1947
+ msgid "Thumbnail BG"
1948
+ msgstr "Bélyegkép Háttér"
1949
+
1950
+ #: admin/settings.php:275
1951
+ msgid "Thumbnail MouseOver BG"
1952
+ msgstr "Bélyegkép egér föléhúzásakor háttere"
1953
+
1954
+ #: admin/settings.php:279
1955
+ msgid "Fancybox Title"
1956
+ msgstr "Fancybox Cím"
1957
+
1958
+ #: admin/settings.php:279 admin/settings.php:283
1959
+ msgid "Only if FancyBox script is selected"
1960
+ msgstr "Csak ha FancyBox szkript van kiválasztva"
1961
+
1962
+ #: admin/settings.php:283
1963
+ msgid "Fancybox Description Text"
1964
+ msgstr "FanciBox leírás szövege"
1965
+
1966
+ #: admin/settings.php:300
1967
+ msgid "License Key"
1968
+ msgstr "Liszensz Kulcs"
1969
+
1970
+ #: admin/settings.php:304
1971
+ msgid ""
1972
+ "If you want to upload photos to FlAGallery right from your iPhone <a href="
1973
+ "\"https://itunes.apple.com/us/app/mypgc/id663405181?ls=1&mt=8\">download "
1974
+ "application</a> and enter access key below. You can enter your own access "
1975
+ "key. You can change these at any point in time and this will force all users "
1976
+ "to have to log in again in application."
1977
+ msgstr ""
1978
+ "Ha képeket akarsz feltölteni a FlAGallery-ba az iPhone-ról <a href=\"https://"
1979
+ "itunes.apple.com/us/app/mypgc/id663405181?ls=1&mt=8\">töltsd ezt le</a> és "
1980
+ "add meg a hozzáférési kódot. Saját hozzáférési kódod is meg tudod adni. Ezt "
1981
+ "meg lehet változtatnibármikor, és ezelz arra kényszeríted a felhasználókat, "
1982
+ "hogy az újbóli bejelentkezéskor megtegyék."
1983
+
1984
+ #: admin/settings.php:307
1985
+ msgid "Remote App Access Key"
1986
+ msgstr "Távoli Alkalmazás Hozzáférési Kulcs"
1987
+
1988
+ #: admin/settings.php:309
1989
+ msgid "Leave blank to disable access from application"
1990
+ msgstr "Hagyd üresen a hozzáférés letiltásához ebből az alkalmazásból"
1991
+
1992
+ #: admin/settings.php:313
1993
+ msgid "Update Settings for Remote Access"
1994
+ msgstr "Frissítési Beállítások a Távoli Hozzáféréshez"
1995
+
1996
+ #: admin/settings.php:318
1997
+ msgid ""
1998
+ "Register with form below or <a href=\"http://mypgc.co/membership/\" target="
1999
+ "\"_blank\">purchase license key</a>"
2000
+ msgstr ""
2001
+ "Regisztrációs űrlap alul vagy <a href=\"http://mypgc.co/membership/\" target="
2002
+ "\"_blank\"> liszenszkulcs vásárlásaa</a>"
2003
+
2004
+ #: admin/settings.php:323
2005
+ msgid "First Name"
2006
+ msgstr "Vezetéknév"
2007
+
2008
+ #: admin/settings.php:324
2009
+ msgid "Last Name"
2010
+ msgstr "Utónév"
2011
+
2012
+ #: admin/settings.php:327
2013
+ msgid "Email"
2014
+ msgstr "Email"
2015
+
2016
+ #: admin/settings.php:328
2017
+ msgid "Register"
2018
+ msgstr "Regisztráció"
2019
+
2020
+ #: admin/settings.php:341
2021
+ msgid "Flash Video Player Colors"
2022
+ msgstr "Flash Videó Lejátszó Szinei"
2023
+
2024
+ #: admin/settings.php:344
2025
+ msgid "Video BG"
2026
+ msgstr "Videó Háttere"
2027
+
2028
+ #: admin/settings.php:348 admin/settings.php:385
2029
+ msgid "Color 1"
2030
+ msgstr "Szín 1"
2031
+
2032
+ #: admin/settings.php:352 admin/settings.php:389
2033
+ msgid "Color 2"
2034
+ msgstr "Szín 2"
2035
+
2036
+ #: admin/settings.php:357 admin/settings.php:394
2037
+ msgid "Autoplay"
2038
+ msgstr "Automatikus lejátszás"
2039
+
2040
+ #: admin/settings.php:359 admin/settings.php:396
2041
+ msgid "True"
2042
+ msgstr "Igen"
2043
+
2044
+ #: admin/settings.php:360 admin/settings.php:397
2045
+ msgid "False"
2046
+ msgstr "Nem"
2047
+
2048
+ #: admin/settings.php:364
2049
+ msgid "Default Size"
2050
+ msgstr "Alapértelmezett méret"
2051
+
2052
+ #: admin/settings.php:378
2053
+ msgid "MP3 Player Colors"
2054
+ msgstr "MP3 Lejátszó szinei"
2055
+
2056
+ #: admin/settings.php:381
2057
+ msgid "Player BG"
2058
+ msgstr "Lejátszó Háttere"
2059
+
2060
+ #: admin/settings.php:409
2061
+ msgid "Roles / capabilities"
2062
+ msgstr "Szabályok / lehetőségek"
2063
+
2064
+ #: admin/settings.php:410
2065
+ msgid ""
2066
+ "Select the lowest role which should be able to access the follow "
2067
+ "capabilities. Flash Album Gallery supports the standard roles from WordPress."
2068
+ msgstr ""
2069
+ "Válassza ki a legalacsonyabb szerepkört, amely hozzáférhet a következő "
2070
+ "beállításokhoz. Flash Album Gallery támogatja a szabványos WordPress "
2071
+ "szerepköröket."
2072
+
2073
+ #: admin/settings.php:413
2074
+ msgid "Main Flash Album Gallery overview"
2075
+ msgstr " Elsődleges Flash Galéria áttekintés"
2076
+
2077
+ #: admin/settings.php:417
2078
+ msgid "View TinyMCE Button / GRAND Pages"
2079
+ msgstr "Mutassa a TinyMCE Gombot / Fő Oldal"
2080
+
2081
+ #: admin/settings.php:421
2082
+ msgid "Add gallery / Upload images"
2083
+ msgstr "Galéria hozzáadás / Kép feltöltés"
2084
+
2085
+ #: admin/settings.php:425
2086
+ msgid "Import images folder"
2087
+ msgstr "Kép könyvtár importálás"
2088
+
2089
+ #: admin/settings.php:429
2090
+ msgid "Manage gallery"
2091
+ msgstr "Galéria kezelése"
2092
+
2093
+ #: admin/settings.php:433
2094
+ msgid "Manage others galleries and Albums"
2095
+ msgstr "Más galériák és albumok kezelése"
2096
+
2097
+ #: admin/settings.php:437
2098
+ msgid "Manage music"
2099
+ msgstr "Zenék kezelése"
2100
+
2101
+ #: admin/settings.php:441
2102
+ msgid "Manage video"
2103
+ msgstr "Videó kezelése"
2104
+
2105
+ #: admin/settings.php:445
2106
+ msgid "Manage banners"
2107
+ msgstr "Bannerek kezelése"
2108
+
2109
+ #: admin/settings.php:449
2110
+ msgid "Change skin"
2111
+ msgstr "Felület változtatása"
2112
+
2113
+ #: admin/settings.php:453
2114
+ msgid "Add skins"
2115
+ msgstr "Felület hozzáadása"
2116
+
2117
+ #: admin/settings.php:457
2118
+ msgid "Delete skins"
2119
+ msgstr "Felület törlése"
2120
+
2121
+ #: admin/settings.php:461
2122
+ msgid "Change options"
2123
+ msgstr "Beállítások változtatása"
2124
+
2125
+ #: admin/settings.php:465
2126
+ msgid "Facebook page"
2127
+ msgstr "Facebook oldal"
2128
+
2129
+ #: admin/settings.php:469
2130
+ msgid "Update capabilities"
2131
+ msgstr "Jogoslutságok Frissítése"
2132
+
2133
+ #: admin/showmeta.php:33 admin/showmeta.php:59 admin/showmeta.php:84
2134
+ #: admin/showmeta.php:108
2135
+ msgid "Tag"
2136
+ msgstr "Cimke"
2137
+
2138
+ #: admin/showmeta.php:34 admin/showmeta.php:60 admin/showmeta.php:85
2139
+ #: admin/showmeta.php:109
2140
+ msgid "Value"
2141
+ msgstr "Érték"
2142
+
2143
+ #: admin/showmeta.php:73
2144
+ msgid "No exif data"
2145
+ msgstr "Nincsennek EXIF adatok"
2146
+
2147
+ #: admin/skin_install.php:10 admin/skins.php:84
2148
+ msgid "No skin Specified"
2149
+ msgstr "Nincs Felület meghatározva"
2150
+
2151
+ #: admin/skin_install.php:39
2152
+ msgid "Installation Failed"
2153
+ msgstr "Sikertelen telepítés"
2154
+
2155
+ #: admin/skin_install.php:42 admin/skins.php:65
2156
+ msgid "The skin installed successfully."
2157
+ msgstr "A Felület telepítése sikerült!"
2158
+
2159
+ #: admin/skin_install.php:45 admin/skins.php:439
2160
+ msgid "Activate this skin"
2161
+ msgstr "Ennek a Felületnek az aktiválása"
2162
+
2163
+ #: admin/skin_install.php:45
2164
+ msgid "Activate Skin"
2165
+ msgstr "Felület aktiválása"
2166
+
2167
+ #: admin/skin_install.php:46
2168
+ msgid "Goto skin overview"
2169
+ msgstr "Ugrás a Felületek áttekintéséhez"
2170
+
2171
+ #: admin/skin_install.php:46
2172
+ msgid "Skin overview"
2173
+ msgstr "Felületek Áttekintése"
2174
+
2175
+ #: admin/skin_install.php:70
2176
+ msgid "Could not access filesystem."
2177
+ msgstr "Nem férsz hozzá a fáljrendszerhez"
2178
+
2179
+ #: admin/skin_install.php:73
2180
+ msgid "Filesystem error"
2181
+ msgstr "Fáljrendszer hiba"
2182
+
2183
+ #: admin/skin_install.php:79
2184
+ msgid "Unable to locate FlAGallery Skin directory."
2185
+ msgstr "Nem található FlAGallery Skin könyvtár."
2186
+
2187
+ #: admin/skin_install.php:84
2188
+ msgid "Unable to locate WordPress Content directory (wp-content)."
2189
+ msgstr "Nem található WordPress Content könyvtár (wp-content)."
2190
+
2191
+ #: admin/skin_install.php:90
2192
+ msgid "Install package not available."
2193
+ msgstr "Telepítő csomag nem érhető el."
2194
+
2195
+ #: admin/skin_install.php:98
2196
+ msgid "Unpacking the skin package"
2197
+ msgstr "Felület fájlok kicsomagolása"
2198
+
2199
+ #: admin/skin_install.php:115
2200
+ msgid "Folder already exists."
2201
+ msgstr "A könyvtár már létezik"
2202
+
2203
+ #: admin/skin_install.php:118
2204
+ msgid "Installing the skin"
2205
+ msgstr "Felület Telepítése"
2206
+
2207
+ #: admin/skins.php:72
2208
+ msgid "Install info"
2209
+ msgstr "Telepítési információk"
2210
+
2211
+ #: admin/skins.php:87
2212
+ msgid "Installing Skin from file: %s"
2213
+ msgstr "Felület telepítése a : %s fáljból"
2214
+
2215
+ #: admin/skins.php:96
2216
+ msgid "The uploaded file could not be moved to %s."
2217
+ msgstr "A feltöltött fáljjt nem lehetett mozgatni ide: %s."
2218
+
2219
+ #: admin/skins.php:161
2220
+ msgid "License Key Updated"
2221
+ msgstr "Liszensz Kulcs Frissítése"
2222
+
2223
+ #: admin/skins.php:176
2224
+ msgid "Your license key was deactivated"
2225
+ msgstr "A Liszensz Kulcsod ki volt kapcsolva"
2226
+
2227
+ #: admin/skins.php:180
2228
+ msgid "Bad Licence Key"
2229
+ msgstr "Rossz Liszensz Kulcs"
2230
+
2231
+ #: admin/skins.php:217 admin/skins.php:247 admin/skins.php:384
2232
+ #: admin/skins.php:392 admin/tinymce/window.php:52 admin/tinymce/window.php:61
2233
+ msgid "Skin"
2234
+ msgstr "Felület"
2235
+
2236
+ #: admin/skins.php:219 admin/skins.php:223
2237
+ msgid "Can't find skin directory "
2238
+ msgstr "Nem találok Felületet a könyvtárban"
2239
+
2240
+ #: admin/skins.php:219 admin/skins.php:223
2241
+ msgid ". Try delete it manualy via ftp"
2242
+ msgstr ". Próbáld törölni manuálisnak ftp-n keresztűl"
2243
+
2244
+ #: admin/skins.php:226
2245
+ msgid "You need activate another skin before delete it"
2246
+ msgstr "Aktiválnod kell egy másik Felületet mielőtt ezt törlöd."
2247
+
2248
+ #: admin/skins.php:229
2249
+ msgid ""
2250
+ "You do not have sufficient permissions to delete skins of Grand Flagallery."
2251
+ msgstr "Nem megfelelő engedélyed a Felület törlésére a Grand Flagallery-ben."
2252
+
2253
+ #: admin/skins.php:247
2254
+ msgid ""
2255
+ "activated successfully. Optionally it can be overwritten with shortcode "
2256
+ "parameter."
2257
+ msgstr "aktiválás sikerült. Kívánt esetben felülírható shortcode paraméterrel"
2258
+
2259
+ #: admin/skins.php:254 admin/skins.php:274
2260
+ msgid "New Photo Skins"
2261
+ msgstr "Új Fotó Felületek"
2262
+
2263
+ #: admin/skins.php:258
2264
+ msgid "New Music Skins"
2265
+ msgstr "Új Zene Felületek"
2266
+
2267
+ #: admin/skins.php:262
2268
+ msgid "New Video Skins"
2269
+ msgstr "Új Videó Felületek"
2270
+
2271
+ #: admin/skins.php:266
2272
+ msgid "New Banner Skins"
2273
+ msgstr "Új Banner Felületek"
2274
+
2275
+ #: admin/skins.php:270
2276
+ msgid "New Widget Skins"
2277
+ msgstr "Új Widget Felületek"
2278
+
2279
+ #: admin/skins.php:283
2280
+ msgid "Skins refreshed successfully"
2281
+ msgstr "Felület frissítése sikerült"
2282
+
2283
+ #: admin/skins.php:289 admin/skins.php:296
2284
+ msgid "Add new skin"
2285
+ msgstr "Új Felület hozzáadása"
2286
+
2287
+ #: admin/skins.php:291 admin/skins.php:311
2288
+ msgid "Active Skin Options"
2289
+ msgstr "Aktív Felület Beállításai"
2290
+
2291
+ #: admin/skins.php:297
2292
+ msgid "Install a skin in .zip format"
2293
+ msgstr "Felület telepítése .zip fájlból"
2294
+
2295
+ #: admin/skins.php:298
2296
+ msgid ""
2297
+ "If you have a skin in a .zip format, You may install it by uploading it here."
2298
+ msgstr "Ha van egy Felületed .zip fájlban, feltöltésével tudod telepíteni itt."
2299
+
2300
+ #: admin/skins.php:302
2301
+ msgid "Install Now"
2302
+ msgstr "Telepítés most"
2303
+
2304
+ #: admin/skins.php:328
2305
+ msgid "Skin License Key"
2306
+ msgstr "Felület Liszensz Kulcs"
2307
+
2308
+ #: admin/skins.php:329
2309
+ msgid "If you have license key then paste it here."
2310
+ msgstr "Ha van Liszensz Kulcsod akkor másold ide."
2311
+
2312
+ #: admin/skins.php:340
2313
+ msgid "Refresh / Update Skins"
2314
+ msgstr "Felület Frissítés / Aktualizálás"
2315
+
2316
+ #: admin/skins.php:341
2317
+ msgid "Photo skins"
2318
+ msgstr "Fotó Felületek"
2319
+
2320
+ #: admin/skins.php:342
2321
+ msgid "Music skins"
2322
+ msgstr "Zene Felületek"
2323
+
2324
+ #: admin/skins.php:343
2325
+ msgid "Video skins"
2326
+ msgstr "Videó Felületek"
2327
+
2328
+ #: admin/skins.php:344
2329
+ msgid "Banner skins"
2330
+ msgstr "Banner Felületek"
2331
+
2332
+ #: admin/skins.php:345
2333
+ msgid "Widget skins"
2334
+ msgstr "Widget Felületek"
2335
+
2336
+ #: admin/skins.php:374
2337
+ msgid "Download skins from http://photogallerycreator.com"
2338
+ msgstr "Felületek letöltése innen: http://photogallerycreator.com"
2339
+
2340
+ #: admin/skins.php:403
2341
+ msgid "No skins to show"
2342
+ msgstr "Nincs skin megjelenítéséhez"
2343
+
2344
+ #: admin/skins.php:422
2345
+ msgid "Version %s"
2346
+ msgstr "Verzió %s"
2347
+
2348
+ #: admin/skins.php:426
2349
+ msgid "Visit author homepage"
2350
+ msgstr "Szerző weboldalának megtekintése"
2351
+
2352
+ #: admin/skins.php:427
2353
+ msgid "By %s"
2354
+ msgstr "%s-től"
2355
+
2356
+ #: admin/skins.php:430
2357
+ msgid "Visit skin site"
2358
+ msgstr "Felület weboldalának megtekintése"
2359
+
2360
+ #: admin/skins.php:439
2361
+ msgid "Activate"
2362
+ msgstr "Aktiválás"
2363
+
2364
+ #: admin/skins.php:441
2365
+ msgid "Activated by default"
2366
+ msgstr "Alapértelmezettként aktiválás"
2367
+
2368
+ #: admin/skins.php:461
2369
+ msgid "Delete this skin"
2370
+ msgstr "Felület törlése"
2371
+
2372
+ #: admin/skins.php:491
2373
+ msgid "Install"
2374
+ msgstr "Telepítés"
2375
+
2376
+ #: admin/skins.php:492
2377
+ msgid "Preview"
2378
+ msgstr "Előnézet"
2379
+
2380
+ #: admin/skins.php:500
2381
+ msgid "All available %s skins are already installed..."
2382
+ msgstr "Minden elérhető %s Felület már telepíve van..."
2383
+
2384
+ #: admin/tinymce/tinymce.php:115 admin/tinymce/window.php:21
2385
+ #: admin/tinymce/window.php:32
2386
+ msgid "Insert Flash Album with one or more galleries"
2387
+ msgstr "Egy vagy több galéria behelyezése a Flash Albumba"
2388
+
2389
+ #: admin/tinymce/window.php:10
2390
+ msgid "You are not allowed to be here"
2391
+ msgstr "Nincs engedélyezve, hogy itt legyél"
2392
+
2393
+ #: admin/tinymce/window.php:49 admin/tinymce/window.php:58
2394
+ msgid "Galleries"
2395
+ msgstr "Galériák"
2396
+
2397
+ #: admin/tinymce/window.php:51 admin/tinymce/window.php:60
2398
+ msgid "Sort"
2399
+ msgstr "Rendezés"
2400
+
2401
+ #: admin/tinymce/window.php:72
2402
+ msgid "Album Name"
2403
+ msgstr "Album neve"
2404
+
2405
+ #: admin/tinymce/window.php:97
2406
+ msgid "Select album"
2407
+ msgstr "Album kiválasztás"
2408
+
2409
+ #: admin/tinymce/window.php:99
2410
+ msgid "choose album"
2411
+ msgstr "válassz albumot"
2412
+
2413
+ #: admin/tinymce/window.php:120
2414
+ msgid "choose custom skin"
2415
+ msgstr "válassz egyedi felületet"
2416
+
2417
+ #: admin/tinymce/window.php:133
2418
+ msgid "Skin align"
2419
+ msgstr "Felület igazítása"
2420
+
2421
+ #: admin/tinymce/window.php:135
2422
+ msgid "default"
2423
+ msgstr "alapértelmezett"
2424
+
2425
+ #: admin/tinymce/window.php:136
2426
+ msgid "align left"
2427
+ msgstr "balra igazított"
2428
+
2429
+ #: admin/tinymce/window.php:137
2430
+ msgid "align center"
2431
+ msgstr "középre igazított"
2432
+
2433
+ #: admin/tinymce/window.php:138
2434
+ msgid "align right"
2435
+ msgstr "jobbra igazított"
2436
+
2437
+ #: admin/tinymce/window.php:148
2438
+ msgid "Order galleries by"
2439
+ msgstr "Galéria rendezési módja"
2440
+
2441
+ #: admin/tinymce/window.php:150
2442
+ msgid "Gallery IDs (default)"
2443
+ msgstr "Galéria ID (alapértelmezett)"
2444
+
2445
+ #: admin/tinymce/window.php:151
2446
+ msgid "Gallery Title"
2447
+ msgstr "Galéria Cím"
2448
+
2449
+ #: admin/tinymce/window.php:152
2450
+ msgid "User Defined"
2451
+ msgstr "Felhasználó szerint"
2452
+
2453
+ #: admin/tinymce/window.php:157
2454
+ msgid "Order"
2455
+ msgstr "Rendezés"
2456
+
2457
+ #: admin/tinymce/window.php:159
2458
+ msgid "DESC (default)"
2459
+ msgstr "Csökkenő (alapért.)"
2460
+
2461
+ #: admin/tinymce/window.php:160
2462
+ msgid "ASC"
2463
+ msgstr "Növekvő"
2464
+
2465
+ #: admin/tinymce/window.php:164
2466
+ msgid "Exclude Gallery"
2467
+ msgstr "Galéria kizárása"
2468
+
2469
+ #: admin/tinymce/window.php:174
2470
+ msgid "Choose playlist for background music"
2471
+ msgstr "Válasz lejátszási listát háttérzenének"
2472
+
2473
+ #: admin/tinymce/window.php:185
2474
+ msgid "Read Skin specification for supporting this function."
2475
+ msgstr "Read Skin felület támogatja ezt a funkciót."
2476
+
2477
+ #: admin/tinymce/window.php:194
2478
+ msgid "Insert"
2479
+ msgstr "Beillesztés"
2480
+
2481
+ #: admin/tuning.php:20 admin/tuning.php:24
2482
+ msgid "Directory <strong>\""
2483
+ msgstr "Könyvtár <strong>\""
2484
+
2485
+ #: admin/tuning.php:20
2486
+ msgid ""
2487
+ "\"</strong> doesn't exist. Please create first the <strong>\"flagallery-skins"
2488
+ "\"</strong> folder!"
2489
+ msgstr ""
2490
+ "\"</strong> nincs. Kérlek, előbb hozzd létre a <strong>\"flagallery-skins\"</"
2491
+ "strong> könyvtárat!"
2492
+
2493
+ #: admin/tuning.php:24
2494
+ msgid "\"</strong> is not writeable!"
2495
+ msgstr "\"</strong> nem írható!"
2496
+
2497
+ #: admin/tuning.php:39
2498
+ msgid "Failed to move files from %1$s to %2$s"
2499
+ msgstr "Sikertelen fájl mozgatás %1$s -ból %2$s-ba"
2500
+
2501
+ #: admin/upgrade.php:52
2502
+ msgid "Import date and time information..."
2503
+ msgstr "Dátum és idő információk importálása"
2504
+
2505
+ #: admin/upgrade.php:54 admin/upgrade.php:72 admin/upgrade.php:84
2506
+ #: admin/upgrade.php:93
2507
+ msgid "finished"
2508
+ msgstr "befejezve"
2509
+
2510
+ #: admin/upgrade.php:58 admin/upgrade.php:75 admin/upgrade.php:87
2511
+ msgid "Adding new options to database..."
2512
+ msgstr "Új opciók hozzáadása az adatbázishoz ..."
2513
+
2514
+ #: admin/video-box.php:259
2515
+ msgid "Import video from folder"
2516
+ msgstr "Videó importálása könyvtárból"
2517
+
2518
+ #: admin/video-box.php:278
2519
+ msgid "WordPress Video Library"
2520
+ msgstr "WordPress Videó Könyvtár"
2521
+
2522
+ #: admin/video-box.php:295
2523
+ msgid "Upload Video"
2524
+ msgstr "Videó Feltöltés"
2525
+
2526
+ #: admin/video-box.php:371
2527
+ msgid "Can't read file size. Perhaps file is broken."
2528
+ msgstr "Nem olvasható a fájl mérete. Talán sérült a fájl."
2529
+
2530
+ #: admin/video-box.php:392
2531
+ msgid "No video in WordPress Media Library."
2532
+ msgstr "Nincs videó a WordPress Média Könyvtárban."
2533
+
2534
+ #: admin/wpmu.php:29
2535
+ msgid "Update successfully"
2536
+ msgstr "A Frissítés sikerült"
2537
+
2538
+ #: admin/wpmu.php:38
2539
+ msgid "General WordPress MU Settings"
2540
+ msgstr "Általános WordPress MU beállítások"
2541
+
2542
+ #: admin/wpmu.php:46
2543
+ msgid ""
2544
+ "This is the default path for all blogs. With the placeholder %BLOG_ID% you "
2545
+ "can organize the folder structure better. The path must end with a /."
2546
+ msgstr ""
2547
+ "Ez az alapértelmezett útvonal az összes bloghoz. A %BLOG_ID% helyörzővel "
2548
+ "jobban fogod tudni a könyvtárstuktúrákat szervezni. Az útvonalnak / jellel "
2549
+ "kell végződnie."
2550
+
2551
+ #: admin/wpmu.php:49
2552
+ msgid "Enable upload quota check"
2553
+ msgstr "Engedélyezze a feltöltési kvóta ellenőrzést"
2554
+
2555
+ #: admin/wpmu.php:51
2556
+ msgid "Should work if the gallery is bellow the blog.dir"
2557
+ msgstr "Működnie kellene, ha a galéria a blog.dir alatt van"
2558
+
2559
+ #: admin/wpmu.php:55
2560
+ msgid "Enable roles/capabilities"
2561
+ msgstr "Engedélyezés szabályok /szerepkörök"
2562
+
2563
+ #: admin/wpmu.php:57
2564
+ msgid "Allow users to change the roles for other blog authors."
2565
+ msgstr ""
2566
+ "Engedélyezi a felhasználónak a szabályok megváltoztatását más blog "
2567
+ "szerzőknél."
2568
+
2569
+ #: facebook.php:68 facebook.php:80 facebook.php:98
2570
+ msgid "Can't find playlist"
2571
+ msgstr "Nem találok lejátszási listát"
2572
+
2573
+ #: flag.php:155
2574
+ msgid ""
2575
+ "Sorry, GRAND Flash Album Gallery works only with a Memory Limit of 16 MB "
2576
+ "higher"
2577
+ msgstr ""
2578
+ "Sajnálom, a GRAND Flash Album Galéria csak 16MB-nál nagyobb Memória Limitnél "
2579
+ "működik"
2580
+
2581
+ #: flag.php:354
2582
+ msgctxt "post type general name"
2583
+ msgid "GRAND Galleries"
2584
+ msgstr "GRAND Galéria [ post type general name ]"
2585
+
2586
+ #: flag.php:355
2587
+ msgid "FlAGallery Page"
2588
+ msgstr "FIAGallery Oldal"
2589
+
2590
+ #: flag.php:356 flag.php:357
2591
+ msgid "Add New Gallery Page"
2592
+ msgstr "Új Galéria Oldal Hozzáadása"
2593
+
2594
+ #: flag.php:358
2595
+ msgid "Edit Gallery Page"
2596
+ msgstr "Galéria Oldal Szerkesztése"
2597
+
2598
+ #: flag.php:359
2599
+ msgid "New Gallery Page"
2600
+ msgstr "Új Galéria Oldal"
2601
+
2602
+ #: flag.php:360
2603
+ msgid "All GRAND Galleries"
2604
+ msgstr "Minden GRAND Galéria"
2605
+
2606
+ #: flag.php:361
2607
+ msgid "View Gallery Page"
2608
+ msgstr "Galéria Oldal Megtekintése"
2609
+
2610
+ #: flag.php:362
2611
+ msgid "Search GRAND Galleries"
2612
+ msgstr "GRAND Galéria Keresés"
2613
+
2614
+ #: flag.php:363
2615
+ msgid "No GRAND Galleries found"
2616
+ msgstr "Nem találtam GRAND Galériát"
2617
+
2618
+ #: flag.php:364
2619
+ msgid "No GRAND Galleries found in Trash"
2620
+ msgstr "Nem találtam GRAND Galériát a Lomtárban"
2621
+
2622
+ #: flag.php:371
2623
+ msgid ""
2624
+ "This is the page template for displaing Grand Flagallery galleries in full "
2625
+ "width and height of browser window."
2626
+ msgstr ""
2627
+ "Ez az az oldal sablon a Grand Flagallery galériákat teljes szélességeben és "
2628
+ "magasságában jeleníti meg a böngésző ablakban."
2629
+
2630
+ #: flag.php:390
2631
+ msgid "Photo Gallery Page Generator"
2632
+ msgstr "Fotó Galéria Oldal Készítő"
2633
+
2634
+ #: flag.php:474
2635
+ msgid "Add Grand Flagallery"
2636
+ msgstr "GRAND Flagallery Hozzáadása"
2637
+
2638
+ #: lib/class.swfobject.php:59
2639
+ msgid ""
2640
+ "The <a href=\"http://www.macromedia.com/go/getflashplayer\">Flash Player</a> "
2641
+ "and a browser with Javascript support are needed."
2642
+ msgstr ""
2643
+ "A <a href=\"http://www.macromedia.com/go/getflashplayer\">Flash Player</a> "
2644
+ "és a böngészőnek szüksége van Javascript futtatás engedélyezésére."
2645
+
2646
+ #: lib/core.php:200
2647
+ msgid ""
2648
+ "Note : Based on your server memory limit you should not upload larger images "
2649
+ "then <strong>%d x %d</strong> pixel"
2650
+ msgstr ""
2651
+ "Figyelem: A szervered memória limit beállítása nem enged nagyobb kép "
2652
+ "feltöltését mint <strong>%d x %d</strong> pixel"
2653
+
2654
+ #: lib/core.php:280
2655
+ msgid "Can't create/open file '"
2656
+ msgstr "Nem tudok létrehozni / megnyitni fájlt '"
2657
+
2658
+ #: lib/core.php:286
2659
+ msgid "Can't write data to file '"
2660
+ msgstr "Nem tudok adatokat írni a fájlba '"
2661
+
2662
+ #: lib/meta.php:116
2663
+ msgid " mm"
2664
+ msgstr "mm"
2665
+
2666
+ #: lib/meta.php:122
2667
+ msgid " sec"
2668
+ msgstr "mperc"
2669
+
2670
+ #: lib/meta.php:126
2671
+ msgid "Fired"
2672
+ msgstr ""
2673
+
2674
+ #: lib/meta.php:126
2675
+ msgid "Not fired"
2676
+ msgstr ""
2677
+
2678
+ #: lib/meta.php:389
2679
+ msgid "Aperture"
2680
+ msgstr ""
2681
+
2682
+ #: lib/meta.php:390
2683
+ msgid "Credit"
2684
+ msgstr ""
2685
+
2686
+ #: lib/meta.php:391
2687
+ msgid "Camera"
2688
+ msgstr "Kamera"
2689
+
2690
+ #: lib/meta.php:392
2691
+ msgid "Caption"
2692
+ msgstr "Felirat"
2693
+
2694
+ #: lib/meta.php:393
2695
+ msgid "Date/Time"
2696
+ msgstr "Dátum/Idő"
2697
+
2698
+ #: lib/meta.php:394
2699
+ msgid "Copyright"
2700
+ msgstr ""
2701
+
2702
+ #: lib/meta.php:395
2703
+ msgid "Focal length"
2704
+ msgstr "Fókusztávolság"
2705
+
2706
+ #: lib/meta.php:396
2707
+ msgid "ISO"
2708
+ msgstr ""
2709
+
2710
+ #: lib/meta.php:397
2711
+ msgid "Shutter speed"
2712
+ msgstr "Zársebesség"
2713
+
2714
+ #: lib/meta.php:400
2715
+ msgid "Tags"
2716
+ msgstr "Cimkék"
2717
+
2718
+ #: lib/meta.php:401
2719
+ msgid "Subject"
2720
+ msgstr "Tárgy"
2721
+
2722
+ #: lib/meta.php:402
2723
+ msgid "Make"
2724
+ msgstr "Készítő"
2725
+
2726
+ #: lib/meta.php:403
2727
+ msgid "Edit Status"
2728
+ msgstr "Szerkesztés allapota"
2729
+
2730
+ #: lib/meta.php:404
2731
+ msgid "Category"
2732
+ msgstr "Kategória"
2733
+
2734
+ #: lib/meta.php:405
2735
+ msgid "Keywords"
2736
+ msgstr "Kulcsszó"
2737
+
2738
+ #: lib/meta.php:406
2739
+ msgid "Date Created"
2740
+ msgstr "Létrehozás Dátuma"
2741
+
2742
+ #: lib/meta.php:407
2743
+ msgid "Time Created"
2744
+ msgstr "Létrehozás Ideje"
2745
+
2746
+ #: lib/meta.php:408
2747
+ msgid "Author Position"
2748
+ msgstr "Szerző Poziciója"
2749
+
2750
+ #: lib/meta.php:409
2751
+ msgid "City"
2752
+ msgstr "Város"
2753
+
2754
+ #: lib/meta.php:410
2755
+ msgid "Location"
2756
+ msgstr "Tartózkodási hely"
2757
+
2758
+ #: lib/meta.php:411
2759
+ msgid "Province/State"
2760
+ msgstr "Megye /Állam"
2761
+
2762
+ #: lib/meta.php:412
2763
+ msgid "Country code"
2764
+ msgstr "Megye kód"
2765
+
2766
+ #: lib/meta.php:413
2767
+ msgid "Country"
2768
+ msgstr "Megye"
2769
+
2770
+ #: lib/meta.php:414
2771
+ msgid "Headline"
2772
+ msgstr "Főcím"
2773
+
2774
+ #: lib/meta.php:415
2775
+ msgid "Source"
2776
+ msgstr "Forrás"
2777
+
2778
+ #: lib/meta.php:416
2779
+ msgid "Contact"
2780
+ msgstr "Kapcsolat"
2781
+
2782
+ #: lib/meta.php:417
2783
+ msgid "Last modified"
2784
+ msgstr "Utolsó módosítás"
2785
+
2786
+ #: lib/meta.php:418
2787
+ msgid "Program tool"
2788
+ msgstr "Program eszközök"
2789
+
2790
+ #: lib/meta.php:419
2791
+ msgid "Format"
2792
+ msgstr "Formátum"
2793
+
2794
+ #: lib/meta.php:420
2795
+ msgid "Image Width"
2796
+ msgstr "Kép Szélesség"
2797
+
2798
+ #: lib/meta.php:421
2799
+ msgid "Image Height"
2800
+ msgstr "Kép Magasság"
2801
+
2802
+ #: lib/meta.php:422
2803
+ msgid "Flash"
2804
+ msgstr "Flash"
2805
+
2806
+ #: lib/shortcodes.php:62
2807
+ msgid "[Gallery %s not found]"
2808
+ msgstr ""
2809
+
2810
+ #: lib/shortcodes.php:81
2811
+ msgid "[Galleries not found]"
2812
+ msgstr ""
2813
+
2814
+ #: lib/shortcodes.php:93
2815
+ msgid "[Galleries %s not found]"
2816
+ msgstr ""
2817
+
2818
+ #: lib/shortcodes.php:155 lib/shortcodes.php:194
2819
+ msgid "[Playlist %s not found]"
2820
+ msgstr ""
2821
+
2822
+ #: lib/shortcodes.php:234 lib/shortcodes.php:258
2823
+ msgid "[XML %s not found]"
2824
+ msgstr ""
2825
+
2826
+ #: widgets/widgets.php:15
2827
+ msgid "Show links to GRAND Pages as random images from the galleries"
2828
+ msgstr "A GRAND oldalak véletlenszerű képeket mutassanak a galériákból"
2829
+
2830
+ #: widgets/widgets.php:16
2831
+ msgid "FLAGallery GRANDPages"
2832
+ msgstr "FLAGaléria GRAND Oldal"
2833
+
2834
+ #: widgets/widgets.php:107 widgets/widgets.php:305 widgets/widgets.php:479
2835
+ msgid "Title :"
2836
+ msgstr "Cím:"
2837
+
2838
+ #: widgets/widgets.php:113 widgets/widgets.php:320 widgets/widgets.php:485
2839
+ msgid "Width x Height of thumbs:"
2840
+ msgstr "Bélyegképek Szélessége x Magassága:"
2841
+
2842
+ #: widgets/widgets.php:119
2843
+ msgid "Select GRAND Pages:"
2844
+ msgstr "GRAND Oldal Kiválasztása:"
2845
+
2846
+ #: widgets/widgets.php:131
2847
+ msgid "galleries order:"
2848
+ msgstr "galéria rendezése:"
2849
+
2850
+ #: widgets/widgets.php:147
2851
+ msgid "Show a Grand Flagallery Banner"
2852
+ msgstr "Mutassa a GRAND Flagallery Bannert"
2853
+
2854
+ #: widgets/widgets.php:148
2855
+ msgid "FLAGallery Banner"
2856
+ msgstr "FLAGallery Banner"
2857
+
2858
+ #: widgets/widgets.php:154
2859
+ msgid "Banner"
2860
+ msgstr "Banner"
2861
+
2862
+ #: widgets/widgets.php:205 widgets/widgets.php:646
2863
+ msgid "Title:"
2864
+ msgstr "Cím:"
2865
+
2866
+ #: widgets/widgets.php:207 widgets/widgets.php:648
2867
+ msgid "Select playlist:"
2868
+ msgstr "Lejátszási lista választása:"
2869
+
2870
+ #: widgets/widgets.php:219 widgets/widgets.php:660
2871
+ msgid "Height:"
2872
+ msgstr "Magasság:"
2873
+
2874
+ #: widgets/widgets.php:220 widgets/widgets.php:661
2875
+ msgid "Width:"
2876
+ msgstr "Szélesség:"
2877
+
2878
+ #: widgets/widgets.php:222 widgets/widgets.php:348 widgets/widgets.php:663
2879
+ msgid "Select Skin:"
2880
+ msgstr "Felület kiválasztása:"
2881
+
2882
+ #: widgets/widgets.php:260
2883
+ msgid "Add recent or random images from the galleries"
2884
+ msgstr "Adja hozzá a legfrissebb vagy véletlenszerű képeket a galériákból"
2885
+
2886
+ #: widgets/widgets.php:261
2887
+ msgid "FLAGallery Widget"
2888
+ msgstr "FLAGallery Widget"
2889
+
2890
+ #: widgets/widgets.php:312
2891
+ msgid "random"
2892
+ msgstr "véletlen"
2893
+
2894
+ #: widgets/widgets.php:315
2895
+ msgid "first in album"
2896
+ msgstr "elsőt az albumból"
2897
+
2898
+ #: widgets/widgets.php:326 widgets/widgets.php:491
2899
+ msgid "Width x Height of popup:"
2900
+ msgstr " a popup ablak Szélessége x Magassága"
2901
+
2902
+ #: widgets/widgets.php:332
2903
+ msgid "Select Album:"
2904
+ msgstr "Album választása:"
2905
+
2906
+ #: widgets/widgets.php:334
2907
+ msgid "Choose album"
2908
+ msgstr "Válassz albumot"
2909
+
2910
+ #: widgets/widgets.php:440
2911
+ msgid "Add recent or random video from the galleries"
2912
+ msgstr "Legfrissebb vagy véletlen videó hozzáadása a galériákból"
2913
+
2914
+ #: widgets/widgets.php:441
2915
+ msgid "FLAGallery Video Widget"
2916
+ msgstr "FLAGallery Videó Widget"
2917
+
2918
+ #: widgets/widgets.php:497
2919
+ msgid "Select Playlist:"
2920
+ msgstr "Válassz Lejátszási listát"
2921
+
2922
+ #: widgets/widgets.php:564
2923
+ msgid "Error! No playlist."
2924
+ msgstr "Hiba! Nincs lejátszási lista."
2925
+
2926
+ #: widgets/widgets.php:588
2927
+ msgid "Show a Grand Flagallery Music Player"
2928
+ msgstr "Mutassa a Grand Flagallery Zene Lejátszót"
2929
+
2930
+ #: widgets/widgets.php:589
2931
+ msgid "FLAGallery Music"
2932
+ msgstr "FLAGallery Zene"
2933
+
2934
+ #: xml/media-rss.php:39
2935
+ msgid "No galleries have been yet created."
2936
+ msgstr "Nincs még galéria létrehozva."
2937
+
2938
+ #: xml/media-rss.php:58
2939
+ msgid "The gallery ID=%s does not exist."
2940
+ msgstr "Az ID=%s Galéria ID nem létezik."
2941
+
2942
+ #: xml/media-rss.php:85
2943
+ msgid "Invalid MediaRSS command (%s)."
2944
+ msgstr "Érvénytelen MediaRSS parancs (%s)."
lib/app.php CHANGED
@@ -32,12 +32,12 @@ if(isset($_REQUEST['account'])){
32
  }
33
  if(isset($_GET['account']) && isset($GLOBALS[ 'HTTP_RAW_POST_DATA' ])){
34
  $path = $wpdb->get_var("SELECT path FROM $wpdb->flaggallery WHERE gid = $gid");
35
- $file = ABSPATH . trailingslashit($path) . str_replace(' ', '_', current_time('mysql')) . '.jpg';
36
  $filename = basename($file);
37
  // Open temp file
38
- $out = fopen( $file, "wb" );
39
  if ( $out ) {
40
- if(fwrite( $out, $GLOBALS[ 'HTTP_RAW_POST_DATA' ] )){
41
 
42
  $alttext = isset($_GET['alttext'])? $wpdb->escape(flagallery_utf8_urldecode($_GET['alttext'])) : '';
43
  $description = isset($_GET['description'])? $wpdb->escape(flagallery_utf8_urldecode($_GET['description'])) : '';
32
  }
33
  if(isset($_GET['account']) && isset($GLOBALS[ 'HTTP_RAW_POST_DATA' ])){
34
  $path = $wpdb->get_var("SELECT path FROM $wpdb->flaggallery WHERE gid = $gid");
35
+ $file = ABSPATH . trailingslashit($path) . str_replace(array(' ',':'), array('_',''), current_time('mysql')) . '.jpg';
36
  $filename = basename($file);
37
  // Open temp file
38
+ $out = @fopen( $file, "wb" );
39
  if ( $out ) {
40
+ if(@fwrite( $out, $GLOBALS[ 'HTTP_RAW_POST_DATA' ] )){
41
 
42
  $alttext = isset($_GET['alttext'])? $wpdb->escape(flagallery_utf8_urldecode($_GET['alttext'])) : '';
43
  $description = isset($_GET['description'])? $wpdb->escape(flagallery_utf8_urldecode($_GET['description'])) : '';
lib/flag-db.php CHANGED
@@ -76,12 +76,15 @@ class flagdb {
76
  * @param bool|int $draft
77
  * @return array $galleries
78
  */
79
- function find_all_galleries($order_by = 'gid', $order_dir = 'ASC', $counter = false, $limit = 0, $start = 0, $exclude = 0, $draft = false) {
80
  /** @var $wpdb wpdb */
81
  global $wpdb;
82
-
83
- $exclude_clause = ($exclude) ? ' AND exclude<>1 ' : '';
84
- $draft_clause = ($draft) ? '' : 'WHERE status=0';
 
 
 
85
  $order_dir = ( $order_dir == 'DESC') ? 'DESC' : 'ASC';
86
  if( !in_array($order_by, array('title','rand')) ) {
87
  $order_by = 'gid';
@@ -561,7 +564,7 @@ class flagdb {
561
 
562
  // Check for the exclude setting
563
  $exclude_clause = ($exclude) ? ' AND tt.exclude != 1 ' : '';
564
- $draft_clause = ' AND t.status == 0 ';
565
 
566
  $number = (int) $number;
567
  $galleryID = (int) $galleryID;
76
  * @param bool|int $draft
77
  * @return array $galleries
78
  */
79
+ function find_all_galleries($order_by = '', $order_dir = '', $counter = false, $limit = 0, $start = 0, $exclude = 0, $draft = false) {
80
  /** @var $wpdb wpdb */
81
  global $wpdb;
82
+
83
+ $flag_options = get_option('flag_options');
84
+ if(empty($order_by)){ $order_by = $flag_options['albSort']; }
85
+ if(empty($order_dir)){ $order_dir = $flag_options['albSortDir']; }
86
+ $exclude_clause = ($exclude) ? ' AND exclude<>1 ' : '';
87
+ $draft_clause = ($draft || (get_option( 'flag_db_version' ) < 2.75)) ? '' : 'WHERE status=0';
88
  $order_dir = ( $order_dir == 'DESC') ? 'DESC' : 'ASC';
89
  if( !in_array($order_by, array('title','rand')) ) {
90
  $order_by = 'gid';
564
 
565
  // Check for the exclude setting
566
  $exclude_clause = ($exclude) ? ' AND tt.exclude != 1 ' : '';
567
+ $draft_clause = (get_option( 'flag_db_version' ) < 2.75) ? '' : 'AND t.status == 0';
568
 
569
  $number = (int) $number;
570
  $galleryID = (int) $galleryID;
lib/shortcodes.php CHANGED
@@ -50,12 +50,13 @@ class FlAG_shortcodes {
50
 
51
  $out = '';
52
  // make an array out of the ids
 
53
  if($album) {
54
  $gallerylist = $flagdb->get_album($album);
55
  $ids = explode( ',', $gallerylist );
56
  $galleryIDs = array();
57
  foreach ($ids as $id) {
58
- $galleryIDs[] = $wpdb->get_var($wpdb->prepare("SELECT gid FROM {$wpdb->flaggallery} WHERE status = 0 AND gid = %d", $id));
59
  }
60
  $galleryIDs = array_filter($galleryIDs);
61
  if(empty($galleryIDs))
@@ -65,6 +66,10 @@ class FlAG_shortcodes {
65
  $out = flagShowFlashAlbum($gids, $name, $w, $h, $skin, $playlist, $wmode, false, $fullwindow, $align);
66
 
67
  } elseif($gid == "all") {
 
 
 
 
68
  if(!in_array($orderby, array('title','rand'))) $orderby='gid';
69
  if(!$order) $order='DESC';
70
  $gallerylist = $flagdb->find_all_galleries($orderby, $order);
@@ -86,7 +91,7 @@ class FlAG_shortcodes {
86
  $galleryIDs = array();
87
  foreach ($ids as $id) {
88
  $id = intval($id);
89
- $galleryIDs[] = $wpdb->get_var($wpdb->prepare("SELECT gid FROM {$wpdb->flaggallery} WHERE status = 0 AND gid = %d", $id));
90
  }
91
  $galleryIDs = array_filter($galleryIDs);
92
  if(empty($galleryIDs)){
@@ -155,7 +160,7 @@ class FlAG_shortcodes {
155
  $out = sprintf(__('[Playlist %s not found]','flag'),$playlist);
156
  if($playlist) {
157
  $flag_options = get_option('flag_options');
158
- if(!file_exists($flag_options['galleryPath'].'playlists/'.$playlist.'.xml')) {
159
  return $out;
160
  }
161
  $this->flag_shortcode = true;
@@ -194,10 +199,10 @@ class FlAG_shortcodes {
194
  $out = sprintf(__('[Playlist %s not found]','flag'),$playlist);
195
  if($playlist) {
196
  $flag_options = get_option('flag_options');
197
- if(!file_exists($flag_options['galleryPath'].'playlists/video/'.$playlist.'.xml')) {
198
  return $out;
199
  }
200
- $data = file_get_contents($flag_options['galleryPath'].'playlists/video/'.$playlist.'.xml');
201
  $swfmousewheel = false;
202
  $swfmousewheel = flagGetBetween($data,'<swfmousewheel>','</swfmousewheel>');
203
  if($swfmousewheel == 'true') $this->flag_add_mousewheel = true;
@@ -234,10 +239,10 @@ class FlAG_shortcodes {
234
  $out = sprintf(__('[XML %s not found]','flag'),$xml);
235
  if($xml) {
236
  $flag_options = get_option('flag_options');
237
- if(!file_exists($flag_options['galleryPath'].'playlists/banner/'.$xml.'.xml')) {
238
  return $out;
239
  }
240
- $data = file_get_contents($flag_options['galleryPath'].'playlists/banner/'.$xml.'.xml');
241
  $swfmousewheel = false;
242
  $swfmousewheel = flagGetBetween($data,'<swfmousewheel>','</swfmousewheel>');
243
  if($swfmousewheel == 'true') $this->flag_add_mousewheel = true;
50
 
51
  $out = '';
52
  // make an array out of the ids
53
+ $draft_clause = (get_option( 'flag_db_version' ) < 2.75) ? '' : 'AND status=0';
54
  if($album) {
55
  $gallerylist = $flagdb->get_album($album);
56
  $ids = explode( ',', $gallerylist );
57
  $galleryIDs = array();
58
  foreach ($ids as $id) {
59
+ $galleryIDs[] = $wpdb->get_var($wpdb->prepare("SELECT gid FROM {$wpdb->flaggallery} WHERE gid = %d $draft_clause", $id));
60
  }
61
  $galleryIDs = array_filter($galleryIDs);
62
  if(empty($galleryIDs))
66
  $out = flagShowFlashAlbum($gids, $name, $w, $h, $skin, $playlist, $wmode, false, $fullwindow, $align);
67
 
68
  } elseif($gid == "all") {
69
+ $flag_options = get_option('flag_options');
70
+ if(empty($orderby)){ $orderby = $flag_options['albSort']; }
71
+ if(empty($order)){ $order = $flag_options['albSortDir']; }
72
+
73
  if(!in_array($orderby, array('title','rand'))) $orderby='gid';
74
  if(!$order) $order='DESC';
75
  $gallerylist = $flagdb->find_all_galleries($orderby, $order);
91
  $galleryIDs = array();
92
  foreach ($ids as $id) {
93
  $id = intval($id);
94
+ $galleryIDs[] = $wpdb->get_var($wpdb->prepare("SELECT gid FROM {$wpdb->flaggallery} WHERE gid = %d $draft_clause", $id));
95
  }
96
  $galleryIDs = array_filter($galleryIDs);
97
  if(empty($galleryIDs)){
160
  $out = sprintf(__('[Playlist %s not found]','flag'),$playlist);
161
  if($playlist) {
162
  $flag_options = get_option('flag_options');
163
+ if(!file_exists(ABSPATH.$flag_options['galleryPath'].'playlists/'.$playlist.'.xml')) {
164
  return $out;
165
  }
166
  $this->flag_shortcode = true;
199
  $out = sprintf(__('[Playlist %s not found]','flag'),$playlist);
200
  if($playlist) {
201
  $flag_options = get_option('flag_options');
202
+ if(!file_exists(ABSPATH.$flag_options['galleryPath'].'playlists/video/'.$playlist.'.xml')) {
203
  return $out;
204
  }
205
+ $data = file_get_contents(ABSPATH.$flag_options['galleryPath'].'playlists/video/'.$playlist.'.xml');
206
  $swfmousewheel = false;
207
  $swfmousewheel = flagGetBetween($data,'<swfmousewheel>','</swfmousewheel>');
208
  if($swfmousewheel == 'true') $this->flag_add_mousewheel = true;
239
  $out = sprintf(__('[XML %s not found]','flag'),$xml);
240
  if($xml) {
241
  $flag_options = get_option('flag_options');
242
+ if(!file_exists(ABSPATH.$flag_options['galleryPath'].'playlists/banner/'.$xml.'.xml')) {
243
  return $out;
244
  }
245
+ $data = file_get_contents(ABSPATH.$flag_options['galleryPath'].'playlists/banner/'.$xml.'.xml');
246
  $swfmousewheel = false;
247
  $swfmousewheel = flagGetBetween($data,'<swfmousewheel>','</swfmousewheel>');
248
  if($swfmousewheel == 'true') $this->flag_add_mousewheel = true;
lib/sitemap.php CHANGED
@@ -70,12 +70,13 @@ class flagallerySitemaps {
70
  * @var $gid
71
  * @var $exclude
72
  **/
 
73
  if($album) {
74
  $gallerylist = $flagdb->get_album($album);
75
  $ids = explode( ',', $gallerylist );
76
  $galleryIDs = array();
77
  foreach ($ids as $id) {
78
- $galleryIDs[] = $wpdb->get_var($wpdb->prepare("SELECT gid FROM {$wpdb->flaggallery} WHERE status = 0 AND gid = %d", $id));
79
  }
80
  $galleryIDs = array_filter($galleryIDs);
81
 
@@ -95,7 +96,7 @@ class flagallerySitemaps {
95
  $galleryIDs = array();
96
  foreach ($ids as $id) {
97
  $id = intval($id);
98
- $galleryIDs[] = $wpdb->get_var($wpdb->prepare("SELECT gid FROM {$wpdb->flaggallery} WHERE status = 0 AND gid = %d", $id));
99
  }
100
  $galleryIDs = array_filter($galleryIDs);
101
 
70
  * @var $gid
71
  * @var $exclude
72
  **/
73
+ $draft_clause = (get_option( 'flag_db_version' ) < 2.75) ? '' : 'AND status=0';
74
  if($album) {
75
  $gallerylist = $flagdb->get_album($album);
76
  $ids = explode( ',', $gallerylist );
77
  $galleryIDs = array();
78
  foreach ($ids as $id) {
79
+ $galleryIDs[] = $wpdb->get_var($wpdb->prepare("SELECT gid FROM {$wpdb->flaggallery} WHERE gid = %d $draft_clause", $id));
80
  }
81
  $galleryIDs = array_filter($galleryIDs);
82
 
96
  $galleryIDs = array();
97
  foreach ($ids as $id) {
98
  $id = intval($id);
99
+ $galleryIDs[] = $wpdb->get_var($wpdb->prepare("SELECT gid FROM {$wpdb->flaggallery} WHERE gid = %d $draft_clause", $id));
100
  }
101
  $galleryIDs = array_filter($galleryIDs);
102
 
lib/swfobject.php CHANGED
@@ -76,7 +76,8 @@ function flagShowFlashAlbum($galleryID, $name='Gallery', $width='', $height='',
76
  }
77
  if(empty($wmode)) $wmode = $flashBacktransparent? 'transparent' : 'opaque';
78
  if(empty($flashBackcolor)) $flashBackcolor = $flag_options['flashBackcolor'];
79
- $isCrawler = flagGetUserNow($_SERVER['HTTP_USER_AGENT']);
 
80
 
81
  $altColors['wmode'] = $wmode;
82
  $altColors['Background'] = $flashBackcolor;
@@ -148,9 +149,9 @@ function flagShowFlashAlbum($galleryID, $name='Gallery', $width='', $height='',
148
  $margin = 'margin-left: auto;';
149
  break;
150
  }
151
- $out = '<div class="flashalbumwraper" style="text-align:'.$align.';"><div class="flashalbum" style="width:'.$width.';height:'.$height.';'.$margin.'">' . $swfobject->output($alternate) . '</div></div>';
152
  } else {
153
- $out = '<div class="flashalbum" style="width:'.$width.';height:'.$height.';">' . $swfobject->output($alternate) . '</div>';
154
  }
155
  // add now the script code
156
  if(!flagGetUserNow($_SERVER['HTTP_USER_AGENT']) && !preg_match("/Android/i", $_SERVER['HTTP_USER_AGENT'])){
@@ -261,7 +262,7 @@ function flagShowMPlayer($playlist, $width, $height, $wmode='', $skin='', $isWid
261
  $skin = sanitize_flagname($skin);
262
  $skinpath = str_replace("\\","/", WP_PLUGIN_DIR ).'/flagallery-skins/'.$skin;
263
  include_once ( $skinpath.'/'.$skin.'.php' );
264
- $isCrawler = flagGetUserNow($_SERVER['HTTP_USER_AGENT']);
265
  $args = array(
266
  'playlist' => $playlist,
267
  'skin' => $skin,
@@ -303,7 +304,7 @@ function flagShowVPlayer($playlist, $width, $height, $wmode='') {
303
  } else {
304
  $lkey = '';
305
  }
306
- $isCrawler = flagGetUserNow($_SERVER['HTTP_USER_AGENT']);
307
  $args = array(
308
  'playlist' => $playlist,
309
  'skin' => $skin,
@@ -404,7 +405,7 @@ function flagShowBanner($xml, $width, $height, $wmode='') {
404
  } else {
405
  $lkey = '';
406
  }
407
- $isCrawler = flagGetUserNow($_SERVER['HTTP_USER_AGENT']);
408
  $args = array(
409
  'xml' => $xml,
410
  'skin' => $skin,
76
  }
77
  if(empty($wmode)) $wmode = $flashBacktransparent? 'transparent' : 'opaque';
78
  if(empty($flashBackcolor)) $flashBackcolor = $flag_options['flashBackcolor'];
79
+
80
+ $isCrawler = isset($_SERVER['HTTP_USER_AGENT'])? flagGetUserNow($_SERVER['HTTP_USER_AGENT']) : false;
81
 
82
  $altColors['wmode'] = $wmode;
83
  $altColors['Background'] = $flashBackcolor;
149
  $margin = 'margin-left: auto;';
150
  break;
151
  }
152
+ $out = '<div class="flashalbumwraper '.$skin.'" style="text-align:'.$align.';"><div class="flashalbum" style="width:'.$width.';height:'.$height.';'.$margin.'">' . $swfobject->output($alternate) . '</div></div>';
153
  } else {
154
+ $out = '<div class="flashalbum '.$skin.'" style="width:'.$width.';height:'.$height.';">' . $swfobject->output($alternate) . '</div>';
155
  }
156
  // add now the script code
157
  if(!flagGetUserNow($_SERVER['HTTP_USER_AGENT']) && !preg_match("/Android/i", $_SERVER['HTTP_USER_AGENT'])){
262
  $skin = sanitize_flagname($skin);
263
  $skinpath = str_replace("\\","/", WP_PLUGIN_DIR ).'/flagallery-skins/'.$skin;
264
  include_once ( $skinpath.'/'.$skin.'.php' );
265
+ $isCrawler = isset($_SERVER['HTTP_USER_AGENT'])? flagGetUserNow($_SERVER['HTTP_USER_AGENT']) : false;
266
  $args = array(
267
  'playlist' => $playlist,
268
  'skin' => $skin,
304
  } else {
305
  $lkey = '';
306
  }
307
+ $isCrawler = isset($_SERVER['HTTP_USER_AGENT'])? flagGetUserNow($_SERVER['HTTP_USER_AGENT']) : false;
308
  $args = array(
309
  'playlist' => $playlist,
310
  'skin' => $skin,
405
  } else {
406
  $lkey = '';
407
  }
408
+ $isCrawler = isset($_SERVER['HTTP_USER_AGENT'])? flagGetUserNow($_SERVER['HTTP_USER_AGENT']) : false;
409
  $args = array(
410
  'xml' => $xml,
411
  'skin' => $skin,
readme.txt CHANGED
@@ -1,24 +1,24 @@
1
- === Grand Flagallery ===
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, slider, plugin, Post, posts, slideshow, video, widget, iOS gallery, iphone gallery, best gallery, iPhone
5
  Requires at least: 3.0
6
- Tested up to: 3.5.2
7
  Stable tag: trunk
8
 
9
- Grand Flagallery is a Photo Gallery, Video Gallery, Music Album & Banner Rotator plugin with powerfull admin to manage your media content
10
 
11
  == Description ==
12
 
13
- Grand Flagallery - powerfull media content plugin. It provides a comprehensive interface for handling image galleries, audio and video.
14
 
15
- > Now You can upload and manage your photos, anywhere.
16
  > Download new **[application for iPhone](http://mypgc.co/ios-app/)**
17
 
18
- Edit your media content the way you want: upload images, import music and video, create photo gallery, music playlists, group pictures in slideshow and add descriptions for each image, mp3 or video - Grand Flagallery is the smart choice when showing the best of your product or describing in brief any event. Grand Flagallery can easily beautify your site with **image gallery, mp3 player, video player, banner rotator, nivo slider or nice widgets**. SEO optimized, compatibility with Google Reader, FeedBerner, etc.
19
 
20
  * iPhone, iPad, Android, Blackberry and Desktop friendly photo gallery, SEO optimized.
21
- * Full-screen mobile friendly slideshow with touch controls (optional, if set PhotoSwipe library script for alternative gallery).
22
  * Widgets for Banner Rotator, Photo Gallery and Video Gallery.
23
  * Background music in gallery for desktop browsers.
24
 
@@ -26,7 +26,7 @@ Edit your media content the way you want: upload images, import music and video,
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 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
 
@@ -36,7 +36,7 @@ GRAND Pages - Full Window Gallery Template. You can display your image gallery i
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 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
 
@@ -44,8 +44,8 @@ Now you can see "Views" of each photo in the gallery and visitors can "Like" ima
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 [Widgets](http://photogallerycreator.com/widgets-for-wordpress/)
48
- * Demo [Facebook Integration](http://www.facebook.com/#!/PhotoGalleryCreator?sk=app_206659789371708)
49
 
50
  New plugin:
51
  > Try our **new plugin** called [Gmedia Gallery](http://wordpress.org/extend/plugins/grand-media/). Help me make it best gallery plugin: test it and write suggestions how I can improve it in feature versions.
@@ -53,6 +53,33 @@ New plugin:
53
 
54
  == Changelog ==
55
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
  = v3.12 - 18.07.2013 =
57
  * Fix: Not worked for wordpress with custom 'wp-content' folder
58
  * Fix: Minima skin wrong install url
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, slider, plugin, slideshow, video, widget, iphone gallery, best gallery, portfolio, banner rotator
5
  Requires at least: 3.0
6
+ Tested up to: 3.6.2
7
  Stable tag: trunk
8
 
9
+ Photo Gallery, Video Gallery, Music Album & Banner Rotator plugin with powerfull admin to manage your media content
10
 
11
  == Description ==
12
 
13
+ Grand Flagallery - powerfull media gallery content plugin. Easy interface for handling photos, image galleries, audio and video galleries.
14
 
15
+ > Now You can upload and manage your images and photo galleries, anywhere.
16
  > Download new **[application for iPhone](http://mypgc.co/ios-app/)**
17
 
18
+ With this gallery plugin you can easy upload images, create music and video playlists, create photo gallery, group pictures in photo slideshow and add descriptions for each image, mp3 or video - Grand Flagallery is the smart choice when showing the best of your product or describing in brief any event. Grand Flagallery can easily beautify your site with **photo gallery, mp3 player, video player, banner rotator, nivo slider or nice slideshow widgets**. SEO optimized, compatibility with Google Reader, FeedBerner, etc.
19
 
20
  * iPhone, iPad, Android, Blackberry and Desktop friendly photo gallery, SEO optimized.
21
+ * Full-screen mobile friendly gallery slideshow with touch controls (optional, if set PhotoSwipe library script for alternative gallery).
22
  * Widgets for Banner Rotator, Photo Gallery and Video Gallery.
23
  * Background music in gallery for desktop browsers.
24
 
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
 
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
 
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
  New plugin:
51
  > Try our **new plugin** called [Gmedia Gallery](http://wordpress.org/extend/plugins/grand-media/). Help me make it best gallery plugin: test it and write suggestions how I can improve it in feature versions.
53
 
54
  == Changelog ==
55
 
56
+ = v3.20 - 15.10.2013 =
57
+ * Fix alternative gallery
58
+ * Added Gallery sorting on Manage Galleries page
59
+ * Added fields on Options page for gallery sorting
60
+
61
+ = v3.19 - 10.10.2013 =
62
+ * Fix browser upload (submit button was absent)
63
+ * fix for switch between uploaders
64
+
65
+ = v3.18 - 10.10.2013 =
66
+ * Replace swfupload with plupload uploader.
67
+ * Added: compatibility with old flagallery database (if it was not upgraded)
68
+ * Update: Minima skin
69
+
70
+ = v3.16 - 28.09.2013 =
71
+ * Fix: for Flagallery widget
72
+
73
+ = v3.15 - 27.09.2013 =
74
+ * Fix: New skins not loaded sometimes
75
+ * Added: Thumb Qty field to Flagallery widget
76
+ * Added: Hungarian translate
77
+
78
+ = v3.14 - 28.08.2013 =
79
+ * Fix: Flash Uploader not worked on some servers
80
+ * Fix: Upload for iOS application
81
+ * Fix: Banner Widget, Music and Video player (click reset options on Overview page to update default skins to latest versions)
82
+
83
  = v3.12 - 18.07.2013 =
84
  * Fix: Not worked for wordpress with custom 'wp-content' folder
85
  * Fix: Minima skin wrong install url
skins/banner_widget_default/banner_widget_default.php CHANGED
@@ -5,7 +5,7 @@ Skin URI:
5
  Description:
6
  Author: PGC
7
  Author URI: http://PhotoGalleryCreator.com
8
- Version: 1.2
9
  */
10
 
11
  function flagShowSkin_banner_widget_default($args) {
@@ -15,7 +15,7 @@ function flagShowSkin_banner_widget_default($args) {
15
  $skinID = 'id_'.mt_rand();
16
  // look up for the path
17
  $skinpath = trailingslashit( $flag_options['skinsDirABS'] ).$skin;
18
- $playlistpath = $flag_options['galleryPath'].'playlists/banner/'.$xml.'.xml';
19
  $js = $flag_options['skinsDirURL'].$skin."/jquery.cycle.lite.js";
20
  $data = file_get_contents($skinpath.'/settings/settings.xml');
21
  $flashBackcolor = flagGetBetween($data,'<property1>0x','</property1>');
5
  Description:
6
  Author: PGC
7
  Author URI: http://PhotoGalleryCreator.com
8
+ Version: 1.3
9
  */
10
 
11
  function flagShowSkin_banner_widget_default($args) {
15
  $skinID = 'id_'.mt_rand();
16
  // look up for the path
17
  $skinpath = trailingslashit( $flag_options['skinsDirABS'] ).$skin;
18
+ $playlistpath = ABSPATH.$flag_options['galleryPath'].'playlists/banner/'.$xml.'.xml';
19
  $js = $flag_options['skinsDirURL'].$skin."/jquery.cycle.lite.js";
20
  $data = file_get_contents($skinpath.'/settings/settings.xml');
21
  $flashBackcolor = flagGetBetween($data,'<property1>0x','</property1>');
skins/compact_music_player/compact_music_player.php CHANGED
@@ -5,7 +5,7 @@ Skin URI:
5
  Description:
6
  Author: PGC
7
  Author URI: http://PhotoGalleryCreator.com
8
- Version: 1.2
9
  */
10
 
11
  function flagShowSkin_music_compact($args) {
@@ -14,7 +14,7 @@ function flagShowSkin_music_compact($args) {
14
 
15
  $skinID = 'id_'.mt_rand();
16
  // look up for the path
17
- $playlistpath = $flag_options['galleryPath'].'playlists/'.$playlist.'.xml';
18
  if($isWidget){
19
  $skinpath = trailingslashit( $flag_options['skinsDirABS'] ).$skin;
20
  $data = file_get_contents($skinpath.'/settings/settings.xml');
5
  Description:
6
  Author: PGC
7
  Author URI: http://PhotoGalleryCreator.com
8
+ Version: 1.3
9
  */
10
 
11
  function flagShowSkin_music_compact($args) {
14
 
15
  $skinID = 'id_'.mt_rand();
16
  // look up for the path
17
+ $playlistpath = ABSPATH.$flag_options['galleryPath'].'playlists/'.$playlist.'.xml';
18
  if($isWidget){
19
  $skinpath = trailingslashit( $flag_options['skinsDirABS'] ).$skin;
20
  $data = file_get_contents($skinpath.'/settings/settings.xml');
skins/minima_jn/minima_jn.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  /*
4
  Skin Name: Minima
5
- Version: 1.2
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 />
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 />
skins/minima_jn/settings/settings.xml CHANGED
@@ -1,5 +1,5 @@
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <panel title="Minima 1.2">
3
  <item type="checkBox" name="autoSlideshow">
4
  <title><![CDATA[AutoSlideshow]]></title>
5
  <description><![CDATA[]]></description>
@@ -74,7 +74,7 @@
74
  <showTextField>true</showTextField>
75
  <selectedColor>0xffffff</selectedColor>
76
  </item>
77
- <item type="colorPicker" name="property1Button">
78
  <title><![CDATA[Background Color (Buttons)]]></title>
79
  <description><![CDATA[]]></description>
80
  <showTextField>true</showTextField>
@@ -160,7 +160,7 @@
160
  <autoSlideshow>true</autoSlideshow>
161
  <labelColor>0x75c30f</labelColor>
162
  <labelColorOver>0xffffff</labelColorOver>
163
- <property1Button>0x000000</property1Button>
164
  <thumbnailBGColor>0xffffff</thumbnailBGColor>
165
  <property12>0x75c30f</property12>
166
  <descriptionBGColor>0x000000</descriptionBGColor>
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>
74
  <showTextField>true</showTextField>
75
  <selectedColor>0xffffff</selectedColor>
76
  </item>
77
+ <item type="colorPicker" name="backgroundColorButton">
78
  <title><![CDATA[Background Color (Buttons)]]></title>
79
  <description><![CDATA[]]></description>
80
  <showTextField>true</showTextField>
160
  <autoSlideshow>true</autoSlideshow>
161
  <labelColor>0x75c30f</labelColor>
162
  <labelColorOver>0xffffff</labelColorOver>
163
+ <backgroundColorButton>0x000000</backgroundColorButton>
164
  <thumbnailBGColor>0xffffff</thumbnailBGColor>
165
  <property12>0x75c30f</property12>
166
  <descriptionBGColor>0x000000</descriptionBGColor>
skins/music_default/music_default.php CHANGED
@@ -5,7 +5,7 @@ Skin URI:
5
  Description:
6
  Author: PGC
7
  Author URI: http://PhotoGalleryCreator.com
8
- Version: 1.4
9
  */
10
 
11
  function flagShowSkin_music_default($args) {
@@ -14,7 +14,7 @@ function flagShowSkin_music_default($args) {
14
 
15
  $skinID = 'id_'.mt_rand();
16
  // look up for the path
17
- $playlistpath = $flag_options['galleryPath'].'playlists/'.$playlist.'.xml';
18
  if($isWidget){
19
  $skinpath = trailingslashit( $flag_options['skinsDirABS'] ).$skin;
20
  $data = file_get_contents($skinpath.'/settings/settings.xml');
5
  Description:
6
  Author: PGC
7
  Author URI: http://PhotoGalleryCreator.com
8
+ Version: 1.5
9
  */
10
 
11
  function flagShowSkin_music_default($args) {
14
 
15
  $skinID = 'id_'.mt_rand();
16
  // look up for the path
17
+ $playlistpath = ABSPATH.$flag_options['galleryPath'].'playlists/'.$playlist.'.xml';
18
  if($isWidget){
19
  $skinpath = trailingslashit( $flag_options['skinsDirABS'] ).$skin;
20
  $data = file_get_contents($skinpath.'/settings/settings.xml');
skins/video_default/video_default.php CHANGED
@@ -5,7 +5,7 @@ Skin URI:
5
  Description:
6
  Author: PGC
7
  Author URI: http://PhotoGalleryCreator.com
8
- Version: 1.2
9
  */
10
 
11
  function flagShowSkin_video_default($args) {
@@ -14,7 +14,7 @@ function flagShowSkin_video_default($args) {
14
 
15
  $skinID = 'id_'.mt_rand();
16
  // look up for the path
17
- $playlistpath = $flag_options['galleryPath'].'playlists/video/'.$playlist.'.xml';
18
  $data = file_get_contents($playlistpath);
19
  $flashBackcolor = flagGetBetween($data,'<property1>0x','</property1>');
20
  if(empty($width)) {
5
  Description:
6
  Author: PGC
7
  Author URI: http://PhotoGalleryCreator.com
8
+ Version: 1.3
9
  */
10
 
11
  function flagShowSkin_video_default($args) {
14
 
15
  $skinID = 'id_'.mt_rand();
16
  // look up for the path
17
+ $playlistpath = ABSPATH.$flag_options['galleryPath'].'playlists/video/'.$playlist.'.xml';
18
  $data = file_get_contents($playlistpath);
19
  $flashBackcolor = flagGetBetween($data,'<property1>0x','</property1>');
20
  if(empty($width)) {
widgets/widgets.php CHANGED
@@ -265,6 +265,7 @@ class flagWidget extends WP_Widget {
265
  $instance = $old_instance;
266
 
267
  $instance['title'] = strip_tags($new_instance['title']);
 
268
  $instance['type'] = $new_instance['type'];
269
  $instance['width'] = (int) $new_instance['width'];
270
  $instance['height'] = (int) $new_instance['height'];
@@ -286,6 +287,7 @@ class flagWidget extends WP_Widget {
286
  //Defaults
287
  $instance = wp_parse_args( (array) $instance, array(
288
  'title' => 'Galleries',
 
289
  'type' => 'random',
290
  'width' => '75',
291
  'height'=> '65',
@@ -294,6 +296,7 @@ class flagWidget extends WP_Widget {
294
  'album' => '',
295
  'skin' => '' ) );
296
  $title = esc_html( $instance['title'] );
 
297
  $width = esc_attr( $instance['width'] );
298
  $height = esc_attr( $instance['height'] );
299
  $fwidth = esc_attr( $instance['fwidth'] );
@@ -307,12 +310,18 @@ class flagWidget extends WP_Widget {
307
  </label>
308
  </p>
309
 
 
 
 
 
 
 
310
  <p>
311
  <label for="<?php echo $this->get_field_id('type'); ?>_random">
312
  <input id="<?php echo $this->get_field_id('type'); ?>_random" name="<?php echo $this->get_field_name('type'); ?>" type="radio" value="random" <?php checked("random" , $instance['type']); ?> /> <?php _e('random','flag'); ?>
313
  </label>
314
  <label for="<?php echo $this->get_field_id('type'); ?>_first">
315
- <input id="<?php echo $this->get_field_id('type'); ?>_first" name="<?php echo $this->get_field_name('type'); ?>" type="radio" value="recent" <?php checked("recent" , $instance['type']); ?> /> <?php _e('first in album','flag'); ?>
316
  </label>
317
  </p>
318
 
@@ -372,6 +381,8 @@ class flagWidget extends WP_Widget {
372
 
373
  $album = $instance['album'];
374
 
 
 
375
  $gallerylist = $flagdb->get_album($album);
376
  $ids = explode( ',', $gallerylist );
377
  foreach ($ids as $id) {
@@ -381,10 +392,18 @@ class flagWidget extends WP_Widget {
381
  continue;
382
  }
383
  if ( $instance['type'] == 'random' ){
384
- $imageList[$galID] = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->flaggallery AS t INNER JOIN $wpdb->flagpictures AS tt ON t.gid = tt.galleryid WHERE tt.exclude != 1 AND t.gid = {$galID} ORDER by rand() LIMIT 1");
385
  }
386
  else {
387
- $imageList[$galID] = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->flaggallery AS t INNER JOIN $wpdb->flagpictures AS tt ON t.gid = tt.galleryid WHERE tt.exclude != 1 AND t.gid = {$galID} ORDER by tt.sortorder ASC LIMIT 1");
 
 
 
 
 
 
 
 
388
  }
389
  }
390
  echo $before_widget . $before_title . $title . $after_title;
@@ -400,19 +419,20 @@ class flagWidget extends WP_Widget {
400
  else
401
  $thumbcode = 'class="flag_newbox"';
402
 
403
- foreach($imageList as $key => $image) {
404
- // get the URL constructor
405
- $image = new flagImage($image[0]);
406
-
407
- // enable i18n support for alttext and description
408
- $alttext = strip_tags( htmlspecialchars( stripslashes( flagGallery::i18n($image->alttext, 'pic_' . $image->pid . '_alttext') )) );
409
- $description = strip_tags( htmlspecialchars( stripslashes( flagGallery::i18n($image->description, 'pic_' . $image->pid . '_description') )) );
410
-
411
- //TODO:For mixed portrait/landscape it's better to use only the height setting, if widht is 0 or vice versa
412
- $out = '<a href="'.plugins_url().'/flash-album-gallery/facebook.php?i='.$image->galleryid.'&amp;f='.$instance['skin'].'&amp;h='.$instance['fheight'].'" title="' . $image->title . '" ' . $thumbcode .'>';
413
- $out .= '<img src="'.$image->thumbURL.'" width="'.$instance['width'].'" height="'.$instance['height'].'" title="'.$alttext.'" alt="'.$description.'" />';
414
- echo $out . '</a>'."\n";
415
-
 
416
  }
417
  }
418
 
265
  $instance = $old_instance;
266
 
267
  $instance['title'] = strip_tags($new_instance['title']);
268
+ $instance['qty'] = (int) $new_instance['qty'];
269
  $instance['type'] = $new_instance['type'];
270
  $instance['width'] = (int) $new_instance['width'];
271
  $instance['height'] = (int) $new_instance['height'];
287
  //Defaults
288
  $instance = wp_parse_args( (array) $instance, array(
289
  'title' => 'Galleries',
290
+ 'qty' => '1',
291
  'type' => 'random',
292
  'width' => '75',
293
  'height'=> '65',
296
  'album' => '',
297
  'skin' => '' ) );
298
  $title = esc_html( $instance['title'] );
299
+ $qty = intval( $instance['qty'] );
300
  $width = esc_attr( $instance['width'] );
301
  $height = esc_attr( $instance['height'] );
302
  $fwidth = esc_attr( $instance['fwidth'] );
310
  </label>
311
  </p>
312
 
313
+ <p>
314
+ <label for="<?php echo $this->get_field_id('qty'); ?>"><?php _e('Qty of thumbs from each gallery:','flag'); ?>
315
+ <input id="<?php echo $this->get_field_id('qty'); ?>" name="<?php echo $this->get_field_name('qty');?>" type="text" class="widefat" value="<?php echo $qty; ?>" />
316
+ </label>
317
+ </p>
318
+
319
  <p>
320
  <label for="<?php echo $this->get_field_id('type'); ?>_random">
321
  <input id="<?php echo $this->get_field_id('type'); ?>_random" name="<?php echo $this->get_field_name('type'); ?>" type="radio" value="random" <?php checked("random" , $instance['type']); ?> /> <?php _e('random','flag'); ?>
322
  </label>
323
  <label for="<?php echo $this->get_field_id('type'); ?>_first">
324
+ <input id="<?php echo $this->get_field_id('type'); ?>_first" name="<?php echo $this->get_field_name('type'); ?>" type="radio" value="recent" <?php checked("recent" , $instance['type']); ?> /> <?php _e('recent in gallery','flag'); ?>
325
  </label>
326
  </p>
327
 
381
 
382
  $album = $instance['album'];
383
 
384
+ $qty = (intval($instance['qty']) < 1)? 1 : intval($instance['qty']);
385
+
386
  $gallerylist = $flagdb->get_album($album);
387
  $ids = explode( ',', $gallerylist );
388
  foreach ($ids as $id) {
392
  continue;
393
  }
394
  if ( $instance['type'] == 'random' ){
395
+ $imageList[$galID] = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->flaggallery AS t INNER JOIN $wpdb->flagpictures AS tt ON t.gid = tt.galleryid WHERE tt.exclude != 1 AND t.gid = {$galID} ORDER by rand() LIMIT 0,{$qty}");
396
  }
397
  else {
398
+ $flag_options = get_option('flag_options');
399
+
400
+ $order_dir = ( $flag_options['galSortDir'] == 'DESC') ? 'DESC' : 'ASC';
401
+ if(in_array($flag_options['galSort'], array('sortorder','pid','filename','alttext','imagedate','hitcounter','total_votes','rand()'))){
402
+ $order_by= 'tt.'.$flag_options['galSort'];
403
+ } else {
404
+ $order_by = 'tt.sortorder';
405
+ }
406
+ $imageList[$galID] = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->flaggallery AS t INNER JOIN $wpdb->flagpictures AS tt ON t.gid = tt.galleryid WHERE tt.exclude != 1 AND t.gid = {$galID} ORDER by $order_by $order_dir LIMIT 0,{$qty}");
407
  }
408
  }
409
  echo $before_widget . $before_title . $title . $after_title;
419
  else
420
  $thumbcode = 'class="flag_newbox"';
421
 
422
+ foreach($imageList as $gallery_) {
423
+ foreach($gallery_ as $_image) {
424
+ // get the URL constructor
425
+ $image = new flagImage($_image);
426
+
427
+ // enable i18n support for alttext and description
428
+ $alttext = strip_tags( htmlspecialchars( stripslashes( flagGallery::i18n($image->alttext, 'pic_' . $image->pid . '_alttext') )) );
429
+ $description = strip_tags( htmlspecialchars( stripslashes( flagGallery::i18n($image->description, 'pic_' . $image->pid . '_description') )) );
430
+
431
+ //TODO:For mixed portrait/landscape it's better to use only the height setting, if widht is 0 or vice versa
432
+ $out = '<a href="'.plugins_url().'/flash-album-gallery/facebook.php?i='.$image->galleryid.'&amp;f='.$instance['skin'].'&amp;h='.$instance['fheight'].'" title="' . $image->title . '" ' . $thumbcode .'>';
433
+ $out .= '<img src="'.$image->thumbURL.'" width="'.$instance['width'].'" height="'.$instance['height'].'" title="'.$alttext.'" alt="'.$description.'" />';
434
+ echo $out . '</a>'."\n";
435
+ }
436
  }
437
  }
438