NextGEN Gallery – WordPress Gallery Plugin - Version 1.7.0

Version Description

  • 11.12.2010 =
  • NEW : Publish a new post direct from the gallery admin page
  • NEW : Added filter hook 'ngg_get_image_metadata' to add more exif/iptc information
  • NEW : Adding Autocomplete field to TinyMCE Popup and Album page
  • NEW : More methods for XMLRPC interface
  • Changed : New hooks for gallery table (THX to Alexander Schneider)
  • Changed : Introduce jQuery dialog as new UI element
  • Changed : Call TinyMCE window via admin-ajax
  • Bugfix : Better support for SSL blogs
  • Bugfix : Install/Upgrade failed when table prefix contain captial letters
  • Bugfix : Fix validation issues in Media-RSS
  • Bugifx : Empty tags in XMP Meta causes PHP error
  • Bugifx : Rework load mechanism for slideshow
  • Bugfix : Copy meta data when image is copied
  • Bugfix : Icon Support for Ozh' Admin Drop Down Menu
  • Bugfix : Use correct sort order in slideshow
Download this release

Release Info

Developer alexrabe
Plugin Icon 128x128 NextGEN Gallery – WordPress Gallery Plugin
Version 1.7.0
Comparing to
See all releases

Code changes from version 1.6.2 to 1.7.0

Files changed (56) hide show
  1. admin/addgallery.php +11 -14
  2. admin/admin.php +53 -124
  3. admin/ajax.php +68 -1
  4. admin/album.php +36 -20
  5. admin/css/images/dropdown.png +0 -0
  6. admin/css/images/ui-anim_basic_16x16.gif +0 -0
  7. admin/css/images/ui-icons_222222_256x240.png +0 -0
  8. admin/css/images/ui-icons_cccccc_256x240.png +0 -0
  9. admin/css/images/ui-icons_ffffff_256x240.png +0 -0
  10. admin/css/jquery.ui.css +139 -0
  11. admin/css/menu.css +4 -2
  12. admin/css/nggadmin.css +13 -7
  13. admin/functions.php +58 -50
  14. admin/images/nextgen.png +0 -0
  15. admin/install.php +10 -6
  16. admin/js/jquery-ui-1.8.6.min.js +391 -0
  17. admin/js/jquery.ui.autocomplete.min.js +31 -0
  18. admin/js/ngg.ajax.js +1 -1
  19. admin/js/ngg.autocomplete.js +72 -0
  20. admin/js/ngg.progressbar.js +30 -18
  21. admin/js/swfupload.handler.js +7 -9
  22. admin/manage-galleries.php +117 -58
  23. admin/manage-images.php +87 -48
  24. admin/manage-sort.php +4 -1
  25. admin/manage.php +107 -68
  26. admin/media-upload.php +4 -6
  27. admin/overview.php +1 -1
  28. admin/publish.php +74 -0
  29. admin/roles.php +1 -1
  30. admin/rotate.php +1 -1
  31. admin/settings.php +61 -48
  32. admin/tinymce/editor_plugin.js +3 -4
  33. admin/tinymce/tinymce.php +1 -1
  34. admin/tinymce/window.php +35 -44
  35. admin/upgrade.php +132 -10
  36. admin/upload.php +7 -12
  37. admin/wpmu.php +38 -8
  38. changelog.txt +18 -1
  39. js/ngg.slideshow.js +25 -19
  40. js/ngg.slideshow.min.js +4 -3
  41. lang/nggallery-de_DE.mo +0 -0
  42. lang/nggallery-de_DE.po +915 -762
  43. lang/nggallery.pot +876 -744
  44. lib/gd.thumbnail.inc.php +5 -1
  45. lib/image.php +1 -0
  46. lib/imagemagick.inc.php +5 -1
  47. lib/media-rss.php +15 -5
  48. lib/meta.php +9 -6
  49. lib/ngg-db.php +339 -20
  50. lib/post-thumbnail.php +2 -2
  51. lib/xmlrpc.php +316 -17
  52. nggallery.php +7 -9
  53. nggfunctions.php +11 -8
  54. readme.txt +17 -0
  55. widgets/widgets.php +2 -2
  56. xml/json.php +100 -10
admin/addgallery.php CHANGED
@@ -130,9 +130,6 @@ class nggAddGallery {
130
 
131
  // link for the flash file
132
  $swf_upload_link = NGGALLERY_URLPATH . 'admin/upload.php';
133
- $swf_upload_link = wp_nonce_url($swf_upload_link, 'ngg_swfupload');
134
- //flash doesn't seem to like encoded ampersands, so convert them back here
135
- $swf_upload_link = str_replace('&', '&', $swf_upload_link);
136
 
137
  // get list of tabs
138
  $tabs = $this->tabs_order();
@@ -146,7 +143,7 @@ class nggAddGallery {
146
  window.onload = function () {
147
  ngg_swf_upload = new SWFUpload({
148
  // Backend settings
149
- upload_url : "<?php echo $swf_upload_link; ?>",
150
  flash_url : "<?php echo NGGALLERY_URLPATH; ?>admin/js/swfupload.swf",
151
 
152
  // Button Settings
@@ -172,7 +169,9 @@ class nggAddGallery {
172
  upload_complete_handler : uploadComplete,
173
 
174
  post_params : {
175
- "auth_cookie" : "<?php echo $_COOKIE[AUTH_COOKIE]; ?>",
 
 
176
  "galleryselect" : "0"
177
  },
178
 
@@ -190,18 +189,15 @@ class nggAddGallery {
190
 
191
  // on load change the upload to swfupload
192
  initSWFUpload();
 
 
 
 
 
193
 
194
  };
195
  </script>
196
 
197
- <div class="wrap" id="progressbar-wrap">
198
- <div class="progressborder">
199
- <div class="progressbar" id="progressbar">
200
- <span>0%</span>
201
- </div>
202
- </div>
203
- </div>
204
-
205
  <?php } else { ?>
206
  <!-- MultiFile script -->
207
  <script type="text/javascript">
@@ -220,6 +216,7 @@ class nggAddGallery {
220
  <script type="text/javascript">
221
  /* <![CDATA[ */
222
  jQuery(document).ready(function(){
 
223
  jQuery('#slider').tabs({ fxFade: true, fxSpeed: 'fast' });
224
  });
225
 
@@ -279,7 +276,7 @@ class nggAddGallery {
279
  if ( wpmu_enable_function('wpmuZipUpload') && nggGallery::current_user_can( 'NextGEN Upload a zip' ) )
280
  $tabs['zipupload'] = __('Upload a Zip-File', 'nggallery');
281
 
282
- if (!is_multisite() && nggGallery::current_user_can( 'NextGEN Import image folder' ) )
283
  $tabs['importfolder'] = __('Import image folder', 'nggallery');
284
 
285
  $tabs = apply_filters('ngg_addgallery_tabs', $tabs);
130
 
131
  // link for the flash file
132
  $swf_upload_link = NGGALLERY_URLPATH . 'admin/upload.php';
 
 
 
133
 
134
  // get list of tabs
135
  $tabs = $this->tabs_order();
143
  window.onload = function () {
144
  ngg_swf_upload = new SWFUpload({
145
  // Backend settings
146
+ upload_url : "<?php echo esc_attr( $swf_upload_link ); ?>",
147
  flash_url : "<?php echo NGGALLERY_URLPATH; ?>admin/js/swfupload.swf",
148
 
149
  // Button Settings
169
  upload_complete_handler : uploadComplete,
170
 
171
  post_params : {
172
+ "auth_cookie" : "<?php echo (is_ssl() ? $_COOKIE[SECURE_AUTH_COOKIE] : $_COOKIE[AUTH_COOKIE]); ?>",
173
+ "logged_in_cookie": "<?php echo $_COOKIE[LOGGED_IN_COOKIE]; ?>",
174
+ "_wpnonce" : "<?php echo wp_create_nonce('ngg_swfupload'); ?>",
175
  "galleryselect" : "0"
176
  },
177
 
189
 
190
  // on load change the upload to swfupload
191
  initSWFUpload();
192
+
193
+ nggAjaxOptions = {
194
+ header: "<?php _e('Upload images', 'nggallery') ;?>",
195
+ maxStep: 100
196
+ };
197
 
198
  };
199
  </script>
200
 
 
 
 
 
 
 
 
 
201
  <?php } else { ?>
202
  <!-- MultiFile script -->
203
  <script type="text/javascript">
216
  <script type="text/javascript">
217
  /* <![CDATA[ */
218
  jQuery(document).ready(function(){
219
+ jQuery('html,body').scrollTop(0);
220
  jQuery('#slider').tabs({ fxFade: true, fxSpeed: 'fast' });
221
  });
222
 
276
  if ( wpmu_enable_function('wpmuZipUpload') && nggGallery::current_user_can( 'NextGEN Upload a zip' ) )
277
  $tabs['zipupload'] = __('Upload a Zip-File', 'nggallery');
278
 
279
+ if ( wpmu_enable_function('wpmuImportFolder') && nggGallery::current_user_can( 'NextGEN Import image folder' ) )
280
  $tabs['importfolder'] = __('Import image folder', 'nggallery');
281
 
282
  $tabs = apply_filters('ngg_addgallery_tabs', $tabs);
admin/admin.php CHANGED
@@ -13,8 +13,9 @@ class nggAdminPanel{
13
  function nggAdminPanel() {
14
 
15
  // Add the admin menu
16
- add_action( 'admin_menu', array (&$this, 'add_menu') );
17
-
 
18
  // Add the script and style files
19
  add_action('admin_print_scripts', array(&$this, 'load_scripts') );
20
  add_action('admin_print_styles', array(&$this, 'load_styles') );
@@ -39,9 +40,10 @@ class nggAdminPanel{
39
  if ( wpmu_enable_function('wpmuRoles') || wpmu_site_admin() )
40
  add_submenu_page( NGGFOLDER , __('Roles', 'nggallery'), __('Roles', 'nggallery'), 'activate_plugins', 'nggallery-roles', array (&$this, 'show_menu'));
41
  add_submenu_page( NGGFOLDER , __('About this Gallery', 'nggallery'), __('About', 'nggallery'), 'NextGEN Gallery overview', 'nggallery-about', array (&$this, 'show_menu'));
42
- // See trac #14435 , changed for 3.1 : http://core.trac.wordpress.org/ticket/14435
43
  if ( wpmu_site_admin() )
44
  add_submenu_page( 'ms-admin.php' , __('NextGEN Gallery', 'nggallery'), __('NextGEN Gallery', 'nggallery'), 'activate_plugins', 'nggallery-wpmu', array (&$this, 'show_menu'));
 
45
  if ( !is_multisite() || wpmu_site_admin() )
46
  add_submenu_page( NGGFOLDER , __('Reset / Uninstall', 'nggallery'), __('Reset / Uninstall', 'nggallery'), 'activate_plugins', 'nggallery-setup', array (&$this, 'show_menu'));
47
 
@@ -49,16 +51,25 @@ class nggAdminPanel{
49
  $this->register_columns();
50
  }
51
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  // load the script for the defined page and load only this code
53
  function show_menu() {
54
 
55
  global $ngg;
56
-
57
- // init PluginChecker
58
- $nggCheck = new CheckPlugin();
59
- $nggCheck->URL = NGGURL;
60
- $nggCheck->version = NGGVERSION;
61
- $nggCheck->name = 'ngg';
62
 
63
  // check for upgrade and show upgrade screen
64
  if( get_option( 'ngg_db_version' ) != NGG_DBVERSION ) {
@@ -68,12 +79,6 @@ class nggAdminPanel{
68
  return;
69
  }
70
 
71
- // Show update message
72
- if ( current_user_can('activate_plugins') )
73
- if ( $nggCheck->startCheck() && (!is_multisite()) ) {
74
- echo '<div class="plugin-update">' . __('A new version of NextGEN Gallery is available !', 'nggallery') . ' <a href="http://wordpress.org/extend/plugins/nextgen-gallery/download/" target="_blank">' . __('Download here', 'nggallery') . '</a></div>' ."\n";
75
- }
76
-
77
  // Set installation date
78
  if( empty($ngg->options['installDate']) ) {
79
  $ngg->options['installDate'] = time();
@@ -151,6 +156,7 @@ class nggAdminPanel{
151
  include_once ( dirname (__FILE__) . '/about.php' ); // nggallery_admin_about
152
  nggallery_admin_about();
153
  break;
 
154
  case "nggallery-wpmu" :
155
  include_once ( dirname (__FILE__) . '/style.php' );
156
  include_once ( dirname (__FILE__) . '/wpmu.php' ); // nggallery_wpmu_admin
@@ -170,7 +176,7 @@ class nggAdminPanel{
170
  if( !isset($_GET['page']) )
171
  return;
172
 
173
- wp_register_script('ngg-ajax', NGGALLERY_URLPATH . 'admin/js/ngg.ajax.js', array('jquery'), '1.4.0');
174
  wp_localize_script('ngg-ajax', 'nggAjaxSetup', array(
175
  'url' => admin_url('admin-ajax.php'),
176
  'action' => 'ngg_ajax_operation',
@@ -181,8 +187,13 @@ class nggAdminPanel{
181
  'error' => __('Unexpected Error', 'nggallery'),
182
  'failure' => __('A failure occurred', 'nggallery')
183
  ) );
184
- wp_register_script('ngg-progressbar', NGGALLERY_URLPATH .'admin/js/ngg.progressbar.js', array('jquery'), '1.0.0');
185
  wp_register_script('swfupload_f10', NGGALLERY_URLPATH .'admin/js/swfupload.js', array('jquery'), '2.2.0');
 
 
 
 
 
186
 
187
  switch ($_GET['page']) {
188
  case NGGFOLDER :
@@ -193,14 +204,14 @@ class nggAdminPanel{
193
  wp_enqueue_script( 'postbox' );
194
  wp_enqueue_script( 'ngg-ajax' );
195
  wp_enqueue_script( 'ngg-progressbar' );
196
- //wp_enqueue_script( 'jquery-ui-dialog' );
197
- //TODO:Add Inline edit later
198
- //wp_enqueue_script( 'ngg-inline-edit', NGGALLERY_URLPATH .'admin/js/ngg.inline-edit-images.js', array('jquery'), '1.0.0' );
199
  add_thickbox();
200
  break;
201
  case "nggallery-manage-album" :
202
- wp_enqueue_script( 'jquery-ui-sortable' );
203
- add_thickbox();
 
 
204
  break;
205
  case "nggallery-options" :
206
  wp_enqueue_script( 'jquery-ui-tabs' );
@@ -209,9 +220,10 @@ class nggAdminPanel{
209
  case "nggallery-add-gallery" :
210
  wp_enqueue_script( 'jquery-ui-tabs' );
211
  wp_enqueue_script( 'mutlifile', NGGALLERY_URLPATH .'admin/js/jquery.MultiFile.js', array('jquery'), '1.4.4' );
212
- wp_enqueue_script( 'ngg-swfupload-handler', NGGALLERY_URLPATH .'admin/js/swfupload.handler.js', array('swfupload_f10'), '1.0.0' );
213
  wp_enqueue_script( 'ngg-ajax' );
214
  wp_enqueue_script( 'ngg-progressbar' );
 
215
  wp_enqueue_script( 'jqueryFileTree', NGGALLERY_URLPATH .'admin/js/jqueryFileTree/jqueryFileTree.js', array('jquery'), '1.0.1' );
216
  break;
217
  case "nggallery-style" :
@@ -223,31 +235,35 @@ class nggAdminPanel{
223
  }
224
 
225
  function load_styles() {
226
-
227
  wp_enqueue_style( 'nggmenu', NGGALLERY_URLPATH .'admin/css/menu.css', array() );
228
-
229
- // no need to go on if it's not a plugin page
 
 
230
  if( !isset($_GET['page']) )
231
  return;
232
 
233
  switch ($_GET['page']) {
234
  case NGGFOLDER :
235
- wp_enqueue_style( 'thickbox');
236
  case "nggallery-about" :
237
- wp_enqueue_style( 'nggadmin', NGGALLERY_URLPATH .'admin/css/nggadmin.css', false, '2.8.1', 'screen' );
238
  wp_admin_css( 'css/dashboard' );
239
  break;
240
  case "nggallery-add-gallery" :
 
241
  wp_enqueue_style( 'jqueryFileTree', NGGALLERY_URLPATH .'admin/js/jqueryFileTree/jqueryFileTree.css', false, '1.0.1', 'screen' );
242
  case "nggallery-options" :
243
  wp_enqueue_style( 'nggtabs', NGGALLERY_URLPATH .'admin/css/jquery.ui.tabs.css', false, '2.5.0', 'screen' );
244
- wp_enqueue_style( 'nggcolorpicker', NGGALLERY_URLPATH .'admin/js/colorpicker/css/colorpicker.css', false, '1.0', 'screen');
 
245
  case "nggallery-manage-gallery" :
246
  case "nggallery-roles" :
247
  case "nggallery-manage-album" :
248
- //wp_enqueue_style( 'jqueryui', NGGALLERY_URLPATH .'admin/css/jquery-ui.css', false, '1.7.1', 'screen' );
249
- wp_enqueue_style( 'nggadmin', NGGALLERY_URLPATH .'admin/css/nggadmin.css', false, '2.8.1', 'screen' );
250
- wp_enqueue_style( 'thickbox');
251
  break;
252
  case "nggallery-tags" :
253
  wp_enqueue_style( 'nggtags', NGGALLERY_URLPATH .'admin/css/tags-admin.css', false, '2.6.1', 'screen' );
@@ -371,7 +387,11 @@ class nggAdminPanel{
371
  function register_columns() {
372
  include_once ( dirname (__FILE__) . '/manage-images.php' );
373
 
374
- $this->register_column_headers('nggallery-manage-images', ngg_manage_gallery_columns() );
 
 
 
 
375
  }
376
 
377
  /**
@@ -425,95 +445,4 @@ function wpmu_enable_function($value) {
425
  return true;
426
  }
427
 
428
- /**
429
- * WordPress PHP class to check for a new version.
430
- * @author Alex Rabe
431
- * @version 1.50
432
- *
433
- // Dashboard update notification example
434
- function myPlugin_update_dashboard() {
435
- $Check = new CheckPlugin();
436
- $Check->URL = "YOUR URL";
437
- $Check->version = "1.00";
438
- $Check->name = "myPlugin";
439
- if ($Check->startCheck()) {
440
- echo '<h3>Update Information</h3>';
441
- echo '<p>A new version is available</p>';
442
- }
443
- }
444
-
445
- add_action('activity_box_end', 'myPlugin_update_dashboard', '0');
446
- *
447
- */
448
- if ( !class_exists( "CheckPlugin" ) ) {
449
- class CheckPlugin {
450
- /**
451
- * URL with the version of the plugin
452
- * @var string
453
- */
454
- var $URL = 'myURL';
455
- /**
456
- * Version of thsi programm or plugin
457
- * @var string
458
- */
459
- var $version = '1.00';
460
- /**
461
- * Name of the plugin (will be used in the options table)
462
- * @var string
463
- */
464
- var $name = 'myPlugin';
465
- /**
466
- * Waiting period until the next check in seconds
467
- * @var int
468
- */
469
- var $period = 86400;
470
-
471
- /**
472
- * check for a new version, returns true if a version is avaiable
473
- */
474
- function startCheck() {
475
-
476
- // If we know that a update exists, don't check it again
477
- if (get_option( $this->name . '_update_exists' ) == 'true' )
478
- return true;
479
-
480
- $check_intervall = get_option( $this->name . '_next_update' );
481
-
482
- if ( ($check_intervall < time() ) or (empty($check_intervall)) ) {
483
-
484
- // Do not bother the server to often
485
- $check_intervall = time() + $this->period;
486
- update_option( $this->name . '_next_update', $check_intervall );
487
-
488
- if ( function_exists('wp_remote_request') ) {
489
-
490
- $options = array();
491
- $options['headers'] = array(
492
- 'User-Agent' => 'NextGEN Gallery Version Checker V' . NGGVERSION . '; (' . get_bloginfo('url') .')'
493
- );
494
- $response = wp_remote_request($this->URL, $options);
495
-
496
- if ( is_wp_error( $response ) )
497
- return false;
498
-
499
- if ( 200 != $response['response']['code'] )
500
- return false;
501
-
502
- $server_version = unserialize($response['body']);
503
-
504
- if (is_array($server_version)) {
505
- if ( version_compare($server_version[$this->name], $this->version, '>') ) {
506
- update_option( $this->name . '_update_exists', 'true' );
507
- return true;
508
- }
509
- }
510
-
511
- delete_option( $this->name . '_update_exists' );
512
- return false;
513
- }
514
- }
515
- }
516
- }
517
- }
518
-
519
  ?>
13
  function nggAdminPanel() {
14
 
15
  // Add the admin menu
16
+ add_action( 'admin_menu', array (&$this, 'add_menu') );
17
+ add_action( 'network_admin_menu', array (&$this, 'add_network_admin_menu') );
18
+
19
  // Add the script and style files
20
  add_action('admin_print_scripts', array(&$this, 'load_scripts') );
21
  add_action('admin_print_styles', array(&$this, 'load_styles') );
40
  if ( wpmu_enable_function('wpmuRoles') || wpmu_site_admin() )
41
  add_submenu_page( NGGFOLDER , __('Roles', 'nggallery'), __('Roles', 'nggallery'), 'activate_plugins', 'nggallery-roles', array (&$this, 'show_menu'));
42
  add_submenu_page( NGGFOLDER , __('About this Gallery', 'nggallery'), __('About', 'nggallery'), 'NextGEN Gallery overview', 'nggallery-about', array (&$this, 'show_menu'));
43
+ //TODO: Remove after WP 3.1 release, not longer needed
44
  if ( wpmu_site_admin() )
45
  add_submenu_page( 'ms-admin.php' , __('NextGEN Gallery', 'nggallery'), __('NextGEN Gallery', 'nggallery'), 'activate_plugins', 'nggallery-wpmu', array (&$this, 'show_menu'));
46
+
47
  if ( !is_multisite() || wpmu_site_admin() )
48
  add_submenu_page( NGGFOLDER , __('Reset / Uninstall', 'nggallery'), __('Reset / Uninstall', 'nggallery'), 'activate_plugins', 'nggallery-setup', array (&$this, 'show_menu'));
49
 
51
  $this->register_columns();
52
  }
53
 
54
+ // integrate the network menu
55
+ function add_network_admin_menu() {
56
+
57
+ add_menu_page( _n( 'Gallery', 'Galleries', 1, 'nggallery' ), _n( 'Gallery', 'Galleries', 1, 'nggallery' ), 'nggallery-wpmu', NGGFOLDER, array (&$this, 'show_network_settings'), 'div' );
58
+ add_submenu_page( NGGFOLDER , __('Network settings', 'nggallery'), __('Network settings', 'nggallery'), 'nggallery-wpmu', NGGFOLDER, array (&$this, 'show_network_settings'));
59
+ add_submenu_page( NGGFOLDER , __('Reset / Uninstall', 'nggallery'), __('Reset / Uninstall', 'nggallery'), 'activate_plugins', 'nggallery-setup', array (&$this, 'show_menu'));
60
+ }
61
+
62
+ // show the network page
63
+ function show_network_settings() {
64
+ include_once ( dirname (__FILE__) . '/style.php' );
65
+ include_once ( dirname (__FILE__) . '/wpmu.php' );
66
+ nggallery_wpmu_setup();
67
+ }
68
+
69
  // load the script for the defined page and load only this code
70
  function show_menu() {
71
 
72
  global $ngg;
 
 
 
 
 
 
73
 
74
  // check for upgrade and show upgrade screen
75
  if( get_option( 'ngg_db_version' ) != NGG_DBVERSION ) {
79
  return;
80
  }
81
 
 
 
 
 
 
 
82
  // Set installation date
83
  if( empty($ngg->options['installDate']) ) {
84
  $ngg->options['installDate'] = time();
156
  include_once ( dirname (__FILE__) . '/about.php' ); // nggallery_admin_about
157
  nggallery_admin_about();
158
  break;
159
+ //TODO: Remove after WP 3.1 release, not longer needed
160
  case "nggallery-wpmu" :
161
  include_once ( dirname (__FILE__) . '/style.php' );
162
  include_once ( dirname (__FILE__) . '/wpmu.php' ); // nggallery_wpmu_admin
176
  if( !isset($_GET['page']) )
177
  return;
178
 
179
+ wp_register_script('ngg-ajax', NGGALLERY_URLPATH . 'admin/js/ngg.ajax.js', array('jquery'), '1.4.1');
180
  wp_localize_script('ngg-ajax', 'nggAjaxSetup', array(
181
  'url' => admin_url('admin-ajax.php'),
182
  'action' => 'ngg_ajax_operation',
187
  'error' => __('Unexpected Error', 'nggallery'),
188
  'failure' => __('A failure occurred', 'nggallery')
189
  ) );
190
+ wp_register_script('ngg-progressbar', NGGALLERY_URLPATH .'admin/js/ngg.progressbar.js', array('jquery'), '2.0.1');
191
  wp_register_script('swfupload_f10', NGGALLERY_URLPATH .'admin/js/swfupload.js', array('jquery'), '2.2.0');
192
+ // Package included sortable, dialog, autocomplete, tabs
193
+ wp_register_script('jquery-ui', NGGALLERY_URLPATH .'admin/js/jquery-ui-1.8.6.min.js', array('jquery'), '1.8.6');
194
+ // Until release of 3.1 not used, due to script conflict
195
+ wp_register_script('jquery-ui-autocomplete', NGGALLERY_URLPATH .'admin/js/jquery.ui.autocomplete.min.js', array('jquery-ui-core'), '1.8.6');
196
+ wp_register_script('ngg-autocomplete', NGGALLERY_URLPATH .'admin/js/ngg.autocomplete.js', array('jquery-ui'), '1.0');
197
 
198
  switch ($_GET['page']) {
199
  case NGGFOLDER :
204
  wp_enqueue_script( 'postbox' );
205
  wp_enqueue_script( 'ngg-ajax' );
206
  wp_enqueue_script( 'ngg-progressbar' );
207
+ wp_enqueue_script( 'jquery-ui-dialog' );
 
 
208
  add_thickbox();
209
  break;
210
  case "nggallery-manage-album" :
211
+ // Until release of 3.1 comment out, due to script conflict
212
+ //wp_enqueue_script( 'jquery-ui-sortable' );
213
+ //wp_enqueue_script( 'jquery-ui-dialog' );
214
+ wp_enqueue_script( 'ngg-autocomplete' );
215
  break;
216
  case "nggallery-options" :
217
  wp_enqueue_script( 'jquery-ui-tabs' );
220
  case "nggallery-add-gallery" :
221
  wp_enqueue_script( 'jquery-ui-tabs' );
222
  wp_enqueue_script( 'mutlifile', NGGALLERY_URLPATH .'admin/js/jquery.MultiFile.js', array('jquery'), '1.4.4' );
223
+ wp_enqueue_script( 'ngg-swfupload-handler', NGGALLERY_URLPATH .'admin/js/swfupload.handler.js', array('swfupload_f10'), '1.0.3' );
224
  wp_enqueue_script( 'ngg-ajax' );
225
  wp_enqueue_script( 'ngg-progressbar' );
226
+ wp_enqueue_script( 'jquery-ui-dialog' );
227
  wp_enqueue_script( 'jqueryFileTree', NGGALLERY_URLPATH .'admin/js/jqueryFileTree/jqueryFileTree.js', array('jquery'), '1.0.1' );
228
  break;
229
  case "nggallery-style" :
235
  }
236
 
237
  function load_styles() {
238
+ // load the icon for the navigation menu
239
  wp_enqueue_style( 'nggmenu', NGGALLERY_URLPATH .'admin/css/menu.css', array() );
240
+ wp_register_style( 'nggadmin', NGGALLERY_URLPATH .'admin/css/nggadmin.css', false, '2.8.1', 'screen' );
241
+ wp_register_style( 'ngg-jqueryui', NGGALLERY_URLPATH .'admin/css/jquery.ui.css', false, '1.8.5', 'screen' );
242
+
243
+ // no need to go on if it's not a plugin page
244
  if( !isset($_GET['page']) )
245
  return;
246
 
247
  switch ($_GET['page']) {
248
  case NGGFOLDER :
249
+ wp_enqueue_style( 'thickbox' );
250
  case "nggallery-about" :
251
+ wp_enqueue_style( 'nggadmin' );
252
  wp_admin_css( 'css/dashboard' );
253
  break;
254
  case "nggallery-add-gallery" :
255
+ wp_enqueue_style( 'ngg-jqueryui' );
256
  wp_enqueue_style( 'jqueryFileTree', NGGALLERY_URLPATH .'admin/js/jqueryFileTree/jqueryFileTree.css', false, '1.0.1', 'screen' );
257
  case "nggallery-options" :
258
  wp_enqueue_style( 'nggtabs', NGGALLERY_URLPATH .'admin/css/jquery.ui.tabs.css', false, '2.5.0', 'screen' );
259
+ wp_enqueue_style( 'nggadmin' );
260
+ break;
261
  case "nggallery-manage-gallery" :
262
  case "nggallery-roles" :
263
  case "nggallery-manage-album" :
264
+ wp_enqueue_style( 'ngg-jqueryui' );
265
+ wp_enqueue_style( 'nggadmin' );
266
+ wp_enqueue_style( 'thickbox' );
267
  break;
268
  case "nggallery-tags" :
269
  wp_enqueue_style( 'nggtags', NGGALLERY_URLPATH .'admin/css/tags-admin.css', false, '2.6.1', 'screen' );
387
  function register_columns() {
388
  include_once ( dirname (__FILE__) . '/manage-images.php' );
389
 
390
+ $this->register_column_headers('nggallery-manage-images', ngg_manage_image_columns() );
391
+
392
+ include_once ( dirname (__FILE__) . '/manage-galleries.php' );
393
+
394
+ $this->register_column_headers('nggallery-manage-galleries', ngg_manage_gallery_columns() );
395
  }
396
 
397
  /**
445
  return true;
446
  }
447
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
448
  ?>
admin/ajax.php CHANGED
@@ -296,4 +296,71 @@ function ngg_ajax_file_browser() {
296
  }
297
 
298
  die();
299
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
296
  }
297
 
298
  die();
299
+ }
300
+
301
+ add_action('wp_ajax_ngg_tinymce', 'ngg_ajax_tinymce');
302
+ /**
303
+ * Call TinyMCE window content via admin-ajax
304
+ *
305
+ * @since 1.7.0
306
+ * @return html content
307
+ */
308
+ function ngg_ajax_tinymce() {
309
+
310
+ // check for rights
311
+ if ( !current_user_can('edit_pages') && !current_user_can('edit_posts') )
312
+ die(__("You are not allowed to be here"));
313
+
314
+ include_once( dirname( dirname(__FILE__) ) . '/admin/tinymce/window.php');
315
+
316
+ die();
317
+ }
318
+
319
+ /**
320
+ * This rebuild the slugs for albums, galleries and images as ajax routine, max 50 elements per request
321
+ *
322
+ * @since 1.7.0
323
+ * @return string '1'
324
+ */
325
+ function ngg_ajax_rebuild_unique_slugs() {
326
+ global $wpdb;
327
+
328
+ $action = $_POST['_action'];
329
+ $offset = (int) $_POST['offset'];
330
+
331
+ switch ($action) {
332
+ case 'images':
333
+ $images = $wpdb->get_results("SELECT * FROM $wpdb->nggpictures ORDER BY pid ASC LIMIT $offset, 50", OBJECT_K);
334
+ if ( is_array($images) ) {
335
+ foreach ($images as $image) {
336
+ //slug must be unique, we use the alttext for that
337
+ $image->slug = nggdb::get_unique_slug( sanitize_title( $image->alttext ), 'image' );
338
+ $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->nggpictures SET image_slug= '%s' WHERE pid = '%d'" , $image->slug, $image->pid ) );
339
+ }
340
+ }
341
+ break;
342
+ case 'gallery':
343
+ $galleries = $wpdb->get_results("SELECT * FROM $wpdb->nggallery ORDER BY gid ASC LIMIT $offset, 50", OBJECT_K);
344
+ if ( is_array($galleries) ) {
345
+ foreach ($galleries as $gallery) {
346
+ //slug must be unique, we use the title for that
347
+ $gallery->slug = nggdb::get_unique_slug( sanitize_title( $gallery->title ), 'gallery' );
348
+ $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->nggallery SET slug= '%s' WHERE gid = '%d'" , $gallery->slug, $gallery->gid ) );
349
+ }
350
+ }
351
+ break;
352
+ case 'album':
353
+ $albumlist = $wpdb->get_results("SELECT * FROM $wpdb->nggalbum ORDER BY id ASC LIMIT $offset, 50", OBJECT_K);
354
+ if ( is_array($albumlist) ) {
355
+ foreach ($albumlist as $album) {
356
+ //slug must be unique, we use the name for that
357
+ $album->slug = nggdb::get_unique_slug( sanitize_title( $album->name ), 'album' );
358
+ $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->nggalbum SET slug= '%s' WHERE id = '%d'" , $album->slug, $album->id ) );
359
+ }
360
+ }
361
+ break;
362
+ }
363
+
364
+ die(1);
365
+ }
366
+ add_action( 'wp_ajax_ngg_rebuild_unique_slugs', 'ngg_ajax_rebuild_unique_slugs' );
admin/album.php CHANGED
@@ -95,9 +95,8 @@ class nggManageAlbum {
95
  if (!nggGallery::current_user_can( 'NextGEN Add/Delete album' ))
96
  wp_die(__('Cheatin&#8217; uh?'));
97
 
98
- $newalbum = esc_attr($_POST['newalbum']);
99
- $result = $wpdb->query("INSERT INTO $wpdb->nggalbum (name, sortorder) VALUES ('$newalbum','0')");
100
- $this->currentID = (int) $wpdb->insert_id;
101
 
102
  if ($result)
103
  nggGallery::show_message(__('Update Successfully','nggallery'));
@@ -109,7 +108,7 @@ class nggManageAlbum {
109
 
110
  // get variable galleryContainer
111
  parse_str($_POST['sortorder']);
112
- if (is_array($gid)){
113
  $serial_sort = serialize($gid);
114
  $wpdb->query("UPDATE $wpdb->nggalbum SET sortorder = '$serial_sort' WHERE id = $this->currentID ");
115
  } else {
@@ -125,6 +124,9 @@ class nggManageAlbum {
125
  wp_die(__('Cheatin&#8217; uh?'));
126
 
127
  $result = nggdb::delete_album( $this->currentID );
 
 
 
128
  if ($result)
129
  nggGallery::show_message(__('Album deleted','nggallery'));
130
  }
@@ -132,19 +134,22 @@ class nggManageAlbum {
132
  }
133
 
134
  function update_album() {
135
- global $wpdb;
136
 
137
  check_admin_referer('ngg_thickbox_form');
138
 
139
  if (!nggGallery::current_user_can( 'NextGEN Edit album settings' ))
140
  wp_die(__('Cheatin&#8217; uh?'));
141
 
142
- $name = esc_attr( $_POST['album_name'] );
143
- $desc = esc_attr( $_POST['album_desc'] );
144
  $prev = (int) $_POST['previewpic'];
145
  $link = (int) $_POST['pageid'];
146
-
147
- $result = $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->nggalbum SET name= '%s', albumdesc= '%s', previewpic= %d, pageid= %d WHERE id = '$this->currentID'" , $name, $desc, $prev, $link ) );
 
 
 
148
 
149
  //hook for other plugin to update the fields
150
  do_action('ngg_update_album', $this->currentID, $_POST);
@@ -167,7 +172,10 @@ class nggManageAlbum {
167
  jQuery(document).ready(
168
  function()
169
  {
170
-
 
 
 
171
  jQuery('#selectContainer').sortable( {
172
  items: '.groupItem',
173
  placeholder: 'sort_placeholder',
@@ -254,7 +262,13 @@ function ngg_serialize(s)
254
  }
255
 
256
  function showDialog() {
257
- tb_show("", "#TB_inline?width=640&height=305&inlineId=editalbum&modal=true", false);
 
 
 
 
 
 
258
  }
259
 
260
  </script>
@@ -274,7 +288,7 @@ function showDialog() {
274
  if( is_array($this->albums) ) {
275
  foreach($this->albums as $album) {
276
  $selected = ($this->currentID == $album->id) ? 'selected="selected" ' : '';
277
- echo '<option value="' . $album->id . '" ' . $selected . '>' . $album->name . '</option>'."\n";
278
  }
279
  }
280
  ?>
@@ -407,15 +421,16 @@ function showDialog() {
407
  <tr>
408
  <th>
409
  <?php _e('Select a preview image:', 'nggallery'); ?><br />
410
- <select name="previewpic" style="width:95%" >
 
411
  <option value="0"><?php _e('No picture', 'nggallery'); ?></option>
412
  <?php
413
- $picturelist = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt WHERE tt.pid=t.previewpic ORDER by tt.galleryid");
414
- if( is_array($picturelist) ) {
415
- foreach($picturelist as $picture) {
416
- echo '<option value="' . $picture->pid . '"'. (($picture->pid == $album->previewpic) ? ' selected="selected"' : '') . ' >'. $picture->pid . ' - ' . ( empty($picture->name) ? $picture->filename : $picture->name ) .' </option>'."\n";
417
- }
418
- }
419
  ?>
420
  </select>
421
  </th>
@@ -439,7 +454,7 @@ function showDialog() {
439
  <td class="submit">
440
  <input type="submit" class="button-primary" name="update_album" value="<?php _e('OK', 'nggallery'); ?>" />
441
  &nbsp;
442
- <input class="button-secondary" type="reset" value="<?php _e('Cancel', 'nggallery'); ?>" onclick="tb_remove()"/>
443
  </td>
444
  </tr>
445
  </table>
@@ -526,6 +541,7 @@ function showDialog() {
526
  <p><strong>' . __('Name', 'nggallery') . ' : </strong>' . nggGallery::i18n( $obj['name'] ) . '</p>
527
  <p><strong>' . __('Title', 'nggallery') . ' : </strong>' . nggGallery::i18n( $obj['title'] ) . '</p>
528
  <p><strong>' . __('Page', 'nggallery'). ' : </strong>' . nggGallery::i18n( $obj['pagenname'] ) . '</p>
 
529
  </div>
530
  </div>
531
  </div>';
95
  if (!nggGallery::current_user_can( 'NextGEN Add/Delete album' ))
96
  wp_die(__('Cheatin&#8217; uh?'));
97
 
98
+ $result = nggdb::add_album( $_POST['newalbum'] );
99
+ $this->currentID = ($result) ? $result : 0 ;
 
100
 
101
  if ($result)
102
  nggGallery::show_message(__('Update Successfully','nggallery'));
108
 
109
  // get variable galleryContainer
110
  parse_str($_POST['sortorder']);
111
+ if ( is_array($gid) ){
112
  $serial_sort = serialize($gid);
113
  $wpdb->query("UPDATE $wpdb->nggalbum SET sortorder = '$serial_sort' WHERE id = $this->currentID ");
114
  } else {
124
  wp_die(__('Cheatin&#8217; uh?'));
125
 
126
  $result = nggdb::delete_album( $this->currentID );
127
+
128
+ $this->currentID = 0;
129
+
130
  if ($result)
131
  nggGallery::show_message(__('Album deleted','nggallery'));
132
  }
134
  }
135
 
136
  function update_album() {
137
+ global $wpdb, $nggdb;
138
 
139
  check_admin_referer('ngg_thickbox_form');
140
 
141
  if (!nggGallery::current_user_can( 'NextGEN Edit album settings' ))
142
  wp_die(__('Cheatin&#8217; uh?'));
143
 
144
+ $name = $_POST['album_name'];
145
+ $desc = $_POST['album_desc'];
146
  $prev = (int) $_POST['previewpic'];
147
  $link = (int) $_POST['pageid'];
148
+
149
+ // slug must be unique, we use the title for that
150
+ $slug = nggdb::get_unique_slug( sanitize_title( $name ), 'album' );
151
+
152
+ $result = $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->nggalbum SET slug= '%s', name= '%s', albumdesc= '%s', previewpic= %d, pageid= %d WHERE id = '%d'" , $slug, $name, $desc, $prev, $link, $this->currentID ) );
153
 
154
  //hook for other plugin to update the fields
155
  do_action('ngg_update_album', $this->currentID, $_POST);
172
  jQuery(document).ready(
173
  function()
174
  {
175
+ jQuery("#previewpic").nggAutocomplete( {
176
+ type: 'image',domain: "<?php echo site_url(); ?>/"
177
+ });
178
+
179
  jQuery('#selectContainer').sortable( {
180
  items: '.groupItem',
181
  placeholder: 'sort_placeholder',
262
  }
263
 
264
  function showDialog() {
265
+ jQuery( "#editalbum").dialog({
266
+ width: 640,
267
+ resizable : false,
268
+ modal: true,
269
+ title: '<?php _e('Edit Album', 'nggallery'); ?>'
270
+ });
271
+ jQuery('#editalbum .dialog-cancel').click(function() { jQuery( "#editalbum" ).dialog("close"); });
272
  }
273
 
274
  </script>
288
  if( is_array($this->albums) ) {
289
  foreach($this->albums as $album) {
290
  $selected = ($this->currentID == $album->id) ? 'selected="selected" ' : '';
291
+ echo '<option value="' . $album->id . '" ' . $selected . '>' . $album->id . ' - ' . $album->name . '</option>'."\n";
292
  }
293
  }
294
  ?>
421
  <tr>
422
  <th>
423
  <?php _e('Select a preview image:', 'nggallery'); ?><br />
424
+ <select id="previewpic" name="previewpic" style="width:95%" >
425
+ <?php if ($album->previewpic == 0) ?>
426
  <option value="0"><?php _e('No picture', 'nggallery'); ?></option>
427
  <?php
428
+ if ($album->previewpic == 0)
429
+ echo '<option value="0" selected="selected">' . __('No picture', 'nggallery') . '</option>';
430
+ else {
431
+ $picture = nggdb::find_image($album->previewpic);
432
+ echo '<option value="' . $picture->pid . '" selected="selected" >'. $picture->pid . ' - ' . ( empty($picture->alltext) ? $picture->filename : $picture->alltext ) .' </option>'."\n";
433
+ }
434
  ?>
435
  </select>
436
  </th>
454
  <td class="submit">
455
  <input type="submit" class="button-primary" name="update_album" value="<?php _e('OK', 'nggallery'); ?>" />
456
  &nbsp;
457
+ <input class="button-secondary dialog-cancel" type="reset" value="<?php _e('Cancel', 'nggallery'); ?>"/>
458
  </td>
459
  </tr>
460
  </table>
541
  <p><strong>' . __('Name', 'nggallery') . ' : </strong>' . nggGallery::i18n( $obj['name'] ) . '</p>
542
  <p><strong>' . __('Title', 'nggallery') . ' : </strong>' . nggGallery::i18n( $obj['title'] ) . '</p>
543
  <p><strong>' . __('Page', 'nggallery'). ' : </strong>' . nggGallery::i18n( $obj['pagenname'] ) . '</p>
544
+ ' . apply_filters('ngg_display_album_item_content', '', $obj['id']) . '
545
  </div>
546
  </div>
547
  </div>';
admin/css/images/dropdown.png ADDED
Binary file
admin/css/images/ui-anim_basic_16x16.gif ADDED
Binary file
admin/css/images/ui-icons_222222_256x240.png ADDED
Binary file
admin/css/images/ui-icons_cccccc_256x240.png ADDED
Binary file
admin/css/images/ui-icons_ffffff_256x240.png ADDED
Binary file
admin/css/jquery.ui.css ADDED
@@ -0,0 +1,139 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery UI CSS Framework @VERSION
3
+ *
4
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
5
+ * Dual licensed under the MIT or GPL Version 2 licenses.
6
+ * http://jquery.org/license
7
+ *
8
+ * http://docs.jquery.com/UI/Theming/API
9
+ */
10
+
11
+ /* Layout helpers
12
+ ----------------------------------*/
13
+ .ui-helper-hidden { display: none; }
14
+ .ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
15
+ .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
16
+ .ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
17
+ .ui-helper-clearfix { display: inline-block; }
18
+ /* required comment for clearfix to work in Opera \*/
19
+ * html .ui-helper-clearfix { height:1%; }
20
+ .ui-helper-clearfix { display:block; }
21
+ /* end clearfix */
22
+ .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
23
+
24
+ /* Interaction Cues
25
+ ----------------------------------*/
26
+ .ui-state-disabled { cursor: default !important; }
27
+
28
+ /* Icons
29
+ ----------------------------------*/
30
+ .ui-icon-triangle-1-s { background-position: -64px -16px; }
31
+
32
+ /* states and images */
33
+ .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
34
+
35
+ /* Misc visuals
36
+ ----------------------------------*/
37
+
38
+ /* Overlays */
39
+ .ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
40
+
41
+ /* jQuery UI CSS Framework @VERSION */
42
+
43
+ /* Component containers
44
+ ----------------------------------*/
45
+ .ui-widget-content { background: #fcfdfd 50% bottom repeat-x; color: #222222; }
46
+ /* .ui-widget-content a { color: #222222; } */
47
+ .ui-widget-header { background: #222222 50% 50% repeat-x; color: #CFCFCF; }
48
+ .ui-widget-header a { color: #CFCFCF; }
49
+
50
+ /* Interaction states
51
+ ----------------------------------*/
52
+ .ui-dialog-titlebar-close:hover { border: 1px solid #464646; background: #464646 50% 50% repeat-x; font-weight: normal; color: #ffffff; }
53
+ .ui-widget :active { outline: none; }
54
+
55
+ /* Icons
56
+ ----------------------------------*/
57
+
58
+ /* states and images */
59
+ .ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_cccccc_256x240.png); }
60
+ .ui-widget-content .ui-icon {background-image: url(images/ui-icons_cccccc_256x240.png); }
61
+ .ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
62
+ .ui-state-default .ui-icon { background-image: url(images/ui-icons_cccccc_256x240.png); }
63
+ .ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
64
+ .ui-state-active .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
65
+
66
+ /* positioning */
67
+ .ui-icon-close { background-position: -80px -128px; }
68
+ .ui-icon-closethick { background-position: -96px -128px; }
69
+ .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
70
+ .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
71
+
72
+ /* Misc visuals
73
+ ----------------------------------*/
74
+
75
+ /* Corner radius */
76
+ .ui-corner-tl { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-top-left-radius: 5px; }
77
+ .ui-corner-tr { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px; }
78
+ .ui-corner-bl { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; }
79
+ .ui-corner-br { -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; }
80
+ .ui-corner-top { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-top-left-radius: 5px; -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px; }
81
+ .ui-corner-bottom { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; }
82
+ .ui-corner-right { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; }
83
+ .ui-corner-left { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-top-left-radius: 5px; -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; }
84
+ .ui-corner-all { -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }
85
+
86
+ /* Overlays */
87
+ .ui-widget-overlay { background: #000000 50% 50% repeat-x; opacity: .75;filter:Alpha(Opacity=75); }
88
+ .ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #000000 50% 50% repeat-x; opacity: .75;filter:Alpha(Opacity=75); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*
89
+
90
+ /* jQuery UI Resizable */
91
+ .ui-resizable { position: relative;}
92
+ .ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
93
+ .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
94
+ .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
95
+ .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
96
+ .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
97
+ .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
98
+ .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
99
+ .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
100
+ .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
101
+ .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
102
+
103
+ /* jQuery UI Dialog */
104
+ .ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
105
+ .ui-dialog { -moz-box-shadow: rgba(0,0,0,1) 0 4px 30px; -webkit-box-shadow: rgba(0,0,0,1) 0 4px 30px; -khtml-box-shadow: rgba(0,0,0,1) 0 4px 30px; box-shadow: rgba(0,0,0,1) 0 4px 30px; }
106
+ .ui-dialog .ui-dialog-titlebar { padding: .5em 1em .3em; position: relative; }
107
+ .ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .2em 0; }
108
+ .ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
109
+ .ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
110
+ .ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
111
+ .ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
112
+ .ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
113
+ .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
114
+ .ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
115
+ .ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
116
+ .ui-draggable .ui-dialog-titlebar { cursor: move; }
117
+
118
+ /* jQuery UI Progressbar */
119
+ .ui-progressbar { height:2em; text-align: left; }
120
+ .ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
121
+
122
+ /* jQuery UI Dialog loading spinner */
123
+ #spinner {display: none; width:100px; height: 100px; position: fixed; top: 50%; left: 50%; background:url(../../images/loader.gif) no-repeat center #fff; padding:10px; border:1px solid #666; margin-left: -50px; margin-top: -50px; z-index:2; overflow: auto; }
124
+
125
+ /* jQuery Autocomplete */
126
+ .ui-autocomplete { position: absolute; cursor: default; }
127
+ .ui-autocomplete-start { background: white url('images/dropdown.png') right center no-repeat; }
128
+ * html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
129
+ .ui-autocomplete-loading { background: white url('images/ui-anim_basic_16x16.gif') right center no-repeat; }
130
+ /* this limit the height of the result list*/
131
+ .ui-autocomplete { max-height: 90px; overflow-y: auto; }
132
+ * html .ui-autocomplete { height: 90px; }
133
+ .ui-autocomplete .ui-state-hover, .ui-autocomplete .ui-widget-content .ui-state-hover { background: #1e90ff; color: #FFFFFF !important; }
134
+ .ui-widget-content { border: 1px solid #dddddd; border-style:outset; background: #FFFFFF; }
135
+ .ui-autocomplete, .ui-autocomplete .ui-corner-all { -moz-border-radius: 0px; -webkit-border-radius: 0px; border-radius: 0px; }
136
+ .ui-menu { list-style:none; padding: 1px; margin: 0; display:block; float: left; }
137
+ .ui-menu .ui-menu { margin-top: -3px; }
138
+ .ui-menu .ui-menu-item { margin:0; padding:0; zoom:1; float:left; clear:left; width:100%; }
139
+ .ui-menu .ui-menu-item a { text-decoration:none; display:block; zoom:1; color: black;}
admin/css/menu.css CHANGED
@@ -1,9 +1,11 @@
1
- #adminmenu #toplevel_page_nextgen-gallery div.wp-menu-image {
 
2
  background: transparent url('../images/nextgen_16_grey.png') no-repeat scroll 6px 6px;
3
  }
4
  #adminmenu #toplevel_page_nextgen-gallery:hover div.wp-menu-image,
5
  #adminmenu #toplevel_page_nextgen-gallery.wp-has-current-submenu div.wp-menu-image,
6
- #adminmenu #toplevel_page_nextgen-gallery.current div.wp-menu-image {
 
7
  background: transparent url('../images/nextgen_16_color.png') no-repeat scroll 6px 6px;
8
  }
9
 
1
+ #adminmenu #toplevel_page_nextgen-gallery div.wp-menu-image,
2
+ #oam_toplevel_page_nextgen-gallery div.wp-menu-image {
3
  background: transparent url('../images/nextgen_16_grey.png') no-repeat scroll 6px 6px;
4
  }
5
  #adminmenu #toplevel_page_nextgen-gallery:hover div.wp-menu-image,
6
  #adminmenu #toplevel_page_nextgen-gallery.wp-has-current-submenu div.wp-menu-image,
7
+ #adminmenu #toplevel_page_nextgen-gallery.current div.wp-menu-image,
8
+ #oam_toplevel_page_nextgen-gallery:hover div.wp-menu-image {
9
  background: transparent url('../images/nextgen_16_color.png') no-repeat scroll 6px 6px;
10
  }
11
 
admin/css/nggadmin.css CHANGED
@@ -1,5 +1,5 @@
1
  /*
2
- ** NextGEN Gallery Style for Wordpress 2.9
3
  */
4
 
5
  /* SETTINGS FOR Overview Gallery */
@@ -167,32 +167,37 @@ p#ngg-inlinebutton {
167
  /* SETTINGS FOR PROGRESS BAR */
168
 
169
  div .progressborder {
170
- border: 1px inset ;
171
  display: block;
172
- height: 20px;
173
  background-color: #464646;
174
  width: 100%;
175
  margin-top: 15px;
176
  margin-bottom: 15px;
 
 
 
177
  }
178
 
179
  div .progressbar {
180
  border: medium none ;
181
  display: block;
182
- height: 20px;
183
  background-color: #D54E21;
184
  width: 0%;
 
 
 
185
  }
186
 
187
  div .progressbar span {
188
  display: inline;
189
- position: relative;
190
  color: white;
191
  font-weight: bold;
192
- padding-left: 5px;
193
  }
194
 
195
-
196
  .show_details
197
  {
198
  height: 16px;
@@ -339,6 +344,7 @@ div.widget-top {
339
  font-size: 13px;
340
  }
341
 
 
342
 
343
  /* SETTINGS FOR SORT GALLERY */
344
 
1
  /*
2
+ ** NextGEN Gallery Style for Wordpress 3.0
3
  */
4
 
5
  /* SETTINGS FOR Overview Gallery */
167
  /* SETTINGS FOR PROGRESS BAR */
168
 
169
  div .progressborder {
170
+ border:1px solid #DDDDDD;
171
  display: block;
172
+ height: 30px;
173
  background-color: #464646;
174
  width: 100%;
175
  margin-top: 15px;
176
  margin-bottom: 15px;
177
+ -moz-border-radius: 5px;
178
+ -webkit-border-radius: 5px;
179
+ border-radius: 5px;
180
  }
181
 
182
  div .progressbar {
183
  border: medium none ;
184
  display: block;
185
+ height: 30px;
186
  background-color: #D54E21;
187
  width: 0%;
188
+ -moz-border-radius: 5px;
189
+ -webkit-border-radius: 5px;
190
+ border-radius: 5px;
191
  }
192
 
193
  div .progressbar span {
194
  display: inline;
195
+ position: absolute;
196
  color: white;
197
  font-weight: bold;
198
+ padding: 5px 0 0 5px;
199
  }
200
 
 
201
  .show_details
202
  {
203
  height: 16px;
344
  font-size: 13px;
345
  }
346
 
347
+ .ui-autocomplete-start { background-position: 99% center; }
348
 
349
  /* SETTINGS FOR SORT GALLERY */
350
 
admin/functions.php CHANGED
@@ -16,27 +16,26 @@ class nggAdmin{
16
  * create a new gallery & folder
17
  *
18
  * @class nggAdmin
19
- * @param string $gallerytitle
20
  * @param string $defaultpath
21
  * @param bool $output if the function should show an error messsage or not
22
  * @return
23
  */
24
- function create_gallery($gallerytitle, $defaultpath, $output = true) {
25
 
26
- global $wpdb, $user_ID;
27
 
28
  // get the current user ID
29
  get_currentuserinfo();
30
 
31
  //cleanup pathname
32
- $galleryname = sanitize_file_name( $gallerytitle );
33
- $galleryname = apply_filters('ngg_gallery_name', $galleryname);
34
- $nggpath = $defaultpath . $galleryname;
35
  $nggRoot = WINABSPATH . $defaultpath;
36
  $txt = '';
37
 
38
  // No gallery name ?
39
- if ( empty($galleryname) ) {
40
  if ($output) nggGallery::show_error( __('No valid gallery name!', 'nggallery') );
41
  return false;
42
  }
@@ -59,17 +58,28 @@ class nggAdmin{
59
  return false;
60
  }
61
 
62
- // 1. Create new gallery folder
63
- if ( !is_dir(WINABSPATH . $nggpath) ) {
64
- if ( !wp_mkdir_p (WINABSPATH . $nggpath) )
65
- $txt = __('Unable to create directory ', 'nggallery').$nggpath.'!<br />';
66
- }
67
-
68
- // 2. Check folder permission
 
 
 
 
 
 
 
 
 
 
 
69
  if ( !is_writeable(WINABSPATH . $nggpath ) )
70
  $txt .= __('Directory', 'nggallery').' <strong>'.$nggpath.'</strong> '.__('is not writeable !', 'nggallery').'<br />';
71
 
72
- // 3. Now create "thumbs" folder inside
73
  if ( !is_dir(WINABSPATH . $nggpath . '/thumbs') ) {
74
  if ( !wp_mkdir_p ( WINABSPATH . $nggpath . '/thumbs') )
75
  $txt .= __('Unable to create directory ', 'nggallery').' <strong>' . $nggpath . '/thumbs !</strong>';
@@ -92,34 +102,26 @@ class nggAdmin{
92
  if ($output) nggGallery::show_error($txt);
93
  return false;
94
  }
95
-
96
- $result = $wpdb->get_var("SELECT name FROM $wpdb->nggallery WHERE name = '$galleryname' ");
97
-
98
- if ($result) {
99
- if ($output) nggGallery::show_error( _n( 'Gallery', 'Galleries', 1, 'nggallery' ) .' <strong>' . $galleryname . '</strong> '.__('already exists', 'nggallery'));
100
- return false;
101
- } else {
102
- $result = $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->nggallery (name, path, title, author) VALUES (%s, %s, %s, %s)", $galleryname, $nggpath, $gallerytitle , $user_ID) );
103
- // and give me the new id
104
- $gallery_id = (int) $wpdb->insert_id;
105
- // here you can inject a custom function
106
- do_action('ngg_created_new_gallery', $gallery_id);
107
-
108
- // return only the id if defined
109
- if ($output == false)
110
- return $gallery_id;
111
-
112
- if ($result) {
113
- $message = __('Gallery %1$s successfully created.<br/>You can show this gallery with the tag %2$s.<br/>','nggallery');
114
- $message = sprintf($message, $galleryname, '[nggallery id=' . $gallery_id . ']');
115
- $message .= '<a href="' . admin_url() . 'admin.php?page=nggallery-manage-gallery&mode=edit&gid=' . $gallery_id . '" >';
116
- $message .= __('Edit gallery','nggallery');
117
- $message .= '</a>';
118
-
119
- if ($output) nggGallery::show_message($message);
120
- }
121
- return true;
122
- }
123
  }
124
 
125
  /**
@@ -710,6 +712,8 @@ class nggAdmin{
710
  $meta['timestamp'] = $pdata->get_date_time();
711
  // this contain other useful meta information
712
  $meta['common'] = $pdata->get_common_meta();
 
 
713
 
714
  return $meta;
715
 
@@ -851,7 +855,7 @@ class nggAdmin{
851
  // check if file is a zip file
852
  if ( !preg_match('/(zip|download|octet-stream)/i', $_FILES['zipfile']['type']) ) {
853
  @unlink($temp_zipfile); // del temp file
854
- nggGallery::show_error(__('Uploaded file was no or a faulty zip file ! The server recognize : ','nggallery').$_FILES['zipfile']['type']);
855
  return false;
856
  }
857
  }
@@ -978,12 +982,12 @@ class nggAdmin{
978
 
979
  // save temp file to gallery
980
  if ( !@move_uploaded_file($temp_file, $dest_file) ){
981
- nggGallery::show_error(__('Error, the file could not moved to : ','nggallery') . $dest_file);
982
  nggAdmin::check_safemode( $gallery->abspath );
983
  continue;
984
  }
985
  if ( !nggAdmin::chmod($dest_file) ) {
986
- nggGallery::show_error(__('Error, the file permissions could not set','nggallery'));
987
  continue;
988
  }
989
 
@@ -1067,11 +1071,11 @@ class nggAdmin{
1067
  // save temp file to gallery
1068
  if ( !@move_uploaded_file($_FILES["Filedata"]['tmp_name'], $dest_file) ){
1069
  nggAdmin::check_safemode(WINABSPATH.$gallerypath);
1070
- return __('Error, the file could not moved to : ','nggallery').$dest_file;
1071
  }
1072
 
1073
  if ( !nggAdmin::chmod($dest_file) )
1074
- return __('Error, the file permissions could not set','nggallery');
1075
 
1076
  return '0';
1077
  }
@@ -1230,6 +1234,8 @@ class nggAdmin{
1230
  * @return void
1231
  */
1232
  function copy_images($pic_ids, $dest_gid) {
 
 
1233
 
1234
  $errors = $messages = '';
1235
 
@@ -1292,6 +1298,10 @@ class nggAdmin{
1292
 
1293
  // Copy tags
1294
  nggTags::copy_tags($image->pid, $new_pid);
 
 
 
 
1295
 
1296
  if ( $tmp_prefix != '' ) {
1297
  $messages .= sprintf(__('Image %1$s (%2$s) copied as image %3$s (%4$s) &raquo; The file already existed in the destination gallery.','nggallery'),
@@ -1353,8 +1363,6 @@ class nggAdmin{
1353
  } );
1354
  </script>
1355
 
1356
- <div id="progressbar_container" class="wrap"></div>
1357
-
1358
  <?php
1359
  }
1360
 
16
  * create a new gallery & folder
17
  *
18
  * @class nggAdmin
19
+ * @param string $name of the gallery
20
  * @param string $defaultpath
21
  * @param bool $output if the function should show an error messsage or not
22
  * @return
23
  */
24
+ function create_gallery($title, $defaultpath, $output = true) {
25
 
26
+ global $user_ID;
27
 
28
  // get the current user ID
29
  get_currentuserinfo();
30
 
31
  //cleanup pathname
32
+ $name = sanitize_file_name( sanitize_title($title) );
33
+ $name = apply_filters('ngg_gallery_name', $name);
 
34
  $nggRoot = WINABSPATH . $defaultpath;
35
  $txt = '';
36
 
37
  // No gallery name ?
38
+ if ( empty($name) ) {
39
  if ($output) nggGallery::show_error( __('No valid gallery name!', 'nggallery') );
40
  return false;
41
  }
58
  return false;
59
  }
60
 
61
+ // 1. Check for existing folder
62
+ if ( is_dir(WINABSPATH . $defaultpath . $name ) ) {
63
+ $suffix = 1;
64
+ do {
65
+ $alt_name = substr ($name, 0, 200 - ( strlen( $suffix ) + 1 ) ) . "_$suffix";
66
+ $dir_check = is_dir(WINABSPATH . $defaultpath . $alt_name );
67
+ $suffix++;
68
+ } while ( $dir_check );
69
+ $name = $alt_name;
70
+ }
71
+ // define relative path to gallery inside wp root folder
72
+ $nggpath = $defaultpath . $name;
73
+
74
+ // 2. Create new gallery folder
75
+ if ( !wp_mkdir_p (WINABSPATH . $nggpath) )
76
+ $txt = __('Unable to create directory ', 'nggallery').$nggpath.'!<br />';
77
+
78
+ // 3. Check folder permission
79
  if ( !is_writeable(WINABSPATH . $nggpath ) )
80
  $txt .= __('Directory', 'nggallery').' <strong>'.$nggpath.'</strong> '.__('is not writeable !', 'nggallery').'<br />';
81
 
82
+ // 4. Now create thumbnail folder inside
83
  if ( !is_dir(WINABSPATH . $nggpath . '/thumbs') ) {
84
  if ( !wp_mkdir_p ( WINABSPATH . $nggpath . '/thumbs') )
85
  $txt .= __('Unable to create directory ', 'nggallery').' <strong>' . $nggpath . '/thumbs !</strong>';
102
  if ($output) nggGallery::show_error($txt);
103
  return false;
104
  }
105
+
106
+ // now add the gallery to the database
107
+ $galleryID = nggdb::add_gallery($title, $nggpath, '', 0, 0, $user_ID );
108
+ // here you can inject a custom function
109
+ do_action('ngg_created_new_gallery', $galleryID);
110
+
111
+ // return only the id if defined
112
+ if ($output == false)
113
+ return $galleryID;
114
+
115
+ if ($galleryID != false) {
116
+ $message = __('Gallery ID %1$s successfully created. You can show this gallery in your post or page with the shortcode %2$s.<br/>','nggallery');
117
+ $message = sprintf($message, $galleryID, '<strong>[nggallery id=' . $galleryID . ']</strong>');
118
+ $message .= '<a href="' . admin_url() . 'admin.php?page=nggallery-manage-gallery&mode=edit&gid=' . $galleryID . '" >';
119
+ $message .= __('Edit gallery','nggallery');
120
+ $message .= '</a>';
121
+
122
+ if ($output) nggGallery::show_message($message);
123
+ }
124
+ return true;
 
 
 
 
 
 
 
 
125
  }
126
 
127
  /**
712
  $meta['timestamp'] = $pdata->get_date_time();
713
  // this contain other useful meta information
714
  $meta['common'] = $pdata->get_common_meta();
715
+ // hook for addon plugin to add more meta fields
716
+ $meta = apply_filters('ngg_get_image_metadata', $meta, $pdata);
717
 
718
  return $meta;
719
 
855
  // check if file is a zip file
856
  if ( !preg_match('/(zip|download|octet-stream)/i', $_FILES['zipfile']['type']) ) {
857
  @unlink($temp_zipfile); // del temp file
858
+ nggGallery::show_error(__('Uploaded file was no or a faulty zip file ! The server recognized : ','nggallery').$_FILES['zipfile']['type']);
859
  return false;
860
  }
861
  }
982
 
983
  // save temp file to gallery
984
  if ( !@move_uploaded_file($temp_file, $dest_file) ){
985
+ nggGallery::show_error(__('Error, the file could not be moved to : ','nggallery') . $dest_file);
986
  nggAdmin::check_safemode( $gallery->abspath );
987
  continue;
988
  }
989
  if ( !nggAdmin::chmod($dest_file) ) {
990
+ nggGallery::show_error(__('Error, the file permissions could not be set','nggallery'));
991
  continue;
992
  }
993
 
1071
  // save temp file to gallery
1072
  if ( !@move_uploaded_file($_FILES["Filedata"]['tmp_name'], $dest_file) ){
1073
  nggAdmin::check_safemode(WINABSPATH.$gallerypath);
1074
+ return __('Error, the file could not be moved to : ','nggallery').$dest_file;
1075
  }
1076
 
1077
  if ( !nggAdmin::chmod($dest_file) )
1078
+ return __('Error, the file permissions could not be set','nggallery');
1079
 
1080
  return '0';
1081
  }
1234
  * @return void
1235
  */
1236
  function copy_images($pic_ids, $dest_gid) {
1237
+
1238
+ require_once(NGGALLERY_ABSPATH . '/lib/meta.php');
1239
 
1240
  $errors = $messages = '';
1241
 
1298
 
1299
  // Copy tags
1300
  nggTags::copy_tags($image->pid, $new_pid);
1301
+
1302
+ // Copy meta information
1303
+ $meta = new nggMeta($image->pid);
1304
+ nggdb::update_image_meta( $new_pid, $meta->image->meta_data);
1305
 
1306
  if ( $tmp_prefix != '' ) {
1307
  $messages .= sprintf(__('Image %1$s (%2$s) copied as image %3$s (%4$s) &raquo; The file already existed in the destination gallery.','nggallery'),
1363
  } );
1364
  </script>
1365
 
 
 
1366
  <?php
1367
  }
1368
 
admin/images/nextgen.png ADDED
Binary file
admin/install.php CHANGED
@@ -50,11 +50,13 @@ function nggallery_install () {
50
  $nggpictures = $wpdb->prefix . 'ngg_pictures';
51
  $nggallery = $wpdb->prefix . 'ngg_gallery';
52
  $nggalbum = $wpdb->prefix . 'ngg_album';
53
-
54
- if($wpdb->get_var("show tables like '$nggpictures'") != $nggpictures) {
 
55
 
56
  $sql = "CREATE TABLE " . $nggpictures . " (
57
  pid BIGINT(20) NOT NULL AUTO_INCREMENT ,
 
58
  post_id BIGINT(20) DEFAULT '0' NOT NULL ,
59
  galleryid BIGINT(20) DEFAULT '0' NOT NULL ,
60
  filename VARCHAR(255) NOT NULL ,
@@ -71,11 +73,12 @@ function nggallery_install () {
71
  dbDelta($sql);
72
  }
73
 
74
- if($wpdb->get_var("show tables like '$nggallery'") != $nggallery) {
75
 
76
  $sql = "CREATE TABLE " . $nggallery . " (
77
  gid BIGINT(20) NOT NULL AUTO_INCREMENT ,
78
  name VARCHAR(255) NOT NULL ,
 
79
  path MEDIUMTEXT NULL ,
80
  title MEDIUMTEXT NULL ,
81
  galdesc MEDIUMTEXT NULL ,
@@ -87,12 +90,13 @@ function nggallery_install () {
87
 
88
  dbDelta($sql);
89
  }
90
-
91
- if($wpdb->get_var("show tables like '$nggalbum'") != $nggalbum) {
92
 
93
  $sql = "CREATE TABLE " . $nggalbum . " (
94
  id BIGINT(20) NOT NULL AUTO_INCREMENT ,
95
  name VARCHAR(255) NOT NULL ,
 
96
  previewpic BIGINT(20) DEFAULT '0' NOT NULL ,
97
  albumdesc MEDIUMTEXT NULL ,
98
  sortorder LONGTEXT NOT NULL,
@@ -104,7 +108,7 @@ function nggallery_install () {
104
  }
105
 
106
  // check one table again, to be sure
107
- if($wpdb->get_var("show tables like '$nggpictures'")!= $nggpictures) {
108
  update_option( "ngg_init_check", __('NextGEN Gallery : Tables could not created, please check your database settings',"nggallery") );
109
  return;
110
  }
50
  $nggpictures = $wpdb->prefix . 'ngg_pictures';
51
  $nggallery = $wpdb->prefix . 'ngg_gallery';
52
  $nggalbum = $wpdb->prefix . 'ngg_album';
53
+
54
+ // could be case senstive : http://dev.mysql.com/doc/refman/5.1/en/identifier-case-sensitivity.html
55
+ if( !$wpdb->get_var( "SHOW TABLES LIKE '$nggpictures'" ) ) {
56
 
57
  $sql = "CREATE TABLE " . $nggpictures . " (
58
  pid BIGINT(20) NOT NULL AUTO_INCREMENT ,
59
+ image_slug VARCHAR(255) NOT NULL ,
60
  post_id BIGINT(20) DEFAULT '0' NOT NULL ,
61
  galleryid BIGINT(20) DEFAULT '0' NOT NULL ,
62
  filename VARCHAR(255) NOT NULL ,
73
  dbDelta($sql);
74
  }
75
 
76
+ if( !$wpdb->get_var( "SHOW TABLES LIKE '$nggallery'" )) {
77
 
78
  $sql = "CREATE TABLE " . $nggallery . " (
79
  gid BIGINT(20) NOT NULL AUTO_INCREMENT ,
80
  name VARCHAR(255) NOT NULL ,
81
+ slug VARCHAR(255) NOT NULL ,
82
  path MEDIUMTEXT NULL ,
83
  title MEDIUMTEXT NULL ,
84
  galdesc MEDIUMTEXT NULL ,
90
 
91
  dbDelta($sql);
92
  }
93
+
94
+ if( !$wpdb->get_var( "SHOW TABLES LIKE '$nggalbum'" )) {
95
 
96
  $sql = "CREATE TABLE " . $nggalbum . " (
97
  id BIGINT(20) NOT NULL AUTO_INCREMENT ,
98
  name VARCHAR(255) NOT NULL ,
99
+ slug VARCHAR(255) NOT NULL ,
100
  previewpic BIGINT(20) DEFAULT '0' NOT NULL ,
101
  albumdesc MEDIUMTEXT NULL ,
102
  sortorder LONGTEXT NOT NULL,
108
  }
109
 
110
  // check one table again, to be sure
111
+ if( !$wpdb->get_var( "SHOW TABLES LIKE '$nggpictures'" ) ) {
112
  update_option( "ngg_init_check", __('NextGEN Gallery : Tables could not created, please check your database settings',"nggallery") );
113
  return;
114
  }
admin/js/jquery-ui-1.8.6.min.js ADDED
@@ -0,0 +1,391 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * jQuery UI 1.8.6
3
+ *
4
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
5
+ * Dual licensed under the MIT or GPL Version 2 licenses.
6
+ * http://jquery.org/license
7
+ *
8
+ * http://docs.jquery.com/UI
9
+ */
10
+ (function(c,j){function k(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.6",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,
11
+ NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,
12
+ "position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");
13
+ if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,l,m){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(l)g-=parseFloat(c.curCSS(f,
14
+ "border"+this+"Width",true))||0;if(m)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,
15
+ d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){var b=a.nodeName.toLowerCase(),d=c.attr(a,"tabindex");if("area"===b){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&k(a)}return(/input|select|textarea|button|object/.test(b)?!a.disabled:"a"==b?a.href||!isNaN(d):!isNaN(d))&&k(a)},tabbable:function(a){var b=c.attr(a,"tabindex");return(isNaN(b)||b>=0)&&c(a).is(":focusable")}});
16
+ c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&
17
+ b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&c.ui.isOverAxis(b,e,i)}})}})(jQuery);
18
+ ;/*!
19
+ * jQuery UI Widget 1.8.6
20
+ *
21
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
22
+ * Dual licensed under the MIT or GPL Version 2 licenses.
23
+ * http://jquery.org/license
24
+ *
25
+ * http://docs.jquery.com/UI/Widget
26
+ */
27
+ (function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)b(d).triggerHandler("remove");k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){b(this).triggerHandler("remove")});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,
28
+ a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.charAt(0)==="_")return h;
29
+ e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=b.extend(true,{},this.options,
30
+ this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},
31
+ widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},
32
+ enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
33
+ ;/*!
34
+ * jQuery UI Mouse 1.8.6
35
+ *
36
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
37
+ * Dual licensed under the MIT or GPL Version 2 licenses.
38
+ * http://jquery.org/license
39
+ *
40
+ * http://docs.jquery.com/UI/Mouse
41
+ *
42
+ * Depends:
43
+ * jquery.ui.widget.js
44
+ */
45
+ (function(c){c.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(b){return a._mouseDown(b)}).bind("click."+this.widgetName,function(b){if(a._preventClickEvent){a._preventClickEvent=false;b.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(a){a.originalEvent=a.originalEvent||{};if(!a.originalEvent.mouseHandled){this._mouseStarted&&
46
+ this._mouseUp(a);this._mouseDownEvent=a;var b=this,e=a.which==1,f=typeof this.options.cancel=="string"?c(a.target).parents().add(a.target).filter(this.options.cancel).length:false;if(!e||f||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){b.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault();
47
+ return true}}this._mouseMoveDelegate=function(d){return b._mouseMove(d)};this._mouseUpDelegate=function(d){return b._mouseUp(d)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);a.preventDefault();return a.originalEvent.mouseHandled=true}},_mouseMove:function(a){if(c.browser.msie&&!(document.documentMode>=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&
48
+ this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=a.target==this._mouseDownEvent.target;this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-
49
+ a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery);
50
+ ;/*
51
+ * jQuery UI Position 1.8.6
52
+ *
53
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
54
+ * Dual licensed under the MIT or GPL Version 2 licenses.
55
+ * http://jquery.org/license
56
+ *
57
+ * http://docs.jquery.com/UI/Position
58
+ */
59
+ (function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY,
60
+ left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+=
61
+ k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+parseInt(c.curCSS(this,"marginRight",true))||0,w=m+q+parseInt(c.curCSS(this,"marginBottom",true))||0,i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-=m/2;
62
+ i.left=parseInt(i.left);i.top=parseInt(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left=d>0?
63
+ b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+=
64
+ a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b),
65
+ g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery);
66
+ ;/*
67
+ * jQuery UI Draggable 1.8.6
68
+ *
69
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
70
+ * Dual licensed under the MIT or GPL Version 2 licenses.
71
+ * http://jquery.org/license
72
+ *
73
+ * http://docs.jquery.com/UI/Draggables
74
+ *
75
+ * Depends:
76
+ * jquery.ui.core.js
77
+ * jquery.ui.mouse.js
78
+ * jquery.ui.widget.js
79
+ */
80
+ (function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper==
81
+ "original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b=
82
+ this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;return true},_mouseStart:function(a){var b=this.options;this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-
83
+ this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions();
84
+ d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);return true},_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||
85
+ this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b=false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if(!this.element[0]||!this.element[0].parentNode)return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element,
86
+ b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle||!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==
87
+ a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone():this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||
88
+ 0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],
89
+ this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-
90
+ (parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment==
91
+ "parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&
92
+ a.containment.constructor!=Array){var b=d(a.containment)[0];if(b){a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),
93
+ 10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],
94
+ this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():
95
+ f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])e=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+
96
+ this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])e=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;e=this.originalPageX+
97
+ Math.round((e-this.originalPageX)/b.grid[0])*b.grid[0];e=this.containment?!(e-this.offset.click.left<this.containment[0]||e-this.offset.click.left>this.containment[2])?e:!(e-this.offset.click.left<this.containment[0])?e-b.grid[0]:e+b.grid[0]:e}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop()),left:e-this.offset.click.left-
98
+ this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove();this.helper=null;this.cancelHelperRemoval=false},_trigger:function(a,b,c){c=c||this._uiHash();d.ui.plugin.call(this,a,[b,c]);if(a=="drag")this.positionAbs=
99
+ this._convertPositionTo("absolute");return d.Widget.prototype._trigger.call(this,a,b,c)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}});d.extend(d.ui.draggable,{version:"1.8.6"});d.ui.plugin.add("draggable","connectToSortable",{start:function(a,b){var c=d(this).data("draggable"),f=c.options,e=d.extend({},b,{item:c.element});c.sortables=[];d(f.connectToSortable).each(function(){var g=d.data(this,"sortable");
100
+ if(g&&!g.options.disabled){c.sortables.push({instance:g,shouldRevert:g.options.revert});g._refreshItems();g._trigger("activate",a,e)}})},stop:function(a,b){var c=d(this).data("draggable"),f=d.extend({},b,{item:c.element});d.each(c.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;c.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(a);this.instance.options.helper=this.instance.options._helper;
101
+ c.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",a,f)}})},drag:function(a,b){var c=d(this).data("draggable"),f=this;d.each(c.sortables,function(){this.instance.positionAbs=c.positionAbs;this.instance.helperProportions=c.helperProportions;this.instance.offset.click=c.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=
102
+ 1;this.instance.currentItem=d(f).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return b.helper[0]};a.target=this.instance.currentItem[0];this.instance._mouseCapture(a,true);this.instance._mouseStart(a,true,true);this.instance.offset.click.top=c.offset.click.top;this.instance.offset.click.left=c.offset.click.left;this.instance.offset.parent.left-=c.offset.parent.left-this.instance.offset.parent.left;
103
+ this.instance.offset.parent.top-=c.offset.parent.top-this.instance.offset.parent.top;c._trigger("toSortable",a);c.dropped=this.instance.element;c.currentItem=c.element;this.instance.fromOutside=c}this.instance.currentItem&&this.instance._mouseDrag(a)}else if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",a,this.instance._uiHash(this.instance));this.instance._mouseStop(a,true);this.instance.options.helper=
104
+ this.instance.options._helper;this.instance.currentItem.remove();this.instance.placeholder&&this.instance.placeholder.remove();c._trigger("fromSortable",a);c.dropped=false}})}});d.ui.plugin.add("draggable","cursor",{start:function(){var a=d("body"),b=d(this).data("draggable").options;if(a.css("cursor"))b._cursor=a.css("cursor");a.css("cursor",b.cursor)},stop:function(){var a=d(this).data("draggable").options;a._cursor&&d("body").css("cursor",a._cursor)}});d.ui.plugin.add("draggable","iframeFix",{start:function(){var a=
105
+ d(this).data("draggable").options;d(a.iframeFix===true?"iframe":a.iframeFix).each(function(){d('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")})},stop:function(){d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;
106
+ if(a.css("opacity"))b._opacity=a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!=
107
+ "HTML"){if(!c.axis||c.axis!="x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop+c.scrollSpeed;else if(a.pageY-b.overflowOffset.top<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop-c.scrollSpeed;if(!c.axis||c.axis!="y")if(b.overflowOffset.left+b.scrollParent[0].offsetWidth-a.pageX<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft+c.scrollSpeed;else if(a.pageX-
108
+ b.overflowOffset.left<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft-c.scrollSpeed}else{if(!c.axis||c.axis!="x")if(a.pageY-d(document).scrollTop()<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()-c.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()+c.scrollSpeed);if(!c.axis||c.axis!="y")if(a.pageX-d(document).scrollLeft()<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()-
109
+ c.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()+c.scrollSpeed)}f!==false&&d.ui.ddmanager&&!c.dropBehaviour&&d.ui.ddmanager.prepareOffsets(b,a)}});d.ui.plugin.add("draggable","snap",{start:function(){var a=d(this).data("draggable"),b=a.options;a.snapElements=[];d(b.snap.constructor!=String?b.snap.items||":data(draggable)":b.snap).each(function(){var c=d(this),f=c.offset();this!=a.element[0]&&a.snapElements.push({item:this,
110
+ width:c.outerWidth(),height:c.outerHeight(),top:f.top,left:f.left})})},drag:function(a,b){for(var c=d(this).data("draggable"),f=c.options,e=f.snapTolerance,g=b.offset.left,n=g+c.helperProportions.width,m=b.offset.top,o=m+c.helperProportions.height,h=c.snapElements.length-1;h>=0;h--){var i=c.snapElements[h].left,k=i+c.snapElements[h].width,j=c.snapElements[h].top,l=j+c.snapElements[h].height;if(i-e<g&&g<k+e&&j-e<m&&m<l+e||i-e<g&&g<k+e&&j-e<o&&o<l+e||i-e<n&&n<k+e&&j-e<m&&m<l+e||i-e<n&&n<k+e&&j-e<o&&
111
+ o<l+e){if(f.snapMode!="inner"){var p=Math.abs(j-o)<=e,q=Math.abs(l-m)<=e,r=Math.abs(i-n)<=e,s=Math.abs(k-g)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:j-c.helperProportions.height,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:l,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:i-c.helperProportions.width}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:k}).left-c.margins.left}var t=
112
+ p||q||r||s;if(f.snapMode!="outer"){p=Math.abs(j-m)<=e;q=Math.abs(l-o)<=e;r=Math.abs(i-g)<=e;s=Math.abs(k-n)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:j,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:l-c.helperProportions.height,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:i}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:k-c.helperProportions.width}).left-c.margins.left}if(!c.snapElements[h].snapping&&
113
+ (p||q||r||s||t))c.options.snap.snap&&c.options.snap.snap.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[h].item}));c.snapElements[h].snapping=p||q||r||s||t}else{c.snapElements[h].snapping&&c.options.snap.release&&c.options.snap.release.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[h].item}));c.snapElements[h].snapping=false}}}});d.ui.plugin.add("draggable","stack",{start:function(){var a=d(this).data("draggable").options;a=d.makeArray(d(a.stack)).sort(function(c,f){return(parseInt(d(c).css("zIndex"),
114
+ 10)||0)-(parseInt(d(f).css("zIndex"),10)||0)});if(a.length){var b=parseInt(a[0].style.zIndex)||0;d(a).each(function(c){this.style.zIndex=b+c});this[0].style.zIndex=b+a.length}}});d.ui.plugin.add("draggable","zIndex",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("zIndex"))b._zIndex=a.css("zIndex");a.css("zIndex",b.zIndex)},stop:function(a,b){a=d(this).data("draggable").options;a._zIndex&&d(b.helper).css("zIndex",a._zIndex)}})})(jQuery);
115
+ ;/*
116
+ * jQuery UI Droppable 1.8.6
117
+ *
118
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
119
+ * Dual licensed under the MIT or GPL Version 2 licenses.
120
+ * http://jquery.org/license
121
+ *
122
+ * http://docs.jquery.com/UI/Droppables
123
+ *
124
+ * Depends:
125
+ * jquery.ui.core.js
126
+ * jquery.ui.widget.js
127
+ * jquery.ui.mouse.js
128
+ * jquery.ui.draggable.js
129
+ */
130
+ (function(d){d.widget("ui.droppable",{widgetEventPrefix:"drop",options:{accept:"*",activeClass:false,addClasses:true,greedy:false,hoverClass:false,scope:"default",tolerance:"intersect"},_create:function(){var a=this.options,b=a.accept;this.isover=0;this.isout=1;this.accept=d.isFunction(b)?b:function(c){return c.is(b)};this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};d.ui.ddmanager.droppables[a.scope]=d.ui.ddmanager.droppables[a.scope]||[];d.ui.ddmanager.droppables[a.scope].push(this);
131
+ a.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){for(var a=d.ui.ddmanager.droppables[this.options.scope],b=0;b<a.length;b++)a[b]==this&&a.splice(b,1);this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable");return this},_setOption:function(a,b){if(a=="accept")this.accept=d.isFunction(b)?b:function(c){return c.is(b)};d.Widget.prototype._setOption.apply(this,arguments)},_activate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&
132
+ this.element.addClass(this.options.activeClass);b&&this._trigger("activate",a,this.ui(b))},_deactivate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass);b&&this._trigger("deactivate",a,this.ui(b))},_over:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.addClass(this.options.hoverClass);
133
+ this._trigger("over",a,this.ui(b))}},_out:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("out",a,this.ui(b))}},_drop:function(a,b){var c=b||d.ui.ddmanager.current;if(!c||(c.currentItem||c.element)[0]==this.element[0])return false;var e=false;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var g=
134
+ d.data(this,"droppable");if(g.options.greedy&&!g.options.disabled&&g.options.scope==c.options.scope&&g.accept.call(g.element[0],c.currentItem||c.element)&&d.ui.intersect(c,d.extend(g,{offset:g.element.offset()}),g.options.tolerance)){e=true;return false}});if(e)return false;if(this.accept.call(this.element[0],c.currentItem||c.element)){this.options.activeClass&&this.element.removeClass(this.options.activeClass);this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("drop",
135
+ a,this.ui(c));return this.element}return false},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}});d.extend(d.ui.droppable,{version:"1.8.6"});d.ui.intersect=function(a,b,c){if(!b.offset)return false;var e=(a.positionAbs||a.position.absolute).left,g=e+a.helperProportions.width,f=(a.positionAbs||a.position.absolute).top,h=f+a.helperProportions.height,i=b.offset.left,k=i+b.proportions.width,j=b.offset.top,l=j+b.proportions.height;
136
+ switch(c){case "fit":return i<=e&&g<=k&&j<=f&&h<=l;case "intersect":return i<e+a.helperProportions.width/2&&g-a.helperProportions.width/2<k&&j<f+a.helperProportions.height/2&&h-a.helperProportions.height/2<l;case "pointer":return d.ui.isOver((a.positionAbs||a.position.absolute).top+(a.clickOffset||a.offset.click).top,(a.positionAbs||a.position.absolute).left+(a.clickOffset||a.offset.click).left,j,i,b.proportions.height,b.proportions.width);case "touch":return(f>=j&&f<=l||h>=j&&h<=l||f<j&&h>l)&&(e>=
137
+ i&&e<=k||g>=i&&g<=k||e<i&&g>k);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f<c.length;f++)if(!(c[f].options.disabled||a&&!c[f].accept.call(c[f].element[0],a.currentItem||a.element))){for(var h=0;h<g.length;h++)if(g[h]==c[f].element[0]){c[f].proportions.height=0;continue a}c[f].visible=c[f].element.css("display")!=
138
+ "none";if(c[f].visible){c[f].offset=c[f].element.offset();c[f].proportions={width:c[f].element[0].offsetWidth,height:c[f].element[0].offsetHeight};e=="mousedown"&&c[f]._activate.call(c[f],b)}}},drop:function(a,b){var c=false;d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(this.options){if(!this.options.disabled&&this.visible&&d.ui.intersect(a,this,this.options.tolerance))c=c||this._drop.call(this,b);if(!this.options.disabled&&this.visible&&this.accept.call(this.element[0],a.currentItem||
139
+ a.element)){this.isout=1;this.isover=0;this._deactivate.call(this,b)}}});return c},drag:function(a,b){a.options.refreshPositions&&d.ui.ddmanager.prepareOffsets(a,b);d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(!(this.options.disabled||this.greedyChild||!this.visible)){var c=d.ui.intersect(a,this,this.options.tolerance);if(c=!c&&this.isover==1?"isout":c&&this.isover==0?"isover":null){var e;if(this.options.greedy){var g=this.element.parents(":data(droppable):eq(0)");if(g.length){e=
140
+ d.data(g[0],"droppable");e.greedyChild=c=="isover"?1:0}}if(e&&c=="isover"){e.isover=0;e.isout=1;e._out.call(e,b)}this[c]=1;this[c=="isout"?"isover":"isout"]=0;this[c=="isover"?"_over":"_out"].call(this,b);if(e&&c=="isout"){e.isout=0;e.isover=1;e._over.call(e,b)}}}})}}})(jQuery);
141
+ ;/*
142
+ * jQuery UI Resizable 1.8.6
143
+ *
144
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
145
+ * Dual licensed under the MIT or GPL Version 2 licenses.
146
+ * http://jquery.org/license
147
+ *
148
+ * http://docs.jquery.com/UI/Resizables
149
+ *
150
+ * Depends:
151
+ * jquery.ui.core.js
152
+ * jquery.ui.mouse.js
153
+ * jquery.ui.widget.js
154
+ */
155
+ (function(e){e.widget("ui.resizable",e.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1E3},_create:function(){var b=this,a=this.options;this.element.addClass("ui-resizable");e.extend(this,{_aspectRatio:!!a.aspectRatio,aspectRatio:a.aspectRatio,originalElement:this.element,
156
+ _proportionallyResizeElements:[],_helper:a.helper||a.ghost||a.animate?a.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){/relative/.test(this.element.css("position"))&&e.browser.opera&&this.element.css({position:"relative",top:"auto",left:"auto"});this.element.wrap(e('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),
157
+ top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=
158
+ this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",
159
+ nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d<c.length;d++){var f=e.trim(c[d]),g=e('<div class="ui-resizable-handle '+("ui-resizable-"+f)+'"></div>');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor==
160
+ String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),k=0;k=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,k);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection();
161
+ this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){e(this).removeClass("ui-resizable-autohide");b._handles.show()},function(){if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};
162
+ if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(),
163
+ d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"});this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset=
164
+ this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio:
165
+ this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis];if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize",
166
+ b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height;
167
+ f={width:c.size.width-(f?0:c.sizeDiff.width),height:c.size.height-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f,{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",
168
+ b);this._helper&&this.helper.remove();return false},_updateCache:function(b){this.offset=this.helper.offset();if(l(b.left))this.position.left=b.left;if(l(b.top))this.position.top=b.top;if(l(b.height))this.size.height=b.height;if(l(b.width))this.size.width=b.width},_updateRatio:function(b){var a=this.position,c=this.size,d=this.axis;if(b.height)b.width=c.height*this.aspectRatio;else if(b.width)b.height=c.width/this.aspectRatio;if(d=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(d=="nw"){b.top=
169
+ a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this.options,c=this.axis,d=l(b.width)&&a.maxWidth&&a.maxWidth<b.width,f=l(b.height)&&a.maxHeight&&a.maxHeight<b.height,g=l(b.width)&&a.minWidth&&a.minWidth>b.width,h=l(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,
170
+ k=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&k)b.left=i-a.minWidth;if(d&&k)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a<this._proportionallyResizeElements.length;a++){var c=this._proportionallyResizeElements[a];if(!this.borderDif){var d=[c.css("borderTopWidth"),
171
+ c.css("borderRightWidth"),c.css("borderBottomWidth"),c.css("borderLeftWidth")],f=[c.css("paddingTop"),c.css("paddingRight"),c.css("paddingBottom"),c.css("paddingLeft")];this.borderDif=e.map(d,function(g,h){g=parseInt(g,10)||0;h=parseInt(f[h],10)||0;return g+h})}e.browser.msie&&(e(b).is(":hidden")||e(b).parents(":hidden").length)||c.css({height:b.height()-this.borderDif[0]-this.borderDif[2]||0,width:b.width()-this.borderDif[1]-this.borderDif[3]||0})}},_renderProxy:function(){var b=this.options;this.elementOffset=
172
+ this.element.offset();if(this._helper){this.helper=this.helper||e('<div style="overflow:hidden;"></div>');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+
173
+ a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this,
174
+ arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]);b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable,
175
+ {version:"1.8.6"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(),10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize,
176
+ function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top-f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var k=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:k.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n=
177
+ (q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(k.css("position"))){c._revertToRelativePosition=true;k.css({position:"absolute",top:"auto",left:"auto"})}k.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType?e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition=
178
+ false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a=e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left-
179
+ a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing,step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",
180
+ b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top",
181
+ "Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset;var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset,
182
+ f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left:a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left=
183
+ a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top-d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+
184
+ a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition,f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&&
185
+ e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",
186
+ height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b=e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width=
187
+ d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},l=function(b){return!isNaN(parseInt(b,10))}})(jQuery);
188
+ ;/*
189
+ * jQuery UI Selectable 1.8.6
190
+ *
191
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
192
+ * Dual licensed under the MIT or GPL Version 2 licenses.
193
+ * http://jquery.org/license
194
+ *
195
+ * http://docs.jquery.com/UI/Selectables
196
+ *
197
+ * Depends:
198
+ * jquery.ui.core.js
199
+ * jquery.ui.mouse.js
200
+ * jquery.ui.widget.js
201
+ */
202
+ (function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"),
203
+ selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("<div class='ui-selectable-helper'></div>")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX,
204
+ c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting",
205
+ c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=this;this.dragged=true;if(!this.options.disabled){var d=
206
+ this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.right<b||a.top>i||a.bottom<g);else if(d.tolerance=="fit")k=a.left>b&&a.right<h&&a.top>g&&a.bottom<i;if(k){if(a.selected){a.$element.removeClass("ui-selected");a.selected=false}if(a.unselecting){a.$element.removeClass("ui-unselecting");
207
+ a.unselecting=false}if(!a.selecting){a.$element.addClass("ui-selecting");a.selecting=true;f._trigger("selecting",c,{selecting:a.element})}}else{if(a.selecting)if(c.metaKey&&a.startselected){a.$element.removeClass("ui-selecting");a.selecting=false;a.$element.addClass("ui-selected");a.selected=true}else{a.$element.removeClass("ui-selecting");a.selecting=false;if(a.startselected){a.$element.addClass("ui-unselecting");a.unselecting=true}f._trigger("unselecting",c,{unselecting:a.element})}if(a.selected)if(!c.metaKey&&
208
+ !a.startselected){a.$element.removeClass("ui-selected");a.selected=false;a.$element.addClass("ui-unselecting");a.unselecting=true;f._trigger("unselecting",c,{unselecting:a.element})}}}});return false}},_mouseStop:function(c){var f=this;this.dragged=false;e(".ui-unselecting",this.element[0]).each(function(){var d=e.data(this,"selectable-item");d.$element.removeClass("ui-unselecting");d.unselecting=false;d.startselected=false;f._trigger("unselected",c,{unselected:d.element})});e(".ui-selecting",this.element[0]).each(function(){var d=
209
+ e.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected");d.selecting=false;d.selected=true;d.startselected=true;f._trigger("selected",c,{selected:d.element})});this._trigger("stop",c);this.helper.remove();return false}});e.extend(e.ui.selectable,{version:"1.8.6"})})(jQuery);
210
+ ;/*
211
+ * jQuery UI Sortable 1.8.6
212
+ *
213
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
214
+ * Dual licensed under the MIT or GPL Version 2 licenses.
215
+ * http://jquery.org/license
216
+ *
217
+ * http://docs.jquery.com/UI/Sortables
218
+ *
219
+ * Depends:
220
+ * jquery.ui.core.js
221
+ * jquery.ui.mouse.js
222
+ * jquery.ui.widget.js
223
+ */
224
+ (function(d){d.widget("ui.sortable",d.ui.mouse,{widgetEventPrefix:"sort",options:{appendTo:"parent",axis:false,connectWith:false,containment:false,cursor:"auto",cursorAt:false,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){this.containerCache={};this.element.addClass("ui-sortable");
225
+ this.refresh();this.floating=this.items.length?/left|right/.test(this.items[0].item.css("float")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a==="disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,
226
+ arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=
227
+ c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,
228
+ {click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();
229
+ if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",
230
+ a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a);return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");
231
+ if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop+b.scrollSpeed;else if(a.pageY-this.overflowOffset.top<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop-b.scrollSpeed;if(this.overflowOffset.left+
232
+ this.scrollParent[0].offsetWidth-a.pageX<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft+b.scrollSpeed;else if(a.pageX-this.overflowOffset.left<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft-b.scrollSpeed}else{if(a.pageY-d(document).scrollTop()<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()-b.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()+
233
+ b.scrollSpeed);if(a.pageX-d(document).scrollLeft()<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()-b.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()+b.scrollSpeed)}c!==false&&d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+
234
+ "px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(b=this.items.length-1;b>=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0],e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,
235
+ c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset();c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==
236
+ document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp();this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",
237
+ null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):
238
+ d(this.domPosition.parent).prepend(this.currentItem);return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")},toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||
239
+ "id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+j<k&&b+l>g&&b+l<h;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?j:g<b+
240
+ this.helperProportions.width/2&&c-this.helperProportions.width/2<h&&i<e+this.helperProportions.height/2&&f-this.helperProportions.height/2<k},_intersectsWithPointer:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width);b=b&&a;a=this._getDragVerticalDirection();var c=this._getDragHorizontalDirection();if(!b)return false;return this.floating?c&&c=="right"||a=="down"?2:1:a&&(a=="down"?
241
+ 2:1)},_intersectsWithSides:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width);var c=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?e=="right"&&a||e=="left"&&!a:c&&(c=="down"&&b||c=="up"&&!b)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return a!=0&&(a>0?"down":"up")},
242
+ _getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=
243
+ this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=
244
+ this.currentItem.find(":data(sortable-item)"),b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(a){this.items=[];this.containers=[this];var b=this.items,c=[[d.isFunction(this.options.items)?this.options.items.call(this.element[0],a,{item:this.currentItem}):d(this.options.items,this.element),this]],e=this._connectWith();if(e)for(var f=e.length-1;f>=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");
245
+ if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h<g;h++){i=d(e[h]);i.data("sortable-item",a);b.push({item:i,instance:a,width:0,height:0,left:0,top:0})}}},refreshPositions:function(a){if(this.offsetParent&&this.helper)this.offset.parent=this._getParentOffset();for(var b=this.items.length-1;b>=
246
+ 0;b--){var c=this.items[b],e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=
247
+ this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},
248
+ update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=
249
+ null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));
250
+ this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-f)<b){b=Math.abs(h-f);e=this.items[g]}}if(e||this.options.dropOnEmpty){this.currentContainer=this.containers[c];e?this._rearrange(a,e,null,true):this._rearrange(a,
251
+ null,this.containers[c].element,true);this._trigger("change",a,this._uiHash());this.containers[c]._trigger("change",a,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}}},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a,this.currentItem])):b.helper=="clone"?this.currentItem.clone():this.currentItem;a.parents("body").length||
252
+ d(b.appendTo!="parent"?b.appendTo:this.currentItem[0].parentNode)[0].appendChild(a[0]);if(a[0]==this.currentItem[0])this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(a[0].style.width==""||b.forceHelperSize)a.width(this.currentItem.width());if(a[0].style.height==""||b.forceHelperSize)a.height(this.currentItem.height());return a},_adjustOffsetFromHelper:function(a){if(typeof a==
253
+ "string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition==
254
+ "absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition==
255
+ "relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},
256
+ _setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-
257
+ this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)){var b=d(a.containment)[0];a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),
258
+ 10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?
259
+ this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=
260
+ this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]))this.offset.relative=this._getRelativeOffset();var f=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])f=this.containment[0]+
261
+ this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?
262
+ g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;f=this.originalPageX+Math.round((f-this.originalPageX)/b.grid[0])*b.grid[0];f=this.containment?!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:!(f-this.offset.click.left<this.containment[0])?f-b.grid[0]:f+b.grid[0]:f}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():
263
+ e?0:c.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())}},_rearrange:function(a,b,c,e){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],this.direction=="down"?b.item[0]:b.item[0].nextSibling);this.counter=this.counter?++this.counter:1;var f=this,g=this.counter;window.setTimeout(function(){g==
264
+ f.counter&&f.refreshPositions(!e)},0)},_clear:function(a,b){this.reverting=false;var c=[];!this._noFinalSort&&this.currentItem[0].parentNode&&this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var e in this._storedCSS)if(this._storedCSS[e]=="auto"||this._storedCSS[e]=="static")this._storedCSS[e]="";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!b&&c.push(function(f){this._trigger("receive",
265
+ f,this._uiHash(this.fromOutside))});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!b)c.push(function(f){this._trigger("update",f,this._uiHash())});if(!d.ui.contains(this.element[0],this.currentItem[0])){b||c.push(function(f){this._trigger("remove",f,this._uiHash())});for(e=this.containers.length-1;e>=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",
266
+ g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=
267
+ 0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",a,this._uiHash());for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}return false}b||this._trigger("beforeStop",a,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
268
+ this.helper[0]!=this.currentItem[0]&&this.helper.remove();this.helper=null;if(!b){for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){d.Widget.prototype._trigger.apply(this,arguments)===false&&this.cancel()},_uiHash:function(a){var b=a||this;return{helper:b.helper,placeholder:b.placeholder||d([]),position:b.position,originalPosition:b.originalPosition,offset:b.positionAbs,item:b.currentItem,sender:a?a.element:null}}});
269
+ d.extend(d.ui.sortable,{version:"1.8.6"})})(jQuery);
270
+ ;/*
271
+ * jQuery UI Autocomplete 1.8.6
272
+ *
273
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
274
+ * Dual licensed under the MIT or GPL Version 2 licenses.
275
+ * http://jquery.org/license
276
+ *
277
+ * http://docs.jquery.com/UI/Autocomplete
278
+ *
279
+ * Depends:
280
+ * jquery.ui.core.js
281
+ * jquery.ui.widget.js
282
+ * jquery.ui.position.js
283
+ */
284
+ (function(e){e.widget("ui.autocomplete",{options:{appendTo:"body",delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},_create:function(){var a=this,b=this.element[0].ownerDocument,f;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!(a.options.disabled||a.element.attr("readonly"))){f=false;var d=e.ui.keyCode;switch(c.keyCode){case d.PAGE_UP:a._move("previousPage",
285
+ c);break;case d.PAGE_DOWN:a._move("nextPage",c);break;case d.UP:a._move("previous",c);c.preventDefault();break;case d.DOWN:a._move("next",c);c.preventDefault();break;case d.ENTER:case d.NUMPAD_ENTER:if(a.menu.active){f=true;c.preventDefault()}case d.TAB:if(!a.menu.active)return;a.menu.select(c);break;case d.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!=a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay);
286
+ break}}}).bind("keypress.autocomplete",function(c){if(f){f=false;c.preventDefault()}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)};this.menu=e("<ul></ul>").addClass("ui-autocomplete").appendTo(e(this.options.appendTo||
287
+ "body",b)[0]).mousedown(function(c){var d=a.menu.element[0];e(c.target).closest(".ui-menu-item").length||setTimeout(function(){e(document).one("mousedown",function(g){g.target!==a.element[0]&&g.target!==d&&!e.ui.contains(d,g.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,d){d=d.item.data("item.autocomplete");false!==a._trigger("focus",c,{item:d})&&/^key/.test(c.originalEvent.type)&&a.element.val(d.value)},selected:function(c,d){d=d.item.data("item.autocomplete");
288
+ var g=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=g;setTimeout(function(){a.previous=g},1)}false!==a._trigger("select",c,{item:d})&&a.element.val(d.value);a.term=a.element.val();a.close(c);a.selectedItem=d},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");e.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");
289
+ this.menu.element.remove();e.Widget.prototype.destroy.call(this)},_setOption:function(a,b){e.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(e(b||"body",this.element[0].ownerDocument)[0])},_initSource:function(){var a=this,b,f;if(e.isArray(this.options.source)){b=this.options.source;this.source=function(c,d){d(e.ui.autocomplete.filter(b,c.term))}}else if(typeof this.options.source==="string"){f=this.options.source;this.source=
290
+ function(c,d){a.xhr&&a.xhr.abort();a.xhr=e.getJSON(f,c,function(g,i,h){h===a.xhr&&d(g);a.xhr=null})}}else this.source=this.options.source},search:function(a,b){a=a!=null?a:this.element.val();this.term=this.element.val();if(a.length<this.options.minLength)return this.close(b);clearTimeout(this.closing);if(this._trigger("search",b)!==false)return this._search(a)},_search:function(a){this.element.addClass("ui-autocomplete-loading");this.source({term:a},this.response)},_response:function(a){if(a&&a.length){a=
291
+ this._normalize(a);this._suggest(a);this._trigger("open")}else this.close();this.element.removeClass("ui-autocomplete-loading")},close:function(a){clearTimeout(this.closing);if(this.menu.element.is(":visible")){this._trigger("close",a);this.menu.element.hide();this.menu.deactivate()}},_change:function(a){this.previous!==this.element.val()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(a){if(a.length&&a[0].label&&a[0].value)return a;return e.map(a,function(b){if(typeof b===
292
+ "string")return{label:b,value:b};return e.extend({label:b.label||b.value,value:b.value||b.label},b)})},_suggest:function(a){this._renderMenu(this.menu.element.empty().zIndex(this.element.zIndex()+1),a);this.menu.deactivate();this.menu.refresh();this.menu.element.show().position(e.extend({of:this.element},this.options.position));this._resizeMenu()},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth(),this.element.outerWidth()))},_renderMenu:function(a,b){var f=
293
+ this;e.each(b,function(c,d){f._renderItem(a,d)})},_renderItem:function(a,b){return e("<li></li>").data("item.autocomplete",b).append(e("<a></a>").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});e.extend(e.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,
294
+ "\\$&")},filter:function(a,b){var f=new RegExp(e.ui.autocomplete.escapeRegex(b),"i");return e.grep(a,function(c){return f.test(c.label||c.value||c)})}})})(jQuery);
295
+ (function(e){e.widget("ui.menu",{_create:function(){var a=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(b){if(e(b.target).closest(".ui-menu-item a").length){b.preventDefault();a.select(b)}});this.refresh()},refresh:function(){var a=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex",
296
+ -1).mouseenter(function(b){a.activate(b,e(this).parent())}).mouseleave(function(){a.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var f=b.offset().top-this.element.offset().top,c=this.element.attr("scrollTop"),d=this.element.height();if(f<0)this.element.attr("scrollTop",c+f);else f>=d&&this.element.attr("scrollTop",c+f-d+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",a,{item:b})},
297
+ deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id");this._trigger("blur");this.active=null}},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(a,b,f){if(this.active){a=this.active[a+"All"](".ui-menu-item").eq(0);
298
+ a.length?this.activate(f,a):this.activate(f,this.element.children(b))}else this.activate(f,this.element.children(b))},nextPage:function(a){if(this.hasScroll())if(!this.active||this.last())this.activate(a,this.element.children(".ui-menu-item:first"));else{var b=this.active.offset().top,f=this.element.height(),c=this.element.children(".ui-menu-item").filter(function(){var d=e(this).offset().top-b-f+e(this).height();return d<10&&d>-10});c.length||(c=this.element.children(".ui-menu-item:last"));this.activate(a,
299
+ c)}else this.activate(a,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(a){if(this.hasScroll())if(!this.active||this.first())this.activate(a,this.element.children(".ui-menu-item:last"));else{var b=this.active.offset().top,f=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var c=e(this).offset().top-b+f-e(this).height();return c<10&&c>-10});result.length||(result=this.element.children(".ui-menu-item:first"));
300
+ this.activate(a,result)}else this.activate(a,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element.attr("scrollHeight")},select:function(a){this._trigger("selected",a,{item:this.active})}})})(jQuery);
301
+ ;/*
302
+ * jQuery UI Dialog 1.8.6
303
+ *
304
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
305
+ * Dual licensed under the MIT or GPL Version 2 licenses.
306
+ * http://jquery.org/license
307
+ *
308
+ * http://docs.jquery.com/UI/Dialog
309
+ *
310
+ * Depends:
311
+ * jquery.ui.core.js
312
+ * jquery.ui.widget.js
313
+ * jquery.ui.button.js
314
+ * jquery.ui.draggable.js
315
+ * jquery.ui.mouse.js
316
+ * jquery.ui.position.js
317
+ * jquery.ui.resizable.js
318
+ */
319
+ (function(c,j){var k={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},l={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true};c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:{my:"center",at:"center",of:window,collision:"fit",using:function(a){var b=c(this).css(a).offset().top;
320
+ b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||"&#160;",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",
321
+ -1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),h=c('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role",
322
+ "button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("<span></span>")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("<span></span>").addClass("ui-dialog-title").attr("id",e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=
323
+ b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");a.uiDialog.remove();a.originalTitle&&
324
+ a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!==b.uiDialog[0])d=Math.max(d,c(this).css("z-index"))});
325
+ c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};c.ui.dialog.maxZ+=1;d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);
326
+ d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target===f[0]&&e.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();
327
+ a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("<div></div>").addClass("ui-dialog-buttonset").appendTo(e);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,function(){return!(d=true)});if(d){c.each(a,function(f,h){h=c.isFunction(h)?{click:h,text:f}:h;f=c('<button type="button"></button>').attr(h,true).unbind("click").click(function(){h.click.apply(b.element[0],
328
+ arguments)}).appendTo(g);c.fn.button&&f.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f,
329
+ h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition,originalSize:f.originalSize,position:f.position,size:f.size}}a=a===j?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";
330
+ d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize",f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position",
331
+ g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,
332
+ a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(a);e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f);if(g in k)e=true;if(g in l)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);
333
+ break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"):e.removeClass("ui-dialog-disabled");break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");
334
+ g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||"&#160;"));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a=this.options,b,d;this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,
335
+ height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height-b,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.6",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});
336
+ c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()<c.ui.dialog.overlay.maxZ)return false})},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&
337
+ d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault()}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var b=(this.oldInstances.pop()||c("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){this.oldInstances.push(this.instances.splice(c.inArray(a,this.instances),1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");
338
+ a.remove();var b=0;c.each(this.instances,function(){b=Math.max(b,this.css("z-index"))});this.maxZ=b},height:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a<b?c(window).height()+"px":a+"px"}else return c(document).height()+"px"},width:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollWidth,
339
+ document.body.scrollWidth);b=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return a<b?c(window).width()+"px":a+"px"}else return c(document).width()+"px"},resize:function(){var a=c([]);c.each(c.ui.dialog.overlay.instances,function(){a=a.add(this)});a.css({width:0,height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()})}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);
340
+ ;/*
341
+ * jQuery UI Tabs 1.8.6
342
+ *
343
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
344
+ * Dual licensed under the MIT or GPL Version 2 licenses.
345
+ * http://jquery.org/license
346
+ *
347
+ * http://docs.jquery.com/UI/Tabs
348
+ *
349
+ * Depends:
350
+ * jquery.ui.core.js
351
+ * jquery.ui.widget.js
352
+ */
353
+ (function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(true)},_setOption:function(b,e){if(b=="selected")this.options.collapsible&&
354
+ e==this.options.selected||this.select(e);else{this.options[b]=e;this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[b].concat(d.makeArray(arguments)))},_ui:function(b,e){return{tab:b,panel:e,index:this.anchors.index(b)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=
355
+ d(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(b){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var a=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]||
356
+ (q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))a.panels=a.panels.add(a._sanitizeSelector(i));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=a._tabId(f);f.href="#"+i;f=d("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else c.disabled.push(g)});if(b){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");
357
+ this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(a._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected=
358
+ this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");
359
+ if(c.selected>=0&&this.anchors.length){d(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[c.selected],d(a._sanitizeSelector(a.anchors[c.selected].hash))))});this.load(c.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));
360
+ this.element[c.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);b=0;for(var j;j=this.lis[b];b++)d(j)[d.inArray(b,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+
361
+ g)};this.lis.bind("mouseover.tabs",function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",
362
+ function(){e(f,o);a._trigger("show",null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")};
363
+ this.anchors.bind(c.event+".tabs",function(){var g=this,f=d(g).closest("li"),i=a.panels.filter(":not(.ui-tabs-hide)"),l=d(a._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a.panels.filter(":animated").length||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}c.selected=a.anchors.index(this);a.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected=-1;c.cookie&&
364
+ a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this));this.blur();return false}c.cookie&&a._cookie(c.selected,c.cookie);if(l.length){i.length&&a.element.queue("tabs",function(){s(g,i)});a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";
365
+ d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(b){if(typeof b=="string")b=this.anchors.index(this.anchors.filter("[href$="+b+"]"));return b},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=
366
+ d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});b.cookie&&this._cookie(null,b.cookie);return this},add:function(b,
367
+ e,a){if(a===p)a=this.anchors.length;var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,b).replace(/#\{label\}/g,e));b=!b.indexOf("#")?b.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=d("#"+b);j.length||(j=d(h.panelTemplate).attr("id",b).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]);
368
+ j.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(b){b=this._getIndex(b);var e=this.options,a=this.lis.eq(b).remove(),c=this.panels.eq(b).remove();
369
+ if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1<this.anchors.length?1:-1));e.disabled=d.map(d.grep(e.disabled,function(h){return h!=b}),function(h){return h>=b?--h:h});this._tabify();this._trigger("remove",null,this._ui(a.find("a")[0],c[0]));return this},enable:function(b){b=this._getIndex(b);var e=this.options;if(d.inArray(b,e.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=b});this._trigger("enable",null,
370
+ this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(b){b=this._getIndex(b);var e=this.options;if(b!=e.selected){this.lis.eq(b).addClass("ui-state-disabled");e.disabled.push(b);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}return this},select:function(b){b=this._getIndex(b);if(b==-1)if(this.options.collapsible&&this.options.selected!=-1)b=this.options.selected;else return this;this.anchors.eq(b).trigger(this.options.event+".tabs");return this},
371
+ load:function(b){b=this._getIndex(b);var e=this,a=this.options,c=this.anchors.eq(b)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(a.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){d(e._sanitizeSelector(c.hash)).html(k);e._cleanup();a.cache&&d.data(c,"cache.tabs",
372
+ true);e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.error(k,n,b,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},url:function(b,
373
+ e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.6"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k<a.anchors.length?k:0)},b);j&&j.stopPropagation()});e=a._unrotate||(a._unrotate=!e?function(j){j.clientX&&a.rotate(null)}:
374
+ function(){t=c.selected;h()});if(b){this.element.bind("tabsshow",h);this.anchors.bind(c.event+".tabs",e);h()}else{clearTimeout(a.rotation);this.element.unbind("tabsshow",h);this.anchors.unbind(c.event+".tabs",e);delete this._rotate;delete this._unrotate}return this}})})(jQuery);
375
+ ;/*
376
+ * jQuery UI Progressbar 1.8.6
377
+ *
378
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
379
+ * Dual licensed under the MIT or GPL Version 2 licenses.
380
+ * http://jquery.org/license
381
+ *
382
+ * http://docs.jquery.com/UI/Progressbar
383
+ *
384
+ * Depends:
385
+ * jquery.ui.core.js
386
+ * jquery.ui.widget.js
387
+ */
388
+ (function(b,c){b.widget("ui.progressbar",{options:{value:0},min:0,max:100,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.max,"aria-valuenow":this._value()});this.valueDiv=b("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element);this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow");
389
+ this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===c)return this._value();this._setOption("value",a);return this},_setOption:function(a,d){if(a==="value"){this.options.value=d;this._refreshValue();this._trigger("change");this._value()===this.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.max,Math.max(this.min,a))},_refreshValue:function(){var a=
390
+ this.value();this.valueDiv.toggleClass("ui-corner-right",a===this.max).width(a+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.6"})})(jQuery);
391
+ ;
admin/js/jquery.ui.autocomplete.min.js ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery UI Autocomplete 1.8.6
3
+ *
4
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
5
+ * Dual licensed under the MIT or GPL Version 2 licenses.
6
+ * http://jquery.org/license
7
+ *
8
+ * http://docs.jquery.com/UI/Autocomplete
9
+ *
10
+ * Depends:
11
+ * jquery.ui.core.js
12
+ * jquery.ui.widget.js
13
+ * jquery.ui.position.js
14
+ */
15
+ (function(e){e.widget("ui.autocomplete",{options:{appendTo:"body",delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},_create:function(){var a=this,b=this.element[0].ownerDocument,f;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!(a.options.disabled||a.element.attr("readonly"))){f=false;var d=e.ui.keyCode;switch(c.keyCode){case d.PAGE_UP:a._move("previousPage",
16
+ c);break;case d.PAGE_DOWN:a._move("nextPage",c);break;case d.UP:a._move("previous",c);c.preventDefault();break;case d.DOWN:a._move("next",c);c.preventDefault();break;case d.ENTER:case d.NUMPAD_ENTER:if(a.menu.active){f=true;c.preventDefault()}case d.TAB:if(!a.menu.active)return;a.menu.select(c);break;case d.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!=a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay);
17
+ break}}}).bind("keypress.autocomplete",function(c){if(f){f=false;c.preventDefault()}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)};this.menu=e("<ul></ul>").addClass("ui-autocomplete").appendTo(e(this.options.appendTo||
18
+ "body",b)[0]).mousedown(function(c){var d=a.menu.element[0];e(c.target).closest(".ui-menu-item").length||setTimeout(function(){e(document).one("mousedown",function(g){g.target!==a.element[0]&&g.target!==d&&!e.ui.contains(d,g.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,d){d=d.item.data("item.autocomplete");false!==a._trigger("focus",c,{item:d})&&/^key/.test(c.originalEvent.type)&&a.element.val(d.value)},selected:function(c,d){d=d.item.data("item.autocomplete");
19
+ var g=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=g;setTimeout(function(){a.previous=g},1)}false!==a._trigger("select",c,{item:d})&&a.element.val(d.value);a.term=a.element.val();a.close(c);a.selectedItem=d},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");e.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");
20
+ this.menu.element.remove();e.Widget.prototype.destroy.call(this)},_setOption:function(a,b){e.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(e(b||"body",this.element[0].ownerDocument)[0])},_initSource:function(){var a=this,b,f;if(e.isArray(this.options.source)){b=this.options.source;this.source=function(c,d){d(e.ui.autocomplete.filter(b,c.term))}}else if(typeof this.options.source==="string"){f=this.options.source;this.source=
21
+ function(c,d){a.xhr&&a.xhr.abort();a.xhr=e.getJSON(f,c,function(g,i,h){h===a.xhr&&d(g);a.xhr=null})}}else this.source=this.options.source},search:function(a,b){a=a!=null?a:this.element.val();this.term=this.element.val();if(a.length<this.options.minLength)return this.close(b);clearTimeout(this.closing);if(this._trigger("search",b)!==false)return this._search(a)},_search:function(a){this.element.addClass("ui-autocomplete-loading");this.source({term:a},this.response)},_response:function(a){if(a&&a.length){a=
22
+ this._normalize(a);this._suggest(a);this._trigger("open")}else this.close();this.element.removeClass("ui-autocomplete-loading")},close:function(a){clearTimeout(this.closing);if(this.menu.element.is(":visible")){this._trigger("close",a);this.menu.element.hide();this.menu.deactivate()}},_change:function(a){this.previous!==this.element.val()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(a){if(a.length&&a[0].label&&a[0].value)return a;return e.map(a,function(b){if(typeof b===
23
+ "string")return{label:b,value:b};return e.extend({label:b.label||b.value,value:b.value||b.label},b)})},_suggest:function(a){this._renderMenu(this.menu.element.empty().zIndex(this.element.zIndex()+1),a);this.menu.deactivate();this.menu.refresh();this.menu.element.show().position(e.extend({of:this.element},this.options.position));this._resizeMenu()},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth(),this.element.outerWidth()))},_renderMenu:function(a,b){var f=
24
+ this;e.each(b,function(c,d){f._renderItem(a,d)})},_renderItem:function(a,b){return e("<li></li>").data("item.autocomplete",b).append(e("<a></a>").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});e.extend(e.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,
25
+ "\\$&")},filter:function(a,b){var f=new RegExp(e.ui.autocomplete.escapeRegex(b),"i");return e.grep(a,function(c){return f.test(c.label||c.value||c)})}})})(jQuery);
26
+ (function(e){e.widget("ui.menu",{_create:function(){var a=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(b){if(e(b.target).closest(".ui-menu-item a").length){b.preventDefault();a.select(b)}});this.refresh()},refresh:function(){var a=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex",
27
+ -1).mouseenter(function(b){a.activate(b,e(this).parent())}).mouseleave(function(){a.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var f=b.offset().top-this.element.offset().top,c=this.element.attr("scrollTop"),d=this.element.height();if(f<0)this.element.attr("scrollTop",c+f);else f>=d&&this.element.attr("scrollTop",c+f-d+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",a,{item:b})},
28
+ deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id");this._trigger("blur");this.active=null}},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(a,b,f){if(this.active){a=this.active[a+"All"](".ui-menu-item").eq(0);
29
+ a.length?this.activate(f,a):this.activate(f,this.element.children(b))}else this.activate(f,this.element.children(b))},nextPage:function(a){if(this.hasScroll())if(!this.active||this.last())this.activate(a,this.element.children(".ui-menu-item:first"));else{var b=this.active.offset().top,f=this.element.height(),c=this.element.children(".ui-menu-item").filter(function(){var d=e(this).offset().top-b-f+e(this).height();return d<10&&d>-10});c.length||(c=this.element.children(".ui-menu-item:last"));this.activate(a,
30
+ c)}else this.activate(a,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(a){if(this.hasScroll())if(!this.active||this.first())this.activate(a,this.element.children(".ui-menu-item:last"));else{var b=this.active.offset().top,f=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var c=e(this).offset().top-b+f-e(this).height();return c<10&&c>-10});result.length||(result=this.element.children(".ui-menu-item:first"));
31
+ this.activate(a,result)}else this.activate(a,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element.attr("scrollHeight")},select:function(a){this._trigger("selected",a,{item:this.active})}})})(jQuery);
admin/js/ngg.ajax.js CHANGED
@@ -1,6 +1,6 @@
1
  /*
2
  * Ajax Plugin for NextGEN gallery
3
- * Version: 1.4.0
4
  * Author : Alex Rabe
5
  */
6
  (function($) {
1
  /*
2
  * Ajax Plugin for NextGEN gallery
3
+ * Version: 1.4.1
4
  * Author : Alex Rabe
5
  */
6
  (function($) {
admin/js/ngg.autocomplete.js ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Implementation of jQuery UI Autocomplete
3
+ * see http://jqueryui.com/demos/autocomplete/
4
+ * Version: 1.0.0
5
+ * Author : Alex Rabe
6
+ */
7
+ jQuery.fn.nggAutocomplete = function ( args ) {
8
+
9
+ var defaults = { type: 'image',
10
+ domain: '',
11
+ limit: 50 };
12
+
13
+ var s = jQuery.extend( {}, defaults, args);
14
+
15
+ var settings = { method: 'autocomplete',
16
+ type: s.type,
17
+ format: 'json',
18
+ callback: 'json',
19
+ limit: s.limit };
20
+
21
+ var obj = this.selector;
22
+ var id = jQuery(this).attr('id');
23
+ var cache = {}, lastXhr;
24
+
25
+ // get current value of drop down field
26
+ var c_text = jQuery(obj + ' :selected').text();
27
+ var c_val = jQuery(obj).val();
28
+ var c_width= jQuery(obj).css('width');
29
+ //hide first the drop down field
30
+ jQuery(obj).hide();
31
+ jQuery(obj).after('<input name="' + id + '_ac" type="text" id="' + id + '_ac"/>');
32
+ // Fill up current value & style
33
+ jQuery(obj + "_ac").val(c_text);
34
+ jQuery(obj + "_ac").css('width', c_width);
35
+ // Add the dropdown icon
36
+ jQuery(obj + "_ac").addClass('ui-autocomplete-start')
37
+ jQuery(obj + "_ac").autocomplete({
38
+ source: function( request, response ) {
39
+ var term = request.term;
40
+ if ( term in cache ) {
41
+ response( cache[ term ] );
42
+ return;
43
+ }
44
+ // adding more $_GET parameter
45
+ request = jQuery.extend( {}, settings, request);
46
+ lastXhr = jQuery.getJSON( s.domain, request, function( data, status, xhr ) {
47
+ // add term to cache
48
+ cache[ term ] = data;
49
+ if ( xhr === lastXhr )
50
+ response( data );
51
+ });
52
+ },
53
+ minLength: 0,
54
+ select: function( event, ui ) {
55
+ // adding this to the dropdown list
56
+ jQuery(obj).append( new Option(ui.item.label, ui.item.id) );
57
+ // now select it
58
+ jQuery(obj).val(ui.item.id);
59
+ jQuery(obj + "_ac").removeClass('ui-autocomplete-start');
60
+ }
61
+ });
62
+
63
+ jQuery(obj + "_ac").click(function() {
64
+
65
+ var search = jQuery(obj + "_ac").val();
66
+ // if the value is prefilled, we pass a empty string
67
+ if ( search == c_text)
68
+ search = '';
69
+ // pass empty string as value to search for, displaying all results
70
+ jQuery(obj + "_ac").autocomplete('search', search );
71
+ });
72
+ }
admin/js/ngg.progressbar.js CHANGED
@@ -1,6 +1,6 @@
1
  /*
2
  * Progress bar Plugin for NextGEN gallery
3
- * Version: 1.0.0
4
  * Author : Alex Rabe
5
  */
6
  (function($) {
@@ -16,14 +16,20 @@
16
  init: function( s ) {
17
 
18
  s = this.settings = $.extend( {}, this.settings, {}, s || {} );
19
-
20
- div = $('#' + s.id + '_container');
21
  width = Math.round( ( 100 / s.maxStep ) * 100 ) /100;
22
-
23
- if ( div.find("#" + s.id).length == 0) {
24
- if (s.header.length > 0)
25
- div.append('<h2>'+ s.header +'</h2>');
26
- div.append('<div id="' + s.id + '" class="progressborder"><div class="' + s.id + '"><span>0%</span></div></div>');
 
 
 
 
 
 
 
27
  }
28
  },
29
 
@@ -45,6 +51,8 @@
45
  $("#" + s.id + "_note").append("<li>" + note + "<div class='show_details'><span>[more]</span><br />" + detail + "</div></li>");
46
  else
47
  $("#" + s.id + "_note").append("<li>" + note + "</li>");
 
 
48
  },
49
 
50
  increase: function( step ) {
@@ -61,19 +69,23 @@
61
  $("#" + s.id + " span").html( '100%' );
62
  // in the case we add a note , we should wait for a click
63
  if (s.wait) {
64
- setTimeout(function() {
65
- $("#" + s.id).hide("slow");
66
- }, 2000);
67
  div.click(function () {
68
- jQuery('.nggform').prepend("<input type=\"hidden\" name=\"ajax_callback\" value=\"0\">");
69
- jQuery('.nggform').submit();
 
 
 
70
  });
71
  } else {
72
- //div.hide("slow");
73
- jQuery("#" + s.id).hide("slow");
74
- jQuery("#" + s.id + "_container h2").hide("slow");
75
- jQuery('.nggform').prepend("<input type=\"hidden\" name=\"ajax_callback\" value=\"1\">");
76
- jQuery('.nggform').submit();
 
 
 
77
  }
78
  }
79
  };
1
  /*
2
  * Progress bar Plugin for NextGEN gallery
3
+ * Version: 2.0.1
4
  * Author : Alex Rabe
5
  */
6
  (function($) {
16
  init: function( s ) {
17
 
18
  s = this.settings = $.extend( {}, this.settings, {}, s || {} );
19
+ div = $('#' + s.id + '_dialog');
 
20
  width = Math.round( ( 100 / s.maxStep ) * 100 ) /100;
21
+ // add the initial progressbar
22
+ if ( $( "#" + s.id + "_dialog" ).length == 0) {
23
+ s.header = (s.header.length > 0) ? s.header : '' ;
24
+ $("body").append('<div id="' + s.id + '_dialog"><div id="' + s.id + '" class="progressborder"><div class="' + s.id + '"><span>0%</span></div></div></div>');
25
+ $('html,body').scrollTop(0); // works only in IE, FF
26
+ // we open the dialog
27
+ $( "#" + s.id + "_dialog" ).dialog({
28
+ width: 640,
29
+ resizable : true,
30
+ modal: true,
31
+ title: s.header
32
+ });
33
  }
34
  },
35
 
51
  $("#" + s.id + "_note").append("<li>" + note + "<div class='show_details'><span>[more]</span><br />" + detail + "</div></li>");
52
  else
53
  $("#" + s.id + "_note").append("<li>" + note + "</li>");
54
+ // increase the height to show the note
55
+ div.dialog("option", "height", 220);
56
  },
57
 
58
  increase: function( step ) {
69
  $("#" + s.id + " span").html( '100%' );
70
  // in the case we add a note , we should wait for a click
71
  if (s.wait) {
72
+ $("#" + s.id).delay(1000).hide("slow");
 
 
73
  div.click(function () {
74
+ $("#" + s.id + "_dialog").dialog("destroy");
75
+ $("#" + s.id + "_dialog").remove();
76
+ // In the casee it's the manage page, force a submit
77
+ $('.nggform').prepend("<input type=\"hidden\" name=\"ajax_callback\" value=\"0\">");
78
+ $('.nggform').submit();
79
  });
80
  } else {
81
+
82
+ window.setTimeout(function() {
83
+ $("#" + s.id + "_dialog" ).delay(4000).dialog("destroy");
84
+ $("#" + s.id + "_dialog").remove();
85
+ // In the casee it's the manage page, force a submit
86
+ $('.nggform').prepend("<input type=\"hidden\" name=\"ajax_callback\" value=\"1\">");
87
+ $('.nggform').delay(4000).submit();
88
+ }, 1000);
89
  }
90
  }
91
  };
admin/js/swfupload.handler.js CHANGED
@@ -5,7 +5,7 @@
5
  * Built on top of the swfupload library
6
  * http://swfupload.org version 2.2.0
7
  *
8
- * version 1.0.2
9
  */
10
 
11
  // on load change the upload to swfupload
@@ -20,7 +20,6 @@ function initSWFUpload() {
20
  .after("<input type='text' id='txtFileName' readonly='readonly' />")
21
  .remove();
22
  jQuery("#imagefiles").click( function() { fileBrowse(); } );
23
- jQuery("#progressbar-wrap").hide();
24
  });
25
  }
26
 
@@ -45,7 +44,7 @@ function fileQueued(fileObj) {
45
  function submitFiles() {
46
  // check if a gallery is selected
47
  if (jQuery('#galleryselect').val() > "0") {
48
- jQuery("#progressbar-wrap").show();
49
  // get old post_params
50
  post_params = ngg_swf_upload.getSetting("post_params");
51
  // update the selected gallery in the post_params
@@ -67,14 +66,14 @@ function removeFile(fileID) {
67
 
68
  // called before the uploads start
69
  function uploadStart(fileObj) {
70
- jQuery("#progressbar span").text("0% - " + fileObj.name);
71
  return true;
72
  }
73
 
74
  // called during the upload progress
75
  function uploadProgress(fileObj, bytesLoaded) {
76
  var percent = Math.ceil((bytesLoaded / fileObj.size) * 100);
77
- jQuery("#progressbar").css("width", percent + "%");
78
  jQuery("#progressbar span").text(percent + "% - " + fileObj.name);
79
  }
80
 
@@ -83,7 +82,7 @@ function uploadComplete(fileObj) {
83
  jQuery("#" + fileObj.id).hide("slow");
84
  jQuery("#" + fileObj.id).remove();
85
  if ( ngg_swf_upload.getStats().files_queued == 0) {
86
- jQuery("#progressbar-wrap").hide()
87
  jQuery("#uploadimage_form").submit();
88
  }
89
  }
@@ -92,7 +91,7 @@ function uploadComplete(fileObj) {
92
  function uploadSuccess(fileObj, server_data) {
93
  // Show any error message
94
  if (server_data != 0){
95
- jQuery("#progressbar-wrap").append("<div><strong>ERROR</strong>: " + fileObj.name + " : " + server_data + "</div>");
96
  }
97
  // Upload the next file until queue is empty
98
  if ( ngg_swf_upload.getStats().files_queued > 0) {
@@ -142,13 +141,12 @@ function uploadError(fileObj, error_code, message) {
142
  error_name = "UNKNOWN";
143
  break;
144
  }
145
- jQuery("#progressbar-wrap").append("<div><strong>ERROR " + error_name + " </strong>: " + fileObj.name + " : " + message + "</div>");
146
  jQuery("#" + fileObj.id).hide("slow");
147
  jQuery("#" + fileObj.id).remove();
148
  if ( ngg_swf_upload.getStats().files_queued > 0) {
149
  ngg_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
  }
5
  * Built on top of the swfupload library
6
  * http://swfupload.org version 2.2.0
7
  *
8
+ * version 1.0.3
9
  */
10
 
11
  // on load change the upload to swfupload
20
  .after("<input type='text' id='txtFileName' readonly='readonly' />")
21
  .remove();
22
  jQuery("#imagefiles").click( function() { fileBrowse(); } );
 
23
  });
24
  }
25
 
44
  function submitFiles() {
45
  // check if a gallery is selected
46
  if (jQuery('#galleryselect').val() > "0") {
47
+ nggProgressBar.init(nggAjaxOptions);
48
  // get old post_params
49
  post_params = ngg_swf_upload.getSetting("post_params");
50
  // update the selected gallery in the post_params
66
 
67
  // called before the uploads start
68
  function uploadStart(fileObj) {
69
+ nggProgressBar.init(nggAjaxOptions);
70
  return true;
71
  }
72
 
73
  // called during the upload progress
74
  function uploadProgress(fileObj, bytesLoaded) {
75
  var percent = Math.ceil((bytesLoaded / fileObj.size) * 100);
76
+ nggProgressBar.increase( percent );
77
  jQuery("#progressbar span").text(percent + "% - " + fileObj.name);
78
  }
79
 
82
  jQuery("#" + fileObj.id).hide("slow");
83
  jQuery("#" + fileObj.id).remove();
84
  if ( ngg_swf_upload.getStats().files_queued == 0) {
85
+ nggProgressBar.finished();
86
  jQuery("#uploadimage_form").submit();
87
  }
88
  }
91
  function uploadSuccess(fileObj, server_data) {
92
  // Show any error message
93
  if (server_data != 0){
94
+ nggProgressBar.addNote("<strong>ERROR</strong>: " + fileObj.name + " : " + server_data);
95
  }
96
  // Upload the next file until queue is empty
97
  if ( ngg_swf_upload.getStats().files_queued > 0) {
141
  error_name = "UNKNOWN";
142
  break;
143
  }
144
+ nggProgressBar.addNote("<strong>ERROR " + error_name + " </strong>: " + fileObj.name + " : " + message);
145
  jQuery("#" + fileObj.id).hide("slow");
146
  jQuery("#" + fileObj.id).remove();
147
  if ( ngg_swf_upload.getStats().files_queued > 0) {
148
  ngg_swf_upload.startUpload();
149
  } else {
 
150
  jQuery('#uploadimage_form').prepend("<input type=\"hidden\" name=\"swf_callback\" value=\"" + error_name + "\">");
151
  jQuery("#uploadimage_form").submit();
152
  }
admin/manage-galleries.php CHANGED
@@ -67,11 +67,11 @@ function nggallery_manage_gallery_main() {
67
 
68
  switch (actionId) {
69
  case "resize_images":
70
- showDialog('resize_images', 120);
71
  return false;
72
  break;
73
  case "new_thumbnail":
74
- showDialog('new_thumbnail', 160);
75
  return false;
76
  break;
77
  }
@@ -79,7 +79,7 @@ function nggallery_manage_gallery_main() {
79
  return confirm('<?php echo sprintf(esc_js(__("You are about to start the bulk edit for %s galleries \n \n 'Cancel' to stop, 'OK' to proceed.",'nggallery')), "' + numchecked + '") ; ?>');
80
  }
81
 
82
- function showDialog( windowId, height ) {
83
  var form = document.getElementById('editgalleries');
84
  var elementlist = "";
85
  for (i = 0, n = form.elements.length; i < n; i++) {
@@ -94,18 +94,30 @@ function nggallery_manage_gallery_main() {
94
  }
95
  jQuery("#" + windowId + "_bulkaction").val(jQuery("#bulkaction").val());
96
  jQuery("#" + windowId + "_imagelist").val(elementlist);
97
- // console.log (jQuery("#TB_imagelist").val());
98
- tb_show("", "#TB_inline?width=640&height=" + height + "&inlineId=" + windowId + "&modal=true", false);
 
 
 
 
 
 
99
  }
100
 
101
  function showAddGallery() {
102
- tb_show("", "#TB_inline?width=640&height=140&inlineId=addGallery&modal=true", false);
 
 
 
 
 
 
103
  }
104
  //-->
105
  </script>
106
  <div class="wrap">
107
  <?php screen_icon( 'nextgen-gallery' ); ?>
108
- <h2><?php _e('Gallery Overview', 'nggallery'); ?></h2>
109
  <form class="search-form" action="" method="get">
110
  <p class="search-box">
111
  <label class="hidden" for="media-search-input"><?php _e( 'Search Images', 'nggallery' ); ?>:</label>
@@ -123,8 +135,9 @@ function nggallery_manage_gallery_main() {
123
  <div class="alignleft actions">
124
  <?php if ( function_exists('json_encode') ) : ?>
125
  <select name="bulkaction" id="bulkaction">
126
- <option value="no_action" ><?php _e("No action",'nggallery'); ?></option>
127
- <option value="set_watermark" ><?php _e("Set watermark",'nggallery'); ?></option>
 
128
  <option value="new_thumbnail" ><?php _e("Create new thumbnails",'nggallery'); ?></option>
129
  <option value="resize_images" ><?php _e("Resize images",'nggallery'); ?></option>
130
  <option value="import_meta" ><?php _e("Import metadata",'nggallery'); ?></option>
@@ -150,67 +163,95 @@ function nggallery_manage_gallery_main() {
150
  <table class="widefat" cellspacing="0">
151
  <thead>
152
  <tr>
153
- <th scope="col" class="column-cb" >
154
- <input type="checkbox" onclick="checkAll(document.getElementById('editgalleries'));" name="checkall"/>
155
- </th>
156
- <th scope="col" ><?php _e('ID'); ?></th>
157
- <th scope="col" ><?php _e('Title', 'nggallery'); ?></th>
158
- <th scope="col" ><?php _e('Description', 'nggallery'); ?></th>
159
- <th scope="col" ><?php _e('Author', 'nggallery'); ?></th>
160
- <th scope="col" ><?php _e('Page ID', 'nggallery'); ?></th>
161
- <th scope="col" ><?php _e('Quantity', 'nggallery'); ?></th>
162
- <th scope="col" ><?php _e('Action'); ?></th>
163
  </tr>
164
  </thead>
165
  <tfoot>
166
  <tr>
167
- <th scope="col" class="column-cb" >
168
- <input type="checkbox" onclick="checkAll(document.getElementById('editgalleries'));" name="checkall"/>
169
- </th>
170
- <th scope="col" ><?php _e('ID'); ?></th>
171
- <th scope="col" ><?php _e('Title', 'nggallery'); ?></th>
172
- <th scope="col" ><?php _e('Description', 'nggallery'); ?></th>
173
- <th scope="col" ><?php _e('Author', 'nggallery'); ?></th>
174
- <th scope="col" ><?php _e('Page ID', 'nggallery'); ?></th>
175
- <th scope="col" ><?php _e('Quantity', 'nggallery'); ?></th>
176
- <th scope="col" ><?php _e('Action'); ?></th>
177
  </tr>
178
  </tfoot>
179
  <tbody>
180
  <?php
181
 
182
  if($gallerylist) {
 
 
 
 
 
183
  foreach($gallerylist as $gallery) {
184
- $class = ( !isset($class) || $class == 'class="alternate"' ) ? '' : 'class="alternate"';
185
  $gid = $gallery->gid;
186
  $name = (empty($gallery->title) ) ? $gallery->name : $gallery->title;
187
  $author_user = get_userdata( (int) $gallery->author );
188
  ?>
189
- <tr id="gallery-<?php echo $gid ?>" <?php echo $class; ?> >
190
- <th scope="row" class="cb column-cb">
191
- <?php if (nggAdmin::can_manage_this_gallery($gallery->author)) { ?>
192
- <input name="doaction[]" type="checkbox" value="<?php echo $gid ?>" />
193
- <?php } ?>
194
- </th>
195
- <td scope="row"><?php echo $gid; ?></td>
196
- <td>
197
- <?php if (nggAdmin::can_manage_this_gallery($gallery->author)) { ?>
198
- <a href="<?php echo wp_nonce_url( $ngg->manage_page->base_page . '&amp;mode=edit&amp;gid=' . $gid, 'ngg_editgallery')?>" class='edit' title="<?php _e('Edit'); ?>" >
199
- <?php echo nggGallery::i18n($name); ?>
200
- </a>
201
- <?php } else { ?>
202
- <?php echo nggGallery::i18n($gallery->title); ?>
203
- <?php } ?>
204
- </td>
205
- <td><?php echo nggGallery::i18n($gallery->galdesc); ?>&nbsp;</td>
206
- <td><?php echo $author_user->display_name; ?></td>
207
- <td><?php echo $gallery->pageid; ?></td>
208
- <td><?php echo $gallery->counter; ?></td>
209
- <td>
210
- <?php if (nggAdmin::can_manage_this_gallery($gallery->author)) : ?>
211
- <a href="<?php echo wp_nonce_url( $ngg->manage_page->base_page . '&amp;mode=delete&amp;gid=' . $gid, 'ngg_editgallery')?>" class="delete" onclick="javascript:check=confirm( '<?php _e('Delete this gallery ?', 'nggallery'); ?>');if(check==false) return false;"><?php _e('Delete'); ?></a>
212
- <?php endif; ?>
213
- </td>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
214
  </tr>
215
  <?php
216
  }
@@ -251,7 +292,7 @@ if($gallerylist) {
251
  <td class="submit">
252
  <input class="button-primary" type="submit" name="addgallery" value="<?php _e('OK','nggallery'); ?>" />
253
  &nbsp;
254
- <input class="button-secondary" type="reset" value="&nbsp;<?php _e('Cancel', 'nggallery'); ?>&nbsp;" onclick="tb_remove()"/>
255
  </td>
256
  </tr>
257
  </table>
@@ -280,7 +321,7 @@ if($gallerylist) {
280
  <td colspan="2" class="submit">
281
  <input class="button-primary" type="submit" name="TB_ResizeImages" value="<?php _e('OK', 'nggallery'); ?>" />
282
  &nbsp;
283
- <input class="button-secondary" type="reset" value="&nbsp;<?php _e('Cancel', 'nggallery'); ?>&nbsp;" onclick="tb_remove()"/>
284
  </td>
285
  </tr>
286
  </table>
@@ -310,7 +351,7 @@ if($gallerylist) {
310
  <td colspan="2" class="submit">
311
  <input class="button-primary" type="submit" name="TB_NewThumbnail" value="<?php _e('OK', 'nggallery');?>" />
312
  &nbsp;
313
- <input class="button-secondary" type="reset" value="&nbsp;<?php _e('Cancel', 'nggallery'); ?>&nbsp;" onclick="tb_remove()"/>
314
  </td>
315
  </tr>
316
  </table>
@@ -320,4 +361,22 @@ if($gallerylist) {
320
 
321
  <?php
322
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
323
  ?>
67
 
68
  switch (actionId) {
69
  case "resize_images":
70
+ showDialog('resize_images', '<?php echo esc_js(__('Resize images','nggallery')); ?>');
71
  return false;
72
  break;
73
  case "new_thumbnail":
74
+ showDialog('new_thumbnail', '<?php echo esc_js(__('Create new thumbnails','nggallery')); ?>');
75
  return false;
76
  break;
77
  }
79
  return confirm('<?php echo sprintf(esc_js(__("You are about to start the bulk edit for %s galleries \n \n 'Cancel' to stop, 'OK' to proceed.",'nggallery')), "' + numchecked + '") ; ?>');
80
  }
81
 
82
+ function showDialog( windowId, title ) {
83
  var form = document.getElementById('editgalleries');
84
  var elementlist = "";
85
  for (i = 0, n = form.elements.length; i < n; i++) {
94
  }
95
  jQuery("#" + windowId + "_bulkaction").val(jQuery("#bulkaction").val());
96
  jQuery("#" + windowId + "_imagelist").val(elementlist);
97
+ // now show the dialog
98
+ jQuery( "#" + windowId ).dialog({
99
+ width: 640,
100
+ resizable : false,
101
+ modal: true,
102
+ title: title
103
+ });
104
+ jQuery("#" + windowId + ' .dialog-cancel').click(function() { jQuery( "#" + windowId ).dialog("close"); });
105
  }
106
 
107
  function showAddGallery() {
108
+ jQuery( "#addGallery").dialog({
109
+ width: 640,
110
+ resizable : false,
111
+ modal: true,
112
+ title: '<?php echo esc_js(__('Add new gallery','nggallery')); ?>'
113
+ });
114
+ jQuery("#addGallery .dialog-cancel").click(function() { jQuery( "#addGallery" ).dialog("close"); });
115
  }
116
  //-->
117
  </script>
118
  <div class="wrap">
119
  <?php screen_icon( 'nextgen-gallery' ); ?>
120
+ <h2><?php echo _n( 'Gallery', 'Galleries', 2, 'nggallery'); ?></h2>
121
  <form class="search-form" action="" method="get">
122
  <p class="search-box">
123
  <label class="hidden" for="media-search-input"><?php _e( 'Search Images', 'nggallery' ); ?>:</label>
135
  <div class="alignleft actions">
136
  <?php if ( function_exists('json_encode') ) : ?>
137
  <select name="bulkaction" id="bulkaction">
138
+ <option value="no_action" ><?php _e("Bulk actions",'nggallery'); ?></option>
139
+ <option value="delete_gallery" ><?php _e("Delete",'nggallery'); ?></option>
140
+ <option value="set_watermark" ><?php _e("Set watermark",'nggallery'); ?></option>
141
  <option value="new_thumbnail" ><?php _e("Create new thumbnails",'nggallery'); ?></option>
142
  <option value="resize_images" ><?php _e("Resize images",'nggallery'); ?></option>
143
  <option value="import_meta" ><?php _e("Import metadata",'nggallery'); ?></option>
163
  <table class="widefat" cellspacing="0">
164
  <thead>
165
  <tr>
166
+ <?php print_column_headers('nggallery-manage-galleries'); ?>
 
 
 
 
 
 
 
 
 
167
  </tr>
168
  </thead>
169
  <tfoot>
170
  <tr>
171
+ <?php print_column_headers('nggallery-manage-galleries', false); ?>
 
 
 
 
 
 
 
 
 
172
  </tr>
173
  </tfoot>
174
  <tbody>
175
  <?php
176
 
177
  if($gallerylist) {
178
+ //get the columns
179
+ $gallery_columns = ngg_manage_gallery_columns();
180
+ $hidden_columns = get_hidden_columns('nggallery-manage-images');
181
+ $num_columns = count($gallery_columns) - count($hidden_columns);
182
+
183
  foreach($gallerylist as $gallery) {
184
+ $alternate = ( !isset($alternate) || $alternate == 'class="alternate"' ) ? '' : 'class="alternate"';
185
  $gid = $gallery->gid;
186
  $name = (empty($gallery->title) ) ? $gallery->name : $gallery->title;
187
  $author_user = get_userdata( (int) $gallery->author );
188
  ?>
189
+ <tr id="gallery-<?php echo $gid ?>" <?php echo $alternate; ?> >
190
+ <?php
191
+ foreach($gallery_columns as $gallery_column_key => $column_display_name) {
192
+ $class = "class=\"$gallery_column_key column-$gallery_column_key\"";
193
+
194
+ $style = '';
195
+ if ( in_array($gallery_column_key, $hidden_columns) )
196
+ $style = ' style="display:none;"';
197
+
198
+ $attributes = "$class$style";
199
+
200
+ switch ($gallery_column_key) {
201
+ case 'cb' :
202
+ ?>
203
+ <th scope="row" class="cb column-cb">
204
+ <?php if (nggAdmin::can_manage_this_gallery($gallery->author)) { ?>
205
+ <input name="doaction[]" type="checkbox" value="<?php echo $gid ?>" />
206
+ <?php } ?>
207
+ </th>
208
+ <?php
209
+ break;
210
+ case 'id' :
211
+ ?>
212
+ <td <?php echo $attributes ?> scope="row"><?php echo $gid; ?></td>
213
+ <?php
214
+ break;
215
+ case 'title' :
216
+ ?>
217
+ <td>
218
+ <?php if (nggAdmin::can_manage_this_gallery($gallery->author)) { ?>
219
+ <a href="<?php echo wp_nonce_url( $ngg->manage_page->base_page . '&amp;mode=edit&amp;gid=' . $gid, 'ngg_editgallery')?>" class='edit' title="<?php _e('Edit'); ?>" >
220
+ <?php echo nggGallery::i18n($name); ?>
221
+ </a>
222
+ <?php } else { ?>
223
+ <?php echo nggGallery::i18n($gallery->title); ?>
224
+ <?php } ?>
225
+ </td>
226
+ <?php
227
+ break;
228
+ case 'description' :
229
+ ?>
230
+ <td <?php echo $attributes ?>><?php echo nggGallery::i18n($gallery->galdesc); ?>&nbsp;</td>
231
+ <?php
232
+ break;
233
+ case 'author' :
234
+ ?>
235
+ <td <?php echo $attributes ?>><?php echo $author_user->display_name; ?></td>
236
+ <?php
237
+ break;
238
+ case 'page_id' :
239
+ ?>
240
+ <td <?php echo $attributes ?>><?php echo $gallery->pageid; ?></td>
241
+ <?php
242
+ break;
243
+ case 'quantity' :
244
+ ?>
245
+ <td <?php echo $attributes ?>><?php echo $gallery->counter; ?></td>
246
+ <?php
247
+ break;
248
+ default :
249
+ ?>
250
+ <td <?php echo $attributes ?>><?php do_action('ngg_manage_gallery_custom_column', $gallery_column_key, $gid); ?></td>
251
+ <?php
252
+ break;
253
+ }
254
+ } ?>
255
  </tr>
256
  <?php
257
  }
292
  <td class="submit">
293
  <input class="button-primary" type="submit" name="addgallery" value="<?php _e('OK','nggallery'); ?>" />
294
  &nbsp;
295
+ <input class="button-secondary dialog-cancel" type="reset" value="&nbsp;<?php _e('Cancel', 'nggallery'); ?>&nbsp;" />
296
  </td>
297
  </tr>
298
  </table>
321
  <td colspan="2" class="submit">
322
  <input class="button-primary" type="submit" name="TB_ResizeImages" value="<?php _e('OK', 'nggallery'); ?>" />
323
  &nbsp;
324
+ <input class="button-secondary dialog-cancel" type="reset" value="&nbsp;<?php _e('Cancel', 'nggallery'); ?>&nbsp;" />
325
  </td>
326
  </tr>
327
  </table>
351
  <td colspan="2" class="submit">
352
  <input class="button-primary" type="submit" name="TB_NewThumbnail" value="<?php _e('OK', 'nggallery');?>" />
353
  &nbsp;
354
+ <input class="button-secondary dialog-cancel" type="reset" value="&nbsp;<?php _e('Cancel', 'nggallery'); ?>&nbsp;" />
355
  </td>
356
  </tr>
357
  </table>
361
 
362
  <?php
363
  }
364
+
365
+ // define the columns to display, the syntax is 'internal name' => 'display name'
366
+ function ngg_manage_gallery_columns() {
367
+
368
+ $gallery_columns = array();
369
+
370
+ $gallery_columns['cb'] = '<input name="checkall" type="checkbox" onclick="checkAll(document.getElementById(\'editgalleries\'));" />';
371
+ $gallery_columns['id'] = __('ID');
372
+ $gallery_columns['title'] = _n( 'Gallery', 'Galleries', 1, 'nggallery');
373
+ $gallery_columns['description'] = __('Description', 'nggallery');
374
+ $gallery_columns['author'] = __('Author', 'nggallery');
375
+ $gallery_columns['page_id'] = __('Page ID', 'nggallery');
376
+ $gallery_columns['quantity'] = _n( 'Image', 'Images', 2, 'nggallery' );
377
+
378
+ $gallery_columns = apply_filters('ngg_manage_gallery_columns', $gallery_columns);
379
+
380
+ return $gallery_columns;
381
+ }
382
  ?>
admin/manage-images.php CHANGED
@@ -67,25 +67,16 @@ function nggallery_picturelist() {
67
  $gallerylist = $nggdb->find_all_galleries();
68
 
69
  //get the columns
70
- $gallery_columns = ngg_manage_gallery_columns();
71
  $hidden_columns = get_hidden_columns('nggallery-manage-images');
72
- $num_columns = count($gallery_columns) - count($hidden_columns);
73
 
74
  $attr = (nggGallery::current_user_can( 'NextGEN Edit gallery options' )) ? '' : 'disabled="disabled"';
75
 
76
  ?>
77
- <!--[if IE]>
78
- <style type="text/css">
79
- .custom_thumb {
80
- display : none;
81
- }
82
- </style>
83
- <![endif]-->
84
-
85
  <script type="text/javascript">
86
  <!--
87
-
88
- function showDialog( windowId, height ) {
89
  var form = document.getElementById('updategallery');
90
  var elementlist = "";
91
  for (i = 0, n = form.elements.length; i < n; i++) {
@@ -100,10 +91,49 @@ function showDialog( windowId, height ) {
100
  }
101
  jQuery("#" + windowId + "_bulkaction").val(jQuery("#bulkaction").val());
102
  jQuery("#" + windowId + "_imagelist").val(elementlist);
103
- // console.log (jQuery("#TB_imagelist").val());
104
- tb_show("", "#TB_inline?width=640&height=" + height + "&inlineId=" + windowId + "&modal=true", false);
 
 
 
 
 
 
105
  }
106
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  function checkAll(form)
108
  {
109
  for (i = 0, n = form.elements.length; i < n; i++) {
@@ -145,22 +175,31 @@ function checkSelected() {
145
 
146
  switch (actionId) {
147
  case "copy_to":
 
 
 
148
  case "move_to":
149
- showDialog('selectgallery', 120);
150
  return false;
151
  break;
152
  case "add_tags":
 
 
 
153
  case "delete_tags":
 
 
 
154
  case "overwrite_tags":
155
- showDialog('entertags', 120);
156
  return false;
157
  break;
158
  case "resize_images":
159
- showDialog('resize_images', 120);
160
  return false;
161
  break;
162
  case "new_thumbnail":
163
- showDialog('new_thumbnail', 160);
164
  return false;
165
  break;
166
  }
@@ -177,7 +216,6 @@ jQuery(document).ready( function() {
177
 
178
  //-->
179
  </script>
180
-
181
  <div class="wrap">
182
  <?php screen_icon( 'nextgen-gallery' ); ?>
183
  <?php if ($is_search) :?>
@@ -234,6 +272,7 @@ jQuery(document).ready( function() {
234
  <?php
235
  if(is_array($picturelist)) {
236
  foreach($picturelist as $picture) {
 
237
  $selected = ($picture->pid == $gallery->previewpic) ? 'selected="selected" ' : '';
238
  echo '<option value="'.$picture->pid.'" '.$selected.'>'.$picture->pid.' - '.$picture->filename.'</option>'."\n";
239
  }
@@ -297,7 +336,7 @@ jQuery(document).ready( function() {
297
  <?php endif; ?>
298
  <div class="alignleft actions">
299
  <select id="bulkaction" name="bulkaction">
300
- <option value="no_action" ><?php _e("No action",'nggallery'); ?></option>
301
  <option value="set_watermark" ><?php _e("Set watermark",'nggallery'); ?></option>
302
  <option value="new_thumbnail" ><?php _e("Create new thumbnails",'nggallery'); ?></option>
303
  <option value="resize_images" ><?php _e("Resize images",'nggallery'); ?></option>
@@ -359,16 +398,16 @@ if($picturelist) {
359
  ?>
360
  <tr id="picture-<?php echo $pid ?>" class="<?php echo $alternate ?> iedit" valign="top">
361
  <?php
362
- foreach($gallery_columns as $gallery_column_key => $column_display_name) {
363
- $class = "class=\"$gallery_column_key column-$gallery_column_key\"";
364
 
365
  $style = '';
366
- if ( in_array($gallery_column_key, $hidden_columns) )
367
  $style = ' style="display:none;"';
368
 
369
  $attributes = "$class$style";
370
 
371
- switch ($gallery_column_key) {
372
  case 'cb' :
373
  ?>
374
  <th <?php echo $attributes ?> scope="row"><input name="doaction[]" type="checkbox" value="<?php echo $pid ?>" /></th>
@@ -395,12 +434,12 @@ if($picturelist) {
395
  <p>
396
  <?php
397
  $actions = array();
398
- //TODO:Add a JS edit option
399
- //$actions['edit'] = '<a class="editinline" href="#">' . __('Edit') . '</a>';
400
  $actions['view'] = '<a class="thickbox" href="' . $picture->imageURL . '" title="' . esc_attr(sprintf(__('View "%s"'), $picture->filename)) . '">' . __('View', 'nggallery') . '</a>';
401
- $actions['meta'] = '<a class="thickbox" href="' . NGGALLERY_URLPATH . 'admin/showmeta.php?id=' . $pid . '" title="' . __('Show Meta data','nggallery') . '">' . __('Meta', 'nggallery') . '</a>';
402
- $actions['custom_thumb'] = '<a class="thickbox" href="' . NGGALLERY_URLPATH . 'admin/edit-thumbnail.php?id=' . $pid . '" title="' . __('Customize thumbnail','nggallery') . '">' . __('Edit thumb', 'nggallery') . '</a>';
403
- $actions['rotate'] = '<a class="thickbox" href="' . NGGALLERY_URLPATH . 'admin/rotate.php?id=' . $pid . '" title="' . __('Rotate','nggallery') . '">' . __('Rotate', 'nggallery') . '</a>';
 
 
404
  if ( file_exists( $picture->imagePath . '_backup' ) )
405
  $actions['recover'] = '<a class="confirmrecover" href="' .wp_nonce_url("admin.php?page=nggallery-manage-gallery&amp;mode=recoverpic&amp;gid=" . $act_gid . "&amp;pid=" . $pid, 'ngg_recoverpicture'). '" title="' . __('Recover','nggallery') . '" onclick="javascript:check=confirm( \'' . esc_attr(sprintf(__('Recover "%s" ?' , 'nggallery'), $picture->filename)). '\');if(check==false) return false;">' . __('Recover', 'nggallery') . '</a>';
406
  $actions['delete'] = '<a class="submitdelete" href="' . wp_nonce_url("admin.php?page=nggallery-manage-gallery&amp;mode=delpic&amp;gid=" . $act_gid . "&amp;pid=" . $pid, 'ngg_delpicture'). '" class="delete column-delete" onclick="javascript:check=confirm( \'' . esc_attr(sprintf(__('Delete "%s" ?' , 'nggallery'), $picture->filename)). '\');if(check==false) return false;">' . __('Delete') . '</a>';
@@ -422,8 +461,8 @@ if($picturelist) {
422
  if (is_array ($size = $picture->meta_data['thumbnail']) )
423
  $thumbsize = 'width="' . $size['width'] . '" height="' . $size['height'] . '"';
424
  ?>
425
- <td <?php echo $attributes ?>><a href="<?php echo $picture->imageURL . '?' . mt_rand(); ?>" class="thickbox" title="<?php echo $picture->filename ?>">
426
- <img class="thumb" src="<?php echo $picture->thumbURL . '?' . mt_rand(); ?>" <?php echo $thumbsize ?> id="thumb<?php echo $pid ?>" />
427
  </a>
428
  </td>
429
  <?php
@@ -450,7 +489,7 @@ if($picturelist) {
450
  break;
451
  default :
452
  ?>
453
- <td <?php echo $attributes ?>><?php do_action('ngg_manage_gallery_custom_column', $gallery_column_key, $pid); ?></td>
454
  <?php
455
  break;
456
  }
@@ -499,7 +538,7 @@ if ( $counter == 0 )
499
  <td class="submit">
500
  <input class="button-primary" type="submit" name="TB_EditTags" value="<?php _e("OK",'nggallery'); ?>" />
501
  &nbsp;
502
- <input class="button-secondary" type="reset" value="&nbsp;<?php _e("Cancel",'nggallery'); ?>&nbsp;" onclick="tb_remove()"/>
503
  </td>
504
  </tr>
505
  </table>
@@ -535,7 +574,7 @@ if ( $counter == 0 )
535
  <td class="submit">
536
  <input type="submit" class="button-primary" name="TB_SelectGallery" value="<?php _e("OK",'nggallery'); ?>" />
537
  &nbsp;
538
- <input class="button-secondary" type="reset" value="<?php _e("Cancel",'nggallery'); ?>" onclick="tb_remove()"/>
539
  </td>
540
  </tr>
541
  </table>
@@ -564,7 +603,7 @@ if ( $counter == 0 )
564
  <td colspan="2" class="submit">
565
  <input class="button-primary" type="submit" name="TB_ResizeImages" value="<?php _e('OK', 'nggallery'); ?>" />
566
  &nbsp;
567
- <input class="button-secondary" type="reset" value="&nbsp;<?php _e('Cancel', 'nggallery'); ?>&nbsp;" onclick="tb_remove()"/>
568
  </td>
569
  </tr>
570
  </table>
@@ -579,7 +618,7 @@ if ( $counter == 0 )
579
  <input type="hidden" id="new_thumbnail_imagelist" name="TB_imagelist" value="" />
580
  <input type="hidden" id="new_thumbnail_bulkaction" name="TB_bulkaction" value="" />
581
  <input type="hidden" name="page" value="manage-images" />
582
- <table width="100%" border="0" cellspacing="3" cellpadding="3" >
583
  <tr valign="top">
584
  <th align="left"><?php _e('Width x height (in pixel)','nggallery') ?></th>
585
  <td><input type="text" size="5" maxlength="5" name="thumbwidth" value="<?php echo $ngg->options['thumbwidth']; ?>" /> x <input type="text" size="5" maxlength="5" name="thumbheight" value="<?php echo $ngg->options['thumbheight']; ?>" />
@@ -594,7 +633,7 @@ if ( $counter == 0 )
594
  <td colspan="2" class="submit">
595
  <input class="button-primary" type="submit" name="TB_NewThumbnail" value="<?php _e('OK', 'nggallery');?>" />
596
  &nbsp;
597
- <input class="button-secondary" type="reset" value="&nbsp;<?php _e('Cancel', 'nggallery'); ?>&nbsp;" onclick="tb_remove()"/>
598
  </td>
599
  </tr>
600
  </table>
@@ -611,24 +650,24 @@ if ( $counter == 0 )
611
  }
612
 
613
  // define the columns to display, the syntax is 'internal name' => 'display name'
614
- function ngg_manage_gallery_columns() {
615
 
616
- $gallery_columns = array();
617
 
618
- $gallery_columns['cb'] = '<input name="checkall" type="checkbox" onclick="checkAll(document.getElementById(\'updategallery\'));" />';
619
- $gallery_columns['id'] = __('ID');
620
- $gallery_columns['thumbnail'] = __('Thumbnail', 'nggallery');
621
 
622
- $gallery_columns['filename'] = __('Filename', 'nggallery');
623
 
624
- $gallery_columns['alt_title_desc'] = __('Alt &amp; Title Text', 'nggallery') . ' / ' . __('Description', 'nggallery');
625
- $gallery_columns['tags'] = __('Tags (comma separated list)', 'nggallery');
626
 
627
- $gallery_columns['exclude'] = __('exclude', 'nggallery');
628
 
629
- $gallery_columns = apply_filters('ngg_manage_gallery_columns', $gallery_columns);
630
 
631
- return $gallery_columns;
632
  }
633
 
634
  ?>
67
  $gallerylist = $nggdb->find_all_galleries();
68
 
69
  //get the columns
70
+ $image_columns = ngg_manage_image_columns();
71
  $hidden_columns = get_hidden_columns('nggallery-manage-images');
72
+ $num_columns = count($image_columns) - count($hidden_columns);
73
 
74
  $attr = (nggGallery::current_user_can( 'NextGEN Edit gallery options' )) ? '' : 'disabled="disabled"';
75
 
76
  ?>
 
 
 
 
 
 
 
 
77
  <script type="text/javascript">
78
  <!--
79
+ function showDialog( windowId, title ) {
 
80
  var form = document.getElementById('updategallery');
81
  var elementlist = "";
82
  for (i = 0, n = form.elements.length; i < n; i++) {
91
  }
92
  jQuery("#" + windowId + "_bulkaction").val(jQuery("#bulkaction").val());
93
  jQuery("#" + windowId + "_imagelist").val(elementlist);
94
+ // now show the dialog
95
+ jQuery( "#" + windowId ).dialog({
96
+ width: 640,
97
+ resizable : false,
98
+ modal: true,
99
+ title: title
100
+ });
101
+ jQuery("#" + windowId + ' .dialog-cancel').click(function() { jQuery( "#" + windowId ).dialog("close"); });
102
  }
103
 
104
+ jQuery(function (){
105
+ // load a content via ajax
106
+ jQuery('a.ngg-dialog').click(function() {
107
+ if ( jQuery( "#spinner" ).length == 0)
108
+ jQuery("body").append('<div id="spinner"></div>');
109
+ var $this = jQuery(this);
110
+ var results = new RegExp('[\\?&]w=([^&#]*)').exec(this.href);
111
+ var width = ( results ) ? results[1] : 600;
112
+ var results = new RegExp('[\\?&]h=([^&#]*)').exec(this.href);
113
+ var height = ( results ) ? results[1] : 440;
114
+ jQuery('#spinner').fadeIn();
115
+ var dialog = jQuery('<div style="display:hidden"></div>').appendTo('body');
116
+ // load the remote content
117
+ dialog.load(
118
+ this.href,
119
+ {},
120
+ function () {
121
+ jQuery('#spinner').hide();
122
+ dialog.dialog({
123
+ title: ($this.attr('title')) ? $this.attr('title') : '',
124
+ width: width,
125
+ height: height,
126
+ modal: true,
127
+ resizable: false,
128
+ close: function() { dialog.remove(); }
129
+ }).width(width - 30).height(height - 30);
130
+ }
131
+ );
132
+ //prevent the browser to follow the link
133
+ return false;
134
+ });
135
+ });
136
+
137
  function checkAll(form)
138
  {
139
  for (i = 0, n = form.elements.length; i < n; i++) {
175
 
176
  switch (actionId) {
177
  case "copy_to":
178
+ showDialog('selectgallery', '<?php echo esc_js(__('Copy image to...','nggallery')); ?>');
179
+ return false;
180
+ break;
181
  case "move_to":
182
+ showDialog('selectgallery', '<?php echo esc_js(__('Move image to...','nggallery')); ?>');
183
  return false;
184
  break;
185
  case "add_tags":
186
+ showDialog('entertags', '<?php echo esc_js(__('Add new tags','nggallery')); ?>');
187
+ return false;
188
+ break;
189
  case "delete_tags":
190
+ showDialog('entertags', '<?php echo esc_js(__('Delete tags','nggallery')); ?>');
191
+ return false;
192
+ break;
193
  case "overwrite_tags":
194
+ showDialog('entertags', '<?php echo esc_js(__('Overwrite','nggallery')); ?>');
195
  return false;
196
  break;
197
  case "resize_images":
198
+ showDialog('resize_images', '<?php echo esc_js(__('Resize images','nggallery')); ?>');
199
  return false;
200
  break;
201
  case "new_thumbnail":
202
+ showDialog('new_thumbnail', '<?php echo esc_js(__('Create new thumbnails','nggallery')); ?>');
203
  return false;
204
  break;
205
  }
216
 
217
  //-->
218
  </script>
 
219
  <div class="wrap">
220
  <?php screen_icon( 'nextgen-gallery' ); ?>
221
  <?php if ($is_search) :?>
272
  <?php
273
  if(is_array($picturelist)) {
274
  foreach($picturelist as $picture) {
275
+ if ($picture->exclude) continue;
276
  $selected = ($picture->pid == $gallery->previewpic) ? 'selected="selected" ' : '';
277
  echo '<option value="'.$picture->pid.'" '.$selected.'>'.$picture->pid.' - '.$picture->filename.'</option>'."\n";
278
  }
336
  <?php endif; ?>
337
  <div class="alignleft actions">
338
  <select id="bulkaction" name="bulkaction">
339
+ <option value="no_action" ><?php _e("Bulk actions",'nggallery'); ?></option>
340
  <option value="set_watermark" ><?php _e("Set watermark",'nggallery'); ?></option>
341
  <option value="new_thumbnail" ><?php _e("Create new thumbnails",'nggallery'); ?></option>
342
  <option value="resize_images" ><?php _e("Resize images",'nggallery'); ?></option>
398
  ?>
399
  <tr id="picture-<?php echo $pid ?>" class="<?php echo $alternate ?> iedit" valign="top">
400
  <?php
401
+ foreach($image_columns as $image_column_key => $column_display_name) {
402
+ $class = "class=\"$image_column_key column-$image_column_key\"";
403
 
404
  $style = '';
405
+ if ( in_array($image_column_key, $hidden_columns) )
406
  $style = ' style="display:none;"';
407
 
408
  $attributes = "$class$style";
409
 
410
+ switch ($image_column_key) {
411
  case 'cb' :
412
  ?>
413
  <th <?php echo $attributes ?> scope="row"><input name="doaction[]" type="checkbox" value="<?php echo $pid ?>" /></th>
434
  <p>
435
  <?php
436
  $actions = array();
 
 
437
  $actions['view'] = '<a class="thickbox" href="' . $picture->imageURL . '" title="' . esc_attr(sprintf(__('View "%s"'), $picture->filename)) . '">' . __('View', 'nggallery') . '</a>';
438
+ $actions['meta'] = '<a class="ngg-dialog" href="' . NGGALLERY_URLPATH . 'admin/showmeta.php?id=' . $pid . '" title="' . __('Show Meta data','nggallery') . '">' . __('Meta', 'nggallery') . '</a>';
439
+ $actions['custom_thumb'] = '<a class="ngg-dialog" href="' . NGGALLERY_URLPATH . 'admin/edit-thumbnail.php?id=' . $pid . '" title="' . __('Customize thumbnail','nggallery') . '">' . __('Edit thumb', 'nggallery') . '</a>';
440
+ $actions['rotate'] = '<a class="ngg-dialog" href="' . NGGALLERY_URLPATH . 'admin/rotate.php?id=' . $pid . '" title="' . __('Rotate','nggallery') . '">' . __('Rotate', 'nggallery') . '</a>';
441
+ if ( current_user_can( 'publish_posts' ) )
442
+ $actions['publish'] = '<a class="ngg-dialog" href="' . NGGALLERY_URLPATH . 'admin/publish.php?id=' . $pid . '&h=230" title="' . __('Publish this image','nggallery') . '">' . __('Publish', 'nggallery') . '</a>';
443
  if ( file_exists( $picture->imagePath . '_backup' ) )
444
  $actions['recover'] = '<a class="confirmrecover" href="' .wp_nonce_url("admin.php?page=nggallery-manage-gallery&amp;mode=recoverpic&amp;gid=" . $act_gid . "&amp;pid=" . $pid, 'ngg_recoverpicture'). '" title="' . __('Recover','nggallery') . '" onclick="javascript:check=confirm( \'' . esc_attr(sprintf(__('Recover "%s" ?' , 'nggallery'), $picture->filename)). '\');if(check==false) return false;">' . __('Recover', 'nggallery') . '</a>';
445
  $actions['delete'] = '<a class="submitdelete" href="' . wp_nonce_url("admin.php?page=nggallery-manage-gallery&amp;mode=delpic&amp;gid=" . $act_gid . "&amp;pid=" . $pid, 'ngg_delpicture'). '" class="delete column-delete" onclick="javascript:check=confirm( \'' . esc_attr(sprintf(__('Delete "%s" ?' , 'nggallery'), $picture->filename)). '\');if(check==false) return false;">' . __('Delete') . '</a>';
461
  if (is_array ($size = $picture->meta_data['thumbnail']) )
462
  $thumbsize = 'width="' . $size['width'] . '" height="' . $size['height'] . '"';
463
  ?>
464
+ <td <?php echo $attributes ?>><a href="<?php echo $picture->imageURL; if(strpos($picture->imageURL, '?')) { echo '&'; } else { echo '?'; } echo mt_rand(); ?>" class="thickbox" title="<?php echo $picture->filename ?>">
465
+ <img class="thumb" src="<?php echo $picture->thumbURL; if(strpos($picture->thumbURL, '?')) { echo '&'; } else { echo '?'; } echo mt_rand(); ?>" <?php echo $thumbsize ?> id="thumb<?php echo $pid ?>" />
466
  </a>
467
  </td>
468
  <?php
489
  break;
490
  default :
491
  ?>
492
+ <td <?php echo $attributes ?>><?php do_action('ngg_manage_image_custom_column', $image_column_key, $pid); ?></td>
493
  <?php
494
  break;
495
  }
538
  <td class="submit">
539
  <input class="button-primary" type="submit" name="TB_EditTags" value="<?php _e("OK",'nggallery'); ?>" />
540
  &nbsp;
541
+ <input class="button-secondary dialog-cancel" type="reset" value="&nbsp;<?php _e("Cancel",'nggallery'); ?>&nbsp;" />
542
  </td>
543
  </tr>
544
  </table>
574
  <td class="submit">
575
  <input type="submit" class="button-primary" name="TB_SelectGallery" value="<?php _e("OK",'nggallery'); ?>" />
576
  &nbsp;
577
+ <input class="button-secondary dialog-cancel" type="reset" value="<?php _e("Cancel",'nggallery'); ?>" />
578
  </td>
579
  </tr>
580
  </table>
603
  <td colspan="2" class="submit">
604
  <input class="button-primary" type="submit" name="TB_ResizeImages" value="<?php _e('OK', 'nggallery'); ?>" />
605
  &nbsp;
606
+ <input class="button-secondary dialog-cancel" type="reset" value="&nbsp;<?php _e('Cancel', 'nggallery'); ?>&nbsp;" />
607
  </td>
608
  </tr>
609
  </table>
618
  <input type="hidden" id="new_thumbnail_imagelist" name="TB_imagelist" value="" />
619
  <input type="hidden" id="new_thumbnail_bulkaction" name="TB_bulkaction" value="" />
620
  <input type="hidden" name="page" value="manage-images" />
621
+ <table width="100%" border="0" cellspacing="3" cellpadding="3" >
622
  <tr valign="top">
623
  <th align="left"><?php _e('Width x height (in pixel)','nggallery') ?></th>
624
  <td><input type="text" size="5" maxlength="5" name="thumbwidth" value="<?php echo $ngg->options['thumbwidth']; ?>" /> x <input type="text" size="5" maxlength="5" name="thumbheight" value="<?php echo $ngg->options['thumbheight']; ?>" />
633
  <td colspan="2" class="submit">
634
  <input class="button-primary" type="submit" name="TB_NewThumbnail" value="<?php _e('OK', 'nggallery');?>" />
635
  &nbsp;
636
+ <input class="button-secondary dialog-cancel" type="reset" value="&nbsp;<?php _e('Cancel', 'nggallery'); ?>&nbsp;" />
637
  </td>
638
  </tr>
639
  </table>
650
  }
651
 
652
  // define the columns to display, the syntax is 'internal name' => 'display name'
653
+ function ngg_manage_image_columns() {
654
 
655
+ $image_columns = array();
656
 
657
+ $image_columns['cb'] = '<input name="checkall" type="checkbox" onclick="checkAll(document.getElementById(\'updategallery\'));" />';
658
+ $image_columns['id'] = __('ID');
659
+ $image_columns['thumbnail'] = __('Thumbnail', 'nggallery');
660
 
661
+ $image_columns['filename'] = __('Filename', 'nggallery');
662
 
663
+ $image_columns['alt_title_desc'] = __('Alt &amp; Title Text', 'nggallery') . ' / ' . __('Description', 'nggallery');
664
+ $image_columns['tags'] = __('Tags (comma separated list)', 'nggallery');
665
 
666
+ $image_columns['exclude'] = __('exclude', 'nggallery');
667
 
668
+ $image_columns = apply_filters('ngg_manage_images_columns', $image_columns);
669
 
670
+ return $image_columns;
671
  }
672
 
673
  ?>
admin/manage-sort.php CHANGED
@@ -27,6 +27,9 @@ function nggallery_sortorder($galleryID = 0){
27
  $wpdb->query("UPDATE $wpdb->nggpictures SET sortorder = '$sortindex' WHERE pid = $pic_id");
28
  $sortindex++;
29
  }
 
 
 
30
  nggGallery::show_message(__('Sort order changed','nggallery'));
31
  }
32
  }
@@ -101,4 +104,4 @@ function nggallery_sortorder($galleryID = 0){
101
 
102
  <?php
103
  }
104
- ?>
27
  $wpdb->query("UPDATE $wpdb->nggpictures SET sortorder = '$sortindex' WHERE pid = $pic_id");
28
  $sortindex++;
29
  }
30
+
31
+ do_action('ngg_gallery_sort', $galleryID);
32
+
33
  nggGallery::show_message(__('Sort order changed','nggallery'));
34
  }
35
  }
104
 
105
  <?php
106
  }
107
+ ?>
admin/manage.php CHANGED
@@ -26,6 +26,9 @@ class nggManageGallery {
26
  // Should be only called via a edit single gallery page
27
  if ( isset($_POST['page']) && $_POST['page'] == 'manage-images' )
28
  $this->post_processor_images();
 
 
 
29
  //Look for other POST process
30
  if ( !empty($_POST) || !empty($_GET) )
31
  $this->processor();
@@ -55,39 +58,6 @@ class nggManageGallery {
55
 
56
  global $wpdb, $ngg, $nggdb;
57
 
58
- // Delete a gallery
59
- if ($this->mode == 'delete') {
60
-
61
- check_admin_referer('ngg_editgallery');
62
-
63
- // get the path to the gallery
64
- $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$this->gid' ");
65
- if ($gallerypath){
66
-
67
- // delete pictures
68
- //TODO:Remove also Tag reference, look here for ids instead filename
69
- $imagelist = $wpdb->get_col("SELECT filename FROM $wpdb->nggpictures WHERE galleryid = '$this->gid' ");
70
- if ($ngg->options['deleteImg']) {
71
- if (is_array($imagelist)) {
72
- foreach ($imagelist as $filename) {
73
- @unlink(WINABSPATH . $gallerypath . '/thumbs/thumbs_' . $filename);
74
- @unlink(WINABSPATH . $gallerypath .'/'. $filename);
75
- }
76
- }
77
- // delete folder
78
- @rmdir( WINABSPATH . $gallerypath . '/thumbs' );
79
- @rmdir( WINABSPATH . $gallerypath );
80
- }
81
- }
82
-
83
- $delete_galllery = nggdb::delete_gallery( $this->gid );
84
-
85
- if($delete_galllery)
86
- nggGallery::show_message( _n( 'Gallery', 'Galleries', 1, 'nggallery' ) . ' \''.$this->gid.'\' '.__('deleted successfully','nggallery'));
87
-
88
- $this->mode = 'main'; // show mainpage
89
- }
90
-
91
  // Delete a picture
92
  if ($this->mode == 'delpic') {
93
 
@@ -167,6 +137,37 @@ class nggManageGallery {
167
  // A prefix 'gallery_' will first fetch all ids from the selected galleries
168
  nggAdmin::do_ajax_operation( 'gallery_import_metadata' , $_POST['doaction'], __('Import metadata','nggallery') );
169
  break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
170
  }
171
  }
172
 
@@ -361,8 +362,11 @@ class nggManageGallery {
361
 
362
  if ( nggGallery::current_user_can( 'NextGEN Edit gallery options' )) {
363
 
364
- if ( nggGallery::current_user_can( 'NextGEN Edit gallery title' ))
365
- $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggallery SET title= '%s' WHERE gid = %d", esc_attr($_POST['title']), $this->gid) );
 
 
 
366
  if ( nggGallery::current_user_can( 'NextGEN Edit gallery path' ))
367
  $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggallery SET path= '%s' WHERE gid = %d", untrailingslashit ( str_replace('\\', '/', trim( stripslashes($_POST['path']) )) ), $this->gid ) );
368
  if ( nggGallery::current_user_can( 'NextGEN Edit gallery description' ))
@@ -418,59 +422,94 @@ class nggManageGallery {
418
  if ($gallery_pageid != 0) {
419
  $result = $wpdb->query("UPDATE $wpdb->nggallery SET title= '$gallery_title', pageid = '$gallery_pageid' WHERE gid = '$this->gid'");
420
  wp_cache_delete($this->gid, 'ngg_gallery');
421
- nggGallery::show_message( __('New gallery page ID','nggallery'). ' ' . $pageid . ' -> <strong>' . $gallery_title . '</strong> ' .__('created','nggallery') );
422
  }
423
  }
424
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
425
 
426
  function update_pictures() {
427
- global $wpdb;
428
 
429
  //TODO:Error message when update failed
430
- //TODO:Combine update in one query per image
431
 
432
- $description = isset ( $_POST['description'] ) ? $_POST['description'] : false;
433
- $alttext = isset ( $_POST['alttext'] ) ? $_POST['alttext'] : false;
434
  $exclude = isset ( $_POST['exclude'] ) ? $_POST['exclude'] : false;
435
  $taglist = isset ( $_POST['tags'] ) ? $_POST['tags'] : false;
436
  $pictures = isset ( $_POST['pid'] ) ? $_POST['pid'] : false;
437
-
438
- if ( is_array($description) ) {
439
- foreach( $description as $key => $value ) {
440
- $desc = $wpdb->escape($value);
441
- $wpdb->query( "UPDATE $wpdb->nggpictures SET description = '$desc' WHERE pid = $key");
442
- wp_cache_delete($key, 'ngg_image');
443
- }
444
- }
445
- if ( is_array($alttext) ){
446
- foreach( $alttext as $key => $value ) {
447
- $alttext = $wpdb->escape($value);
448
- $wpdb->query( "UPDATE $wpdb->nggpictures SET alttext = '$alttext' WHERE pid = $key");
449
- wp_cache_delete($key, 'ngg_image');
450
- }
451
- }
452
 
453
  if ( is_array($pictures) ){
454
  foreach( $pictures as $pid ){
455
- $pid = (int) $pid;
456
- if (is_array($exclude)){
457
- if ( array_key_exists($pid, $exclude) )
458
- $wpdb->query("UPDATE $wpdb->nggpictures SET exclude = 1 WHERE pid = '$pid'");
459
- else
460
- $wpdb->query("UPDATE $wpdb->nggpictures SET exclude = 0 WHERE pid = '$pid'");
461
- } else {
462
- $wpdb->query("UPDATE $wpdb->nggpictures SET exclude = 0 WHERE pid = '$pid'");
463
- }
464
- }
465
- }
466
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
467
  if ( is_array($taglist) ){
468
  foreach($taglist as $key=>$value) {
469
  $tags = explode(',', $value);
470
  wp_set_object_terms($key, $tags, 'ngg_tag');
471
  }
472
  }
473
-
474
  return;
475
  }
476
 
26
  // Should be only called via a edit single gallery page
27
  if ( isset($_POST['page']) && $_POST['page'] == 'manage-images' )
28
  $this->post_processor_images();
29
+ // Should be called via a publish dialog
30
+ if ( isset($_POST['page']) && $_POST['page'] == 'publish-post' )
31
+ $this->publish_post();
32
  //Look for other POST process
33
  if ( !empty($_POST) || !empty($_GET) )
34
  $this->processor();
58
 
59
  global $wpdb, $ngg, $nggdb;
60
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
61
  // Delete a picture
62
  if ($this->mode == 'delpic') {
63
 
137
  // A prefix 'gallery_' will first fetch all ids from the selected galleries
138
  nggAdmin::do_ajax_operation( 'gallery_import_metadata' , $_POST['doaction'], __('Import metadata','nggallery') );
139
  break;
140
+ case 'delete_gallery':
141
+ // Delete gallery
142
+ if ( is_array($_POST['doaction']) ) {
143
+ $deleted = false;
144
+ foreach ( $_POST['doaction'] as $id ) {
145
+ // get the path to the gallery
146
+ $gallery = nggdb::find_gallery($id);
147
+ if ($gallery){
148
+ //TODO:Remove also Tag reference, look here for ids instead filename
149
+ $imagelist = $wpdb->get_col("SELECT filename FROM $wpdb->nggpictures WHERE galleryid = '$gallery->gid' ");
150
+ if ($ngg->options['deleteImg']) {
151
+ if (is_array($imagelist)) {
152
+ foreach ($imagelist as $filename) {
153
+ @unlink(WINABSPATH . $gallery->path . '/thumbs/thumbs_' . $filename);
154
+ @unlink(WINABSPATH . $gallery->path .'/'. $filename);
155
+ @unlink(WINABSPATH . $gallery->path .'/'. $filename . '_backup');
156
+ }
157
+ }
158
+ // delete folder
159
+ @rmdir( WINABSPATH . $gallery->path . '/thumbs' );
160
+ @rmdir( WINABSPATH . $gallery->path );
161
+ }
162
+ }
163
+
164
+ $deleted = nggdb::delete_gallery( $id );
165
+ }
166
+
167
+ if($deleted)
168
+ nggGallery::show_message(__('Gallery deleted successfully ', 'nggallery'));
169
+ }
170
+ break;
171
  }
172
  }
173
 
362
 
363
  if ( nggGallery::current_user_can( 'NextGEN Edit gallery options' )) {
364
 
365
+ if ( nggGallery::current_user_can( 'NextGEN Edit gallery title' )) {
366
+ // don't forget to update the slug
367
+ $slug = nggdb::get_unique_slug( sanitize_title( $_POST['title'] ), 'gallery' );
368
+ $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggallery SET title= '%s', slug= '%s' WHERE gid = %d", esc_attr($_POST['title']), $slug, $this->gid) );
369
+ }
370
  if ( nggGallery::current_user_can( 'NextGEN Edit gallery path' ))
371
  $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggallery SET path= '%s' WHERE gid = %d", untrailingslashit ( str_replace('\\', '/', trim( stripslashes($_POST['path']) )) ), $this->gid ) );
372
  if ( nggGallery::current_user_can( 'NextGEN Edit gallery description' ))
422
  if ($gallery_pageid != 0) {
423
  $result = $wpdb->query("UPDATE $wpdb->nggallery SET title= '$gallery_title', pageid = '$gallery_pageid' WHERE gid = '$this->gid'");
424
  wp_cache_delete($this->gid, 'ngg_gallery');
425
+ nggGallery::show_message( __('New gallery page ID','nggallery'). ' ' . $gallery_pageid . ' -> <strong>' . $gallery_title . '</strong> ' .__('created','nggallery') );
426
  }
427
  }
428
  }
429
+
430
+ /**
431
+ * Publish a new post with the shortcode from the selected image
432
+ *
433
+ * @since 1.7.0
434
+ * @return void
435
+ */
436
+ function publish_post() {
437
+
438
+ check_admin_referer('publish-post');
439
+
440
+ // Create a WP page
441
+ global $user_ID, $ngg;
442
+
443
+ $ngg->options['publish_width'] = (int) $_POST['width'];
444
+ $ngg->options['publish_height'] = (int) $_POST['height'];
445
+ $ngg->options['publish_align'] = $_POST['align'];
446
+ $align = ( $ngg->options['publish_align'] == 'none') ? '' : 'float='.$ngg->options['publish_align'];
447
+
448
+ //save the new values for the next operation
449
+ update_option('ngg_options', $ngg->options);
450
+
451
+ $post['post_type'] = 'post';
452
+ $post['post_content'] = '[singlepic id=' . intval($_POST['pid']) . ' w=' . $ngg->options['publish_width'] . ' h=' . $ngg->options['publish_height'] . ' ' . $align . ']';
453
+ $post['post_author'] = $user_ID;
454
+ $post['post_status'] = isset ( $_POST['publish'] ) ? 'publish' : 'draft';
455
+ $post['post_title'] = $_POST['post_title'];
456
+ $post = apply_filters('ngg_add_new_post', $post, $_POST['pid']);
457
+
458
+ $post_id = wp_insert_post ($post);
459
+
460
+ if ($post_id != 0)
461
+ nggGallery::show_message( __('Published a new post','nggallery') );
462
+
463
+ }
464
 
465
  function update_pictures() {
466
+ global $wpdb, $nggdb;
467
 
468
  //TODO:Error message when update failed
 
469
 
470
+ $description = isset ( $_POST['description'] ) ? $_POST['description'] : array();
471
+ $alttext = isset ( $_POST['alttext'] ) ? $_POST['alttext'] : array();
472
  $exclude = isset ( $_POST['exclude'] ) ? $_POST['exclude'] : false;
473
  $taglist = isset ( $_POST['tags'] ) ? $_POST['tags'] : false;
474
  $pictures = isset ( $_POST['pid'] ) ? $_POST['pid'] : false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
475
 
476
  if ( is_array($pictures) ){
477
  foreach( $pictures as $pid ){
478
+ $image = $nggdb->find_image( $pid );
479
+ if ($image) {
480
+ // description field
481
+ $image->description = $description[$image->pid];
482
+
483
+ // only uptade this field if someone change the alttext
484
+ if ( $image->alttext != $alttext[$image->pid] ) {
485
+ $image->alttext = $alttext[$image->pid];
486
+ $image->image_slug = nggdb::get_unique_slug( sanitize_title( $image->alttext ), 'image' );
487
+ }
488
+
489
+ // set exclude flag
490
+ if ( is_array($exclude) )
491
+ $image->exclude = ( array_key_exists($image->pid, $exclude) )? 1 : 0;
492
+ else
493
+ $image->exclude = 0;
494
+
495
+ // update the database
496
+ $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggpictures SET image_slug = '%s', alttext = '%s', description = '%s', exclude = %d WHERE pid = %d",
497
+ $image->image_slug, $image->alttext, $image->description, $image->exclude, $image->pid) );
498
+ // remove from cache
499
+ wp_cache_delete($image->pid, 'ngg_image');
500
+ }
501
+
502
+ }
503
+ }
504
+
505
+ //TODO: This produce 300-400 queries !
506
  if ( is_array($taglist) ){
507
  foreach($taglist as $key=>$value) {
508
  $tags = explode(',', $value);
509
  wp_set_object_terms($key, $tags, 'ngg_tag');
510
  }
511
  }
512
+
513
  return;
514
  }
515
 
admin/media-upload.php CHANGED
@@ -70,12 +70,10 @@ function media_upload_nextgen_save_image() {
70
 
71
  if ( !empty($_POST['image']) ) foreach ( $_POST['image'] as $image_id => $image ) {
72
 
73
- // Function save desription
74
- $alttext = esc_attr($image['alttext']);
75
- $description = esc_attr($image['description']);
76
-
77
- $wpdb->query("UPDATE $wpdb->nggpictures SET alttext= '$alttext', description = '$description' WHERE pid = '$image_id'");
78
-
79
  }
80
  }
81
 
70
 
71
  if ( !empty($_POST['image']) ) foreach ( $_POST['image'] as $image_id => $image ) {
72
 
73
+ // create a unique slug
74
+ $image_slug = nggdb::get_unique_slug( sanitize_title( $image['alttext'] ), 'image' );
75
+ $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggpictures SET image_slug= '%s', alttext= '%s', description = '%s' WHERE pid = %d", $image_slug, $image['alttext'], $image['description'], $image_id));
76
+ wp_cache_delete($image_id, 'ngg_image');
 
 
77
  }
78
  }
79
 
admin/overview.php CHANGED
@@ -118,7 +118,7 @@ function ngg_likeThisMetaBox() {
118
 
119
  $url = 'http://alexrabe.de/wordpress-plugins/wordtube/translation-of-plugins/';
120
  echo "<li style='padding-left: 38px; background:transparent url(" . NGGALLERY_URLPATH . "admin/images/icon-translate.png ) no-repeat scroll center left; background-position: 16px 50%; text-decoration: none;'><a href='{$url}'>";
121
- _e("Help to translating it.", 'nggallery');
122
  echo "</a></li>";
123
 
124
  echo '</ul>';
118
 
119
  $url = 'http://alexrabe.de/wordpress-plugins/wordtube/translation-of-plugins/';
120
  echo "<li style='padding-left: 38px; background:transparent url(" . NGGALLERY_URLPATH . "admin/images/icon-translate.png ) no-repeat scroll center left; background-position: 16px 50%; text-decoration: none;'><a href='{$url}'>";
121
+ _e("Help translating it.", 'nggallery');
122
  echo "</a></li>";
123
 
124
  echo '</ul>';
admin/publish.php ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+
4
+ Custom thumbnail for NGG
5
+ Author : Simone Fumagalli | simone@iliveinperego.com
6
+ More info and update : http://www.iliveinperego.com/rotate_for_ngg/
7
+
8
+ Credits:
9
+ NextGen Gallery : Alex Rabe | http://alexrabe.boelinger.com/wordpress-plugins/nextgen-gallery/
10
+
11
+ **/
12
+
13
+ require_once( dirname( dirname(__FILE__) ) . '/ngg-config.php');
14
+ require_once( NGGALLERY_ABSPATH . '/lib/image.php' );
15
+
16
+ if ( !is_user_logged_in() )
17
+ die(__('Cheatin&#8217; uh?'));
18
+
19
+ if ( !current_user_can('NextGEN Manage gallery') )
20
+ die(__('Cheatin&#8217; uh?'));
21
+
22
+ if ( !current_user_can( 'publish_posts' ) )
23
+ die(__('Cheatin&#8217; uh?'));
24
+
25
+ global $wpdb;
26
+
27
+ $id = (int) $_GET['id'];
28
+
29
+ // let's get the image data
30
+ $picture = nggdb::find_image($id);
31
+
32
+ // use defaults the first time
33
+ $width = empty ($ngg->options['publish_width']) ? $ngg->options['thumbwidth'] : $ngg->options['publish_width'];
34
+ $height = empty ($ngg->options['publish_height']) ? $ngg->options['thumbheight'] : $ngg->options['publish_height'];
35
+ $align = empty ($ngg->options['publish_align']) ? 'none' : $ngg->options['publish_align'];
36
+
37
+ ?>
38
+
39
+ <form id="form-publish-post" method="POST" accept-charset="utf-8">
40
+ <?php wp_nonce_field('publish-post') ?>
41
+ <input type="hidden" name="page" value="publish-post" />
42
+ <input type="hidden" name="pid" value="<?php echo $picture->pid; ?>" />
43
+ <table width="100%" border="0" cellspacing="3" cellpadding="3" >
44
+ <tr valign="top">
45
+ <th align="left"><?php _e('Post title','nggallery') ?></th>
46
+ <td><input type="text" size="70" name="post_title" value="<?php echo $picture->alttext; ?>" />
47
+ <br /><small><?php _e('Enter the post title ','nggallery') ?></small></td>
48
+ </tr>
49
+ <tr valign="top">
50
+ <th align="left"><?php _e('Width x height (in pixel)','nggallery') ?></th>
51
+ <td><input type="text" size="5" maxlength="5" name="width" value="<?php echo $width; ?>" /> x <input type="text" size="5" maxlength="5" name="height" value="<?php echo $height; ?>" />
52
+ <br /><small><?php _e('Size of the image','nggallery') ?></small></td>
53
+ </tr>
54
+ <tr valign="top">
55
+ <th align="left"><?php _e('Alignment','nggallery') ?></th>
56
+ <td><input type="radio" value="none" <?php checked('none', $align); ?> id="image-align-none" name="align"/>
57
+ <label class="align" for="image-align-none"><?php _e('None','nggallery'); ?></label>
58
+ <input type="radio" value="left" <?php checked('left', $align); ?> id="image-align-left" name="align"/>
59
+ <label class="align" for="image-align-left"><?php _e('Left','nggallery'); ?></label>
60
+ <input type="radio" value="center" <?php checked('center', $align); ?> id="image-align-center" name="align"/>
61
+ <label class="align" for="image-align-center"><?php _e('Center','nggallery'); ?></label>
62
+ <input type="radio" value="right" <?php checked('right', $align); ?> id="image-align-right" name="align"/>
63
+ <label class="align" for="image-align-right"><?php _e('Right','nggallery'); ?></label>
64
+ </td>
65
+ </tr>
66
+ <tr align="right">
67
+ <td colspan="2" class="submit">
68
+ <input class="button-primary" type="submit" name="publish" value="<?php _e('Publish', 'nggallery');?>" />
69
+ &nbsp;
70
+ <input class="button-secondary" type="submit" name="draft" value="&nbsp;<?php _e('Draft', 'nggallery'); ?>&nbsp;" />
71
+ </td>
72
+ </tr>
73
+ </table>
74
+ </form>
admin/roles.php CHANGED
@@ -26,7 +26,7 @@ if ( isset($_POST['update_cap']) ) {
26
  <div class="wrap">
27
  <?php screen_icon( 'nextgen-gallery' ); ?>
28
  <h2><?php _e('Roles / capabilities', 'nggallery') ;?></h2>
29
- <p><?php _e('Select the lowest role which should be able to access the follow capabilities. NextGEN Gallery supports the standard roles from WordPress.', 'nggallery') ?> <br />
30
  <?php _e('For a more flexible user management you can use the', 'nggallery') ?> <a href="http://wordpress.org/extend/plugins/capsman/" target="_blank">Capability Manager</a>.</p>
31
  <form name="addroles" id="addroles" method="POST" accept-charset="utf-8" >
32
  <?php wp_nonce_field('ngg_addroles') ?>
26
  <div class="wrap">
27
  <?php screen_icon( 'nextgen-gallery' ); ?>
28
  <h2><?php _e('Roles / capabilities', 'nggallery') ;?></h2>
29
+ <p><?php _e('Select the lowest role which should be able to access the following capabilities. NextGEN Gallery supports the standard roles from WordPress.', 'nggallery') ?> <br />
30
  <?php _e('For a more flexible user management you can use the', 'nggallery') ?> <a href="http://wordpress.org/extend/plugins/capsman/" target="_blank">Capability Manager</a>.</p>
31
  <form name="addroles" id="addroles" method="POST" accept-charset="utf-8" >
32
  <?php wp_nonce_field('ngg_addroles') ?>
admin/rotate.php CHANGED
@@ -36,7 +36,7 @@ $thumb->resize(350,350);
36
  $resizedPreviewInfo = $thumb->newDimensions;
37
  $thumb->destruct();
38
 
39
- $preview_image = site_url() . '/' . 'index.php?callback=image&amp;pid=' . $picture->pid . '&amp;width=350&amp;height=350';
40
 
41
  ?>
42
 
36
  $resizedPreviewInfo = $thumb->newDimensions;
37
  $thumb->destruct();
38
 
39
+ $preview_image = home_url() . '/' . 'index.php?callback=image&amp;pid=' . $picture->pid . '&amp;width=350&amp;height=350';
40
 
41
  ?>
42
 
admin/settings.php CHANGED
@@ -75,7 +75,8 @@ class nggOptions {
75
  }
76
 
77
  if ( isset($_POST['clearcache']) ) {
78
-
 
79
  $path = WINABSPATH . $ngg->options['gallerypath'] . 'cache/';
80
 
81
  if (is_dir($path))
@@ -90,6 +91,12 @@ class nggOptions {
90
 
91
  nggGallery::show_message(__('Cache cleared','nggallery'));
92
  }
 
 
 
 
 
 
93
 
94
  do_action( 'ngg_update_options_page' );
95
 
@@ -108,6 +115,7 @@ class nggOptions {
108
  ?>
109
  <script type="text/javascript">
110
  jQuery(document).ready(function(){
 
111
  jQuery("a.switch-expert").hide();
112
  /*
113
  jQuery(".expert").hide();
@@ -218,7 +226,7 @@ class nggOptions {
218
  ?>
219
  <!-- General Options -->
220
  <h2><?php _e('General Options','nggallery'); ?></h2>
221
- <form name="generaloptions" method="post">
222
  <?php wp_nonce_field('ngg_settings') ?>
223
  <input type="hidden" name="page_options" value="gallerypath,deleteImg,useMediaRSS,usePicLens,usePermalinks,graphicLibrary,imageMagickDir,activateTags,appendType,maxImages" />
224
  <table class="form-table ngg-options">
@@ -238,7 +246,12 @@ class nggOptions {
238
  <?php _e('When you activate this option, you need to update your permalink structure one time.','nggallery'); ?></td>
239
  </tr>
240
  <tr class="expert">
241
- <th valign="top"><?php _e('Select graphic library','nggallery'); ?>:</th>
 
 
 
 
 
242
  <td><label><input name="graphicLibrary" type="radio" value="gd" <?php checked('gd', $ngg->options['graphicLibrary']); ?> /> <?php _e('GD Library', 'nggallery') ;?></label><br />
243
  <label><input name="graphicLibrary" type="radio" value="im" <?php checked('im', $ngg->options['graphicLibrary']); ?> /> <?php _e('ImageMagick (Experimental). Path to the library :', 'nggallery') ;?>&nbsp;
244
  <input <?php if (is_multisite()) echo 'readonly = "readonly"'; ?> type="text" size="35" name="imageMagickDir" value="<?php echo $ngg->options['imageMagickDir']; ?>" /></label>
@@ -258,19 +271,19 @@ class nggOptions {
258
  <h3 class="expert"><?php _e('Tags / Categories','nggallery'); ?></h3>
259
  <table class="expert form-table ngg-options">
260
  <tr>
261
- <th valign="top"><?php _e('Activate related images','nggallery'); ?>:</th>
262
  <td><input name="activateTags" type="checkbox" value="1" <?php checked('1', $ngg->options['activateTags']); ?> />
263
  <?php _e('This option will append related images to every post','nggallery'); ?>
264
  </td>
265
  </tr>
266
  <tr>
267
- <th valign="top"><?php _e('Match with','nggallery') ?>:</th>
268
  <td><label><input name="appendType" type="radio" value="category" <?php checked('category', $ngg->options['appendType']); ?> /> <?php _e('Categories', 'nggallery') ;?></label><br />
269
  <label><input name="appendType" type="radio" value="tags" <?php checked('tags', $ngg->options['appendType']); ?> /> <?php _e('Tags', 'nggallery') ;?></label>
270
  </td>
271
  </tr>
272
  <tr>
273
- <th valign="top"><?php _e('Max. number of images','nggallery') ?>:</th>
274
  <td><input type="text" name="maxImages" value="<?php echo $ngg->options['maxImages']; ?>" size="3" maxlength="3" />
275
  <span class="setting-description"><?php _e('0 will show all images','nggallery'); ?></span>
276
  </td>
@@ -371,59 +384,59 @@ class nggOptions {
371
  <input type="hidden" name="page_options" value="galNoPages,galImages,galColumns,galShowSlide,galTextSlide,galTextGallery,galShowOrder,galImgBrowser,galSort,galSortDir,galHiddenImg,galAjaxNav" />
372
  <table class="form-table ngg-options">
373
  <tr class="expert" >
374
- <th valign="top"><?php _e('Deactivate gallery page link','nggallery') ?>:</th>
375
  <td><input name="galNoPages" type="checkbox" value="1" <?php checked('1', $ngg->options['galNoPages']); ?> />
376
  <?php _e('The album will not link to a gallery subpage. The gallery is shown on the same page.','nggallery') ?>
377
  </td>
378
  </tr>
379
  <tr>
380
- <th valign="top"><?php _e('Number of images per page','nggallery') ?>:</th>
381
  <td><input type="text" name="galImages" value="<?php echo $ngg->options['galImages']; ?>" size="3" maxlength="3" />
382
  <span class="setting-description"><?php _e('0 will disable pagination, all images on one page','nggallery') ?></span>
383
  </td>
384
  </tr>
385
  <tr>
386
- <th valign="top"><?php _e('Number of columns','nggallery') ?>:</th>
387
  <td><input type="text" name="galColumns" value="<?php echo $ngg->options['galColumns']; ?>" size="3" maxlength="3" />
388
  <span class="setting-description"><?php _e('0 will display as much as possible based on the width of your theme. Setting normally only required for captions below the images','nggallery') ?></span>
389
  </td>
390
  </tr>
391
  <tr>
392
- <th valign="top"><?php _e('Integrate slideshow','nggallery') ?>:</th>
393
  <td><input name="galShowSlide" type="checkbox" value="1" <?php checked('1', $ngg->options['galShowSlide']); ?> />
394
  <input type="text" name="galTextSlide" value="<?php echo $ngg->options['galTextSlide'] ?>" size="20" />
395
  <input type="text" name="galTextGallery" value="<?php echo $ngg->options['galTextGallery'] ?>" size="20" />
396
  </td>
397
  </tr>
398
  <tr class="expert" >
399
- <th valign="top"><?php _e('Show first','nggallery') ?>:</th>
400
  <td><label><input name="galShowOrder" type="radio" value="gallery" <?php checked('gallery', $ngg->options['galShowOrder']); ?> /> <?php _e('Thumbnails', 'nggallery') ;?></label><br />
401
  <label><input name="galShowOrder" type="radio" value="slide" <?php checked('slide', $ngg->options['galShowOrder']); ?> /> <?php _e('Slideshow', 'nggallery') ;?></label>
402
  </td>
403
  </tr>
404
  <tr class="expert" >
405
- <th valign="top"><?php _e('Show ImageBrowser','nggallery'); ?>:</th>
406
  <td><input name="galImgBrowser" type="checkbox" value="1" <?php checked('1', $ngg->options['galImgBrowser']); ?> />
407
  <?php _e('The gallery will open the ImageBrowser instead the effect.', 'nggallery'); ?>
408
  </td>
409
  </tr>
410
  <tr class="expert" >
411
- <th valign="top"><?php _e('Add hidden images','nggallery'); ?>:</th>
412
  <td><input name="galHiddenImg" type="checkbox" value="1" <?php checked('1', $ngg->options['galHiddenImg']); ?> />
413
- <?php _e('If pagination is used, this option will still show all images in the modal window (Thickbox, Lightbox etc.). Note : This increase the page load','nggallery'); ?>
414
  </td>
415
  </tr>
416
  <tr class="expert" >
417
- <th valign="top"><?php _e('Enable AJAX pagination','nggallery'); ?>:</th>
418
  <td><input name="galAjaxNav" type="checkbox" value="1" <?php checked('1', $ngg->options['galAjaxNav']); ?> />
419
- <?php _e('Browse images without reload the page. Note : Work only in combination with Shutter effect','nggallery'); ?>
420
  </td>
421
  </tr>
422
  </table>
423
  <h3 class="expert" ><?php _e('Sort options','nggallery') ?></h3>
424
  <table class="expert form-table ngg-options">
425
  <tr>
426
- <th valign="top"><?php _e('Sort thumbnails','nggallery') ?>:</th>
427
  <td>
428
  <label><input name="galSort" type="radio" value="sortorder" <?php checked('sortorder', $ngg->options['galSort']); ?> /> <?php _e('Custom order', 'nggallery') ;?></label><br />
429
  <label><input name="galSort" type="radio" value="pid" <?php checked('pid', $ngg->options['galSort']); ?> /> <?php _e('Image ID', 'nggallery') ;?></label><br />
@@ -433,7 +446,7 @@ class nggOptions {
433
  </td>
434
  </tr>
435
  <tr>
436
- <th valign="top"><?php _e('Sort direction','nggallery') ?>:</th>
437
  <td><label><input name="galSortDir" type="radio" value="ASC" <?php checked('ASC', $ngg->options['galSortDir']); ?> /> <?php _e('Ascending', 'nggallery') ;?></label><br />
438
  <label><input name="galSortDir" type="radio" value="DESC" <?php checked('DESC', $ngg->options['galSortDir']); ?> /> <?php _e('Descending', 'nggallery') ;?></label>
439
  </td>
@@ -457,7 +470,7 @@ class nggOptions {
457
  <?php _e('With the placeholder','nggallery'); ?><strong> %GALLERY_NAME% </strong> <?php _e('you can activate a navigation through the images (depend on the effect). Change the code line only , when you use a different thumbnail effect or you know what you do.','nggallery'); ?></p>
458
  <table class="form-table ngg-options">
459
  <tr valign="top">
460
- <th><?php _e('JavaScript Thumbnail effect','nggallery') ?>:</th>
461
  <td>
462
  <select size="1" id="thumbEffect" name="thumbEffect" onchange="insertcode(this.value)">
463
  <option value="none" <?php selected('none', $ngg->options['thumbEffect']); ?> ><?php _e('None', 'nggallery') ;?></option>
@@ -470,7 +483,7 @@ class nggOptions {
470
  </td>
471
  </tr>
472
  <tr class="expert" valign="top">
473
- <th><?php _e('Link Code line','nggallery') ?> :</th>
474
  <td><textarea id="thumbCode" name="thumbCode" cols="50" rows="5"><?php echo htmlspecialchars(stripslashes($ngg->options['thumbCode'])); ?></textarea></td>
475
  </tr>
476
  </table>
@@ -487,7 +500,7 @@ class nggOptions {
487
 
488
  // take the first image as sample
489
  $imageID = $wpdb->get_var("SELECT MIN(pid) FROM $wpdb->nggpictures");
490
- $imageURL = ($imageID) ? $imageURL = '<img src="'. site_url() . '/' . 'index.php?callback=image&amp;pid=' . intval ($imageID) . '&amp;mode=watermark&amp;width=300&amp;height=250" />' : '';
491
 
492
  ?>
493
  <!-- Watermark settings -->
@@ -543,7 +556,7 @@ class nggOptions {
543
  <h3><label><input type="radio" name="wmType" value="image" <?php checked('image', $ngg->options['wmType']); ?> /> <?php _e('Use image as watermark','nggallery') ?></label></h3>
544
  <table class="wm-table form-table">
545
  <tr>
546
- <th><?php _e('URL to file','nggallery') ?> :</th>
547
  <td><input type="text" size="40" name="wmPath" value="<?php echo $ngg->options['wmPath']; ?>" /><br />
548
  <?php if(!ini_get('allow_url_fopen')) _e('The accessing of URL files is disabled at your server (allow_url_fopen)','nggallery') ?> </td>
549
  </tr>
@@ -551,7 +564,7 @@ class nggOptions {
551
  <h3><label><input type="radio" name="wmType" value="text" <?php checked('text', $ngg->options['wmType']); ?> /> <?php _e('Use text as watermark','nggallery') ?></label></h3>
552
  <table class="wm-table form-table">
553
  <tr>
554
- <th><?php _e('Font','nggallery') ?>:</th>
555
  <td><select name="wmFont" size="1"> <?php
556
  $fontlist = ngg_get_TTFfont();
557
  foreach ( $fontlist as $fontfile ) {
@@ -567,20 +580,20 @@ class nggOptions {
567
  </td>
568
  </tr>
569
  <tr>
570
- <th><?php _e('Size','nggallery') ?>:</th>
571
  <td><input type="text" name="wmSize" value="<?php echo $ngg->options['wmSize']; ?>" size="4" maxlength="2" /> px</td>
572
  </tr>
573
  <tr>
574
- <th><?php _e('Color','nggallery') ?>:</th>
575
  <td><input class="picker" type="text" size="6" maxlength="6" id="wmColor" name="wmColor" onchange="setcolor('#previewText', this.value)" value="<?php echo $ngg->options['wmColor'] ?>" />
576
  <input type="text" size="1" readonly="readonly" id="previewText" style="background-color: #<?php echo $ngg->options['wmColor']; ?>" /> <?php _e('(hex w/o #)','nggallery') ?></td>
577
  </tr>
578
  <tr>
579
- <th valign="top"><?php _e('Text','nggallery') ?>:</th>
580
  <td><textarea name="wmText" cols="40" rows="4"><?php echo $ngg->options['wmText'] ?></textarea></td>
581
  </tr>
582
  <tr>
583
- <th><?php _e('Opaque','nggallery') ?>:</th>
584
  <td><input type="text" name="wmOpaque" value="<?php echo $ngg->options['wmOpaque'] ?>" size="3" maxlength="3" /> % </td>
585
  </tr>
586
  </table>
@@ -601,16 +614,16 @@ class nggOptions {
601
  <h2><?php _e('Slideshow','nggallery'); ?></h2>
602
  <table class="form-table ngg-options">
603
  <tr>
604
- <th><?php _e('Default size (W x H)','nggallery') ?>:</th>
605
  <td><input type="text" size="3" maxlength="4" name="irWidth" value="<?php echo $ngg->options['irWidth']; ?>" /> x
606
  <input type="text" size="3" maxlength="4" name="irHeight" value="<?php echo $ngg->options['irHeight']; ?>" /></td>
607
  </tr>
608
  <tr>
609
- <th><?php _e('Duration time','nggallery') ?>:</th>
610
  <td><input type="text" size="3" maxlength="3" name="irRotatetime" value="<?php echo $ngg->options['irRotatetime'] ?>" /> <?php _e('sec.', 'nggallery') ;?></td>
611
  </tr>
612
  <tr>
613
- <th><?php _e('Transition / Fade effect','nggallery') ?>:</th>
614
  <td>
615
  <select size="1" name="slideFx">
616
  <option value="fade" <?php selected('fade', $ngg->options['slideFx']); ?> ><?php _e('fade', 'nggallery') ;?></option>
@@ -640,41 +653,41 @@ class nggOptions {
640
  <?php }?>
641
  <table class="expert form-table ngg-options">
642
  <tr>
643
- <th><?php _e('Enable flash slideshow','nggallery') ?>:</th>
644
  <td><input name="enableIR" type="checkbox" value="1" <?php checked('1', $ngg->options['enableIR']); ?> />
645
- <span class="setting-description"><?php _e('Integrate the flash based sildeshow for all flash supported devices','nggallery') ?></span></td>
646
  </tr>
647
  <tr>
648
- <th><?php _e('Path to the Imagerotator (URL)','nggallery') ?>:</th>
649
  <td>
650
  <input type="text" size="50" id="irURL" name="irURL" value="<?php echo $ngg->options['irURL']; ?>" />
651
  <input type="submit" name="irDetect" class="button-secondary" value="<?php _e('Search now','nggallery') ;?> &raquo;"/>
652
- <br /><span class="setting-description"><?php _e('Press the button to search automatic for the imagerotator, if you uploaded it to wp-content/uploads or a subfolder','nggallery') ?></span>
653
  </td>
654
  </tr>
655
  <tr>
656
- <th><?php _e('Shuffle mode','nggallery') ?>:</th>
657
  <td><input name="irShuffle" type="checkbox" value="1" <?php checked('1', $ngg->options['irShuffle']); ?> /></td>
658
  </tr>
659
  <tr class="expert">
660
- <th><?php _e('Show next image on click','nggallery') ?>:</th>
661
  <td><input name="irLinkfromdisplay" type="checkbox" value="1" <?php checked('1', $ngg->options['irLinkfromdisplay']); ?> /></td>
662
  </tr>
663
  <tr class="expert">
664
- <th><?php _e('Show navigation bar','nggallery') ?>:</th>
665
  <td><input name="irShownavigation" type="checkbox" value="1" <?php checked('1', $ngg->options['irShownavigation']); ?> /></td>
666
  </tr>
667
  <tr class="expert">
668
- <th><?php _e('Show loading icon','nggallery') ?>:</th>
669
  <td><input name="irShowicons" type="checkbox" value="1" <?php checked('1', $ngg->options['irShowicons']); ?> /></td>
670
  </tr>
671
  <tr class="expert">
672
- <th><?php _e('Use watermark logo','nggallery') ?>:</th>
673
  <td><input name="irWatermark" type="checkbox" value="1" <?php checked('1', $ngg->options['irWatermark']); ?> />
674
  <span class="setting-description"><?php _e('You can change the logo at the watermark settings','nggallery') ?></span></td>
675
  </tr>
676
  <tr class="expert">
677
- <th><?php _e('Stretch image','nggallery') ?>:</th>
678
  <td>
679
  <select size="1" name="irOverstretch">
680
  <option value="true" <?php selected('true', $ngg->options['irOverstretch']); ?> ><?php _e('true', 'nggallery') ;?></option>
@@ -685,7 +698,7 @@ class nggOptions {
685
  </td>
686
  </tr>
687
  <tr>
688
- <th><?php _e('Transition / Fade effect','nggallery') ?>:</th>
689
  <td>
690
  <select size="1" name="irTransition">
691
  <option value="fade" <?php selected('fade', $ngg->options['irTransition']); ?> ><?php _e('fade', 'nggallery') ;?></option>
@@ -702,35 +715,35 @@ class nggOptions {
702
  </td>
703
  </tr>
704
  <tr class="expert">
705
- <th><?php _e('Use slow zooming effect','nggallery') ?>:</th>
706
  <td><input name="irKenburns" type="checkbox" value="1" <?php checked('1', $ngg->options['irKenburns']); ?> /></td>
707
  </tr>
708
  <tr>
709
- <th><?php _e('Background Color','nggallery') ?>:</th>
710
  <td><input class="picker" type="text" size="6" maxlength="6" id="irBackcolor" name="irBackcolor" onchange="setcolor('#previewBack', this.value)" value="<?php echo $ngg->options['irBackcolor'] ?>" />
711
  <input type="text" size="1" readonly="readonly" id="previewBack" style="background-color: #<?php echo $ngg->options['irBackcolor'] ?>" /></td>
712
  </tr>
713
  <tr>
714
- <th><?php _e('Texts / Buttons Color','nggallery') ?>:</th>
715
  <td><input class="picker" type="text" size="6" maxlength="6" id="irFrontcolor" name="irFrontcolor" onchange="setcolor('#previewFront', this.value)" value="<?php echo $ngg->options['irFrontcolor'] ?>" />
716
  <input type="text" size="1" readonly="readonly" id="previewFront" style="background-color: #<?php echo $ngg->options['irFrontcolor'] ?>" /></td>
717
  </tr>
718
  <tr class="expert">
719
- <th><?php _e('Rollover / Active Color','nggallery') ?>:</th>
720
  <td><input class="picker" type="text" size="6" maxlength="6" id="irLightcolor" name="irLightcolor" onchange="setcolor('#previewLight', this.value)" value="<?php echo $ngg->options['irLightcolor'] ?>" />
721
  <input type="text" size="1" readonly="readonly" id="previewLight" style="background-color: #<?php echo $ngg->options['irLightcolor'] ?>" /></td>
722
  </tr>
723
  <tr class="expert">
724
- <th><?php _e('Screen Color','nggallery') ?>:</th>
725
  <td><input class="picker" type="text" size="6" maxlength="6" id="irScreencolor" name="irScreencolor" onchange="setcolor('#previewScreen', this.value)" value="<?php echo $ngg->options['irScreencolor'] ?>" />
726
  <input type="text" size="1" readonly="readonly" id="previewScreen" style="background-color: #<?php echo $ngg->options['irScreencolor'] ?>" /></td>
727
  </tr>
728
  <tr class="expert">
729
- <th><?php _e('Background music (URL)','nggallery') ?>:</th>
730
  <td><input type="text" size="50" id="irAudio" name="irAudio" value="<?php echo $ngg->options['irAudio'] ?>" /></td>
731
  </tr>
732
  <tr class="expert">
733
- <th ><?php _e('Try XHTML validation (with CDATA)','nggallery') ?>:</th>
734
  <td><input name="irXHTMLvalid" type="checkbox" value="1" <?php checked('1', $ngg->options['irXHTMLvalid']); ?> />
735
  <span class="setting-description"><?php _e('Important : Could causes problem at some browser. Please recheck your page.','nggallery') ?></span></td>
736
  </tr>
75
  }
76
 
77
  if ( isset($_POST['clearcache']) ) {
78
+ check_admin_referer('ngg_settings');
79
+
80
  $path = WINABSPATH . $ngg->options['gallerypath'] . 'cache/';
81
 
82
  if (is_dir($path))
91
 
92
  nggGallery::show_message(__('Cache cleared','nggallery'));
93
  }
94
+
95
+ if ( isset($_POST['createslugs']) ) {
96
+ check_admin_referer('ngg_settings');
97
+ include_once (dirname (__FILE__) . '/upgrade.php');
98
+ ngg_rebuild_unique_slugs::init();
99
+ }
100
 
101
  do_action( 'ngg_update_options_page' );
102
 
115
  ?>
116
  <script type="text/javascript">
117
  jQuery(document).ready(function(){
118
+ jQuery('html,body').scrollTop(0);
119
  jQuery("a.switch-expert").hide();
120
  /*
121
  jQuery(".expert").hide();
226
  ?>
227
  <!-- General Options -->
228
  <h2><?php _e('General Options','nggallery'); ?></h2>
229
+ <form name="generaloptions" method="post" action="<?php echo $this->filepath; ?>">
230
  <?php wp_nonce_field('ngg_settings') ?>
231
  <input type="hidden" name="page_options" value="gallerypath,deleteImg,useMediaRSS,usePicLens,usePermalinks,graphicLibrary,imageMagickDir,activateTags,appendType,maxImages" />
232
  <table class="form-table ngg-options">
246
  <?php _e('When you activate this option, you need to update your permalink structure one time.','nggallery'); ?></td>
247
  </tr>
248
  <tr class="expert">
249
+ <th valign="top"><?php _e('Create new URL friendly image slugs','nggallery'); ?></th>
250
+ <td><input type="submit" name="createslugs" class="button-secondary" value="<?php _e('Proceed now','nggallery') ;?> &raquo;"/>
251
+ <?php _e('Currently not used, prepare database for upcoming version','nggallery'); ?></td>
252
+ </tr>
253
+ <tr class="expert">
254
+ <th valign="top"><?php _e('Select graphic library','nggallery'); ?></th>
255
  <td><label><input name="graphicLibrary" type="radio" value="gd" <?php checked('gd', $ngg->options['graphicLibrary']); ?> /> <?php _e('GD Library', 'nggallery') ;?></label><br />
256
  <label><input name="graphicLibrary" type="radio" value="im" <?php checked('im', $ngg->options['graphicLibrary']); ?> /> <?php _e('ImageMagick (Experimental). Path to the library :', 'nggallery') ;?>&nbsp;
257
  <input <?php if (is_multisite()) echo 'readonly = "readonly"'; ?> type="text" size="35" name="imageMagickDir" value="<?php echo $ngg->options['imageMagickDir']; ?>" /></label>
271
  <h3 class="expert"><?php _e('Tags / Categories','nggallery'); ?></h3>
272
  <table class="expert form-table ngg-options">
273
  <tr>
274
+ <th valign="top"><?php _e('Activate related images','nggallery'); ?></th>
275
  <td><input name="activateTags" type="checkbox" value="1" <?php checked('1', $ngg->options['activateTags']); ?> />
276
  <?php _e('This option will append related images to every post','nggallery'); ?>
277
  </td>
278
  </tr>
279
  <tr>
280
+ <th valign="top"><?php _e('Match with','nggallery'); ?></th>
281
  <td><label><input name="appendType" type="radio" value="category" <?php checked('category', $ngg->options['appendType']); ?> /> <?php _e('Categories', 'nggallery') ;?></label><br />
282
  <label><input name="appendType" type="radio" value="tags" <?php checked('tags', $ngg->options['appendType']); ?> /> <?php _e('Tags', 'nggallery') ;?></label>
283
  </td>
284
  </tr>
285
  <tr>
286
+ <th valign="top"><?php _e('Max. number of images','nggallery'); ?></th>
287
  <td><input type="text" name="maxImages" value="<?php echo $ngg->options['maxImages']; ?>" size="3" maxlength="3" />
288
  <span class="setting-description"><?php _e('0 will show all images','nggallery'); ?></span>
289
  </td>
384
  <input type="hidden" name="page_options" value="galNoPages,galImages,galColumns,galShowSlide,galTextSlide,galTextGallery,galShowOrder,galImgBrowser,galSort,galSortDir,galHiddenImg,galAjaxNav" />
385
  <table class="form-table ngg-options">
386
  <tr class="expert" >
387
+ <th valign="top"><?php _e('Deactivate gallery page link','nggallery') ?></th>
388
  <td><input name="galNoPages" type="checkbox" value="1" <?php checked('1', $ngg->options['galNoPages']); ?> />
389
  <?php _e('The album will not link to a gallery subpage. The gallery is shown on the same page.','nggallery') ?>
390
  </td>
391
  </tr>
392
  <tr>
393
+ <th valign="top"><?php _e('Number of images per page','nggallery') ?></th>
394
  <td><input type="text" name="galImages" value="<?php echo $ngg->options['galImages']; ?>" size="3" maxlength="3" />
395
  <span class="setting-description"><?php _e('0 will disable pagination, all images on one page','nggallery') ?></span>
396
  </td>
397
  </tr>
398
  <tr>
399
+ <th valign="top"><?php _e('Number of columns','nggallery'); ?></th>
400
  <td><input type="text" name="galColumns" value="<?php echo $ngg->options['galColumns']; ?>" size="3" maxlength="3" />
401
  <span class="setting-description"><?php _e('0 will display as much as possible based on the width of your theme. Setting normally only required for captions below the images','nggallery') ?></span>
402
  </td>
403
  </tr>
404
  <tr>
405
+ <th valign="top"><?php _e('Integrate slideshow','nggallery'); ?></th>
406
  <td><input name="galShowSlide" type="checkbox" value="1" <?php checked('1', $ngg->options['galShowSlide']); ?> />
407
  <input type="text" name="galTextSlide" value="<?php echo $ngg->options['galTextSlide'] ?>" size="20" />
408
  <input type="text" name="galTextGallery" value="<?php echo $ngg->options['galTextGallery'] ?>" size="20" />
409
  </td>
410
  </tr>
411
  <tr class="expert" >
412
+ <th valign="top"><?php _e('Show first','nggallery'); ?></th>
413
  <td><label><input name="galShowOrder" type="radio" value="gallery" <?php checked('gallery', $ngg->options['galShowOrder']); ?> /> <?php _e('Thumbnails', 'nggallery') ;?></label><br />
414
  <label><input name="galShowOrder" type="radio" value="slide" <?php checked('slide', $ngg->options['galShowOrder']); ?> /> <?php _e('Slideshow', 'nggallery') ;?></label>
415
  </td>
416
  </tr>
417
  <tr class="expert" >
418
+ <th valign="top"><?php _e('Show ImageBrowser','nggallery'); ?></th>
419
  <td><input name="galImgBrowser" type="checkbox" value="1" <?php checked('1', $ngg->options['galImgBrowser']); ?> />
420
  <?php _e('The gallery will open the ImageBrowser instead the effect.', 'nggallery'); ?>
421
  </td>
422
  </tr>
423
  <tr class="expert" >
424
+ <th valign="top"><?php _e('Add hidden images','nggallery'); ?></th>
425
  <td><input name="galHiddenImg" type="checkbox" value="1" <?php checked('1', $ngg->options['galHiddenImg']); ?> />
426
+ <?php _e('If pagination is used, this option will still show all images in the modal window (Thickbox, Lightbox etc.). Note : This increases the page load','nggallery'); ?>
427
  </td>
428
  </tr>
429
  <tr class="expert" >
430
+ <th valign="top"><?php _e('Enable AJAX pagination','nggallery'); ?></th>
431
  <td><input name="galAjaxNav" type="checkbox" value="1" <?php checked('1', $ngg->options['galAjaxNav']); ?> />
432
+ <?php _e('Browse images without reload the page. Note : Works only in combination with Shutter effect','nggallery'); ?>
433
  </td>
434
  </tr>
435
  </table>
436
  <h3 class="expert" ><?php _e('Sort options','nggallery') ?></h3>
437
  <table class="expert form-table ngg-options">
438
  <tr>
439
+ <th valign="top"><?php _e('Sort thumbnails','nggallery') ?></th>
440
  <td>
441
  <label><input name="galSort" type="radio" value="sortorder" <?php checked('sortorder', $ngg->options['galSort']); ?> /> <?php _e('Custom order', 'nggallery') ;?></label><br />
442
  <label><input name="galSort" type="radio" value="pid" <?php checked('pid', $ngg->options['galSort']); ?> /> <?php _e('Image ID', 'nggallery') ;?></label><br />
446
  </td>
447
  </tr>
448
  <tr>
449
+ <th valign="top"><?php _e('Sort direction','nggallery') ?></th>
450
  <td><label><input name="galSortDir" type="radio" value="ASC" <?php checked('ASC', $ngg->options['galSortDir']); ?> /> <?php _e('Ascending', 'nggallery') ;?></label><br />
451
  <label><input name="galSortDir" type="radio" value="DESC" <?php checked('DESC', $ngg->options['galSortDir']); ?> /> <?php _e('Descending', 'nggallery') ;?></label>
452
  </td>
470
  <?php _e('With the placeholder','nggallery'); ?><strong> %GALLERY_NAME% </strong> <?php _e('you can activate a navigation through the images (depend on the effect). Change the code line only , when you use a different thumbnail effect or you know what you do.','nggallery'); ?></p>
471
  <table class="form-table ngg-options">
472
  <tr valign="top">
473
+ <th><?php _e('JavaScript Thumbnail effect','nggallery') ?></th>
474
  <td>
475
  <select size="1" id="thumbEffect" name="thumbEffect" onchange="insertcode(this.value)">
476
  <option value="none" <?php selected('none', $ngg->options['thumbEffect']); ?> ><?php _e('None', 'nggallery') ;?></option>
483
  </td>
484
  </tr>
485
  <tr class="expert" valign="top">
486
+ <th><?php _e('Link Code line','nggallery') ?></th>
487
  <td><textarea id="thumbCode" name="thumbCode" cols="50" rows="5"><?php echo htmlspecialchars(stripslashes($ngg->options['thumbCode'])); ?></textarea></td>
488
  </tr>
489
  </table>
500
 
501
  // take the first image as sample
502
  $imageID = $wpdb->get_var("SELECT MIN(pid) FROM $wpdb->nggpictures");
503
+ $imageURL = ($imageID) ? $imageURL = '<img src="'. home_url() . '/' . 'index.php?callback=image&amp;pid=' . intval ($imageID) . '&amp;mode=watermark&amp;width=300&amp;height=250" />' : '';
504
 
505
  ?>
506
  <!-- Watermark settings -->
556
  <h3><label><input type="radio" name="wmType" value="image" <?php checked('image', $ngg->options['wmType']); ?> /> <?php _e('Use image as watermark','nggallery') ?></label></h3>
557
  <table class="wm-table form-table">
558
  <tr>
559
+ <th><?php _e('URL to file','nggallery') ?></th>
560
  <td><input type="text" size="40" name="wmPath" value="<?php echo $ngg->options['wmPath']; ?>" /><br />
561
  <?php if(!ini_get('allow_url_fopen')) _e('The accessing of URL files is disabled at your server (allow_url_fopen)','nggallery') ?> </td>
562
  </tr>
564
  <h3><label><input type="radio" name="wmType" value="text" <?php checked('text', $ngg->options['wmType']); ?> /> <?php _e('Use text as watermark','nggallery') ?></label></h3>
565
  <table class="wm-table form-table">
566
  <tr>
567
+ <th><?php _e('Font','nggallery') ?></th>
568
  <td><select name="wmFont" size="1"> <?php
569
  $fontlist = ngg_get_TTFfont();
570
  foreach ( $fontlist as $fontfile ) {
580
  </td>
581
  </tr>
582
  <tr>
583
+ <th><?php _e('Size','nggallery') ?></th>
584
  <td><input type="text" name="wmSize" value="<?php echo $ngg->options['wmSize']; ?>" size="4" maxlength="2" /> px</td>
585
  </tr>
586
  <tr>
587
+ <th><?php _e('Color','nggallery') ?></th>
588
  <td><input class="picker" type="text" size="6" maxlength="6" id="wmColor" name="wmColor" onchange="setcolor('#previewText', this.value)" value="<?php echo $ngg->options['wmColor'] ?>" />
589
  <input type="text" size="1" readonly="readonly" id="previewText" style="background-color: #<?php echo $ngg->options['wmColor']; ?>" /> <?php _e('(hex w/o #)','nggallery') ?></td>
590
  </tr>
591
  <tr>
592
+ <th valign="top"><?php _e('Text','nggallery') ?></th>
593
  <td><textarea name="wmText" cols="40" rows="4"><?php echo $ngg->options['wmText'] ?></textarea></td>
594
  </tr>
595
  <tr>
596
+ <th><?php _e('Opaque','nggallery') ?></th>
597
  <td><input type="text" name="wmOpaque" value="<?php echo $ngg->options['wmOpaque'] ?>" size="3" maxlength="3" /> % </td>
598
  </tr>
599
  </table>
614
  <h2><?php _e('Slideshow','nggallery'); ?></h2>
615
  <table class="form-table ngg-options">
616
  <tr>
617
+ <th><?php _e('Default size (W x H)','nggallery') ?></th>
618
  <td><input type="text" size="3" maxlength="4" name="irWidth" value="<?php echo $ngg->options['irWidth']; ?>" /> x
619
  <input type="text" size="3" maxlength="4" name="irHeight" value="<?php echo $ngg->options['irHeight']; ?>" /></td>
620
  </tr>
621
  <tr>
622
+ <th><?php _e('Duration time','nggallery') ?></th>
623
  <td><input type="text" size="3" maxlength="3" name="irRotatetime" value="<?php echo $ngg->options['irRotatetime'] ?>" /> <?php _e('sec.', 'nggallery') ;?></td>
624
  </tr>
625
  <tr>
626
+ <th><?php _e('Transition / Fade effect','nggallery') ?></th>
627
  <td>
628
  <select size="1" name="slideFx">
629
  <option value="fade" <?php selected('fade', $ngg->options['slideFx']); ?> ><?php _e('fade', 'nggallery') ;?></option>
653
  <?php }?>
654
  <table class="expert form-table ngg-options">
655
  <tr>
656
+ <th><?php _e('Enable flash slideshow','nggallery') ?></th>
657
  <td><input name="enableIR" type="checkbox" value="1" <?php checked('1', $ngg->options['enableIR']); ?> />
658
+ <span class="setting-description"><?php _e('Integrate the flash based slideshow for all flash supported devices','nggallery') ?></span></td>
659
  </tr>
660
  <tr>
661
+ <th><?php _e('Path to the Imagerotator (URL)','nggallery') ?></th>
662
  <td>
663
  <input type="text" size="50" id="irURL" name="irURL" value="<?php echo $ngg->options['irURL']; ?>" />
664
  <input type="submit" name="irDetect" class="button-secondary" value="<?php _e('Search now','nggallery') ;?> &raquo;"/>
665
+ <br /><span class="setting-description"><?php _e('Press the button to search automatically for the imagerotator, if you uploaded it to wp-content/uploads or a subfolder','nggallery') ?></span>
666
  </td>
667
  </tr>
668
  <tr>
669
+ <th><?php _e('Shuffle mode','nggallery') ?></th>
670
  <td><input name="irShuffle" type="checkbox" value="1" <?php checked('1', $ngg->options['irShuffle']); ?> /></td>
671
  </tr>
672
  <tr class="expert">
673
+ <th><?php _e('Show next image on click','nggallery') ?></th>
674
  <td><input name="irLinkfromdisplay" type="checkbox" value="1" <?php checked('1', $ngg->options['irLinkfromdisplay']); ?> /></td>
675
  </tr>
676
  <tr class="expert">
677
+ <th><?php _e('Show navigation bar','nggallery') ?></th>
678
  <td><input name="irShownavigation" type="checkbox" value="1" <?php checked('1', $ngg->options['irShownavigation']); ?> /></td>
679
  </tr>
680
  <tr class="expert">
681
+ <th><?php _e('Show loading icon','nggallery') ?></th>
682
  <td><input name="irShowicons" type="checkbox" value="1" <?php checked('1', $ngg->options['irShowicons']); ?> /></td>
683
  </tr>
684
  <tr class="expert">
685
+ <th><?php _e('Use watermark logo','nggallery') ?></th>
686
  <td><input name="irWatermark" type="checkbox" value="1" <?php checked('1', $ngg->options['irWatermark']); ?> />
687
  <span class="setting-description"><?php _e('You can change the logo at the watermark settings','nggallery') ?></span></td>
688
  </tr>
689
  <tr class="expert">
690
+ <th><?php _e('Stretch image','nggallery') ?></th>
691
  <td>
692
  <select size="1" name="irOverstretch">
693
  <option value="true" <?php selected('true', $ngg->options['irOverstretch']); ?> ><?php _e('true', 'nggallery') ;?></option>
698
  </td>
699
  </tr>
700
  <tr>
701
+ <th><?php _e('Transition / Fade effect','nggallery') ?></th>
702
  <td>
703
  <select size="1" name="irTransition">
704
  <option value="fade" <?php selected('fade', $ngg->options['irTransition']); ?> ><?php _e('fade', 'nggallery') ;?></option>
715
  </td>
716
  </tr>
717
  <tr class="expert">
718
+ <th><?php _e('Use slow zooming effect','nggallery') ?></th>
719
  <td><input name="irKenburns" type="checkbox" value="1" <?php checked('1', $ngg->options['irKenburns']); ?> /></td>
720
  </tr>
721
  <tr>
722
+ <th><?php _e('Background Color','nggallery') ?></th>
723
  <td><input class="picker" type="text" size="6" maxlength="6" id="irBackcolor" name="irBackcolor" onchange="setcolor('#previewBack', this.value)" value="<?php echo $ngg->options['irBackcolor'] ?>" />
724
  <input type="text" size="1" readonly="readonly" id="previewBack" style="background-color: #<?php echo $ngg->options['irBackcolor'] ?>" /></td>
725
  </tr>
726
  <tr>
727
+ <th><?php _e('Texts / Buttons Color','nggallery') ?></th>
728
  <td><input class="picker" type="text" size="6" maxlength="6" id="irFrontcolor" name="irFrontcolor" onchange="setcolor('#previewFront', this.value)" value="<?php echo $ngg->options['irFrontcolor'] ?>" />
729
  <input type="text" size="1" readonly="readonly" id="previewFront" style="background-color: #<?php echo $ngg->options['irFrontcolor'] ?>" /></td>
730
  </tr>
731
  <tr class="expert">
732
+ <th><?php _e('Rollover / Active Color','nggallery') ?></th>
733
  <td><input class="picker" type="text" size="6" maxlength="6" id="irLightcolor" name="irLightcolor" onchange="setcolor('#previewLight', this.value)" value="<?php echo $ngg->options['irLightcolor'] ?>" />
734
  <input type="text" size="1" readonly="readonly" id="previewLight" style="background-color: #<?php echo $ngg->options['irLightcolor'] ?>" /></td>
735
  </tr>
736
  <tr class="expert">
737
+ <th><?php _e('Screen Color','nggallery') ?></th>
738
  <td><input class="picker" type="text" size="6" maxlength="6" id="irScreencolor" name="irScreencolor" onchange="setcolor('#previewScreen', this.value)" value="<?php echo $ngg->options['irScreencolor'] ?>" />
739
  <input type="text" size="1" readonly="readonly" id="previewScreen" style="background-color: #<?php echo $ngg->options['irScreencolor'] ?>" /></td>
740
  </tr>
741
  <tr class="expert">
742
+ <th><?php _e('Background music (URL)','nggallery') ?></th>
743
  <td><input type="text" size="50" id="irAudio" name="irAudio" value="<?php echo $ngg->options['irAudio'] ?>" /></td>
744
  </tr>
745
  <tr class="expert">
746
+ <th ><?php _e('Try XHTML validation (with CDATA)','nggallery') ?></th>
747
  <td><input name="irXHTMLvalid" type="checkbox" value="1" <?php checked('1', $ngg->options['irXHTMLvalid']); ?> />
748
  <span class="setting-description"><?php _e('Important : Could causes problem at some browser. Please recheck your page.','nggallery') ?></span></td>
749
  </tr>
admin/tinymce/editor_plugin.js CHANGED
@@ -18,7 +18,8 @@
18
 
19
  ed.addCommand('mceNextGEN', function() {
20
  ed.windowManager.open({
21
- file : url + '/window.php',
 
22
  width : 360 + ed.getLang('NextGEN.delta_width', 0),
23
  height : 210 + ed.getLang('NextGEN.delta_height', 0),
24
  inline : 1
@@ -73,6 +74,4 @@
73
 
74
  // Register plugin
75
  tinymce.PluginManager.add('NextGEN', tinymce.plugins.NextGEN);
76
- })();
77
-
78
-
18
 
19
  ed.addCommand('mceNextGEN', function() {
20
  ed.windowManager.open({
21
+ // call content via admin-ajax, no need to know the full plugin path
22
+ file : ajaxurl + '?action=ngg_tinymce',
23
  width : 360 + ed.getLang('NextGEN.delta_width', 0),
24
  height : 210 + ed.getLang('NextGEN.delta_height', 0),
25
  inline : 1
74
 
75
  // Register plugin
76
  tinymce.PluginManager.add('NextGEN', tinymce.plugins.NextGEN);
77
+ })();
 
 
admin/tinymce/tinymce.php CHANGED
@@ -12,7 +12,7 @@ class add_nextgen_button {
12
 
13
  var $pluginname = 'NextGEN';
14
  var $path = '';
15
- var $internalVersion = 100;
16
 
17
  /**
18
  * add_nextgen_button::add_nextgen_button()
12
 
13
  var $pluginname = 'NextGEN';
14
  var $path = '';
15
+ var $internalVersion = 200;
16
 
17
  /**
18
  * add_nextgen_button::add_nextgen_button()
admin/tinymce/window.php CHANGED
@@ -1,16 +1,12 @@
1
  <?php
2
 
3
- // look up for the path
4
- require_once( dirname( dirname( dirname(__FILE__) ) ) . '/ngg-config.php');
5
-
6
- // check for rights
7
- if ( !current_user_can('edit_pages') && !current_user_can('edit_posts') )
8
- wp_die(__("You are not allowed to be here"));
9
-
10
  global $wpdb, $nggdb;
11
 
 
12
  ?>
13
-
14
  <html xmlns="http://www.w3.org/1999/xhtml">
15
  <head>
16
  <title>NextGEN Gallery</title>
@@ -18,9 +14,26 @@ global $wpdb, $nggdb;
18
  <script language="javascript" type="text/javascript" src="<?php echo site_url(); ?>/wp-includes/js/tinymce/tiny_mce_popup.js"></script>
19
  <script language="javascript" type="text/javascript" src="<?php echo site_url(); ?>/wp-includes/js/tinymce/utils/mctabs.js"></script>
20
  <script language="javascript" type="text/javascript" src="<?php echo site_url(); ?>/wp-includes/js/tinymce/utils/form_utils.js"></script>
 
 
 
21
  <script language="javascript" type="text/javascript" src="<?php echo NGGALLERY_URLPATH ?>admin/tinymce/tinymce.js"></script>
22
- <base target="_self" />
 
23
  </head>
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  <body id="link" onload="tinyMCEPopup.executeOnLoad('init();');document.body.style.display='';document.getElementById('gallerytag').focus();" style="display: none">
25
  <!-- <form onsubmit="insertLink();return false;" action="#"> -->
26
  <form name="NextGEN" action="#">
@@ -38,19 +51,11 @@ global $wpdb, $nggdb;
38
  <br />
39
  <table border="0" cellpadding="4" cellspacing="0">
40
  <tr>
41
- <td nowrap="nowrap"><label for="gallerytag"><?php _e("Select gallery", 'nggallery'); ?></label></td>
42
  <td><select id="gallerytag" name="gallerytag" style="width: 200px">
43
- <option value="0"><?php _e("No gallery", 'nggallery'); ?></option>
44
- <?php
45
- $gallerylist = $nggdb->find_all_galleries('gid', 'DESC');
46
- if(is_array($gallerylist)) {
47
- foreach($gallerylist as $gallery) {
48
- $name = ( empty($gallery->title) ) ? $gallery->name : $gallery->title;
49
- echo '<option value="' . $gallery->gid . '" >' . $gallery->gid . ' - ' . $name . '</option>' . "\n";
50
- }
51
- }
52
- ?>
53
- </select></td>
54
  </tr>
55
  <tr>
56
  <td nowrap="nowrap" valign="top"><label for="showtype"><?php _e("Show as", 'nggallery'); ?></label></td>
@@ -67,18 +72,11 @@ global $wpdb, $nggdb;
67
  <br />
68
  <table border="0" cellpadding="4" cellspacing="0">
69
  <tr>
70
- <td nowrap="nowrap"><label for="albumtag"><?php _e("Select album", 'nggallery'); ?></label></td>
71
  <td><select id="albumtag" name="albumtag" style="width: 200px">
72
- <option value="0"><?php _e("No album", 'nggallery'); ?></option>
73
- <?php
74
- $albumlist = $wpdb->get_results("SELECT * FROM $wpdb->nggalbum ORDER BY id DESC");
75
- if(is_array($albumlist)) {
76
- foreach($albumlist as $album) {
77
- echo '<option value="' . $album->id . '" >' . $album->id . ' - ' . $album->name . '</option>'."\n";
78
- }
79
- }
80
- ?>
81
- </select></td>
82
  </tr>
83
  <tr>
84
  <td nowrap="nowrap" valign="top"><label for="showtype"><?php _e("Show as", 'nggallery'); ?></label></td>
@@ -94,18 +92,11 @@ global $wpdb, $nggdb;
94
  <br />
95
  <table border="0" cellpadding="4" cellspacing="0">
96
  <tr>
97
- <td nowrap="nowrap"><label for="singlepictag"><?php _e("Select picture", 'nggallery'); ?></label></td>
98
  <td><select id="singlepictag" name="singlepictag" style="width: 200px">
99
- <option value="0"><?php _e("No picture", 'nggallery'); ?></option>
100
- <?php
101
- $picturelist = $wpdb->get_results("SELECT * FROM $wpdb->nggpictures ORDER BY pid DESC");
102
- if(is_array($picturelist)) {
103
- foreach($picturelist as $picture) {
104
- echo '<option value="' . $picture->pid . '" >'. $picture->pid . ' - ' . $picture->filename.'</option>'."\n";
105
- }
106
- }
107
- ?>
108
- </select></td>
109
  </tr>
110
  <tr>
111
  <td nowrap="nowrap"><?php _e("Width x Height", 'nggallery'); ?></td>
@@ -149,4 +140,4 @@ global $wpdb, $nggdb;
149
  </div>
150
  </form>
151
  </body>
152
- </html>
1
  <?php
2
 
3
+ if ( !defined('ABSPATH') )
4
+ die('You are not allowed to call this page directly.');
5
+
 
 
 
 
6
  global $wpdb, $nggdb;
7
 
8
+ @header('Content-Type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
9
  ?>
 
10
  <html xmlns="http://www.w3.org/1999/xhtml">
11
  <head>
12
  <title>NextGEN Gallery</title>
14
  <script language="javascript" type="text/javascript" src="<?php echo site_url(); ?>/wp-includes/js/tinymce/tiny_mce_popup.js"></script>
15
  <script language="javascript" type="text/javascript" src="<?php echo site_url(); ?>/wp-includes/js/tinymce/utils/mctabs.js"></script>
16
  <script language="javascript" type="text/javascript" src="<?php echo site_url(); ?>/wp-includes/js/tinymce/utils/form_utils.js"></script>
17
+ <script language="javascript" type="text/javascript" src="<?php echo site_url(); ?>/wp-includes/js/jquery/jquery.js"></script>
18
+ <script language="javascript" type="text/javascript" src="<?php echo NGGALLERY_URLPATH ?>admin/js/jquery-ui-1.8.6.min.js"></script>
19
+ <script language="javascript" type="text/javascript" src="<?php echo NGGALLERY_URLPATH ?>admin/js/ngg.autocomplete.js"></script>
20
  <script language="javascript" type="text/javascript" src="<?php echo NGGALLERY_URLPATH ?>admin/tinymce/tinymce.js"></script>
21
+ <link rel="stylesheet" type="text/css" href="<?php echo NGGALLERY_URLPATH ?>admin/css/jquery.ui.css" media="all" />
22
+ <base target="_self" />
23
  </head>
24
+ <script type="text/javascript">
25
+ jQuery(document).ready(function(){
26
+ jQuery("#gallerytag").nggAutocomplete( {
27
+ type: 'gallery',domain: "<?php echo site_url(); ?>/"
28
+ });
29
+ jQuery("#albumtag").nggAutocomplete( {
30
+ type: 'album',domain: "<?php echo site_url(); ?>/"
31
+ });
32
+ jQuery("#singlepictag").nggAutocomplete( {
33
+ type: 'image',domain: "<?php echo site_url(); ?>/"
34
+ });
35
+ });
36
+ </script>
37
  <body id="link" onload="tinyMCEPopup.executeOnLoad('init();');document.body.style.display='';document.getElementById('gallerytag').focus();" style="display: none">
38
  <!-- <form onsubmit="insertLink();return false;" action="#"> -->
39
  <form name="NextGEN" action="#">
51
  <br />
52
  <table border="0" cellpadding="4" cellspacing="0">
53
  <tr>
54
+ <td nowrap="nowrap"><label for="gallerytag"><?php _e("Gallery", 'nggallery'); ?></label></td>
55
  <td><select id="gallerytag" name="gallerytag" style="width: 200px">
56
+ <option value="0" selected="selected"><?php _e("Select or enter gallery", 'nggallery'); ?></option>
57
+ </select>
58
+ </td>
 
 
 
 
 
 
 
 
59
  </tr>
60
  <tr>
61
  <td nowrap="nowrap" valign="top"><label for="showtype"><?php _e("Show as", 'nggallery'); ?></label></td>
72
  <br />
73
  <table border="0" cellpadding="4" cellspacing="0">
74
  <tr>
75
+ <td nowrap="nowrap"><label for="albumtag"><?php _e("Album", 'nggallery'); ?></label></td>
76
  <td><select id="albumtag" name="albumtag" style="width: 200px">
77
+ <option value="0" selected="selected"><?php _e("Select or enter album", 'nggallery'); ?></option>
78
+ </select>
79
+ </td>
 
 
 
 
 
 
 
80
  </tr>
81
  <tr>
82
  <td nowrap="nowrap" valign="top"><label for="showtype"><?php _e("Show as", 'nggallery'); ?></label></td>
92
  <br />
93
  <table border="0" cellpadding="4" cellspacing="0">
94
  <tr>
95
+ <td nowrap="nowrap"><label for="singlepictag"><?php _e("Picture", 'nggallery'); ?></label></td>
96
  <td><select id="singlepictag" name="singlepictag" style="width: 200px">
97
+ <option value="0" selected="selected"><?php _e("Select or enter picture", 'nggallery'); ?></option>
98
+ </select>
99
+ </td>
 
 
 
 
 
 
 
100
  </tr>
101
  <tr>
102
  <td nowrap="nowrap"><?php _e("Width x Height", 'nggallery'); ?></td>
140
  </div>
141
  </form>
142
  </body>
143
+ </html>
admin/upgrade.php CHANGED
@@ -1,7 +1,4 @@
1
  <?php
2
-
3
- if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); }
4
-
5
  /**
6
  * ngg_upgrade() - update routine for older version
7
  *
@@ -14,11 +11,13 @@ function ngg_upgrade() {
14
  // get the current user ID
15
  get_currentuserinfo();
16
 
17
- // in multisite environment the pointer $wpdb->nggpictures will not work
18
- $nggpictures = $wpdb->prefix . 'ngg_pictures';
 
 
19
 
20
- // Be sure that the tables exist
21
- if( $wpdb->get_var("show tables like '$nggpictures'") == $nggpictures) {
22
 
23
  echo __('Upgrade database structure...', 'nggallery');
24
  $wpdb->show_errors();
@@ -95,6 +94,14 @@ function ngg_upgrade() {
95
  // add link from album to a page
96
  ngg_maybe_add_column( $wpdb->nggalbum, 'pageid', "BIGINT(20) DEFAULT '0' NOT NULL AFTER sortorder");
97
  }
 
 
 
 
 
 
 
 
98
 
99
  // update now the database
100
  update_option( "ngg_db_version", NGG_DBVERSION );
@@ -161,6 +168,19 @@ function ngg_upgrade() {
161
  echo __('Updated options.', 'nggallery');
162
  }
163
 
 
 
 
 
 
 
 
 
 
 
 
 
 
164
  return;
165
  }
166
 
@@ -346,9 +366,111 @@ function nggallery_start_upgrade($filepath) {
346
  <div class="wrap">
347
  <h2><?php _e('Upgrade NextGEN Gallery', 'nggallery') ;?></h2>
348
  <p><?php ngg_upgrade();?></p>
349
- <p><?php _e('Upgrade finished...', 'nggallery') ;?></p>
350
- <h3><a href="<?php echo $filepath;?>"><?php _e('Continue', 'nggallery'); ?>...</a></h3>
351
  </div>
352
  <?php
353
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
354
  ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php
 
 
 
2
  /**
3
  * ngg_upgrade() - update routine for older version
4
  *
11
  // get the current user ID
12
  get_currentuserinfo();
13
 
14
+ // in multisite environment the pointer $wpdb->nggpictures need to be set again
15
+ $wpdb->nggpictures = $wpdb->prefix . 'ngg_pictures';
16
+ $wpdb->nggallery = $wpdb->prefix . 'ngg_gallery';
17
+ $wpdb->nggalbum = $wpdb->prefix . 'ngg_album';
18
 
19
+ // Be sure that the tables exist, avoid case sensitive : http://dev.mysql.com/doc/refman/5.1/en/identifier-case-sensitivity.html
20
+ if( $wpdb->get_var( "SHOW TABLES LIKE '$wpdb->nggpictures'" ) ) {
21
 
22
  echo __('Upgrade database structure...', 'nggallery');
23
  $wpdb->show_errors();
94
  // add link from album to a page
95
  ngg_maybe_add_column( $wpdb->nggalbum, 'pageid', "BIGINT(20) DEFAULT '0' NOT NULL AFTER sortorder");
96
  }
97
+
98
+ // v1.4.0 -> v1.7.0
99
+ if (version_compare($installed_ver, '1.7.0', '<')) {
100
+ // add slug fields
101
+ ngg_maybe_add_column( $wpdb->nggpictures, 'image_slug', "VARCHAR(255) NOT NULL AFTER pid");
102
+ ngg_maybe_add_column( $wpdb->nggalbum, 'slug', "VARCHAR(255) NOT NULL AFTER name");
103
+ ngg_maybe_add_column( $wpdb->nggallery, 'slug', "VARCHAR(255) NOT NULL AFTER name");
104
+ }
105
 
106
  // update now the database
107
  update_option( "ngg_db_version", NGG_DBVERSION );
168
  echo __('Updated options.', 'nggallery');
169
  }
170
 
171
+ if (version_compare($installed_ver, '1.7.0', '<')) {
172
+ // Network blogs need to call this manually
173
+ if ( !is_multisite() ) {
174
+ ?>
175
+ <h2><?php _e('Create unique slug', 'nggallery') ;?></h2>
176
+ <p><?php _e('One of the upcomming features are a reworked permalinks structure.', 'nggallery') ;?>
177
+ <?php _e('Therefore it\'s needed to have a unique identifier for each image, gallery and album.', 'nggallery'); ?><br />
178
+ <?php _e('Depend on the amount of database entries this will take a while, don\'t reload this page.', 'nggallery') ;?></p>
179
+ <?php
180
+ ngg_rebuild_unique_slugs::init();
181
+ }
182
+
183
+ }
184
  return;
185
  }
186
 
366
  <div class="wrap">
367
  <h2><?php _e('Upgrade NextGEN Gallery', 'nggallery') ;?></h2>
368
  <p><?php ngg_upgrade();?></p>
369
+ <p class="finished"><?php _e('Upgrade finished...', 'nggallery') ;?></p>
370
+ <h3><a class="finished" href="<?php echo $filepath;?>"><?php _e('Continue', 'nggallery'); ?>...</a></h3>
371
  </div>
372
  <?php
373
+ }
374
+
375
+ /**
376
+ * Rebuild slugs for albums, galleries and images via AJAX request
377
+ *
378
+ * @sine 1.7.0
379
+ * @access internal
380
+ */
381
+ class ngg_rebuild_unique_slugs {
382
+
383
+ static function init() {
384
+ self::start_rebuild();
385
+ }
386
+
387
+ static function start_rebuild() {
388
+ global $wpdb;
389
+
390
+ $total = array();
391
+ // get the total number of images
392
+ $total['images'] = intval( $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpictures") );
393
+ $total['gallery'] = intval( $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggallery") );
394
+ $total['album'] = intval( $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggalbum") );
395
+
396
+ $messages = array(
397
+ 'images' => __( 'Rebuild image structure : %s / %s images', 'nggallery' ),
398
+ 'gallery' => __( 'Rebuild gallery structure : %s / %s galleries', 'nggallery' ),
399
+ 'album' => __( 'Rebuild album structure : %s / %s albums', 'nggallery' ),
400
+ );
401
+
402
  ?>
403
+ <?php
404
+
405
+ foreach ( array_keys( $messages ) as $key ) {
406
+
407
+ $message = sprintf( $messages[ $key ] ,
408
+ "<span class='ngg-count-current'>0</span>",
409
+ "<span class='ngg-count-total'>" . $total[ $key ] . "</span>"
410
+ );
411
+
412
+ echo "<div class='$key updated'><p class='ngg'>$message</p></div>";
413
+ }
414
+
415
+ $ajax_url = add_query_arg( 'action', 'ngg_rebuild_unique_slugs', admin_url( 'admin-ajax.php' ) );
416
+ ?>
417
+ <script type="text/javascript">
418
+ jQuery(document).ready(function($) {
419
+ var ajax_url = '<?php echo $ajax_url; ?>',
420
+ _action = 'images',
421
+ images = <?php echo $total['images']; ?>,
422
+ gallery = <?php echo $total['gallery']; ?>,
423
+ album = <?php echo $total['album']; ?>,
424
+ total = 0,
425
+ offset = 0,
426
+ count = 50;
427
+
428
+ var $display = $('.ngg-count-current');
429
+ $('.finished, .gallery, .album').hide();
430
+ total = images;
431
+
432
+ function call_again() {
433
+ if ( offset > total ) {
434
+ offset = 0;
435
+ // 1st run finished
436
+ if (_action == 'images') {
437
+ _action = 'gallery';
438
+ total = gallery;
439
+ $('.images, .gallery').toggle();
440
+ $display.html(offset);
441
+ call_again();
442
+ return;
443
+ }
444
+ // 2nd run finished
445
+ if (_action == 'gallery') {
446
+ _action = 'album';
447
+ total = album;
448
+ $('.gallery, .album').toggle();
449
+ $display.html(offset);
450
+ call_again();
451
+ return;
452
+ }
453
+ // 3rd run finished, exit now
454
+ if (_action == 'album') {
455
+ $('.ngg')
456
+ .html('<?php _e( 'Done.', 'nggallery' ); ?>')
457
+ .parent('div').hide();
458
+ $('.finished').show();
459
+ return;
460
+ }
461
+ }
462
+
463
+ $.post(ajax_url, {'_action': _action, 'offset': offset}, function(response) {
464
+ $display.html(offset);
465
+
466
+ offset += count;
467
+ call_again();
468
+ });
469
+ }
470
+
471
+ call_again();
472
+ });
473
+ </script>
474
+ <?php
475
+ }
476
+ }
admin/upload.php CHANGED
@@ -6,22 +6,17 @@
6
  * @subpackage Administration
7
  */
8
 
9
- define('WP_ADMIN', true);
10
-
11
  // look up for the path
12
  require_once( dirname( dirname(__FILE__) ) . '/ngg-config.php');
13
 
14
  // Flash often fails to send cookies with the POST or upload, so we need to pass it in GET or POST instead
15
- if (function_exists('is_ssl')) {
16
- if ( is_ssl() && empty($_COOKIE[SECURE_AUTH_COOKIE]) && !empty($_REQUEST['auth_cookie']) )
17
- $_COOKIE[SECURE_AUTH_COOKIE] = $_REQUEST['auth_cookie'];
18
- elseif ( empty($_COOKIE[AUTH_COOKIE]) && !empty($_REQUEST['auth_cookie']) )
19
- $_COOKIE[AUTH_COOKIE] = $_REQUEST['auth_cookie'];
20
- } else {
21
- if ( empty($_COOKIE[AUTH_COOKIE]) && !empty($_REQUEST['auth_cookie']) )
22
- $_COOKIE[AUTH_COOKIE] = $_REQUEST['auth_cookie'];
23
- }
24
-
25
  // don't ask me why, sometimes needed, taken from wp core
26
  unset($current_user);
27
 
6
  * @subpackage Administration
7
  */
8
 
 
 
9
  // look up for the path
10
  require_once( dirname( dirname(__FILE__) ) . '/ngg-config.php');
11
 
12
  // Flash often fails to send cookies with the POST or upload, so we need to pass it in GET or POST instead
13
+ if ( is_ssl() && empty($_COOKIE[SECURE_AUTH_COOKIE]) && !empty($_REQUEST['auth_cookie']) )
14
+ $_COOKIE[SECURE_AUTH_COOKIE] = $_REQUEST['auth_cookie'];
15
+ elseif ( empty($_COOKIE[AUTH_COOKIE]) && !empty($_REQUEST['auth_cookie']) )
16
+ $_COOKIE[AUTH_COOKIE] = $_REQUEST['auth_cookie'];
17
+ if ( empty($_COOKIE[LOGGED_IN_COOKIE]) && !empty($_REQUEST['logged_in_cookie']) )
18
+ $_COOKIE[LOGGED_IN_COOKIE] = $_REQUEST['logged_in_cookie'];
19
+
 
 
 
20
  // don't ask me why, sometimes needed, taken from wp core
21
  unset($current_user);
22
 
admin/wpmu.php CHANGED
@@ -7,11 +7,10 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
7
  if ( !is_super_admin() )
8
  die('You are not allowed to call this page.');
9
 
 
 
10
  // get the options
11
  $ngg_options = get_site_option('ngg_options');
12
-
13
- // same as $_SERVER['REQUEST_URI'], but should work under IIS 6.0
14
- $filepath = site_url( 'wp-admin/ms-admin.php?page=' . $_GET['page'], 'admin' );
15
 
16
  if ( isset($_POST['updateoption']) ) {
17
  check_admin_referer('ngg_wpmu_settings');
@@ -27,25 +26,50 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
27
  }
28
  }
29
 
 
 
30
  update_site_option('ngg_options', $ngg_options);
 
31
  $messagetext = __('Update successfully','nggallery');
32
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
 
34
  // message windows
35
- if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$messagetext.'</p></div>'; }
36
 
37
  ?>
38
 
39
  <div class="wrap">
40
- <h2><?php _e('General WordPress MU Settings','nggallery'); ?></h2>
41
  <form name="generaloptions" method="post">
42
  <?php wp_nonce_field('ngg_wpmu_settings') ?>
43
- <input type="hidden" name="page_options" value="gallerypath,wpmuQuotaCheck,wpmuZipUpload,wpmuStyle,wpmuRoles,wpmuCSSfile" />
44
  <table class="form-table">
45
  <tr valign="top">
46
  <th align="left"><?php _e('Gallery path','nggallery') ?></th>
47
- <td><input type="text" size="50" name="gallerypath" value="<?php echo $ngg_options['gallerypath']; ?>" title="TEST" /><br />
48
- <?php _e('This is the default path for all blogs. With the placeholder %BLOG_ID% you can organize the folder structure better. The path must end with a /.','nggallery') ?></td>
 
 
49
  </tr>
50
  <tr>
51
  <th valign="top"><?php _e('Enable upload quota check','nggallery') ?>:</th>
@@ -59,6 +83,12 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
59
  <?php _e('Allow users to upload zip folders.','nggallery') ?>
60
  </td>
61
  </tr>
 
 
 
 
 
 
62
  <tr>
63
  <th valign="top"><?php _e('Enable style selection','nggallery') ?>:</th>
64
  <td><input name="wpmuStyle" type="checkbox" value="1" <?php checked('1', $ngg_options['wpmuStyle']); ?> />
7
  if ( !is_super_admin() )
8
  die('You are not allowed to call this page.');
9
 
10
+ $messagetext = '';
11
+
12
  // get the options
13
  $ngg_options = get_site_option('ngg_options');
 
 
 
14
 
15
  if ( isset($_POST['updateoption']) ) {
16
  check_admin_referer('ngg_wpmu_settings');
26
  }
27
  }
28
 
29
+ // the path should always end with a slash
30
+ $ngg_options['gallerypath'] = trailingslashit($ngg_options['gallerypath']);
31
  update_site_option('ngg_options', $ngg_options);
32
+
33
  $messagetext = __('Update successfully','nggallery');
34
  }
35
+
36
+ // Show donation message only one time.
37
+ if (isset ( $_GET['hideSupportInfo']) ) {
38
+ $ngg_options['hideSupportInfo'] = true;
39
+ update_site_option('ngg_options', $ngg_options);
40
+ }
41
+
42
+ if( !isset ( $ngg_options['hideSupportInfo']) || $ngg_options['hideSupportInfo'] !== true ) {
43
+ ?>
44
+ <div id="donator_message">
45
+ <p><?php echo str_replace('%s', 'http://alexrabe.de/donation', __('Thanks for using this plugin, NextGEN Gallery is initially developed for self hosted blogs. A multisite setup is possible, but cannot currently fully supported, as it can have several special condition ( i.e. Domain mapping).<br /> If you would like to support the further development, please consider a <strong><a href="%s">donation</a></strong>! If you still need some help, please post your questions <a href="http://wordpress.org/tags/nextgen-gallery?forum_id=10">here</a> .', 'nggallery')); ?>
46
+ <span>
47
+ <a href="<?php echo add_query_arg( array( 'hideSupportInfo' => 'true') ); ?>" >
48
+ <small><?php _e('OK, hide this message now !', 'nggallery'); ?></small>
49
+ </a>
50
+ <span>
51
+ </p>
52
+ </div>
53
+ <?php
54
+ }
55
 
56
  // message windows
57
+ if( !empty($messagetext) ) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$messagetext.'</p></div>'; }
58
 
59
  ?>
60
 
61
  <div class="wrap">
62
+ <h2><?php _e('Network Options','nggallery'); ?></h2>
63
  <form name="generaloptions" method="post">
64
  <?php wp_nonce_field('ngg_wpmu_settings') ?>
65
+ <input type="hidden" name="page_options" value="gallerypath,wpmuQuotaCheck,wpmuZipUpload,wpmuImportFolder,wpmuStyle,wpmuRoles,wpmuCSSfile" />
66
  <table class="form-table">
67
  <tr valign="top">
68
  <th align="left"><?php _e('Gallery path','nggallery') ?></th>
69
+ <td><input type="text" size="50" name="gallerypath" value="<?php echo $ngg_options['gallerypath']; ?>" /><br />
70
+ <?php _e('This is the default path for all blogs. With the placeholder %BLOG_ID% you can organize the folder structure better.','nggallery') ?>
71
+ <?php echo str_replace('%s', '<code>wp-content/blogs.dir/%BLOG_ID%/files/</code>', __('The default setting should be %s', 'nggallery')); ?>
72
+ </td>
73
  </tr>
74
  <tr>
75
  <th valign="top"><?php _e('Enable upload quota check','nggallery') ?>:</th>
83
  <?php _e('Allow users to upload zip folders.','nggallery') ?>
84
  </td>
85
  </tr>
86
+ <tr>
87
+ <th valign="top"><?php _e('Enable import function','nggallery') ?>:</th>
88
+ <td><input name="wpmuImportFolder" type="checkbox" value="1" <?php checked('1', $ngg_options['wpmuImportFolder']); ?> />
89
+ <?php _e('Allow users to import images folders from the server.','nggallery') ?>
90
+ </td>
91
+ </tr>
92
  <tr>
93
  <th valign="top"><?php _e('Enable style selection','nggallery') ?>:</th>
94
  <td><input name="wpmuStyle" type="checkbox" value="1" <?php checked('1', $ngg_options['wpmuStyle']); ?> />
changelog.txt CHANGED
@@ -1,11 +1,28 @@
1
  NextGEN Gallery
2
  by Alex Rabe & NextGEN DEV Team
3
 
4
- = V1.7.0 - sometimes =
5
  * TODO : Adding Google Sitemaps for Images
6
  * TODO : Facebook connector
7
  * TODO : Switch to Plupload (http://www.plupload.com/)
8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  = V1.6.2 - 19.09.2010 =
10
  * NEW : Added constant NGG_SKIP_LOAD_SCRIPTS to avoid script load
11
  * Bugfix : Load Tags library with core files
1
  NextGEN Gallery
2
  by Alex Rabe & NextGEN DEV Team
3
 
4
+ = V1.8.0 - sometimes =
5
  * TODO : Adding Google Sitemaps for Images
6
  * TODO : Facebook connector
7
  * TODO : Switch to Plupload (http://www.plupload.com/)
8
 
9
+ = V1.7.0 - 11.12.2010 =
10
+ * NEW : Publish a new post direct from the gallery admin page
11
+ * NEW : Added filter hook 'ngg_get_image_metadata' to add more exif/iptc information
12
+ * NEW : Adding Autocomplete field to TinyMCE Popup and Album page
13
+ * NEW : More methods for XMLRPC interface
14
+ * Changed : New hooks for gallery table (THX to Alexander Schneider)
15
+ * Changed : Introduce jQuery dialog as new UI element
16
+ * Changed : Call TinyMCE window via admin-ajax
17
+ * Bugfix : Better support for SSL blogs
18
+ * Bugfix : Install/Upgrade failed when table prefix contain captial letters
19
+ * Bugfix : Fix validation issues in Media-RSS
20
+ * Bugifx : Empty tags in XMP Meta causes PHP error
21
+ * Bugifx : Rework load mechanism for slideshow
22
+ * Bugfix : Copy meta data when image is copied
23
+ * Bugfix : Icon Support for Ozh' Admin Drop Down Menu
24
+ * Bugfix : Use correct sort order in slideshow
25
+
26
  = V1.6.2 - 19.09.2010 =
27
  * NEW : Added constant NGG_SKIP_LOAD_SCRIPTS to avoid script load
28
  * Bugfix : Load Tags library with core files
js/ngg.slideshow.js CHANGED
@@ -1,3 +1,9 @@
 
 
 
 
 
 
1
  jQuery.fn.nggSlideshow = function ( args ) {
2
 
3
  var defaults = { id: 1,
@@ -12,29 +18,31 @@ jQuery.fn.nggSlideshow = function ( args ) {
12
  var obj = this.selector;
13
  var stack = [];
14
  var url = s.domain + 'index.php?callback=json&api_key=true&format=json&method=gallery&id=' + s.id;
15
-
16
- jQuery.getJSON(url, function(r){
 
17
  if (r.stat == "ok"){
18
-
19
  for (img in r.images) {
20
  var photo = r.images[img];
21
  //populate images into an array
22
  stack.push( decodeURI( photo['imageURL'] ) );
23
  }
24
-
25
  // push the first three images out
26
- var i = 1, counter = 0;
 
27
  while (stack.length && i <= 3) {
28
  var img = new Image();
29
  img.src = stack.shift();
30
- jQuery( img ).bind('load', function() {
31
- jQuery( obj ).append( imageResize(this, s.width , s.height) );
32
- counter++;
33
- // start cycle after the third image
34
- if (counter == 3 || stack.length == 0 )
35
- startSlideshow();
36
- });
37
  i++;
 
 
 
38
  }
39
 
40
  }
@@ -44,7 +52,6 @@ jQuery.fn.nggSlideshow = function ( args ) {
44
 
45
  // hide the loader icon
46
  jQuery( obj + '-loader' ).empty().remove();
47
-
48
  // Start the slideshow
49
  jQuery(obj + ' img:first').fadeIn(1000, function() {
50
  // Start the cycle plugin
@@ -63,11 +70,10 @@ jQuery.fn.nggSlideshow = function ( args ) {
63
  //Resize Image and keep ratio on client side, better move to server side later
64
  function imageResize(img, maxWidth , maxHeight) {
65
 
66
- // hide it first
67
- jQuery( img ).css({
68
- 'display': 'none'
69
- });
70
-
71
  // in some cases the image is not loaded, we can't resize them
72
  if (img.height == 0 || img.width == 0)
73
  return img;
@@ -83,7 +89,7 @@ jQuery.fn.nggSlideshow = function ( args ) {
83
  'height': height,
84
  'width': width
85
  });
86
-
87
  return img;
88
  };
89
 
1
+ /*!
2
+ * NextGEN Slideshow based on jQuery Cycle Plugin
3
+ * Copyright (c) 2010 Alex Rabe
4
+ * Version: 1.0.3
5
+ * Requires: jQuery v1.2.6 or later
6
+ */
7
  jQuery.fn.nggSlideshow = function ( args ) {
8
 
9
  var defaults = { id: 1,
18
  var obj = this.selector;
19
  var stack = [];
20
  var url = s.domain + 'index.php?callback=json&api_key=true&format=json&method=gallery&id=' + s.id;
21
+
22
+ jQuery.getJSON(url, function(r){
23
+
24
  if (r.stat == "ok"){
25
+
26
  for (img in r.images) {
27
  var photo = r.images[img];
28
  //populate images into an array
29
  stack.push( decodeURI( photo['imageURL'] ) );
30
  }
31
+
32
  // push the first three images out
33
+ var i = 1;
34
+
35
  while (stack.length && i <= 3) {
36
  var img = new Image();
37
  img.src = stack.shift();
38
+ // Hide them first, Cycle plugin will show them
39
+ jQuery( img ).hide();
40
+ // Add the image now and resize after loaded
41
+ jQuery( obj ).append( imageResize(img, s.width , s.height) );
 
 
 
42
  i++;
43
+ // start cycle after the third image
44
+ if (i == 3 || stack.length == 0 )
45
+ startSlideshow();
46
  }
47
 
48
  }
52
 
53
  // hide the loader icon
54
  jQuery( obj + '-loader' ).empty().remove();
 
55
  // Start the slideshow
56
  jQuery(obj + ' img:first').fadeIn(1000, function() {
57
  // Start the cycle plugin
70
  //Resize Image and keep ratio on client side, better move to server side later
71
  function imageResize(img, maxWidth , maxHeight) {
72
 
73
+ // we need to wait until the image is loaded
74
+ if ( !img.complete )
75
+ jQuery( img ).bind('load', function() { imageResize(img, maxWidth , maxHeight) });
76
+
 
77
  // in some cases the image is not loaded, we can't resize them
78
  if (img.height == 0 || img.width == 0)
79
  return img;
89
  'height': height,
90
  'width': width
91
  });
92
+
93
  return img;
94
  };
95
 
js/ngg.slideshow.min.js CHANGED
@@ -1,7 +1,8 @@
1
  jQuery.fn.nggSlideshow=function(args){var defaults={id:1,width:320,height:240,fx:'fade',domain:'',timeout:5000};var s=jQuery.extend({},defaults,args);var obj=this.selector;var stack=[];var url=s.domain+'index.php?callback=json&api_key=true&format=json&method=gallery&id='+s.id;jQuery.getJSON(url,function(r){if(r.stat=="ok"){for(img in r.images){var photo=r.images[img];stack.push(decodeURI(photo['imageURL']));}
2
- var i=1,counter=0;while(stack.length&&i<=3){var img=new Image();img.src=stack.shift();jQuery(img).bind('load',function(){jQuery(obj).append(imageResize(this,s.width,s.height));counter++;if(counter==3||stack.length==0)
3
- startSlideshow();});i++;}}});function startSlideshow(){jQuery(obj+'-loader').empty().remove();jQuery(obj+' img:first').fadeIn(1000,function(){jQuery(obj).cycle({fx:s.fx,containerResize:1,fit:1,timeout:s.timeout,next:obj,before:jCycle_onBefore});});}
4
- function imageResize(img,maxWidth,maxHeight){jQuery(img).css({'display':'none'});if(img.height==0||img.width==0)
 
5
  return img;var height=(img.height<maxHeight)?img.height:maxHeight;var width=(img.width<maxWidth)?img.width:maxWidth;if(img.height>=img.width)
6
  width=Math.floor(Math.ceil(img.width/img.height*maxHeight));else
7
  height=Math.floor(Math.ceil(img.height/img.width*maxWidth));jQuery(img).css({'height':height,'width':width});return img;};function jCycle_onBefore(curr,next,opts){if(opts.addSlide)
1
  jQuery.fn.nggSlideshow=function(args){var defaults={id:1,width:320,height:240,fx:'fade',domain:'',timeout:5000};var s=jQuery.extend({},defaults,args);var obj=this.selector;var stack=[];var url=s.domain+'index.php?callback=json&api_key=true&format=json&method=gallery&id='+s.id;jQuery.getJSON(url,function(r){if(r.stat=="ok"){for(img in r.images){var photo=r.images[img];stack.push(decodeURI(photo['imageURL']));}
2
+ var i=1;while(stack.length&&i<=3){var img=new Image();img.src=stack.shift();jQuery(img).hide();jQuery(obj).append(imageResize(img,s.width,s.height));i++;if(i==3||stack.length==0)
3
+ startSlideshow();}}});function startSlideshow(){jQuery(obj+'-loader').empty().remove();jQuery(obj+' img:first').fadeIn(1000,function(){jQuery(obj).cycle({fx:s.fx,containerResize:1,fit:1,timeout:s.timeout,next:obj,before:jCycle_onBefore});});}
4
+ function imageResize(img,maxWidth,maxHeight){if(!img.complete)
5
+ jQuery(img).bind('load',function(){imageResize(img,maxWidth,maxHeight)});if(img.height==0||img.width==0)
6
  return img;var height=(img.height<maxHeight)?img.height:maxHeight;var width=(img.width<maxWidth)?img.width:maxWidth;if(img.height>=img.width)
7
  width=Math.floor(Math.ceil(img.width/img.height*maxHeight));else
8
  height=Math.floor(Math.ceil(img.height/img.width*maxWidth));jQuery(img).css({'height':height,'width':width});return img;};function jCycle_onBefore(curr,next,opts){if(opts.addSlide)
lang/nggallery-de_DE.mo CHANGED
Binary file
lang/nggallery-de_DE.po CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: NextGEN Gallery\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2010-09-18 13:20+0100\n"
6
- "PO-Revision-Date: 2010-09-18 13:21+0100\n"
7
  "Last-Translator: Alex Rabe\n"
8
  "Language-Team: Alex Rabe\n"
9
  "MIME-Version: 1.0\n"
@@ -18,86 +18,86 @@ msgstr ""
18
  "X-Poedit-SearchPath-0: .\n"
19
  "X-Poedit-SearchPath-1: ..\n"
20
 
21
- #: ../nggallery.php:95
22
  msgid "<strong>Translation by : </strong><a target=\"_blank\" href=\"http://alexrabe.de/wordpress-plugins/nextgen-gallery/languages/\">See here</a>"
23
  msgstr "<strong>Übersetzt von : </strong><a target=\"_blank\" href=\"http://alexrabe.de/wordpress-plugins/wordtube/translation-of-plugins/\">Alex Rabe</a>"
24
 
25
- #: ../nggallery.php:96
26
- msgid "<strong>This translation is not yet updated for Version 1.6.0</strong>. If you would like to help with translation, download the current po from the plugin folder and read <a href=\"http://alexrabe.de/wordpress-plugins/wordtube/translation-of-plugins/\">here</a> how you can translate the plugin."
27
  msgstr "Sollten jemand Rechtschreibfehler, Deppenapostrophe oder andere deutsche Ungereimtheiten finden, freue ich mich jederzeit über einen kurzen Hinweis</p>"
28
 
29
- #: ../nggallery.php:195
30
- msgid "Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB higher"
31
  msgstr "Tut mir leid, aber NextGEN-Galerie benötigt minimum 16MB Speicher (Memory Limit) oder mehr"
32
 
33
- #: ../nggallery.php:213
34
  msgid "Please update the database of NextGEN Gallery."
35
  msgstr "Bitte aktualisiere die Datenbank von NextGEN Gallery."
36
 
37
- #: ../nggallery.php:213
38
  msgid "Click here to proceed."
39
  msgstr "Hier klicken um fortzufahren."
40
 
41
- #: ../nggallery.php:236
42
  msgid "Picture tag"
43
  msgstr "Bilder-Stichwort"
44
 
45
- #: ../nggallery.php:237
46
  msgid "Picture tag: %2$l."
47
  msgstr "Bilder-Stichwort: %2$l."
48
 
49
- #: ../nggallery.php:238
50
  msgid "Separate picture tags with commas."
51
  msgstr "Trenne Stichwörter mittels Komma"
52
 
53
- #: ../nggallery.php:338
54
  msgid "L O A D I N G"
55
  msgstr "B I T T E &nbsp;&nbsp;W A R T E N"
56
 
57
- #: ../nggallery.php:339
58
  msgid "Click to Close"
59
  msgstr "Klicken zum Schliessen "
60
 
61
- #: ../nggallery.php:360
62
  msgid "loading"
63
  msgstr "lade..."
64
 
65
- #: ../nggallery.php:500
66
- #: ../nggfunctions.php:916
67
- #: ../admin/admin.php:31
68
  msgid "Overview"
69
  msgstr "Übersicht"
70
 
71
- #: ../nggallery.php:501
72
  msgid "Get help"
73
  msgstr "Hilfe"
74
 
75
- #: ../nggallery.php:502
76
  msgid "Contribute"
77
  msgstr "Mithelfen"
78
 
79
- #: ../nggallery.php:503
80
  msgid "Donate"
81
  msgstr "Spenden"
82
 
83
  #: ../nggfunctions.php:42
84
- msgid "The <a href=\"http://www.macromedia.com/go/getflashplayer\">Flash Player</a> and <a href=\"http://www.mozilla.com/firefox/\">a browser with Javascript support</a> are needed.."
85
  msgstr "Es wird der <a href=\"http://www.macromedia.com/go/getflashplayer\">Adobe Flash Player</a> benötigt und <a href=\"http://www.mozilla.com/firefox/\">im Browser muss Javascript</a> aktiviert sein."
86
 
87
- #: ../nggfunctions.php:161
88
- #: ../nggfunctions.php:626
89
  msgid "[Gallery not found]"
90
  msgstr "[Galerie nicht gefunden]"
91
 
92
- #: ../nggfunctions.php:433
93
  msgid "[Album not found]"
94
  msgstr "[Album nicht gefunden]"
95
 
96
- #: ../nggfunctions.php:743
97
  msgid "[SinglePic not found]"
98
  msgstr "[Bild nicht gefunden]"
99
 
100
- #: ../nggfunctions.php:881
101
  msgid "Related images for"
102
  msgstr "Verwandte Bilder von"
103
 
@@ -222,11 +222,11 @@ msgstr "und allen anderen Spendern..."
222
  #: ../admin/addgallery.php:69
223
  #: ../admin/addgallery.php:80
224
  #: ../admin/album.php:96
225
- #: ../admin/album.php:125
226
- #: ../admin/album.php:140
227
  #: ../admin/edit-thumbnail.php:19
228
  #: ../admin/edit-thumbnail.php:22
229
- #: ../admin/manage.php:178
230
  msgid "Cheatin&#8217; uh?"
231
  msgstr "Cheatin&#8217; uh?"
232
 
@@ -239,479 +239,486 @@ msgid "Upload failed! "
239
  msgstr "Upload fehlgeschlagen!"
240
 
241
  #: ../admin/addgallery.php:90
242
- #: ../admin/functions.php:928
243
- #: ../admin/functions.php:1028
244
  msgid "No gallery selected !"
245
  msgstr "Keine Galerie ausgewählt !"
246
 
247
- #: ../admin/addgallery.php:162
248
  msgid "Image Files"
249
  msgstr "Bilder"
250
 
251
- #: ../admin/addgallery.php:181
252
- #: ../admin/addgallery.php:212
253
  msgid "remove"
254
  msgstr "Entfernen"
255
 
256
- #: ../admin/addgallery.php:182
257
- #: ../admin/addgallery.php:364
258
  msgid "Browse..."
259
  msgstr "Durchsuche..."
260
 
261
- #: ../admin/addgallery.php:183
262
- #: ../admin/addgallery.php:414
 
263
  msgid "Upload images"
264
  msgstr "Bilder hochladen"
265
 
266
- #: ../admin/addgallery.php:274
267
- #: ../admin/addgallery.php:380
268
  msgid "Upload Images"
269
  msgstr "Bilder hochladen"
270
 
271
- #: ../admin/addgallery.php:277
272
- #: ../admin/addgallery.php:294
273
- #: ../admin/manage-galleries.php:136
 
274
  msgid "Add new gallery"
275
  msgstr "Neue Galerie erstellen"
276
 
277
- #: ../admin/addgallery.php:280
278
- #: ../admin/addgallery.php:316
279
  msgid "Upload a Zip-File"
280
  msgstr "Zip-Datei hochladen"
281
 
282
- #: ../admin/addgallery.php:283
283
- #: ../admin/addgallery.php:358
284
  msgid "Import image folder"
285
  msgstr "Bilder-Verzeichnis importieren"
286
 
287
- #: ../admin/addgallery.php:299
288
- #: ../admin/manage-galleries.php:243
289
  msgid "New Gallery"
290
  msgstr "Neue Galerie"
291
 
292
- #: ../admin/addgallery.php:302
293
- #: ../admin/manage-galleries.php:245
294
  msgid "Create a new , empty gallery below the folder"
295
  msgstr "Erstelle eine neue, leere Galerie unter dem Verzeichnis"
296
 
297
- #: ../admin/addgallery.php:304
298
- #: ../admin/manage-galleries.php:247
299
  msgid "Allowed characters for file and folder names are"
300
  msgstr "Erlaubte Zeichen für die Datei- und Verzeichnisnamen sind"
301
 
302
- #: ../admin/addgallery.php:308
303
  msgid "Add gallery"
304
  msgstr "Galerie hinzufügen"
305
 
306
- #: ../admin/addgallery.php:321
307
  msgid "Select Zip-File"
308
  msgstr "Wähle Zip-Datei"
309
 
310
- #: ../admin/addgallery.php:323
311
  msgid "Upload a zip file with images"
312
  msgstr "Lade eine Zip-Datei mit Bildern hoch"
313
 
314
- #: ../admin/addgallery.php:327
315
  msgid "or enter a Zip-File URL"
316
  msgstr "oder gib eine URL zur ZIP-Datei an"
317
 
318
- #: ../admin/addgallery.php:329
319
  msgid "Import a zip file with images from a url"
320
  msgstr "Lade eine Zip-Datei mit Bildern über ein URL hoch"
321
 
322
- #: ../admin/addgallery.php:333
323
- #: ../admin/addgallery.php:389
324
  msgid "in to"
325
  msgstr "in"
326
 
327
- #: ../admin/addgallery.php:335
328
  msgid "a new gallery"
329
  msgstr "eine neue Galerie"
330
 
331
- #: ../admin/addgallery.php:346
332
  msgid "Note : The upload limit on your server is "
333
  msgstr "Hinweis : Das Upload-Limit auf dem Server beträgt "
334
 
335
- #: ../admin/addgallery.php:350
336
  msgid "Start upload"
337
  msgstr "Upload starten"
338
 
339
- #: ../admin/addgallery.php:363
340
  msgid "Import from Server path:"
341
  msgstr "Importieren aus Server-Pfad:"
342
 
343
- #: ../admin/addgallery.php:366
344
  msgid "Note : Change the default path in the gallery settings"
345
  msgstr "Hinweis : Der Default-Pfad kann in den Einstellungen angepasst werden"
346
 
347
- #: ../admin/addgallery.php:368
348
  msgid " Please note : For safe-mode = ON you need to add the subfolder thumbs manually"
349
  msgstr "Achtung : Da der Safe-Mode (PHP.INI) eingeschaltet ist, mußt Du das Unterverzeichnis für die Vorschaubilder (\"thumbs\") manuell (per FTP) anlegen"
350
 
351
- #: ../admin/addgallery.php:371
352
  msgid "Import folder"
353
  msgstr "Verzeichnis importieren"
354
 
355
- #: ../admin/addgallery.php:385
356
  msgid "Upload image"
357
  msgstr "Bild hochladen"
358
 
359
- #: ../admin/addgallery.php:391
360
  msgid "Choose gallery"
361
  msgstr "Wähle Galerie"
362
 
363
- #: ../admin/addgallery.php:410
364
  msgid "The batch upload requires Adobe Flash 10, disable it if you have problems"
365
  msgstr "Das Batch-Upload benötigt Adbode Flash 10, wenn es Probleme gibt deaktiviere es besser."
366
 
367
- #: ../admin/addgallery.php:410
368
  msgid "Disable flash upload"
369
  msgstr "Deaktiviere Batch-Upload"
370
 
371
- #: ../admin/addgallery.php:412
372
  msgid "Upload multiple files at once by ctrl/shift-selecting in dialog"
373
  msgstr "Wähle im Dialog mit Ctrl/Shift mehrere Bilder gleichzeitig aus."
374
 
375
- #: ../admin/addgallery.php:412
376
  msgid "Enable flash based upload"
377
  msgstr "Aktiviere Flash Batch Upload"
378
 
379
- #: ../admin/admin.php:30
380
- #: ../admin/admin.php:271
381
- #: ../admin/admin.php:339
382
- #: ../admin/functions.php:99
383
- #: ../admin/functions.php:176
384
- #: ../admin/manage-images.php:201
385
- #: ../admin/manage.php:86
 
386
  msgid "Gallery"
387
  msgid_plural "Galleries"
388
  msgstr[0] "Galerie"
389
  msgstr[1] "Galerien"
390
 
391
- #: ../admin/admin.php:32
392
  msgid "Add Gallery / Images"
393
  msgstr "Galerie / Bilder hinzufügen"
394
 
395
- #: ../admin/admin.php:33
396
  msgid "Manage Gallery"
397
  msgstr "Galerie verwalten"
398
 
399
- #: ../admin/admin.php:34
400
  msgid "Album"
401
  msgid_plural "Albums"
402
  msgstr[0] "Album"
403
  msgstr[1] "Alben"
404
 
405
- #: ../admin/admin.php:35
406
  msgid "Tags"
407
  msgstr "Stichwörter"
408
 
409
- #: ../admin/admin.php:36
410
  msgid "Options"
411
  msgstr "Optionen"
412
 
413
- #: ../admin/admin.php:38
414
  msgid "Style"
415
  msgstr "Style"
416
 
417
- #: ../admin/admin.php:40
418
  msgid "Roles"
419
  msgstr "Zugriff"
420
 
421
- #: ../admin/admin.php:41
422
  msgid "About this Gallery"
423
  msgstr "Über diese Galerie"
424
 
425
- #: ../admin/admin.php:41
426
  msgid "About"
427
  msgstr "Über"
428
 
429
- #: ../admin/admin.php:44
430
  msgid "NextGEN Gallery"
431
  msgstr "NextGEN Gallery"
432
 
433
- #: ../admin/admin.php:46
 
434
  msgid "Reset / Uninstall"
435
  msgstr "Rücksetzen"
436
 
437
- #: ../admin/admin.php:74
438
- msgid "A new version of NextGEN Gallery is available !"
439
- msgstr "Eine neue Version von NextGEN Gallery ist jetzt verfügbar"
440
 
441
- #: ../admin/admin.php:74
442
- msgid "Download here"
443
- msgstr "Hier downloaden"
444
-
445
- #: ../admin/admin.php:93
446
  #, php-format
447
  msgid "Thanks for using this plugin, I hope you are satisfied ! If you would like to support the further development, please consider a <strong><a href=\"%s\">donation</a></strong>! If you still need some help, please post your questions <a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\">here</a> ."
448
  msgstr "Vielen Dank, dass Du dieses Plugin nutzt. Ich hoffe, Du bist soweit zufrieden! Wenn Du die Weiterentwicklung unterstützen möchtest, würde ich mich über eine kleine <strong><a href=\"%s\">Spende</a></strong> freuen! Wenn Du Fragen oder Problem hast, schreib sie doch <a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\">hier</a> ins Forum."
449
 
450
- #: ../admin/admin.php:96
451
  msgid "OK, hide this message now !"
452
  msgstr "OK, danke für die Info !"
453
 
454
- #: ../admin/admin.php:180
455
  msgid "You do not have the correct permission"
456
  msgstr "Du hast keine Zugriffsrechte"
457
 
458
- #: ../admin/admin.php:181
459
  msgid "Unexpected Error"
460
  msgstr "Unerwarteter Fehler"
461
 
462
- #: ../admin/admin.php:182
463
  msgid "A failure occurred"
464
  msgstr "Ein Fehler ist aufgetreten"
465
 
466
- #: ../admin/admin.php:275
467
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Introduction</a>"
468
  msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>"
469
 
470
- #: ../admin/admin.php:278
471
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Setup</a>"
472
  msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Setup</a>"
473
 
474
- #: ../admin/admin.php:281
475
  msgid "<a href=\"http://alexrabe.de/wordpress-plugins/nextgen-gallery/languages/\" target=\"_blank\">Translation by alex rabe</a>"
476
  msgstr "<a href=\"http://alexrabe.de/wordpress-plugins/nextgen-gallery/languages/\" target=\"_blank\">Unterstütze bei der Übersetzung</a>"
477
 
478
- #: ../admin/admin.php:284
479
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Roles / Capabilities</a>"
480
  msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>"
481
 
482
- #: ../admin/admin.php:287
483
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Styles</a>"
484
  msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>"
485
 
486
- #: ../admin/admin.php:288
487
  msgid "Templates"
488
  msgstr "Vorlagen"
489
 
490
- #: ../admin/admin.php:291
491
- #: ../admin/admin.php:297
492
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Gallery management</a>"
493
  msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>"
494
 
495
- #: ../admin/admin.php:292
496
  msgid "Gallery example"
497
  msgstr "Galerie Beispiel"
498
 
499
- #: ../admin/admin.php:298
500
- #: ../admin/admin.php:308
501
  msgid "Gallery tags"
502
  msgstr "Galerie Stichwörter"
503
 
504
- #: ../admin/admin.php:301
505
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Album management</a>"
506
  msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>"
507
 
508
- #: ../admin/admin.php:302
509
  msgid "Album example"
510
  msgstr "Album Beispiel"
511
 
512
- #: ../admin/admin.php:303
513
- #: ../admin/admin.php:309
514
  msgid "Album tags"
515
  msgstr "Album Stichwörter"
516
 
517
- #: ../admin/admin.php:306
518
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Gallery tags</a>"
519
  msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>"
520
 
521
- #: ../admin/admin.php:307
522
  msgid "Related images"
523
  msgstr "Verwandte Bilder"
524
 
525
- #: ../admin/admin.php:312
526
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-image-management/\" target=\"_blank\">Image management</a>"
527
  msgstr "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-image-management/\" target=\"_blank\">Bilderverwaltung (englisch)</a>"
528
 
529
- #: ../admin/admin.php:313
530
  msgid "Custom fields"
531
  msgstr "Spezialfelder"
532
 
533
- #: ../admin/admin.php:318
534
  msgid "Get help with NextGEN Gallery"
535
  msgstr "Weitere Hilfe zu NextGEN Gallery"
536
 
537
- #: ../admin/admin.php:322
538
  msgid "More Help & Info"
539
  msgstr "Weitere Hilfe & Informationen"
540
 
541
- #: ../admin/admin.php:324
542
  msgid "<a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\" target=\"_blank\">Support Forums</a>"
543
  msgstr "<a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\" target=\"_blank\">Support Forum (englisch)</a>"
544
 
545
- #: ../admin/admin.php:325
546
  msgid "FAQ"
547
  msgstr "FAQ (englisch)"
548
 
549
- #: ../admin/admin.php:326
550
  msgid "Feature request"
551
  msgstr "Wünsch Dir was"
552
 
553
- #: ../admin/admin.php:327
554
  msgid "Get your language pack"
555
  msgstr "Lade Deine Sprachdatei"
556
 
557
- #: ../admin/admin.php:328
558
  msgid "Contribute development"
559
  msgstr "Entwicklung helfen"
560
 
561
- #: ../admin/admin.php:329
562
  msgid "Download latest version"
563
  msgstr "Aktuelle Version downloaden"
564
 
565
- #: ../admin/album.php:103
566
- #: ../admin/album.php:118
567
- #: ../admin/album.php:153
 
 
 
 
568
  msgid "Update Successfully"
569
  msgstr "Update erfolgreich"
570
 
571
- #: ../admin/album.php:129
572
  msgid "Album deleted"
573
  msgstr "Album gelöscht"
574
 
575
- #: ../admin/album.php:264
 
 
 
 
576
  msgid "Manage Albums"
577
  msgstr "Verwalte Alben"
578
 
579
- #: ../admin/album.php:270
580
- #: ../admin/album.php:319
581
  msgid "Select album"
582
  msgstr "Wähle Album"
583
 
584
- #: ../admin/album.php:272
585
  msgid "No album selected"
586
  msgstr "Kein Album ausgewählt"
587
 
588
- #: ../admin/album.php:283
589
  #: ../admin/edit-thumbnail.php:157
590
  msgid "Update"
591
  msgstr "Aktualisiere"
592
 
593
- #: ../admin/album.php:285
594
  msgid "Edit album"
595
  msgstr "Album ändern"
596
 
597
- #: ../admin/album.php:288
598
- #: ../admin/manage-galleries.php:211
599
- #: ../admin/manage-images.php:406
600
  msgid "Delete"
601
  msgstr "Lösche"
602
 
603
- #: ../admin/album.php:288
604
  msgid "Delete album ?"
605
  msgstr "Album löschen ?"
606
 
607
- #: ../admin/album.php:292
608
  msgid "Add new album"
609
  msgstr "Album hinzufügen"
610
 
611
- #: ../admin/album.php:294
612
  msgid "Add"
613
  msgstr "Hinzufügen"
614
 
615
- #: ../admin/album.php:305
616
  msgid "Show / hide used galleries"
617
  msgstr "Zeige / Verstecke verwendete Galerien"
618
 
619
- #: ../admin/album.php:305
620
  msgid "[Show all]"
621
  msgstr "[Alle zeigen]"
622
 
623
- #: ../admin/album.php:306
624
  msgid "Maximize the widget content"
625
  msgstr "Maximiere die Widgets"
626
 
627
- #: ../admin/album.php:306
628
  msgid "[Maximize]"
629
  msgstr "[Vergrößern]"
630
 
631
- #: ../admin/album.php:307
632
  msgid "Minimize the widget content"
633
  msgstr "Minimiere die Widgets"
634
 
635
- #: ../admin/album.php:307
636
  msgid "[Minimize]"
637
  msgstr "[Verkleinern]"
638
 
639
- #: ../admin/album.php:309
640
  msgid "After you create and select a album, you can drag and drop a gallery or another album into your new album below"
641
  msgstr "Nachdem Du ein Album erstellt und ausgewählt hast, kannst Du per Drag & Drop eine Galerie oder ein anderes Album in das neue Album ziehen"
642
 
643
- #: ../admin/album.php:335
644
  msgid "Select gallery"
645
  msgstr "Wähle Galerie"
646
 
647
- #: ../admin/album.php:364
648
  msgid "Album ID"
649
  msgstr "Album ID"
650
 
651
- #: ../admin/album.php:377
652
  msgid "No album selected!"
653
  msgstr "Kein Album ausgewählt"
654
 
655
- #: ../admin/album.php:397
656
  msgid "Album name:"
657
  msgstr "Album Name :"
658
 
659
- #: ../admin/album.php:403
660
  msgid "Album description:"
661
  msgstr "Beschreibung:"
662
 
663
- #: ../admin/album.php:409
664
  msgid "Select a preview image:"
665
  msgstr "Wähle Vorschaubild:"
666
 
667
- #: ../admin/album.php:411
 
668
  msgid "No picture"
669
  msgstr "Kein Bild"
670
 
671
- #: ../admin/album.php:425
672
- #: ../admin/manage-images.php:219
673
  msgid "Page Link to"
674
  msgstr "Seite verlinkt zu"
675
 
676
- #: ../admin/album.php:427
677
- #: ../admin/manage-images.php:222
678
  msgid "Not linked"
679
  msgstr "Nicht verlinkt"
680
 
681
- #: ../admin/album.php:440
682
- #: ../admin/manage-galleries.php:252
683
- #: ../admin/manage-galleries.php:281
684
- #: ../admin/manage-galleries.php:311
685
- #: ../admin/manage-images.php:500
686
- #: ../admin/manage-images.php:536
687
- #: ../admin/manage-images.php:565
688
- #: ../admin/manage-images.php:595
689
  msgid "OK"
690
  msgstr "OK"
691
 
692
- #: ../admin/album.php:442
693
- #: ../admin/manage-galleries.php:254
694
- #: ../admin/manage-galleries.php:283
695
- #: ../admin/manage-galleries.php:313
696
- #: ../admin/manage-images.php:502
697
- #: ../admin/manage-images.php:538
698
- #: ../admin/manage-images.php:567
699
- #: ../admin/manage-images.php:597
700
  msgid "Cancel"
701
  msgstr "Abbrechen"
702
 
703
- #: ../admin/album.php:526
704
  msgid "Name"
705
  msgstr "Name"
706
 
707
- #: ../admin/album.php:527
708
- #: ../admin/manage-galleries.php:157
709
- #: ../admin/manage-galleries.php:171
710
- #: ../admin/manage-images.php:217
711
  msgid "Title"
712
  msgstr "Titel"
713
 
714
- #: ../admin/album.php:528
715
  msgid "Page"
716
  msgstr "Seite"
717
 
@@ -731,274 +738,272 @@ msgstr "Konnte Vorschaubild nicht erzeugen"
731
  msgid "Select the area for the thumbnail from the picture on the left."
732
  msgstr "Wähle den Ausschnitt für das Vorschaubild innerhalb des Bildes"
733
 
734
- #: ../admin/functions.php:40
735
  msgid "No valid gallery name!"
736
  msgstr "Kein gültiger Galerie-Name!"
737
 
738
- #: ../admin/functions.php:47
739
- #: ../admin/functions.php:56
740
- #: ../admin/functions.php:70
741
- #: ../admin/functions.php:147
742
- #: ../admin/functions.php:155
743
  msgid "Directory"
744
  msgstr "Verzeichnis"
745
 
746
- #: ../admin/functions.php:47
747
  msgid "didn't exist. Please create first the main gallery folder "
748
  msgstr "nicht gefunden. Bitte erstelle zuerst das Hauptverzeichnis."
749
 
750
- #: ../admin/functions.php:48
751
- #: ../admin/functions.php:57
752
  msgid "Check this link, if you didn't know how to set the permission :"
753
  msgstr "Dieser Link zeigt Dir, wie man Verzeichnisrechte ändert :"
754
 
755
- #: ../admin/functions.php:56
756
- #: ../admin/functions.php:70
757
  msgid "is not writeable !"
758
  msgstr "ist schreibgeschützt !"
759
 
760
- #: ../admin/functions.php:65
761
- #: ../admin/functions.php:75
762
- #: ../admin/functions.php:887
763
  msgid "Unable to create directory "
764
  msgstr "Kann Verzeichnis nicht erstellen "
765
 
766
- #: ../admin/functions.php:79
767
  msgid "The server setting Safe-Mode is on !"
768
  msgstr "Auf dem Server ist Safe-Mode aktiviert (PHP.INI)"
769
 
770
- #: ../admin/functions.php:80
771
  msgid "If you have problems, please create directory"
772
  msgstr "Wenn Probleme auftreten, erstelle bitte das Verzeichnis"
773
 
774
- #: ../admin/functions.php:81
775
  msgid "and the thumbnails directory"
776
  msgstr "und das Thumbnails-Verzeichnis"
777
 
778
- #: ../admin/functions.php:81
779
  msgid "with permission 777 manually !"
780
  msgstr "mit den Berechtigungen 777 manuell !"
781
 
782
- #: ../admin/functions.php:99
783
- msgid "already exists"
784
- msgstr "gibt es bereits"
785
-
786
- #: ../admin/functions.php:113
787
  #, php-format
788
- msgid "Gallery %1$s successfully created.<br/>You can show this gallery with the tag %2$s.<br/>"
789
- msgstr "Galerie %1$s erstellt..<br/>Du kannst diese Galerie jetzt mit dem Stichwort %2$s einbinden.<br/>"
790
 
791
- #: ../admin/functions.php:116
792
  msgid "Edit gallery"
793
  msgstr "Galerie ändern"
794
 
795
- #: ../admin/functions.php:147
796
  msgid "doesn&#96;t exist!"
797
  msgstr "gibt es nicht !"
798
 
799
- #: ../admin/functions.php:155
800
  msgid "contains no pictures"
801
  msgstr "enthält keine Bilder"
802
 
803
- #: ../admin/functions.php:173
804
  msgid "Database error. Could not add gallery!"
805
  msgstr "Datenbank-Fehler. Kann Galerie nicht hinzufügen!"
806
 
807
- #: ../admin/functions.php:176
808
  msgid "successfully created!"
809
  msgstr "erfolgreich erstellt!"
810
 
811
- #: ../admin/functions.php:205
812
- #: ../admin/functions.php:1004
813
- #: ../admin/manage-galleries.php:128
814
- #: ../admin/manage-images.php:302
815
- #: ../admin/manage.php:215
816
- #: ../admin/manage.php:291
 
 
817
  msgid "Create new thumbnails"
818
  msgstr "Neue Vorschaubilder erstellen"
819
 
820
- #: ../admin/functions.php:208
821
  msgid " picture(s) successfully added"
822
  msgstr " Bild(er) erfolgreich hinzugefügt"
823
 
824
- #: ../admin/functions.php:258
825
- #: ../admin/functions.php:338
826
- #: ../admin/functions.php:393
827
- #: ../admin/functions.php:490
828
- #: ../admin/functions.php:544
829
  msgid "Object didn't contain correct data"
830
  msgstr "Das Objekt enhält nicht die notwendigen Daten"
831
 
832
- #: ../admin/functions.php:266
833
  msgid " is not writeable "
834
  msgstr "ist schreibgeschützt !"
835
 
836
- #: ../admin/functions.php:348
837
- #: ../admin/functions.php:396
838
- #: ../admin/functions.php:496
839
- #: ../admin/functions.php:547
840
  msgid " is not writeable"
841
  msgstr "ist schreibgeschützt !"
842
 
843
- #: ../admin/functions.php:550
844
  msgid "File do not exists"
845
  msgstr "Datei existiert nicht"
846
 
847
- #: ../admin/functions.php:554
848
  msgid "Couldn't restore original image"
849
  msgstr "Konnte Originalbild nicht wiederherstellen"
850
 
851
- #: ../admin/functions.php:669
852
  msgid "(Error : Couldn't not update data base)"
853
  msgstr "(Fehler : Konnte Datenbank nicht updaten)"
854
 
855
- #: ../admin/functions.php:676
856
  msgid "(Error : Couldn't not update meta data)"
857
  msgstr "(Fehler : Konnte Metadaten nicht speichern)"
858
 
859
- #: ../admin/functions.php:685
860
  msgid "(Error : Couldn't not find image)"
861
  msgstr "(Fehler : Konnte das Bild nicht finden)"
862
 
863
- #: ../admin/functions.php:821
864
  msgid "No valid URL path "
865
  msgstr "Kein gültiger URL-Pfad"
866
 
867
- #: ../admin/functions.php:837
868
  msgid "Import via cURL failed."
869
  msgstr "Import via cURL abgebrochen"
870
 
871
- #: ../admin/functions.php:854
872
- msgid "Uploaded file was no or a faulty zip file ! The server recognize : "
873
  msgstr "Die hochgeladene Datei war keine korrekte Zip-Datei. Servermeldung :"
874
 
875
- #: ../admin/functions.php:871
876
  msgid "Could not get a valid foldername"
877
  msgstr "Konnte keinen gültigen Verzeichnisnamen finden"
878
 
879
- #: ../admin/functions.php:882
880
  #, php-format
881
  msgid "Unable to create directory %s. Is its parent directory writable by the server?"
882
  msgstr "Kann das Verzeichnis %s nicht erstellen. Ist das Hauptverzeichnis vielleicht schreibgeschützt ?"
883
 
884
- #: ../admin/functions.php:897
885
  msgid "Zip-File successfully unpacked"
886
  msgstr "Zip-Datei erfolgreich entpackt"
887
 
888
- #: ../admin/functions.php:936
889
- #: ../admin/functions.php:1053
890
  msgid "Failure in database, no gallery path set !"
891
  msgstr "Datenbankfehler! Kein Galerie-Pfad gesetzt !"
892
 
893
- #: ../admin/functions.php:960
894
- #: ../admin/functions.php:1047
895
  msgid "is no valid image file!"
896
  msgstr "ist keine zulässige Bilddatei !"
897
 
898
- #: ../admin/functions.php:974
899
- #: ../admin/functions.php:1173
900
- #: ../admin/functions.php:1248
901
  #, php-format
902
  msgid "Unable to write to directory %s. Is this directory writable by the server?"
903
  msgstr "Kann das Verzeichnis %s nicht erstellen. Ist das Hauptverzeichnis vielleicht schreibgeschützt ?"
904
 
905
- #: ../admin/functions.php:981
906
- #: ../admin/functions.php:1070
907
- msgid "Error, the file could not moved to : "
908
  msgstr "Fehler: Diese Datei kann nicht verschoben werden zu :"
909
 
910
- #: ../admin/functions.php:986
911
- #: ../admin/functions.php:1074
912
- msgid "Error, the file permissions could not set"
913
  msgstr "Fehler: Die Berechtigungen für diese Datei können nicht gesetzt werden"
914
 
915
- #: ../admin/functions.php:1009
916
  msgid " Image(s) successfully added"
917
  msgstr " Bild(er) erfolgreich hinzugefügt"
918
 
919
- #: ../admin/functions.php:1036
920
  msgid "Invalid upload. Error Code : "
921
  msgstr "Ungültiger Upload. Fehler Code :"
922
 
923
- #: ../admin/functions.php:1113
924
  #, php-format
925
  msgid "SAFE MODE Restriction in effect! You need to create the folder <strong>%s</strong> manually"
926
  msgstr "SAFE MODE Einschränkungen ist aktiv. Du musst das Verzeichnis <strong>%s</strong> manuell anlegen."
927
 
928
- #: ../admin/functions.php:1114
929
  #, php-format
930
  msgid "When safe_mode is on, PHP checks to see if the owner (%s) of the current script matches the owner (%s) of the file to be operated on by a file function or its directory"
931
  msgstr "Wenn der Safe-Mode eingeschaltet ist, überprüft PHP, ob der Besitzer (%s) des Skript mit dem Besitzer (%s) der Datei/Verzeichnis übereinstimmt."
932
 
933
- #: ../admin/functions.php:1167
934
- #: ../admin/functions.php:1242
935
  msgid "The destination gallery does not exist"
936
  msgstr "Die ausgewählte Galerie existiert nicht"
937
 
938
- #: ../admin/functions.php:1198
939
  #, php-format
940
  msgid "Failed to move image %1$s to %2$s"
941
  msgstr "Konnte das Bild %1$s nicht nach %2$s verschieben"
942
 
943
- #: ../admin/functions.php:1218
944
  #, php-format
945
  msgid "Moved %1$s picture(s) to gallery : %2$s ."
946
  msgstr " %1$s Bild(er) in Galerie : %2$s verschoben."
947
 
948
- #: ../admin/functions.php:1275
949
  #, php-format
950
  msgid "Failed to copy image %1$s to %2$s"
951
  msgstr "Konnte das Bild %1$s nicht nach %2$s kopieren"
952
 
953
- #: ../admin/functions.php:1289
954
  #, php-format
955
  msgid "Failed to copy database row for picture %s"
956
  msgstr "Fehler bei der Datenbank-Operation für Bild %s"
957
 
958
- #: ../admin/functions.php:1297
959
  #, php-format
960
  msgid "Image %1$s (%2$s) copied as image %3$s (%4$s) &raquo; The file already existed in the destination gallery."
961
  msgstr "Bild %1$s (%2$s) als Bild %3$s (%4$s) kopiert &raquo; Die Datei existierte bereits."
962
 
963
- #: ../admin/functions.php:1300
964
  #, php-format
965
  msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)"
966
  msgstr "Bild %1$s (%2$s) kopiert als Bild %3$s (%4$s)"
967
 
968
- #: ../admin/functions.php:1309
969
  #, php-format
970
  msgid "Copied %1$s picture(s) to gallery: %2$s ."
971
  msgstr "Kopiere %1$s Bild(er) in die Galerie : %2$s ."
972
 
973
- #: ../admin/functions.php:1419
974
  msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini"
975
  msgstr "Die Datei überschreitet die erlaubte Grösse (upload_max_filesize) in der php.ini"
976
 
977
- #: ../admin/functions.php:1422
978
  msgid "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form"
979
  msgstr "Die Datei ist zu gross"
980
 
981
- #: ../admin/functions.php:1425
982
  msgid "The uploaded file was only partially uploaded"
983
  msgstr "Die Datei wurde nur teilweise hochgeladen"
984
 
985
- #: ../admin/functions.php:1428
986
  msgid "No file was uploaded"
987
  msgstr "Keinen Datei wurde geladen"
988
 
989
- #: ../admin/functions.php:1431
990
  msgid "Missing a temporary folder"
991
  msgstr "Konnte temporäres Verzeichnis nicht finden"
992
 
993
- #: ../admin/functions.php:1434
994
  msgid "Failed to write file to disk"
995
  msgstr "Konnte Datei nicht speichern"
996
 
997
- #: ../admin/functions.php:1437
998
  msgid "File upload stopped by extension"
999
  msgstr "Upload dieser Dateierweiterung nicht erlaubt"
1000
 
1001
- #: ../admin/functions.php:1440
1002
  msgid "Unknown upload error"
1003
  msgstr "Unbekannter Uploadfehler"
1004
 
@@ -1006,15 +1011,15 @@ msgstr "Unbekannter Uploadfehler"
1006
  msgid "Sorry, NextGEN Gallery works only with a role called administrator"
1007
  msgstr "Tut mir leid, aber NextGEN Gallery benötigt zwingend die Rolle \"Administrator\""
1008
 
1009
- #: ../admin/install.php:108
1010
  msgid "NextGEN Gallery : Tables could not created, please check your database settings"
1011
  msgstr "NextGEN Gallery : Tabellen konnten nicht erstellt werden, überprüfe Deine Datenbank"
1012
 
1013
- #: ../admin/install.php:166
1014
  msgid "[Show as slideshow]"
1015
  msgstr "[Zeige als Diashow]"
1016
 
1017
- #: ../admin/install.php:167
1018
  msgid "[Show picture list]"
1019
  msgstr "[Zeige Bilder-Liste]"
1020
 
@@ -1029,10 +1034,19 @@ msgid "&raquo;"
1029
  msgstr "&raquo;"
1030
 
1031
  #: ../admin/manage-galleries.php:62
1032
- #: ../admin/manage-images.php:140
1033
  msgid "No images selected"
1034
  msgstr "Keine Bilder ausgewählt"
1035
 
 
 
 
 
 
 
 
 
 
1036
  #: ../admin/manage-galleries.php:79
1037
  #, php-format
1038
  msgid ""
@@ -1044,140 +1058,117 @@ msgstr ""
1044
  " \n"
1045
  " 'Abbrechen' um zu stoppen, 'OK' um die Bearbeitung durchzuführen."
1046
 
1047
- #: ../admin/manage-galleries.php:108
1048
- msgid "Gallery Overview"
1049
- msgstr "Galerie Übersicht"
1050
-
1051
- #: ../admin/manage-galleries.php:111
1052
- #: ../admin/manage-galleries.php:114
1053
- #: ../admin/manage-images.php:187
1054
- #: ../admin/manage-images.php:190
1055
  msgid "Search Images"
1056
  msgstr "Suche Bilder"
1057
 
1058
- #: ../admin/manage-galleries.php:126
1059
- #: ../admin/manage-images.php:300
1060
- msgid "No action"
1061
- msgstr "Keine Aktion"
1062
-
1063
- #: ../admin/manage-galleries.php:127
1064
- #: ../admin/manage-images.php:301
1065
- #: ../admin/manage.php:163
1066
- #: ../admin/manage.php:241
1067
  msgid "Set watermark"
1068
  msgstr "Wasserzeichen setzen"
1069
 
1070
- #: ../admin/manage-galleries.php:129
1071
- #: ../admin/manage-images.php:303
1072
- #: ../admin/manage.php:199
1073
- #: ../admin/manage.php:277
1074
- msgid "Resize images"
1075
- msgstr "Bilder verkleinern"
1076
-
1077
- #: ../admin/manage-galleries.php:130
1078
- #: ../admin/manage-images.php:306
1079
- #: ../admin/manage.php:168
1080
- #: ../admin/manage.php:261
1081
  msgid "Import metadata"
1082
  msgstr "Metadaten importieren"
1083
 
1084
- #: ../admin/manage-galleries.php:131
1085
- #: ../admin/manage-images.php:304
1086
- #: ../admin/manage.php:158
1087
- #: ../admin/manage.php:238
1088
  msgid "Recover from backup"
1089
  msgstr "Original wiederherstellen"
1090
 
1091
- #: ../admin/manage-galleries.php:133
1092
- #: ../admin/manage-images.php:315
1093
  msgid "Apply"
1094
  msgstr "Übernehmen"
1095
 
1096
- #: ../admin/manage-galleries.php:141
1097
- #: ../admin/manage-galleries.php:225
1098
- #: ../admin/manage-images.php:291
1099
- #: ../admin/manage-images.php:475
1100
  #, php-format
1101
  msgid "Displaying %s&#8211;%s of %s"
1102
  msgstr "Zeige %s&#8211;%s von %s"
1103
 
1104
- #: ../admin/manage-galleries.php:156
1105
- #: ../admin/manage-galleries.php:170
1106
- #: ../admin/manage-images.php:619
1107
- msgid "ID"
1108
- msgstr "ID"
1109
-
1110
- #: ../admin/manage-galleries.php:158
1111
- #: ../admin/manage-galleries.php:172
1112
- #: ../admin/manage-images.php:228
1113
- #: ../admin/manage-images.php:624
1114
- msgid "Description"
1115
- msgstr "Beschreibung"
1116
-
1117
- #: ../admin/manage-galleries.php:159
1118
- #: ../admin/manage-galleries.php:173
1119
- #: ../admin/manage-images.php:248
1120
- msgid "Author"
1121
- msgstr "Autor"
1122
-
1123
- #: ../admin/manage-galleries.php:160
1124
- #: ../admin/manage-galleries.php:174
1125
- msgid "Page ID"
1126
- msgstr "Seiten-ID"
1127
-
1128
- #: ../admin/manage-galleries.php:161
1129
- #: ../admin/manage-galleries.php:175
1130
- msgid "Quantity"
1131
- msgstr "Anzahl"
1132
-
1133
- #: ../admin/manage-galleries.php:162
1134
- #: ../admin/manage-galleries.php:176
1135
- msgid "Action"
1136
- msgstr "Aktion"
1137
-
1138
- #: ../admin/manage-galleries.php:198
1139
  msgid "Edit"
1140
  msgstr "Bearbeiten"
1141
 
1142
- #: ../admin/manage-galleries.php:211
1143
- msgid "Delete this gallery ?"
1144
- msgstr "Diese Galerie löschen ?"
1145
-
1146
- #: ../admin/manage-galleries.php:218
1147
- #: ../admin/manage-images.php:466
1148
  msgid "No entries found"
1149
  msgstr "Keine Einträge gefunden"
1150
 
1151
- #: ../admin/manage-galleries.php:272
1152
- #: ../admin/manage-images.php:556
1153
  msgid "Resize Images to"
1154
  msgstr "Verkleiner Bilder auf"
1155
 
1156
- #: ../admin/manage-galleries.php:276
1157
- #: ../admin/manage-images.php:560
1158
  msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size"
1159
  msgstr "Breite x Höhe (in Pixel). Das Seitenverhältnis wird berücksichtigt."
1160
 
1161
- #: ../admin/manage-galleries.php:300
1162
- #: ../admin/manage-images.php:584
1163
  msgid "Width x height (in pixel)"
1164
  msgstr "Breite x Höhe (in Pixel)"
1165
 
1166
- #: ../admin/manage-galleries.php:302
1167
- #: ../admin/manage-images.php:586
1168
  msgid "These values are maximum values "
1169
  msgstr "Diese Angaben sind maximale Angaben."
1170
 
1171
- #: ../admin/manage-galleries.php:305
1172
- #: ../admin/manage-images.php:589
1173
  msgid "Set fix dimension"
1174
  msgstr "Setze feste Größe"
1175
 
1176
- #: ../admin/manage-galleries.php:307
1177
- #: ../admin/manage-images.php:591
1178
  msgid "Ignore the aspect ratio, no portrait thumbnails"
1179
  msgstr "Ignoriere Bildseitenverhältnis"
1180
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1181
  #: ../admin/manage-images.php:32
1182
  msgid "Gallery not found."
1183
  msgstr "Galerie nicht gefunden"
@@ -1186,7 +1177,28 @@ msgstr "Galerie nicht gefunden"
1186
  msgid "Sorry, you have no access here"
1187
  msgstr "Sorry, Du hast nicht genügend Rechte"
1188
 
1189
- #: ../admin/manage-images.php:168
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1190
  #, php-format
1191
  msgid ""
1192
  "You are about to start the bulk edit for %s images \n"
@@ -1197,270 +1209,280 @@ msgstr ""
1197
  " \n"
1198
  " 'Abbrechen' um zu stoppen, 'OK' um die Bearbeitung durchzuführen."
1199
 
1200
- #: ../admin/manage-images.php:184
1201
  #, php-format
1202
  msgid "Search results for &#8220;%s&#8221;"
1203
  msgstr "Suchergebinsse für &#8220;%s&#8221;"
1204
 
1205
- #: ../admin/manage-images.php:213
1206
  msgid "Gallery settings"
1207
  msgstr "Galerie Einstellungen"
1208
 
1209
- #: ../admin/manage-images.php:213
1210
  msgid "Click here for more settings"
1211
  msgstr "Hier klicken für weitere Einstellungen"
1212
 
1213
- #: ../admin/manage-images.php:230
1214
  msgid "Preview image"
1215
  msgstr "Vorschau-Bild"
1216
 
1217
- #: ../admin/manage-images.php:233
1218
  msgid "No Picture"
1219
  msgstr "Kein Bild"
1220
 
1221
- #: ../admin/manage-images.php:246
1222
  msgid "Path"
1223
  msgstr "Pfad"
1224
 
1225
- #: ../admin/manage-images.php:263
1226
  msgid "Create new page"
1227
  msgstr "Neue Seite erstellen"
1228
 
1229
- #: ../admin/manage-images.php:266
1230
  msgid "Main page (No parent)"
1231
  msgstr "Hauptseite (keine Unterseite)"
1232
 
1233
- #: ../admin/manage-images.php:269
1234
  msgid "Add page"
1235
  msgstr "Seite hinzufügen"
1236
 
1237
- #: ../admin/manage-images.php:278
1238
  msgid "Scan Folder for new images"
1239
  msgstr "Überprüfe Verzeichnis nach neuen Bildern"
1240
 
1241
- #: ../admin/manage-images.php:279
1242
- #: ../admin/manage-images.php:321
1243
- #: ../admin/manage-images.php:473
1244
  msgid "Save Changes"
1245
  msgstr "Änderungen speichern"
1246
 
1247
- #: ../admin/manage-images.php:305
1248
  msgid "Delete images"
1249
  msgstr "Bilder löschen"
1250
 
1251
- #: ../admin/manage-images.php:307
1252
  msgid "Rotate images clockwise"
1253
  msgstr "Rechts drehen"
1254
 
1255
- #: ../admin/manage-images.php:308
1256
  msgid "Rotate images counter-clockwise"
1257
  msgstr "Links drehen"
1258
 
1259
- #: ../admin/manage-images.php:309
1260
  msgid "Copy to..."
1261
  msgstr "Kopiere nach..."
1262
 
1263
- #: ../admin/manage-images.php:310
1264
  msgid "Move to..."
1265
  msgstr "Verschiebe nach..."
1266
 
1267
- #: ../admin/manage-images.php:311
1268
  msgid "Add tags"
1269
  msgstr "Stichwörter hinzufügen"
1270
 
1271
- #: ../admin/manage-images.php:312
1272
- msgid "Delete tags"
1273
- msgstr "Stichwörter löschen"
1274
-
1275
- #: ../admin/manage-images.php:313
1276
  msgid "Overwrite tags"
1277
  msgstr "Stichwörter überschreiben"
1278
 
1279
- #: ../admin/manage-images.php:318
1280
  msgid "Sort gallery"
1281
  msgstr "Sortiere Bilder"
1282
 
1283
- #: ../admin/manage-images.php:392
1284
  msgid "pixel"
1285
  msgstr "pixel"
1286
 
1287
- #: ../admin/manage-images.php:400
1288
  #, php-format
1289
  msgid "View \"%s\""
1290
  msgstr "Anzeigen \"%s\""
1291
 
1292
- #: ../admin/manage-images.php:400
1293
  msgid "View"
1294
  msgstr "Ansehen"
1295
 
1296
- #: ../admin/manage-images.php:401
1297
  msgid "Show Meta data"
1298
  msgstr "Zeige Metadaten"
1299
 
1300
- #: ../admin/manage-images.php:401
1301
  msgid "Meta"
1302
  msgstr "Meta"
1303
 
1304
- #: ../admin/manage-images.php:402
1305
  msgid "Customize thumbnail"
1306
  msgstr "Thumbnails anpassen"
1307
 
1308
- #: ../admin/manage-images.php:402
1309
  msgid "Edit thumb"
1310
  msgstr "Thumbnail ändern"
1311
 
1312
- #: ../admin/manage-images.php:403
1313
  msgid "Rotate"
1314
  msgstr "Drehen"
1315
 
1316
- #: ../admin/manage-images.php:405
 
 
 
 
 
 
 
 
1317
  msgid "Recover"
1318
  msgstr "Rücksetzen"
1319
 
1320
- #: ../admin/manage-images.php:405
1321
  #, php-format
1322
  msgid "Recover \"%s\" ?"
1323
  msgstr " \"%s\" wiederherstellen ?"
1324
 
1325
- #: ../admin/manage-images.php:406
1326
  #, php-format
1327
  msgid "Delete \"%s\" ?"
1328
  msgstr "Lösche \"%s\" ?"
1329
 
1330
- #: ../admin/manage-images.php:496
1331
  msgid "Enter the tags"
1332
  msgstr "Stichwörter angeben"
1333
 
1334
- #: ../admin/manage-images.php:520
1335
  msgid "Select the destination gallery:"
1336
  msgstr "Galerie auswählen:"
1337
 
1338
- #: ../admin/manage-images.php:620
1339
  msgid "Thumbnail"
1340
  msgstr "Thumbnail"
1341
 
1342
- #: ../admin/manage-images.php:622
1343
- #: ../admin/manage-sort.php:74
1344
  msgid "Filename"
1345
  msgstr "Dateiname"
1346
 
1347
- #: ../admin/manage-images.php:624
1348
  msgid "Alt &amp; Title Text"
1349
  msgstr "Alt &amp; Titel Text"
1350
 
1351
- #: ../admin/manage-images.php:625
1352
  msgid "Tags (comma separated list)"
1353
  msgstr "Stichwörter (Tags)"
1354
 
1355
- #: ../admin/manage-images.php:627
1356
  msgid "exclude"
1357
  msgstr "ausschließen"
1358
 
1359
- #: ../admin/manage-sort.php:30
1360
  msgid "Sort order changed"
1361
  msgstr "Reihenfolge aktualisiert"
1362
 
1363
- #: ../admin/manage-sort.php:59
1364
  msgid "Sort Gallery"
1365
  msgstr "Sortiere Bilder"
1366
 
1367
- #: ../admin/manage-sort.php:63
1368
  msgid "Update Sort Order"
1369
  msgstr "Sortierung speichern"
1370
 
1371
- #: ../admin/manage-sort.php:66
1372
  msgid "Back to gallery"
1373
  msgstr "Zurück zur Galerie"
1374
 
1375
- #: ../admin/manage-sort.php:71
1376
  msgid "Presort"
1377
  msgstr "Vorsortieren"
1378
 
1379
- #: ../admin/manage-sort.php:72
1380
  msgid "Unsorted"
1381
  msgstr "Unsortiert"
1382
 
1383
- #: ../admin/manage-sort.php:73
1384
  msgid "Image ID"
1385
  msgstr "Bilder ID"
1386
 
1387
- #: ../admin/manage-sort.php:75
1388
  msgid "Alt/Title text"
1389
  msgstr "Alt / Titel Text"
1390
 
1391
- #: ../admin/manage-sort.php:76
1392
  msgid "Date/Time"
1393
  msgstr "Datum/Zeit"
1394
 
1395
- #: ../admin/manage-sort.php:77
1396
  msgid "Ascending"
1397
  msgstr "Aufsteigend"
1398
 
1399
- #: ../admin/manage-sort.php:78
1400
  msgid "Descending"
1401
  msgstr "Absteigend"
1402
 
1403
- #: ../admin/manage.php:86
1404
- #: ../admin/manage.php:107
1405
- msgid "deleted successfully"
1406
- msgstr "erfolgreich gelöscht"
1407
-
1408
- #: ../admin/manage.php:107
1409
  msgid "Picture"
1410
  msgstr "Bild"
1411
 
1412
- #: ../admin/manage.php:122
1413
- #: ../admin/manage.php:131
 
 
 
 
1414
  msgid "Operation successful. Please clear your browser cache."
1415
  msgstr "Thumbnails erfolgreich erstellt. Bitte Browser-Cache löschen."
1416
 
1417
- #: ../admin/manage.php:232
1418
- #: ../admin/manage.php:235
 
 
 
 
1419
  msgid "Rotate images"
1420
  msgstr "Bild drehen"
1421
 
1422
- #: ../admin/manage.php:257
1423
  msgid "Pictures deleted successfully "
1424
  msgstr "Bilder erfolgreich gelöscht"
1425
 
1426
- #: ../admin/manage.php:353
1427
  msgid "Tags changed"
1428
  msgstr "Stichwörter geändert"
1429
 
1430
- #: ../admin/manage.php:386
1431
  msgid "Update successful"
1432
  msgstr "Aktualisierung erfolgreich"
1433
 
1434
- #: ../admin/manage.php:421
1435
  msgid "New gallery page ID"
1436
  msgstr "Neue Galerie Seiten ID"
1437
 
1438
- #: ../admin/manage.php:421
1439
  msgid "created"
1440
  msgstr "erstellt"
1441
 
1442
- #: ../admin/media-upload.php:168
1443
- #: ../admin/tinymce/window.php:43
 
 
 
1444
  msgid "No gallery"
1445
  msgstr "Keine Galerie"
1446
 
1447
- #: ../admin/media-upload.php:180
1448
  msgid "Select &#187;"
1449
  msgstr "Wähle &#187;"
1450
 
1451
- #: ../admin/media-upload.php:211
1452
  msgid "Show"
1453
  msgstr "Zeige"
1454
 
1455
- #: ../admin/media-upload.php:212
1456
  msgid "Hide"
1457
  msgstr "Verstecke"
1458
 
1459
- #: ../admin/media-upload.php:217
1460
  msgid "Image ID:"
1461
  msgstr "Bild ID:"
1462
 
1463
- #: ../admin/media-upload.php:276
1464
  msgid "Save all changes"
1465
  msgstr "Änderungen speichern"
1466
 
@@ -1514,7 +1536,7 @@ msgid "Send a gift to show your appreciation."
1514
  msgstr "Schau doch einfach auf meinen Wunschzettel."
1515
 
1516
  #: ../admin/overview.php:121
1517
- msgid "Help to translating it."
1518
  msgstr "Hilf das Plugin zu übersetzen."
1519
 
1520
  #: ../admin/overview.php:140
@@ -1556,12 +1578,6 @@ msgstr "Kein Titel"
1556
  msgid "At a Glance"
1557
  msgstr "Übersicht"
1558
 
1559
- #: ../admin/overview.php:284
1560
- msgid "Image"
1561
- msgid_plural "Images"
1562
- msgstr[0] "Bild"
1563
- msgstr[1] "Bilder"
1564
-
1565
  #: ../admin/overview.php:305
1566
  msgid "Upload pictures"
1567
  msgstr "Bilder hochladen"
@@ -1725,6 +1741,46 @@ msgstr "NextGEN Gallery enthält einige Funktionen, die nur unter PHP 5.2 verfü
1725
  msgid "Install"
1726
  msgstr "Installieren"
1727
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1728
  #: ../admin/roles.php:22
1729
  msgid "Updated capabilities"
1730
  msgstr "Zugriffsrechte geändert"
@@ -1734,7 +1790,7 @@ msgid "Roles / capabilities"
1734
  msgstr "Rollen / Zugriffsrechte"
1735
 
1736
  #: ../admin/roles.php:29
1737
- msgid "Select the lowest role which should be able to access the follow capabilities. NextGEN Gallery supports the standard roles from WordPress."
1738
  msgstr "Wähle die niedrigste Rolle aus, die Zugriff haben soll. NextGEN Gallery unterstützt nur die Standard-Wordpress-Rollen-Fähigkeiten von WordPress."
1739
 
1740
  #: ../admin/roles.php:30
@@ -1765,10 +1821,6 @@ msgstr "Alle Galerien verwalten"
1765
  msgid "Manage tags"
1766
  msgstr "Verwalte Stichwörter"
1767
 
1768
- #: ../admin/roles.php:59
1769
- msgid "Edit Album"
1770
- msgstr "Album erstellen"
1771
-
1772
  #: ../admin/roles.php:63
1773
  msgid "Change style"
1774
  msgstr "Style anpassen"
@@ -1805,588 +1857,593 @@ msgstr "Vertikal spiegeln"
1805
  msgid "Flip horizontally"
1806
  msgstr "Horizontal spiegeln"
1807
 
1808
- #: ../admin/settings.php:91
1809
  msgid "Cache cleared"
1810
  msgstr "Cache löschen"
1811
 
1812
- #: ../admin/settings.php:201
1813
- #: ../admin/settings.php:220
1814
  msgid "General Options"
1815
  msgstr "Allg. Optionen"
1816
 
1817
- #: ../admin/settings.php:202
1818
- #: ../admin/settings.php:400
1819
  msgid "Thumbnails"
1820
  msgstr "Thumbnails"
1821
 
1822
- #: ../admin/settings.php:203
1823
  msgid "Images"
1824
  msgstr "Bilder"
1825
 
1826
- #: ../admin/settings.php:205
1827
- #: ../admin/settings.php:452
1828
  msgid "Effects"
1829
  msgstr "Effekte"
1830
 
1831
- #: ../admin/settings.php:206
1832
- #: ../admin/settings.php:494
1833
- #: ../admin/tinymce/window.php:119
1834
  msgid "Watermark"
1835
  msgstr "Wasserzeichen"
1836
 
1837
- #: ../admin/settings.php:207
1838
- #: ../admin/settings.php:401
1839
- #: ../admin/settings.php:601
1840
- #: ../admin/tinymce/window.php:58
1841
  msgid "Slideshow"
1842
  msgstr "Slideshow"
1843
 
1844
- #: ../admin/settings.php:226
1845
- #: ../admin/wpmu.php:46
1846
  msgid "Gallery path"
1847
  msgstr "Galerie-Pfad"
1848
 
1849
- #: ../admin/settings.php:228
1850
  msgid "This is the default path for all galleries"
1851
  msgstr "Dies ist der Standard-Pfad für alle Galerien"
1852
 
1853
- #: ../admin/settings.php:231
1854
  msgid "Delete image files"
1855
  msgstr "Lösche Bilddateien"
1856
 
1857
- #: ../admin/settings.php:233
1858
  msgid "Delete files, when removing a gallery in the database"
1859
  msgstr "Löscht auch die Dateien, falls die Galerie aus der Datenbank entfernt wird"
1860
 
1861
- #: ../admin/settings.php:236
1862
  msgid "Activate permalinks"
1863
  msgstr "Aktiviere Permalinks"
1864
 
1865
- #: ../admin/settings.php:238
1866
  msgid "When you activate this option, you need to update your permalink structure one time."
1867
  msgstr "Wenn Du diese Option aktivierst, muss Du einmal die Permalink Struktur aktualisieren."
1868
 
1869
- #: ../admin/settings.php:241
 
 
 
 
 
 
 
 
 
 
 
 
 
1870
  msgid "Select graphic library"
1871
  msgstr "Wähle Grafik-Bibliothek"
1872
 
1873
- #: ../admin/settings.php:242
1874
  msgid "GD Library"
1875
  msgstr "GD Bibliothek"
1876
 
1877
- #: ../admin/settings.php:243
1878
  msgid "ImageMagick (Experimental). Path to the library :"
1879
  msgstr "ImageMagick (Experimental). Pfad zur Bibliothek :"
1880
 
1881
- #: ../admin/settings.php:248
1882
  msgid "Activate Media RSS feed"
1883
  msgstr "Aktiviere Media-RSS-Feed"
1884
 
1885
- #: ../admin/settings.php:250
1886
  msgid "A RSS feed will be added to you blog header. Useful for CoolIris/PicLens"
1887
  msgstr "Ein Bilder-RSS Feed wird zum Blog hinzugefügt"
1888
 
1889
- #: ../admin/settings.php:253
1890
  msgid "Activate PicLens/CoolIris support"
1891
  msgstr "Aktiviere PicLens/CoolIris"
1892
 
1893
- #: ../admin/settings.php:255
1894
  msgid "When you activate this option, some javascript is added to your site footer. Make sure that wp_footer is called in your theme."
1895
  msgstr "Dieser Effekt fügt ein neues Javascript zu Deinem Theme hinzu. Beachte, dass wp_footer() in Deinen Vorlagen aufgerufen wird."
1896
 
1897
- #: ../admin/settings.php:258
1898
  msgid "Tags / Categories"
1899
  msgstr "Stichwörter / Kategorien"
1900
 
1901
- #: ../admin/settings.php:261
1902
  msgid "Activate related images"
1903
  msgstr "Verwandte Bilder anzeigen"
1904
 
1905
- #: ../admin/settings.php:263
1906
  msgid "This option will append related images to every post"
1907
  msgstr "Diese Option hängt verwandte Bilder an jeden Beitrag"
1908
 
1909
- #: ../admin/settings.php:267
1910
  msgid "Match with"
1911
  msgstr "Vergleiche mit"
1912
 
1913
- #: ../admin/settings.php:268
1914
  msgid "Categories"
1915
  msgstr "Kategorien"
1916
 
1917
- #: ../admin/settings.php:273
1918
  msgid "Max. number of images"
1919
  msgstr "Max. Anzahl der Bilder"
1920
 
1921
- #: ../admin/settings.php:275
1922
  msgid "0 will show all images"
1923
  msgstr "0 zeige alle verwandten Bilder"
1924
 
1925
- #: ../admin/settings.php:279
1926
- #: ../admin/settings.php:310
1927
- #: ../admin/settings.php:357
1928
- #: ../admin/settings.php:442
1929
- #: ../admin/settings.php:477
1930
- #: ../admin/settings.php:738
1931
  msgid "More settings"
1932
  msgstr "Mehr Einstellungen"
1933
 
1934
- #: ../admin/settings.php:289
1935
  msgid "Thumbnail settings"
1936
  msgstr "Thumbnail-Einstellungen"
1937
 
1938
- #: ../admin/settings.php:293
1939
  msgid "Please note : If you change the settings, you need to recreate the thumbnails under -> Manage Gallery ."
1940
  msgstr "Bitte beachten : Änderungen der Einstellungen werden erst übernommen, wenn Du neue Thumbnails unter -> \"Gallery verwalten\" erstellst"
1941
 
1942
- #: ../admin/settings.php:306
1943
  msgid "Thumbnail quality"
1944
  msgstr "Thumbnail Qualität"
1945
 
1946
- #: ../admin/settings.php:320
1947
  msgid "Image settings"
1948
  msgstr "Bild-Einstellungen"
1949
 
1950
- #: ../admin/settings.php:326
1951
  msgid "Resize Images"
1952
  msgstr "Bilder verkleinern"
1953
 
1954
- #: ../admin/settings.php:331
1955
  msgid "Image quality"
1956
  msgstr "Bild Qualität"
1957
 
1958
- #: ../admin/settings.php:335
1959
  msgid "Backup original images"
1960
  msgstr "Backup von Original-Bildern "
1961
 
1962
- #: ../admin/settings.php:337
1963
  msgid "Creates a backup for inserted images"
1964
  msgstr "Backup der Bilder anlegen"
1965
 
1966
- #: ../admin/settings.php:340
1967
  msgid "Automatically resize"
1968
  msgstr "Grösse automatisch anpassen"
1969
 
1970
- #: ../admin/settings.php:342
1971
  msgid "Automatically resize images on upload."
1972
  msgstr "Passt die Grösse automatisch beim Upload an"
1973
 
1974
- #: ../admin/settings.php:345
1975
  msgid "Single picture"
1976
  msgstr "Einzelbilder"
1977
 
1978
- #: ../admin/settings.php:348
1979
  msgid "Cache single pictures"
1980
  msgstr "Nutze Cache für Einzelbilder"
1981
 
1982
- #: ../admin/settings.php:350
1983
  msgid "Creates a file for each singlepic settings. Reduce the CPU load"
1984
  msgstr "Erstellt ein Cache-Bild für jedes Einzelbild (singlepic). Reduziert die CPU Belastung."
1985
 
1986
- #: ../admin/settings.php:353
1987
  msgid "Clear cache folder"
1988
  msgstr "Lösche Cache-Verzeichnis"
1989
 
1990
- #: ../admin/settings.php:354
1991
- msgid "Proceed now"
1992
- msgstr "Jetzt durchführen"
1993
-
1994
- #: ../admin/settings.php:374
1995
  msgid "Deactivate gallery page link"
1996
  msgstr "Keine Seitenverzweigung"
1997
 
1998
- #: ../admin/settings.php:376
1999
  msgid "The album will not link to a gallery subpage. The gallery is shown on the same page."
2000
  msgstr "Ein Album benötigt dann keinen Link zur Seite. Die Galerie wird direkt angezeigt."
2001
 
2002
- #: ../admin/settings.php:380
2003
  msgid "Number of images per page"
2004
  msgstr "Anzahl der Bilder pro Seite"
2005
 
2006
- #: ../admin/settings.php:382
2007
  msgid "0 will disable pagination, all images on one page"
2008
  msgstr "0 schaltet Blätterfunktion ab ( = alle Bilder auf einer Seite )"
2009
 
2010
- #: ../admin/settings.php:386
2011
  msgid "Number of columns"
2012
  msgstr "Anzahl der Spalten"
2013
 
2014
- #: ../admin/settings.php:388
2015
  msgid "0 will display as much as possible based on the width of your theme. Setting normally only required for captions below the images"
2016
  msgstr "Mit \"0\" werden soviele Bilder wie möglich in einer Reihe dargestellt. Die Einstellung ist normalerweise nur für Beschriftungen unterhalb der Bilder sinnvoll."
2017
 
2018
- #: ../admin/settings.php:392
2019
  msgid "Integrate slideshow"
2020
  msgstr "Slideshow verwenden"
2021
 
2022
- #: ../admin/settings.php:399
2023
  msgid "Show first"
2024
  msgstr "Zeige als Erstes"
2025
 
2026
- #: ../admin/settings.php:405
2027
  msgid "Show ImageBrowser"
2028
  msgstr "Zeige Bilder-Browser"
2029
 
2030
- #: ../admin/settings.php:407
2031
  msgid "The gallery will open the ImageBrowser instead the effect."
2032
  msgstr "Es wird der Bilder-Browser angezeigt (Kein JavaScript Effekt)"
2033
 
2034
- #: ../admin/settings.php:411
2035
  msgid "Add hidden images"
2036
  msgstr "Versteckte Bilder hinzufügen"
2037
 
2038
- #: ../admin/settings.php:413
2039
- msgid "If pagination is used, this option will still show all images in the modal window (Thickbox, Lightbox etc.). Note : This increase the page load"
2040
  msgstr "Wenn Du die Blätterfunktion nutzt, dann kannst Du mit dieser Option alle Bilder im Modal-Fenster (Thickbox,Lightbox etc.) anzeigen. Berücksichtige, dass die Ladezeit der Seite erhöht wird."
2041
 
2042
- #: ../admin/settings.php:417
2043
  msgid "Enable AJAX pagination"
2044
  msgstr "Aktiviere AJAX-Navigation"
2045
 
2046
- #: ../admin/settings.php:419
2047
- msgid "Browse images without reload the page. Note : Work only in combination with Shutter effect"
2048
  msgstr "Ermöglicht das Blättern zwischen den Bildern ohne die Seite neu zu laden. Hinweis : Funktioniert nur mit dem Shutter-Effekt."
2049
 
2050
- #: ../admin/settings.php:423
2051
  msgid "Sort options"
2052
  msgstr "Sortierung"
2053
 
2054
- #: ../admin/settings.php:426
2055
  msgid "Sort thumbnails"
2056
  msgstr "Thumbnails sortieren"
2057
 
2058
- #: ../admin/settings.php:428
2059
  msgid "Custom order"
2060
  msgstr "Benutzerdefiniert"
2061
 
2062
- #: ../admin/settings.php:430
2063
  msgid "File name"
2064
  msgstr "Dateiname"
2065
 
2066
- #: ../admin/settings.php:431
2067
  msgid "Alt / Title text"
2068
  msgstr "Alt / Titel Text"
2069
 
2070
- #: ../admin/settings.php:432
2071
  msgid "Date / Time"
2072
  msgstr "Datum/Zeit"
2073
 
2074
- #: ../admin/settings.php:436
2075
  msgid "Sort direction"
2076
  msgstr "Sortierreihenfolge"
2077
 
2078
- #: ../admin/settings.php:456
2079
  msgid "Here you can select the thumbnail effect, NextGEN Gallery will integrate the required HTML code in the images. Please note that only the Shutter and Thickbox effect will automatic added to your theme."
2080
  msgstr "Hier kannst Du den Effekt für die Thumbnails auswählen. NextGEN Galerie wird den benötigten HTML-Code verwenden. Bitte beachte, dass nur Shutter und der Thickbox Effekt automatisch in Dein Theme von Wordpress integriert wird. Alle anderen Effekte mußt Du selbst in die header.php eintragen (JS)."
2081
 
2082
- #: ../admin/settings.php:457
2083
  msgid "With the placeholder"
2084
  msgstr "Mit Platzhalter"
2085
 
2086
- #: ../admin/settings.php:457
2087
  msgid "you can activate a navigation through the images (depend on the effect). Change the code line only , when you use a different thumbnail effect or you know what you do."
2088
  msgstr "Du kannst eine Navigation durch die Bilder aktivieren (hängt vom Effekt ab). Ändere nur die Codezeile, falls Du einen anderen Effekt für die Thumbnails verwendest oder einfach weißt, was Du tust."
2089
 
2090
- #: ../admin/settings.php:460
2091
  msgid "JavaScript Thumbnail effect"
2092
  msgstr "JavaScript Thumbnail Effekt"
2093
 
2094
- #: ../admin/settings.php:463
2095
- msgid "None"
2096
- msgstr "Keiner"
2097
-
2098
- #: ../admin/settings.php:464
2099
  msgid "Thickbox"
2100
  msgstr "Thickbox"
2101
 
2102
- #: ../admin/settings.php:465
2103
  msgid "Lightbox"
2104
  msgstr "Lightbox"
2105
 
2106
- #: ../admin/settings.php:466
2107
  msgid "Highslide"
2108
  msgstr "Highslide"
2109
 
2110
- #: ../admin/settings.php:467
2111
  msgid "Shutter"
2112
  msgstr "Shutter"
2113
 
2114
- #: ../admin/settings.php:468
2115
  msgid "Custom"
2116
  msgstr "Eigener"
2117
 
2118
- #: ../admin/settings.php:473
2119
  msgid "Link Code line"
2120
  msgstr "Link-Code-Zeile"
2121
 
2122
- #: ../admin/settings.php:495
2123
  msgid "Please note : You can only activate the watermark under -> Manage Gallery . This action cannot be undone."
2124
  msgstr "Bitte beachten : Das Wasserzeichen kann nur unter der Galerieverwaltung gesetzt werden. "
2125
 
2126
- #: ../admin/settings.php:500
2127
  msgid "Preview"
2128
  msgstr "Vorschau"
2129
 
2130
- #: ../admin/settings.php:502
2131
- #: ../admin/settings.php:507
2132
  msgid "Position"
2133
  msgstr "Position"
2134
 
2135
- #: ../admin/settings.php:527
2136
  msgid "Offset"
2137
  msgstr "Abstand"
2138
 
2139
- #: ../admin/settings.php:543
2140
  msgid "Use image as watermark"
2141
  msgstr "Benutze das Bild als Wasserzeichen"
2142
 
2143
- #: ../admin/settings.php:546
2144
  msgid "URL to file"
2145
  msgstr "URL zur Datei"
2146
 
2147
- #: ../admin/settings.php:548
2148
  msgid "The accessing of URL files is disabled at your server (allow_url_fopen)"
2149
  msgstr "Der Dateizugriff von URLs ist auf diesem Server deaktiviert (allow_url_fopen)"
2150
 
2151
- #: ../admin/settings.php:551
2152
  msgid "Use text as watermark"
2153
  msgstr "Benutze Text als Wasserzeichen"
2154
 
2155
- #: ../admin/settings.php:554
2156
  msgid "Font"
2157
  msgstr "Schriftart"
2158
 
2159
- #: ../admin/settings.php:563
2160
  msgid "This function will not work, cause you need the FreeType library"
2161
  msgstr "Diese Funktion benötigt die FreeType-Bibliothek"
2162
 
2163
- #: ../admin/settings.php:565
2164
  msgid "You can upload more fonts in the folder <strong>nggallery/fonts</strong>"
2165
  msgstr "Du kannst mehr Schriftarten in das Verzeichniss <strong>nggallery/fonts</strong> hochladen."
2166
 
2167
- #: ../admin/settings.php:570
2168
  msgid "Size"
2169
  msgstr "Größe"
2170
 
2171
- #: ../admin/settings.php:574
2172
  msgid "Color"
2173
  msgstr "Farbe"
2174
 
2175
- #: ../admin/settings.php:576
2176
  msgid "(hex w/o #)"
2177
  msgstr "(hex w/o #)"
2178
 
2179
- #: ../admin/settings.php:579
2180
  msgid "Text"
2181
  msgstr "Text"
2182
 
2183
- #: ../admin/settings.php:583
2184
  msgid "Opaque"
2185
  msgstr "Transparenz"
2186
 
2187
- #: ../admin/settings.php:604
2188
  msgid "Default size (W x H)"
2189
  msgstr "Standard Größe (B x H)"
2190
 
2191
- #: ../admin/settings.php:609
2192
  msgid "Duration time"
2193
  msgstr "Dauer"
2194
 
2195
- #: ../admin/settings.php:610
2196
  msgid "sec."
2197
  msgstr "Sek."
2198
 
2199
- #: ../admin/settings.php:613
2200
- #: ../admin/settings.php:688
2201
  msgid "Transition / Fade effect"
2202
  msgstr "Fade Effekt"
2203
 
2204
- #: ../admin/settings.php:616
2205
- #: ../admin/settings.php:691
2206
  msgid "fade"
2207
  msgstr "Fade"
2208
 
2209
- #: ../admin/settings.php:617
2210
  msgid "blindX"
2211
  msgstr "blindX"
2212
 
2213
- #: ../admin/settings.php:618
2214
  msgid "cover"
2215
  msgstr "Blenden"
2216
 
2217
- #: ../admin/settings.php:619
2218
  msgid "scrollUp"
2219
  msgstr "ScrollUp"
2220
 
2221
- #: ../admin/settings.php:620
2222
  msgid "scrollDown"
2223
  msgstr "ScrollDown"
2224
 
2225
- #: ../admin/settings.php:621
2226
  msgid "shuffle"
2227
  msgstr "Shuffle"
2228
 
2229
- #: ../admin/settings.php:622
2230
  msgid "toss"
2231
  msgstr "Schüttel"
2232
 
2233
- #: ../admin/settings.php:623
2234
  msgid "wipe"
2235
  msgstr "wischen"
2236
 
2237
- #: ../admin/settings.php:625
2238
  msgid "See here for more information about the effects :"
2239
  msgstr "Hier bekommst du mehr Informationen über die Effekte :"
2240
 
2241
- #: ../admin/settings.php:629
2242
  msgid "Settings for the JW Image Rotator"
2243
  msgstr "JW-Image-Rotator Einstellungen"
2244
 
2245
- #: ../admin/settings.php:630
2246
  msgid "The settings are only used in the JW Image Rotator Version"
2247
  msgstr "Die Einstellungen werden im JW-Image-Rotator benutzt, in der Version"
2248
 
2249
- #: ../admin/settings.php:631
2250
  msgid "See more information for the Flash Player on the web page"
2251
  msgstr "Weitere Informationen auf der Flash-Player-Homepage"
2252
 
2253
- #: ../admin/settings.php:636
2254
  msgid "The path to imagerotator.swf is not defined, the slideshow will not work."
2255
  msgstr "Der Pfad zu imagerotator.swf ist nicht gesetzt, die Flash-Diaschau kann dann nicht angezeigt werden"
2256
 
2257
- #: ../admin/settings.php:637
2258
  msgid "If you would like to use the JW Image Rotatator, please download the player <a href=\"http://www.longtailvideo.com/players/jw-image-rotator/\" target=\"_blank\" >here</a> and upload it to your Upload folder (Default is wp-content/uploads)."
2259
  msgstr "Wenn Du den JW-Image-Rotator (Slideshow) nutzen möchtest, lade Dir die aktuelle Version <a href=\"http://www.longtailvideo.com/players/jw-image-rotator/\" target=\"_blank\" >hier</a> herunter und übertrage sie dann in Dein WordPress-Upload-Verzeichnis (normalerweise wp-content/uploads),"
2260
 
2261
- #: ../admin/settings.php:643
2262
  msgid "Enable flash slideshow"
2263
  msgstr "Aktiviere Flash Slideshow"
2264
 
2265
- #: ../admin/settings.php:645
2266
- msgid "Integrate the flash based sildeshow for all flash supported devices"
2267
  msgstr "Verwende die Flash Slideshow für alle Flash-unterstützte Geräte"
2268
 
2269
- #: ../admin/settings.php:648
2270
  msgid "Path to the Imagerotator (URL)"
2271
  msgstr "Pfad zum JW-Image-Rotator (URL)"
2272
 
2273
- #: ../admin/settings.php:651
2274
  msgid "Search now"
2275
  msgstr "Suche jetzt"
2276
 
2277
- #: ../admin/settings.php:652
2278
- msgid "Press the button to search automatic for the imagerotator, if you uploaded it to wp-content/uploads or a subfolder"
2279
  msgstr "Drücke 'Suche jetzt' um automatisch den Pfad zum Image-Rotator zu ermitteln, sofern Du den Player in wp-content/uploads oder ein Unterverzeichnis hochgeladen hast."
2280
 
2281
- #: ../admin/settings.php:656
2282
  msgid "Shuffle mode"
2283
  msgstr "Shuffle Modus"
2284
 
2285
- #: ../admin/settings.php:660
2286
  msgid "Show next image on click"
2287
  msgstr "Zeige nächstes Bild bei Klick"
2288
 
2289
- #: ../admin/settings.php:664
2290
  msgid "Show navigation bar"
2291
  msgstr "Zeige Navigations-Leiste"
2292
 
2293
- #: ../admin/settings.php:668
2294
  msgid "Show loading icon"
2295
  msgstr "Zeige Lade-Bildchen"
2296
 
2297
- #: ../admin/settings.php:672
2298
  msgid "Use watermark logo"
2299
  msgstr "Wasserzeichen anzeigen"
2300
 
2301
- #: ../admin/settings.php:674
2302
  msgid "You can change the logo at the watermark settings"
2303
  msgstr "Du kannst den Pfad in Einstellungen für das Wasserzeichen angeben"
2304
 
2305
- #: ../admin/settings.php:677
2306
  msgid "Stretch image"
2307
  msgstr "Bild dehnen"
2308
 
2309
- #: ../admin/settings.php:680
2310
  msgid "true"
2311
  msgstr "Ja"
2312
 
2313
- #: ../admin/settings.php:681
2314
  msgid "false"
2315
  msgstr "Nein"
2316
 
2317
- #: ../admin/settings.php:682
2318
  msgid "fit"
2319
  msgstr "Passend"
2320
 
2321
- #: ../admin/settings.php:683
2322
  msgid "none"
2323
  msgstr "keiner"
2324
 
2325
- #: ../admin/settings.php:692
2326
  msgid "bgfade"
2327
  msgstr "BGFade"
2328
 
2329
- #: ../admin/settings.php:693
2330
  msgid "slowfade"
2331
  msgstr "Slowfade"
2332
 
2333
- #: ../admin/settings.php:694
2334
  msgid "circles"
2335
  msgstr "Kreise"
2336
 
2337
- #: ../admin/settings.php:695
2338
  msgid "bubbles"
2339
  msgstr "Blasen"
2340
 
2341
- #: ../admin/settings.php:696
2342
  msgid "blocks"
2343
  msgstr "Blöcke"
2344
 
2345
- #: ../admin/settings.php:697
2346
  msgid "fluids"
2347
  msgstr "Fluids"
2348
 
2349
- #: ../admin/settings.php:698
2350
  msgid "flash"
2351
  msgstr "Flash"
2352
 
2353
- #: ../admin/settings.php:699
2354
  msgid "lines"
2355
  msgstr "Linien"
2356
 
2357
- #: ../admin/settings.php:700
2358
  msgid "random"
2359
  msgstr "Zufall"
2360
 
2361
- #: ../admin/settings.php:705
2362
  msgid "Use slow zooming effect"
2363
  msgstr "nutze Zoom-Effekt"
2364
 
2365
- #: ../admin/settings.php:709
2366
  msgid "Background Color"
2367
  msgstr "Hintergrund (BG) Farbe"
2368
 
2369
- #: ../admin/settings.php:714
2370
  msgid "Texts / Buttons Color"
2371
  msgstr "Text- / Button Farbe"
2372
 
2373
- #: ../admin/settings.php:719
2374
  msgid "Rollover / Active Color"
2375
  msgstr "Rollover / Aktiv (Link) Farbe"
2376
 
2377
- #: ../admin/settings.php:724
2378
  msgid "Screen Color"
2379
  msgstr "Seiten-Farbe"
2380
 
2381
- #: ../admin/settings.php:729
2382
  msgid "Background music (URL)"
2383
  msgstr "Hintergrundmusik (URL)"
2384
 
2385
- #: ../admin/settings.php:733
2386
  msgid "Try XHTML validation (with CDATA)"
2387
  msgstr "Integriere XHTML-Validierung (mittels CDATA)"
2388
 
2389
- #: ../admin/settings.php:735
2390
  msgid "Important : Could causes problem at some browser. Please recheck your page."
2391
  msgstr "Wichtig : Es könnten Probleme bei einigen Browser entstehen. Unbedingt Seite danach prüfen."
2392
 
@@ -2659,209 +2716,250 @@ msgstr "Stichwörter vergleichen :"
2659
  msgid "Slug(s) to set:"
2660
  msgstr "Schlagwörter setzen:"
2661
 
2662
- #: ../admin/upgrade.php:23
2663
  msgid "Upgrade database structure..."
2664
  msgstr "Aktualisiere die Datenbank-Struturen..."
2665
 
2666
- #: ../admin/upgrade.php:101
2667
- #: ../admin/upgrade.php:115
2668
  #: ../admin/upgrade.php:122
2669
- #: ../admin/upgrade.php:133
2670
- #: ../admin/upgrade.php:147
 
2671
  msgid "finished"
2672
  msgstr "beendet"
2673
 
2674
- #: ../admin/upgrade.php:113
2675
  msgid "Update file structure..."
2676
  msgstr "Aktualisiere Verzeichnisse..."
2677
 
2678
- #: ../admin/upgrade.php:120
2679
  msgid "Import date and time information..."
2680
  msgstr "Importiere Datum/Uhrzeit..."
2681
 
2682
- #: ../admin/upgrade.php:128
2683
  msgid "Move imagerotator to new location..."
2684
  msgstr "Verschiebe den Image-Rotator in ein neues Verzeichnis..."
2685
 
2686
- #: ../admin/upgrade.php:139
2687
  msgid "Update settings..."
2688
  msgstr "Einstellungen gespeichert..."
2689
 
2690
- #: ../admin/upgrade.php:153
2691
  msgid "Updated widget structure. If you used NextGEN Widgets, you need to setup them again..."
2692
  msgstr "Die Widgets wurden überarbeitet. Wenn Du NextGEN Widgets nutzt, musst du Sie nun neu einfügen..."
2693
 
2694
- #: ../admin/upgrade.php:161
2695
  msgid "Updated options."
2696
  msgstr "Einstellungen gespeichert."
2697
 
2698
- #: ../admin/upgrade.php:167
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2699
  msgid "Could not find NextGEN Gallery database tables, upgrade failed !"
2700
  msgstr "Konnte die NextGEN Gallery Tabellen nicht finden, Upgrade fehlgeschlagen !"
2701
 
2702
- #: ../admin/upgrade.php:230
2703
  msgid "Some folders/files could not renamed, please recheck the permission and rescan the folder in the manage gallery section."
2704
  msgstr "Einige Verzeichnisse / Bilder konnten nicht umbenannt werden, bitte überprüfe die Zugriffsrechte und scanne dann das Verzeichnis neu ein."
2705
 
2706
- #: ../admin/upgrade.php:232
2707
  msgid "Rename failed"
2708
  msgstr "Konnte nicht umbenannt werden"
2709
 
2710
- #: ../admin/upgrade.php:328
2711
- #: ../admin/upgrade.php:347
2712
  msgid "Upgrade NextGEN Gallery"
2713
  msgstr "NextGEN-Gallery aktualisieren"
2714
 
2715
- #: ../admin/upgrade.php:329
2716
  msgid "The script detect that you upgrade from a older version."
2717
  msgstr "Es wurde eine ältere NextGEN-Datenbank erkannt."
2718
 
2719
- #: ../admin/upgrade.php:330
2720
  msgid "Your database tables for NextGEN Gallery is out-of-date, and must be upgraded before you can continue."
2721
  msgstr "Deine Datenbanktabellen für NextGEN-Gallery sind nicht auf dem aktuellen Stand, sie müssen jetzt aktualisiert werden."
2722
 
2723
- #: ../admin/upgrade.php:331
2724
  msgid "If you would like to downgrade later, please make first a complete backup of your database and the images."
2725
  msgstr "Wenn Du wieder auf eine ältere Version zurückgehen möchtest, solltest Du vorher die Datenbank sichern."
2726
 
2727
- #: ../admin/upgrade.php:332
2728
  msgid "The upgrade process may take a while, so please be patient."
2729
  msgstr "Der Upgrade-Prozess kann etwas dauern, bitte sei geduldig..."
2730
 
2731
- #: ../admin/upgrade.php:333
2732
  msgid "Start upgrade now"
2733
  msgstr "Aktualisierung starten"
2734
 
2735
- #: ../admin/upgrade.php:349
2736
  msgid "Upgrade finished..."
2737
  msgstr "Upgrade beendet..."
2738
 
2739
- #: ../admin/upgrade.php:350
2740
  msgid "Continue"
2741
  msgstr "Weiter"
2742
 
2743
- #: ../admin/wpmu.php:31
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2744
  msgid "Update successfully"
2745
  msgstr "Aktualisierung erfolgreich"
2746
 
2747
- #: ../admin/wpmu.php:40
2748
- msgid "General WordPress MU Settings"
2749
- msgstr "WordPress-MU-Einstellungen"
 
2750
 
2751
- #: ../admin/wpmu.php:48
2752
- msgid "This is the default path for all blogs. With the placeholder %BLOG_ID% you can organize the folder structure better. The path must end with a /."
 
 
 
 
2753
  msgstr "Dieses ist der Default-Pfad für alle Blogs. Mit dem Platzhalter %BLOG_ID% wird die Ordnerstruktur gesteuert. Der Pfad muss mit / enden."
2754
 
2755
- #: ../admin/wpmu.php:51
 
 
 
 
 
2756
  msgid "Enable upload quota check"
2757
  msgstr "Schalte die Uploadbegrenzung ein"
2758
 
2759
- #: ../admin/wpmu.php:53
2760
  msgid "Should work if the gallery is bellow the blog.dir"
2761
  msgstr "Sollte funktionieren, wenn die Galerien sich unterhalb blog.dir befinden"
2762
 
2763
- #: ../admin/wpmu.php:57
2764
  msgid "Enable zip upload option"
2765
  msgstr "Erlaube ZIP-Upload"
2766
 
2767
- #: ../admin/wpmu.php:59
2768
  msgid "Allow users to upload zip folders."
2769
  msgstr "Erlaubt die Nutzung des ZIP-Upload"
2770
 
2771
- #: ../admin/wpmu.php:63
 
 
 
 
 
 
 
 
2772
  msgid "Enable style selection"
2773
  msgstr "Freie CSS-Style-Auswahl"
2774
 
2775
- #: ../admin/wpmu.php:65
2776
  msgid "Allow users to choose a style for the gallery."
2777
  msgstr "Erlaube dem User, ein CSS für die Galerie zu wählen"
2778
 
2779
- #: ../admin/wpmu.php:69
2780
  msgid "Enable roles/capabilities"
2781
  msgstr "Rollen / Zugriffsrechte freischalten"
2782
 
2783
- #: ../admin/wpmu.php:71
2784
  msgid "Allow users to change the roles for other blog authors."
2785
  msgstr "Erlaube dem User die Anpassung der Zugangsberechtigung"
2786
 
2787
- #: ../admin/wpmu.php:75
2788
  msgid "Default style"
2789
  msgstr "Standard-CSS-Style"
2790
 
2791
- #: ../admin/wpmu.php:92
2792
  msgid "Choose the default style for the galleries."
2793
  msgstr "Wähle das Default-Stylesheet für die Galerien"
2794
 
2795
- #: ../admin/tinymce/window.php:8
2796
- msgid "You are not allowed to be here"
2797
- msgstr "Keine Zugangsberechtigung"
2798
-
2799
  #: ../admin/tinymce/window.php:56
2800
- #: ../admin/tinymce/window.php:84
 
 
 
 
2801
  msgid "Show as"
2802
  msgstr "Zeige als"
2803
 
2804
- #: ../admin/tinymce/window.php:57
2805
  msgid "Image list"
2806
  msgstr "Bilder-Liste"
2807
 
2808
- #: ../admin/tinymce/window.php:59
2809
  msgid "Imagebrowser"
2810
  msgstr "Bilder-Browser"
2811
 
2812
- #: ../admin/tinymce/window.php:72
2813
- msgid "No album"
2814
- msgstr "Kein Album"
2815
 
2816
- #: ../admin/tinymce/window.php:85
2817
  msgid "Extended version"
2818
  msgstr "Erweiterte Version"
2819
 
2820
- #: ../admin/tinymce/window.php:86
2821
  msgid "Compact version"
2822
  msgstr "Kompakte Version"
2823
 
2824
  #: ../admin/tinymce/window.php:97
2825
- msgid "Select picture"
2826
- msgstr "Wähle Bild"
2827
 
2828
- #: ../admin/tinymce/window.php:111
2829
  msgid "Width x Height"
2830
  msgstr "Breite x Höhe"
2831
 
2832
- #: ../admin/tinymce/window.php:115
2833
  msgid "Effect"
2834
  msgstr "Effekt"
2835
 
2836
- #: ../admin/tinymce/window.php:118
2837
  msgid "No effect"
2838
  msgstr "Kein Effekt"
2839
 
2840
- #: ../admin/tinymce/window.php:120
2841
  msgid "Web 2.0"
2842
  msgstr "Web 2.0"
2843
 
2844
- #: ../admin/tinymce/window.php:125
2845
  msgid "Float"
2846
  msgstr "Float"
2847
 
2848
- #: ../admin/tinymce/window.php:128
2849
  msgid "No float"
2850
  msgstr "Kein Float"
2851
 
2852
- #: ../admin/tinymce/window.php:129
2853
- msgid "Left"
2854
- msgstr "Links"
2855
-
2856
- #: ../admin/tinymce/window.php:130
2857
- msgid "Center"
2858
- msgstr "Zentrieren"
2859
-
2860
- #: ../admin/tinymce/window.php:131
2861
- msgid "Right"
2862
- msgstr "Rechts"
2863
-
2864
- #: ../admin/tinymce/window.php:147
2865
  msgid "Insert"
2866
  msgstr "Einfügen"
2867
 
@@ -2895,128 +2993,128 @@ msgstr "ausgelöst"
2895
  msgid "Not fired"
2896
  msgstr "Nicht ausgelöst"
2897
 
2898
- #: ../lib/meta.php:423
2899
  msgid "Aperture"
2900
  msgstr "Blende"
2901
 
2902
- #: ../lib/meta.php:424
2903
- #: ../lib/meta.php:449
2904
  msgid "Credit"
2905
  msgstr "Autor"
2906
 
2907
- #: ../lib/meta.php:425
2908
  msgid "Camera"
2909
  msgstr "Kamera"
2910
 
2911
- #: ../lib/meta.php:426
2912
  msgid "Caption"
2913
  msgstr "Beschreibung"
2914
 
2915
- #: ../lib/meta.php:428
2916
  msgid "Copyright"
2917
  msgstr "Rechte"
2918
 
2919
- #: ../lib/meta.php:429
2920
  msgid "Focal length"
2921
  msgstr "Brennweite"
2922
 
2923
- #: ../lib/meta.php:430
2924
  msgid "ISO"
2925
  msgstr "ISO"
2926
 
2927
- #: ../lib/meta.php:431
2928
  msgid "Shutter speed"
2929
  msgstr "Belichtungszeit"
2930
 
2931
- #: ../lib/meta.php:435
2932
  msgid "Subject"
2933
  msgstr "Betreff"
2934
 
2935
- #: ../lib/meta.php:436
2936
  msgid "Make"
2937
  msgstr "Hersteller"
2938
 
2939
- #: ../lib/meta.php:437
2940
  msgid "Edit Status"
2941
  msgstr "Ändere Status"
2942
 
2943
- #: ../lib/meta.php:438
2944
  msgid "Category"
2945
  msgstr "Kategorie"
2946
 
2947
- #: ../lib/meta.php:439
2948
  msgid "Keywords"
2949
  msgstr "Schlüsselwörter"
2950
 
2951
- #: ../lib/meta.php:440
2952
  msgid "Date Created"
2953
  msgstr "erstellt (Datum)"
2954
 
2955
- #: ../lib/meta.php:441
2956
  msgid "Time Created"
2957
  msgstr "erstellt (Zeit)"
2958
 
2959
- #: ../lib/meta.php:442
2960
  msgid "Author Position"
2961
  msgstr "Autor Position"
2962
 
2963
- #: ../lib/meta.php:443
2964
  msgid "City"
2965
  msgstr "Stadt"
2966
 
2967
- #: ../lib/meta.php:444
2968
  msgid "Location"
2969
  msgstr "Ort"
2970
 
2971
- #: ../lib/meta.php:445
2972
  msgid "Province/State"
2973
  msgstr "Staat / PLZ"
2974
 
2975
- #: ../lib/meta.php:446
2976
  msgid "Country code"
2977
  msgstr "Landescode"
2978
 
2979
- #: ../lib/meta.php:447
2980
  msgid "Country"
2981
  msgstr "Land"
2982
 
2983
- #: ../lib/meta.php:448
2984
  msgid "Headline"
2985
  msgstr "Kopfzeile"
2986
 
2987
- #: ../lib/meta.php:450
2988
  msgid "Source"
2989
  msgstr "Quelle"
2990
 
2991
- #: ../lib/meta.php:451
2992
  msgid "Copyright Notice"
2993
  msgstr "Copyright Hinweise / Credits"
2994
 
2995
- #: ../lib/meta.php:452
2996
  msgid "Contact"
2997
  msgstr "Kontakt"
2998
 
2999
- #: ../lib/meta.php:453
3000
  msgid "Last modified"
3001
  msgstr "Zuletzt geändert"
3002
 
3003
- #: ../lib/meta.php:454
3004
  msgid "Program tool"
3005
  msgstr "Programm"
3006
 
3007
- #: ../lib/meta.php:455
3008
  msgid "Format"
3009
  msgstr "Format"
3010
 
3011
- #: ../lib/meta.php:456
3012
  msgid "Image Width"
3013
  msgstr "Breite"
3014
 
3015
- #: ../lib/meta.php:457
3016
  msgid "Image Height"
3017
  msgstr "Höhe"
3018
 
3019
- #: ../lib/meta.php:458
3020
  msgid "Flash"
3021
  msgstr "Blitz"
3022
 
@@ -3024,8 +3122,8 @@ msgstr "Blitz"
3024
  msgid "Sorry, you have used your space allocation. Please delete some files to upload more files."
3025
  msgstr "Schade, Dein freier Speicher scheint aufgebraucht zu sein. Bitte lösche zuerst ein paar Bilder."
3026
 
3027
- #: ../lib/ngg-db.php:321
3028
- #: ../lib/ngg-db.php:322
3029
  msgid "Album overview"
3030
  msgstr "Album Übersicht"
3031
 
@@ -3101,56 +3199,90 @@ msgstr "Kein Stichwort geändert"
3101
  msgid "%s slug(s) edited."
3102
  msgstr "%s Stichwörter geändert"
3103
 
3104
- #: ../lib/xmlrpc.php:55
3105
  #, php-format
3106
  msgid "XML-RPC services are disabled on this blog. An admin user can enable them at %s"
3107
  msgstr "XML-RPC Service ist ausgeschaltet. Der Administrator kann es hier %s einschalten"
3108
 
3109
- #: ../lib/xmlrpc.php:62
3110
  msgid "Bad login/pass combination."
3111
  msgstr "Username/Password falsch"
3112
 
3113
- #: ../lib/xmlrpc.php:118
3114
  msgid "You are not allowed to upload files to this site."
3115
  msgstr "Du hast keine Berechtigung, Bilder hochzuladen"
3116
 
3117
- #: ../lib/xmlrpc.php:124
3118
- #: ../lib/xmlrpc.php:309
3119
  msgid "Could not find gallery "
3120
  msgstr "Konnte Galerie nicht finden"
3121
 
3122
- #: ../lib/xmlrpc.php:129
3123
- #: ../lib/xmlrpc.php:314
3124
  msgid "You are not allowed to upload files to this gallery."
3125
  msgstr "Du hast keine Berechtigung, Bilder in diese Galerie zuladen"
3126
 
3127
- #: ../lib/xmlrpc.php:141
3128
  msgid "This is no valid image file."
3129
  msgstr "Das ist keine zulässige Bilddatei!"
3130
 
3131
- #: ../lib/xmlrpc.php:153
3132
  msgid "Could not find image id "
3133
  msgstr "Konnte die Bild-ID nicht finden"
3134
 
3135
- #: ../lib/xmlrpc.php:160
3136
  #, php-format
3137
  msgid "Failed to delete image %1$s "
3138
  msgstr "Konnte das Bild %1$s nicht löschen"
3139
 
3140
- #: ../lib/xmlrpc.php:169
3141
  #, php-format
3142
  msgid "Could not write file %1$s (%2$s)"
3143
  msgstr "Konnte die Datei %1$s (%2$s) nicht schreiben "
3144
 
3145
- #: ../lib/xmlrpc.php:236
3146
- #: ../lib/xmlrpc.php:272
3147
- msgid "Sorry, you must be able to manage galleries to view the list of galleries"
3148
- msgstr "Sorry, Du hast nicht das Recht, diese Galerie anzuschauen"
 
3149
 
3150
- #: ../lib/xmlrpc.php:242
3151
  msgid "Sorry, could not create the gallery"
3152
  msgstr "Konnte die Galerie nicht anlegen"
3153
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3154
  #: ../view/album-compact.php:32
3155
  #: ../view/album-extend.php:30
3156
  msgid "Photos"
@@ -3339,6 +3471,33 @@ msgstr "Album-ID %s existiert nicht"
3339
  msgid "Invalid MediaRSS command"
3340
  msgstr "Ungültiger Media-RSS-Befehl"
3341
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3342
  #~ msgid "for the Fugue Iconset"
3343
  #~ msgstr "für das Fugue-Iconset"
3344
 
@@ -3383,9 +3542,6 @@ msgstr "Ungültiger Media-RSS-Befehl"
3383
  #~ msgid "Setup"
3384
  #~ msgstr "Setup"
3385
 
3386
- #~ msgid "Alignment"
3387
- #~ msgstr "Ausrichtung"
3388
-
3389
  #~ msgid "Full size"
3390
  #~ msgstr "Volle Größe"
3391
 
@@ -3572,9 +3728,6 @@ msgstr "Ungültiger Media-RSS-Befehl"
3572
  #~ msgid "Manage galleries and images"
3573
  #~ msgstr "Verwalte Galerien und Bilder"
3574
 
3575
- #~ msgid "Create and manage albums"
3576
- #~ msgstr "Erstelle und verwalte Alben"
3577
-
3578
  #~ msgid "URL"
3579
  #~ msgstr "URL"
3580
 
2
  msgstr ""
3
  "Project-Id-Version: NextGEN Gallery\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2010-12-05 20:30+0100\n"
6
+ "PO-Revision-Date: 2010-12-05 20:30+0100\n"
7
  "Last-Translator: Alex Rabe\n"
8
  "Language-Team: Alex Rabe\n"
9
  "MIME-Version: 1.0\n"
18
  "X-Poedit-SearchPath-0: .\n"
19
  "X-Poedit-SearchPath-1: ..\n"
20
 
21
+ #: ../nggallery.php:94
22
  msgid "<strong>Translation by : </strong><a target=\"_blank\" href=\"http://alexrabe.de/wordpress-plugins/nextgen-gallery/languages/\">See here</a>"
23
  msgstr "<strong>Übersetzt von : </strong><a target=\"_blank\" href=\"http://alexrabe.de/wordpress-plugins/wordtube/translation-of-plugins/\">Alex Rabe</a>"
24
 
25
+ #: ../nggallery.php:95
26
+ msgid "<strong>This translation is not yet updated for Version 1.7.0</strong>. If you would like to help with translation, download the current po from the plugin folder and read <a href=\"http://alexrabe.de/wordpress-plugins/wordtube/translation-of-plugins/\">here</a> how you can translate the plugin."
27
  msgstr "Sollten jemand Rechtschreibfehler, Deppenapostrophe oder andere deutsche Ungereimtheiten finden, freue ich mich jederzeit über einen kurzen Hinweis</p>"
28
 
29
+ #: ../nggallery.php:194
30
+ msgid "Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher"
31
  msgstr "Tut mir leid, aber NextGEN-Galerie benötigt minimum 16MB Speicher (Memory Limit) oder mehr"
32
 
33
+ #: ../nggallery.php:212
34
  msgid "Please update the database of NextGEN Gallery."
35
  msgstr "Bitte aktualisiere die Datenbank von NextGEN Gallery."
36
 
37
+ #: ../nggallery.php:212
38
  msgid "Click here to proceed."
39
  msgstr "Hier klicken um fortzufahren."
40
 
41
+ #: ../nggallery.php:235
42
  msgid "Picture tag"
43
  msgstr "Bilder-Stichwort"
44
 
45
+ #: ../nggallery.php:236
46
  msgid "Picture tag: %2$l."
47
  msgstr "Bilder-Stichwort: %2$l."
48
 
49
+ #: ../nggallery.php:237
50
  msgid "Separate picture tags with commas."
51
  msgstr "Trenne Stichwörter mittels Komma"
52
 
53
+ #: ../nggallery.php:336
54
  msgid "L O A D I N G"
55
  msgstr "B I T T E &nbsp;&nbsp;W A R T E N"
56
 
57
+ #: ../nggallery.php:337
58
  msgid "Click to Close"
59
  msgstr "Klicken zum Schliessen "
60
 
61
+ #: ../nggallery.php:358
62
  msgid "loading"
63
  msgstr "lade..."
64
 
65
+ #: ../nggallery.php:498
66
+ #: ../nggfunctions.php:919
67
+ #: ../admin/admin.php:32
68
  msgid "Overview"
69
  msgstr "Übersicht"
70
 
71
+ #: ../nggallery.php:499
72
  msgid "Get help"
73
  msgstr "Hilfe"
74
 
75
+ #: ../nggallery.php:500
76
  msgid "Contribute"
77
  msgstr "Mithelfen"
78
 
79
+ #: ../nggallery.php:501
80
  msgid "Donate"
81
  msgstr "Spenden"
82
 
83
  #: ../nggfunctions.php:42
84
+ msgid "The <a href=\"http://www.macromedia.com/go/getflashplayer\">Flash Player</a> and <a href=\"http://www.mozilla.com/firefox/\">a browser with Javascript support</a> are needed."
85
  msgstr "Es wird der <a href=\"http://www.macromedia.com/go/getflashplayer\">Adobe Flash Player</a> benötigt und <a href=\"http://www.mozilla.com/firefox/\">im Browser muss Javascript</a> aktiviert sein."
86
 
87
+ #: ../nggfunctions.php:164
88
+ #: ../nggfunctions.php:629
89
  msgid "[Gallery not found]"
90
  msgstr "[Galerie nicht gefunden]"
91
 
92
+ #: ../nggfunctions.php:436
93
  msgid "[Album not found]"
94
  msgstr "[Album nicht gefunden]"
95
 
96
+ #: ../nggfunctions.php:746
97
  msgid "[SinglePic not found]"
98
  msgstr "[Bild nicht gefunden]"
99
 
100
+ #: ../nggfunctions.php:884
101
  msgid "Related images for"
102
  msgstr "Verwandte Bilder von"
103
 
222
  #: ../admin/addgallery.php:69
223
  #: ../admin/addgallery.php:80
224
  #: ../admin/album.php:96
225
+ #: ../admin/album.php:124
226
+ #: ../admin/album.php:142
227
  #: ../admin/edit-thumbnail.php:19
228
  #: ../admin/edit-thumbnail.php:22
229
+ #: ../admin/manage.php:179
230
  msgid "Cheatin&#8217; uh?"
231
  msgstr "Cheatin&#8217; uh?"
232
 
239
  msgstr "Upload fehlgeschlagen!"
240
 
241
  #: ../admin/addgallery.php:90
242
+ #: ../admin/functions.php:932
243
+ #: ../admin/functions.php:1032
244
  msgid "No gallery selected !"
245
  msgstr "Keine Galerie ausgewählt !"
246
 
247
+ #: ../admin/addgallery.php:159
248
  msgid "Image Files"
249
  msgstr "Bilder"
250
 
251
+ #: ../admin/addgallery.php:180
252
+ #: ../admin/addgallery.php:208
253
  msgid "remove"
254
  msgstr "Entfernen"
255
 
256
+ #: ../admin/addgallery.php:181
257
+ #: ../admin/addgallery.php:361
258
  msgid "Browse..."
259
  msgstr "Durchsuche..."
260
 
261
+ #: ../admin/addgallery.php:182
262
+ #: ../admin/addgallery.php:194
263
+ #: ../admin/addgallery.php:411
264
  msgid "Upload images"
265
  msgstr "Bilder hochladen"
266
 
267
+ #: ../admin/addgallery.php:271
268
+ #: ../admin/addgallery.php:377
269
  msgid "Upload Images"
270
  msgstr "Bilder hochladen"
271
 
272
+ #: ../admin/addgallery.php:274
273
+ #: ../admin/addgallery.php:291
274
+ #: ../admin/manage-galleries.php:112
275
+ #: ../admin/manage-galleries.php:149
276
  msgid "Add new gallery"
277
  msgstr "Neue Galerie erstellen"
278
 
279
+ #: ../admin/addgallery.php:277
280
+ #: ../admin/addgallery.php:313
281
  msgid "Upload a Zip-File"
282
  msgstr "Zip-Datei hochladen"
283
 
284
+ #: ../admin/addgallery.php:280
285
+ #: ../admin/addgallery.php:355
286
  msgid "Import image folder"
287
  msgstr "Bilder-Verzeichnis importieren"
288
 
289
+ #: ../admin/addgallery.php:296
290
+ #: ../admin/manage-galleries.php:284
291
  msgid "New Gallery"
292
  msgstr "Neue Galerie"
293
 
294
+ #: ../admin/addgallery.php:299
295
+ #: ../admin/manage-galleries.php:286
296
  msgid "Create a new , empty gallery below the folder"
297
  msgstr "Erstelle eine neue, leere Galerie unter dem Verzeichnis"
298
 
299
+ #: ../admin/addgallery.php:301
300
+ #: ../admin/manage-galleries.php:288
301
  msgid "Allowed characters for file and folder names are"
302
  msgstr "Erlaubte Zeichen für die Datei- und Verzeichnisnamen sind"
303
 
304
+ #: ../admin/addgallery.php:305
305
  msgid "Add gallery"
306
  msgstr "Galerie hinzufügen"
307
 
308
+ #: ../admin/addgallery.php:318
309
  msgid "Select Zip-File"
310
  msgstr "Wähle Zip-Datei"
311
 
312
+ #: ../admin/addgallery.php:320
313
  msgid "Upload a zip file with images"
314
  msgstr "Lade eine Zip-Datei mit Bildern hoch"
315
 
316
+ #: ../admin/addgallery.php:324
317
  msgid "or enter a Zip-File URL"
318
  msgstr "oder gib eine URL zur ZIP-Datei an"
319
 
320
+ #: ../admin/addgallery.php:326
321
  msgid "Import a zip file with images from a url"
322
  msgstr "Lade eine Zip-Datei mit Bildern über ein URL hoch"
323
 
324
+ #: ../admin/addgallery.php:330
325
+ #: ../admin/addgallery.php:386
326
  msgid "in to"
327
  msgstr "in"
328
 
329
+ #: ../admin/addgallery.php:332
330
  msgid "a new gallery"
331
  msgstr "eine neue Galerie"
332
 
333
+ #: ../admin/addgallery.php:343
334
  msgid "Note : The upload limit on your server is "
335
  msgstr "Hinweis : Das Upload-Limit auf dem Server beträgt "
336
 
337
+ #: ../admin/addgallery.php:347
338
  msgid "Start upload"
339
  msgstr "Upload starten"
340
 
341
+ #: ../admin/addgallery.php:360
342
  msgid "Import from Server path:"
343
  msgstr "Importieren aus Server-Pfad:"
344
 
345
+ #: ../admin/addgallery.php:363
346
  msgid "Note : Change the default path in the gallery settings"
347
  msgstr "Hinweis : Der Default-Pfad kann in den Einstellungen angepasst werden"
348
 
349
+ #: ../admin/addgallery.php:365
350
  msgid " Please note : For safe-mode = ON you need to add the subfolder thumbs manually"
351
  msgstr "Achtung : Da der Safe-Mode (PHP.INI) eingeschaltet ist, mußt Du das Unterverzeichnis für die Vorschaubilder (\"thumbs\") manuell (per FTP) anlegen"
352
 
353
+ #: ../admin/addgallery.php:368
354
  msgid "Import folder"
355
  msgstr "Verzeichnis importieren"
356
 
357
+ #: ../admin/addgallery.php:382
358
  msgid "Upload image"
359
  msgstr "Bild hochladen"
360
 
361
+ #: ../admin/addgallery.php:388
362
  msgid "Choose gallery"
363
  msgstr "Wähle Galerie"
364
 
365
+ #: ../admin/addgallery.php:407
366
  msgid "The batch upload requires Adobe Flash 10, disable it if you have problems"
367
  msgstr "Das Batch-Upload benötigt Adbode Flash 10, wenn es Probleme gibt deaktiviere es besser."
368
 
369
+ #: ../admin/addgallery.php:407
370
  msgid "Disable flash upload"
371
  msgstr "Deaktiviere Batch-Upload"
372
 
373
+ #: ../admin/addgallery.php:409
374
  msgid "Upload multiple files at once by ctrl/shift-selecting in dialog"
375
  msgstr "Wähle im Dialog mit Ctrl/Shift mehrere Bilder gleichzeitig aus."
376
 
377
+ #: ../admin/addgallery.php:409
378
  msgid "Enable flash based upload"
379
  msgstr "Aktiviere Flash Batch Upload"
380
 
381
+ #: ../admin/admin.php:31
382
+ #: ../admin/admin.php:57
383
+ #: ../admin/admin.php:283
384
+ #: ../admin/admin.php:351
385
+ #: ../admin/functions.php:178
386
+ #: ../admin/manage-galleries.php:120
387
+ #: ../admin/manage-galleries.php:372
388
+ #: ../admin/manage-images.php:239
389
  msgid "Gallery"
390
  msgid_plural "Galleries"
391
  msgstr[0] "Galerie"
392
  msgstr[1] "Galerien"
393
 
394
+ #: ../admin/admin.php:33
395
  msgid "Add Gallery / Images"
396
  msgstr "Galerie / Bilder hinzufügen"
397
 
398
+ #: ../admin/admin.php:34
399
  msgid "Manage Gallery"
400
  msgstr "Galerie verwalten"
401
 
402
+ #: ../admin/admin.php:35
403
  msgid "Album"
404
  msgid_plural "Albums"
405
  msgstr[0] "Album"
406
  msgstr[1] "Alben"
407
 
408
+ #: ../admin/admin.php:36
409
  msgid "Tags"
410
  msgstr "Stichwörter"
411
 
412
+ #: ../admin/admin.php:37
413
  msgid "Options"
414
  msgstr "Optionen"
415
 
416
+ #: ../admin/admin.php:39
417
  msgid "Style"
418
  msgstr "Style"
419
 
420
+ #: ../admin/admin.php:41
421
  msgid "Roles"
422
  msgstr "Zugriff"
423
 
424
+ #: ../admin/admin.php:42
425
  msgid "About this Gallery"
426
  msgstr "Über diese Galerie"
427
 
428
+ #: ../admin/admin.php:42
429
  msgid "About"
430
  msgstr "Über"
431
 
432
+ #: ../admin/admin.php:45
433
  msgid "NextGEN Gallery"
434
  msgstr "NextGEN Gallery"
435
 
436
+ #: ../admin/admin.php:48
437
+ #: ../admin/admin.php:59
438
  msgid "Reset / Uninstall"
439
  msgstr "Rücksetzen"
440
 
441
+ #: ../admin/admin.php:58
442
+ msgid "Network settings"
443
+ msgstr "Netzwerk Einstellungen"
444
 
445
+ #: ../admin/admin.php:98
 
 
 
 
446
  #, php-format
447
  msgid "Thanks for using this plugin, I hope you are satisfied ! If you would like to support the further development, please consider a <strong><a href=\"%s\">donation</a></strong>! If you still need some help, please post your questions <a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\">here</a> ."
448
  msgstr "Vielen Dank, dass Du dieses Plugin nutzt. Ich hoffe, Du bist soweit zufrieden! Wenn Du die Weiterentwicklung unterstützen möchtest, würde ich mich über eine kleine <strong><a href=\"%s\">Spende</a></strong> freuen! Wenn Du Fragen oder Problem hast, schreib sie doch <a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\">hier</a> ins Forum."
449
 
450
+ #: ../admin/admin.php:101
451
  msgid "OK, hide this message now !"
452
  msgstr "OK, danke für die Info !"
453
 
454
+ #: ../admin/admin.php:186
455
  msgid "You do not have the correct permission"
456
  msgstr "Du hast keine Zugriffsrechte"
457
 
458
+ #: ../admin/admin.php:187
459
  msgid "Unexpected Error"
460
  msgstr "Unerwarteter Fehler"
461
 
462
+ #: ../admin/admin.php:188
463
  msgid "A failure occurred"
464
  msgstr "Ein Fehler ist aufgetreten"
465
 
466
+ #: ../admin/admin.php:287
467
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Introduction</a>"
468
  msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>"
469
 
470
+ #: ../admin/admin.php:290
471
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Setup</a>"
472
  msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Setup</a>"
473
 
474
+ #: ../admin/admin.php:293
475
  msgid "<a href=\"http://alexrabe.de/wordpress-plugins/nextgen-gallery/languages/\" target=\"_blank\">Translation by alex rabe</a>"
476
  msgstr "<a href=\"http://alexrabe.de/wordpress-plugins/nextgen-gallery/languages/\" target=\"_blank\">Unterstütze bei der Übersetzung</a>"
477
 
478
+ #: ../admin/admin.php:296
479
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Roles / Capabilities</a>"
480
  msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>"
481
 
482
+ #: ../admin/admin.php:299
483
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Styles</a>"
484
  msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>"
485
 
486
+ #: ../admin/admin.php:300
487
  msgid "Templates"
488
  msgstr "Vorlagen"
489
 
490
+ #: ../admin/admin.php:303
491
+ #: ../admin/admin.php:309
492
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Gallery management</a>"
493
  msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>"
494
 
495
+ #: ../admin/admin.php:304
496
  msgid "Gallery example"
497
  msgstr "Galerie Beispiel"
498
 
499
+ #: ../admin/admin.php:310
500
+ #: ../admin/admin.php:320
501
  msgid "Gallery tags"
502
  msgstr "Galerie Stichwörter"
503
 
504
+ #: ../admin/admin.php:313
505
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Album management</a>"
506
  msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>"
507
 
508
+ #: ../admin/admin.php:314
509
  msgid "Album example"
510
  msgstr "Album Beispiel"
511
 
512
+ #: ../admin/admin.php:315
513
+ #: ../admin/admin.php:321
514
  msgid "Album tags"
515
  msgstr "Album Stichwörter"
516
 
517
+ #: ../admin/admin.php:318
518
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Gallery tags</a>"
519
  msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>"
520
 
521
+ #: ../admin/admin.php:319
522
  msgid "Related images"
523
  msgstr "Verwandte Bilder"
524
 
525
+ #: ../admin/admin.php:324
526
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-image-management/\" target=\"_blank\">Image management</a>"
527
  msgstr "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-image-management/\" target=\"_blank\">Bilderverwaltung (englisch)</a>"
528
 
529
+ #: ../admin/admin.php:325
530
  msgid "Custom fields"
531
  msgstr "Spezialfelder"
532
 
533
+ #: ../admin/admin.php:330
534
  msgid "Get help with NextGEN Gallery"
535
  msgstr "Weitere Hilfe zu NextGEN Gallery"
536
 
537
+ #: ../admin/admin.php:334
538
  msgid "More Help & Info"
539
  msgstr "Weitere Hilfe & Informationen"
540
 
541
+ #: ../admin/admin.php:336
542
  msgid "<a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\" target=\"_blank\">Support Forums</a>"
543
  msgstr "<a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\" target=\"_blank\">Support Forum (englisch)</a>"
544
 
545
+ #: ../admin/admin.php:337
546
  msgid "FAQ"
547
  msgstr "FAQ (englisch)"
548
 
549
+ #: ../admin/admin.php:338
550
  msgid "Feature request"
551
  msgstr "Wünsch Dir was"
552
 
553
+ #: ../admin/admin.php:339
554
  msgid "Get your language pack"
555
  msgstr "Lade Deine Sprachdatei"
556
 
557
+ #: ../admin/admin.php:340
558
  msgid "Contribute development"
559
  msgstr "Entwicklung helfen"
560
 
561
+ #: ../admin/admin.php:341
562
  msgid "Download latest version"
563
  msgstr "Aktuelle Version downloaden"
564
 
565
+ #: ../admin/ajax.php:312
566
+ msgid "You are not allowed to be here"
567
+ msgstr "Keine Zugangsberechtigung"
568
+
569
+ #: ../admin/album.php:102
570
+ #: ../admin/album.php:117
571
+ #: ../admin/album.php:158
572
  msgid "Update Successfully"
573
  msgstr "Update erfolgreich"
574
 
575
+ #: ../admin/album.php:131
576
  msgid "Album deleted"
577
  msgstr "Album gelöscht"
578
 
579
+ #: ../admin/album.php:269
580
+ msgid "Edit Album"
581
+ msgstr "Album erstellen"
582
+
583
+ #: ../admin/album.php:278
584
  msgid "Manage Albums"
585
  msgstr "Verwalte Alben"
586
 
587
+ #: ../admin/album.php:284
588
+ #: ../admin/album.php:333
589
  msgid "Select album"
590
  msgstr "Wähle Album"
591
 
592
+ #: ../admin/album.php:286
593
  msgid "No album selected"
594
  msgstr "Kein Album ausgewählt"
595
 
596
+ #: ../admin/album.php:297
597
  #: ../admin/edit-thumbnail.php:157
598
  msgid "Update"
599
  msgstr "Aktualisiere"
600
 
601
+ #: ../admin/album.php:299
602
  msgid "Edit album"
603
  msgstr "Album ändern"
604
 
605
+ #: ../admin/album.php:302
606
+ #: ../admin/manage-galleries.php:139
607
+ #: ../admin/manage-images.php:445
608
  msgid "Delete"
609
  msgstr "Lösche"
610
 
611
+ #: ../admin/album.php:302
612
  msgid "Delete album ?"
613
  msgstr "Album löschen ?"
614
 
615
+ #: ../admin/album.php:306
616
  msgid "Add new album"
617
  msgstr "Album hinzufügen"
618
 
619
+ #: ../admin/album.php:308
620
  msgid "Add"
621
  msgstr "Hinzufügen"
622
 
623
+ #: ../admin/album.php:319
624
  msgid "Show / hide used galleries"
625
  msgstr "Zeige / Verstecke verwendete Galerien"
626
 
627
+ #: ../admin/album.php:319
628
  msgid "[Show all]"
629
  msgstr "[Alle zeigen]"
630
 
631
+ #: ../admin/album.php:320
632
  msgid "Maximize the widget content"
633
  msgstr "Maximiere die Widgets"
634
 
635
+ #: ../admin/album.php:320
636
  msgid "[Maximize]"
637
  msgstr "[Vergrößern]"
638
 
639
+ #: ../admin/album.php:321
640
  msgid "Minimize the widget content"
641
  msgstr "Minimiere die Widgets"
642
 
643
+ #: ../admin/album.php:321
644
  msgid "[Minimize]"
645
  msgstr "[Verkleinern]"
646
 
647
+ #: ../admin/album.php:323
648
  msgid "After you create and select a album, you can drag and drop a gallery or another album into your new album below"
649
  msgstr "Nachdem Du ein Album erstellt und ausgewählt hast, kannst Du per Drag & Drop eine Galerie oder ein anderes Album in das neue Album ziehen"
650
 
651
+ #: ../admin/album.php:349
652
  msgid "Select gallery"
653
  msgstr "Wähle Galerie"
654
 
655
+ #: ../admin/album.php:378
656
  msgid "Album ID"
657
  msgstr "Album ID"
658
 
659
+ #: ../admin/album.php:391
660
  msgid "No album selected!"
661
  msgstr "Kein Album ausgewählt"
662
 
663
+ #: ../admin/album.php:411
664
  msgid "Album name:"
665
  msgstr "Album Name :"
666
 
667
+ #: ../admin/album.php:417
668
  msgid "Album description:"
669
  msgstr "Beschreibung:"
670
 
671
+ #: ../admin/album.php:423
672
  msgid "Select a preview image:"
673
  msgstr "Wähle Vorschaubild:"
674
 
675
+ #: ../admin/album.php:426
676
+ #: ../admin/album.php:429
677
  msgid "No picture"
678
  msgstr "Kein Bild"
679
 
680
+ #: ../admin/album.php:440
681
+ #: ../admin/manage-images.php:257
682
  msgid "Page Link to"
683
  msgstr "Seite verlinkt zu"
684
 
685
+ #: ../admin/album.php:442
686
+ #: ../admin/manage-images.php:260
687
  msgid "Not linked"
688
  msgstr "Nicht verlinkt"
689
 
690
+ #: ../admin/album.php:455
691
+ #: ../admin/manage-galleries.php:293
692
+ #: ../admin/manage-galleries.php:322
693
+ #: ../admin/manage-galleries.php:352
694
+ #: ../admin/manage-images.php:539
695
+ #: ../admin/manage-images.php:575
696
+ #: ../admin/manage-images.php:604
697
+ #: ../admin/manage-images.php:634
698
  msgid "OK"
699
  msgstr "OK"
700
 
701
+ #: ../admin/album.php:457
702
+ #: ../admin/manage-galleries.php:295
703
+ #: ../admin/manage-galleries.php:324
704
+ #: ../admin/manage-galleries.php:354
705
+ #: ../admin/manage-images.php:541
706
+ #: ../admin/manage-images.php:577
707
+ #: ../admin/manage-images.php:606
708
+ #: ../admin/manage-images.php:636
709
  msgid "Cancel"
710
  msgstr "Abbrechen"
711
 
712
+ #: ../admin/album.php:541
713
  msgid "Name"
714
  msgstr "Name"
715
 
716
+ #: ../admin/album.php:542
717
+ #: ../admin/manage-images.php:255
 
 
718
  msgid "Title"
719
  msgstr "Titel"
720
 
721
+ #: ../admin/album.php:543
722
  msgid "Page"
723
  msgstr "Seite"
724
 
738
  msgid "Select the area for the thumbnail from the picture on the left."
739
  msgstr "Wähle den Ausschnitt für das Vorschaubild innerhalb des Bildes"
740
 
741
+ #: ../admin/functions.php:39
742
  msgid "No valid gallery name!"
743
  msgstr "Kein gültiger Galerie-Name!"
744
 
745
+ #: ../admin/functions.php:46
746
+ #: ../admin/functions.php:55
747
+ #: ../admin/functions.php:80
748
+ #: ../admin/functions.php:149
749
+ #: ../admin/functions.php:157
750
  msgid "Directory"
751
  msgstr "Verzeichnis"
752
 
753
+ #: ../admin/functions.php:46
754
  msgid "didn't exist. Please create first the main gallery folder "
755
  msgstr "nicht gefunden. Bitte erstelle zuerst das Hauptverzeichnis."
756
 
757
+ #: ../admin/functions.php:47
758
+ #: ../admin/functions.php:56
759
  msgid "Check this link, if you didn't know how to set the permission :"
760
  msgstr "Dieser Link zeigt Dir, wie man Verzeichnisrechte ändert :"
761
 
762
+ #: ../admin/functions.php:55
763
+ #: ../admin/functions.php:80
764
  msgid "is not writeable !"
765
  msgstr "ist schreibgeschützt !"
766
 
767
+ #: ../admin/functions.php:76
768
+ #: ../admin/functions.php:85
769
+ #: ../admin/functions.php:891
770
  msgid "Unable to create directory "
771
  msgstr "Kann Verzeichnis nicht erstellen "
772
 
773
+ #: ../admin/functions.php:89
774
  msgid "The server setting Safe-Mode is on !"
775
  msgstr "Auf dem Server ist Safe-Mode aktiviert (PHP.INI)"
776
 
777
+ #: ../admin/functions.php:90
778
  msgid "If you have problems, please create directory"
779
  msgstr "Wenn Probleme auftreten, erstelle bitte das Verzeichnis"
780
 
781
+ #: ../admin/functions.php:91
782
  msgid "and the thumbnails directory"
783
  msgstr "und das Thumbnails-Verzeichnis"
784
 
785
+ #: ../admin/functions.php:91
786
  msgid "with permission 777 manually !"
787
  msgstr "mit den Berechtigungen 777 manuell !"
788
 
789
+ #: ../admin/functions.php:116
 
 
 
 
790
  #, php-format
791
+ msgid "Gallery ID %1$s successfully created. You can show this gallery in your post or page with the shortcode %2$s.<br/>"
792
+ msgstr "Galerie ID %1$s erstellt..<br/>Du kannst diese Galerie jetzt mit dem Stichwort %2$s in einen Artikel einbinden.<br/>"
793
 
794
+ #: ../admin/functions.php:119
795
  msgid "Edit gallery"
796
  msgstr "Galerie ändern"
797
 
798
+ #: ../admin/functions.php:149
799
  msgid "doesn&#96;t exist!"
800
  msgstr "gibt es nicht !"
801
 
802
+ #: ../admin/functions.php:157
803
  msgid "contains no pictures"
804
  msgstr "enthält keine Bilder"
805
 
806
+ #: ../admin/functions.php:175
807
  msgid "Database error. Could not add gallery!"
808
  msgstr "Datenbank-Fehler. Kann Galerie nicht hinzufügen!"
809
 
810
+ #: ../admin/functions.php:178
811
  msgid "successfully created!"
812
  msgstr "erfolgreich erstellt!"
813
 
814
+ #: ../admin/functions.php:207
815
+ #: ../admin/functions.php:1008
816
+ #: ../admin/manage-galleries.php:74
817
+ #: ../admin/manage-galleries.php:141
818
+ #: ../admin/manage-images.php:202
819
+ #: ../admin/manage-images.php:341
820
+ #: ../admin/manage.php:216
821
+ #: ../admin/manage.php:292
822
  msgid "Create new thumbnails"
823
  msgstr "Neue Vorschaubilder erstellen"
824
 
825
+ #: ../admin/functions.php:210
826
  msgid " picture(s) successfully added"
827
  msgstr " Bild(er) erfolgreich hinzugefügt"
828
 
829
+ #: ../admin/functions.php:260
830
+ #: ../admin/functions.php:340
831
+ #: ../admin/functions.php:395
832
+ #: ../admin/functions.php:492
833
+ #: ../admin/functions.php:546
834
  msgid "Object didn't contain correct data"
835
  msgstr "Das Objekt enhält nicht die notwendigen Daten"
836
 
837
+ #: ../admin/functions.php:268
838
  msgid " is not writeable "
839
  msgstr "ist schreibgeschützt !"
840
 
841
+ #: ../admin/functions.php:350
842
+ #: ../admin/functions.php:398
843
+ #: ../admin/functions.php:498
844
+ #: ../admin/functions.php:549
845
  msgid " is not writeable"
846
  msgstr "ist schreibgeschützt !"
847
 
848
+ #: ../admin/functions.php:552
849
  msgid "File do not exists"
850
  msgstr "Datei existiert nicht"
851
 
852
+ #: ../admin/functions.php:556
853
  msgid "Couldn't restore original image"
854
  msgstr "Konnte Originalbild nicht wiederherstellen"
855
 
856
+ #: ../admin/functions.php:671
857
  msgid "(Error : Couldn't not update data base)"
858
  msgstr "(Fehler : Konnte Datenbank nicht updaten)"
859
 
860
+ #: ../admin/functions.php:678
861
  msgid "(Error : Couldn't not update meta data)"
862
  msgstr "(Fehler : Konnte Metadaten nicht speichern)"
863
 
864
+ #: ../admin/functions.php:687
865
  msgid "(Error : Couldn't not find image)"
866
  msgstr "(Fehler : Konnte das Bild nicht finden)"
867
 
868
+ #: ../admin/functions.php:825
869
  msgid "No valid URL path "
870
  msgstr "Kein gültiger URL-Pfad"
871
 
872
+ #: ../admin/functions.php:841
873
  msgid "Import via cURL failed."
874
  msgstr "Import via cURL abgebrochen"
875
 
876
+ #: ../admin/functions.php:858
877
+ msgid "Uploaded file was no or a faulty zip file ! The server recognized : "
878
  msgstr "Die hochgeladene Datei war keine korrekte Zip-Datei. Servermeldung :"
879
 
880
+ #: ../admin/functions.php:875
881
  msgid "Could not get a valid foldername"
882
  msgstr "Konnte keinen gültigen Verzeichnisnamen finden"
883
 
884
+ #: ../admin/functions.php:886
885
  #, php-format
886
  msgid "Unable to create directory %s. Is its parent directory writable by the server?"
887
  msgstr "Kann das Verzeichnis %s nicht erstellen. Ist das Hauptverzeichnis vielleicht schreibgeschützt ?"
888
 
889
+ #: ../admin/functions.php:901
890
  msgid "Zip-File successfully unpacked"
891
  msgstr "Zip-Datei erfolgreich entpackt"
892
 
893
+ #: ../admin/functions.php:940
894
+ #: ../admin/functions.php:1057
895
  msgid "Failure in database, no gallery path set !"
896
  msgstr "Datenbankfehler! Kein Galerie-Pfad gesetzt !"
897
 
898
+ #: ../admin/functions.php:964
899
+ #: ../admin/functions.php:1051
900
  msgid "is no valid image file!"
901
  msgstr "ist keine zulässige Bilddatei !"
902
 
903
+ #: ../admin/functions.php:978
904
+ #: ../admin/functions.php:1177
905
+ #: ../admin/functions.php:1254
906
  #, php-format
907
  msgid "Unable to write to directory %s. Is this directory writable by the server?"
908
  msgstr "Kann das Verzeichnis %s nicht erstellen. Ist das Hauptverzeichnis vielleicht schreibgeschützt ?"
909
 
910
+ #: ../admin/functions.php:985
911
+ #: ../admin/functions.php:1074
912
+ msgid "Error, the file could not be moved to : "
913
  msgstr "Fehler: Diese Datei kann nicht verschoben werden zu :"
914
 
915
+ #: ../admin/functions.php:990
916
+ #: ../admin/functions.php:1078
917
+ msgid "Error, the file permissions could not be set"
918
  msgstr "Fehler: Die Berechtigungen für diese Datei können nicht gesetzt werden"
919
 
920
+ #: ../admin/functions.php:1013
921
  msgid " Image(s) successfully added"
922
  msgstr " Bild(er) erfolgreich hinzugefügt"
923
 
924
+ #: ../admin/functions.php:1040
925
  msgid "Invalid upload. Error Code : "
926
  msgstr "Ungültiger Upload. Fehler Code :"
927
 
928
+ #: ../admin/functions.php:1117
929
  #, php-format
930
  msgid "SAFE MODE Restriction in effect! You need to create the folder <strong>%s</strong> manually"
931
  msgstr "SAFE MODE Einschränkungen ist aktiv. Du musst das Verzeichnis <strong>%s</strong> manuell anlegen."
932
 
933
+ #: ../admin/functions.php:1118
934
  #, php-format
935
  msgid "When safe_mode is on, PHP checks to see if the owner (%s) of the current script matches the owner (%s) of the file to be operated on by a file function or its directory"
936
  msgstr "Wenn der Safe-Mode eingeschaltet ist, überprüft PHP, ob der Besitzer (%s) des Skript mit dem Besitzer (%s) der Datei/Verzeichnis übereinstimmt."
937
 
938
+ #: ../admin/functions.php:1171
939
+ #: ../admin/functions.php:1248
940
  msgid "The destination gallery does not exist"
941
  msgstr "Die ausgewählte Galerie existiert nicht"
942
 
943
+ #: ../admin/functions.php:1202
944
  #, php-format
945
  msgid "Failed to move image %1$s to %2$s"
946
  msgstr "Konnte das Bild %1$s nicht nach %2$s verschieben"
947
 
948
+ #: ../admin/functions.php:1222
949
  #, php-format
950
  msgid "Moved %1$s picture(s) to gallery : %2$s ."
951
  msgstr " %1$s Bild(er) in Galerie : %2$s verschoben."
952
 
953
+ #: ../admin/functions.php:1281
954
  #, php-format
955
  msgid "Failed to copy image %1$s to %2$s"
956
  msgstr "Konnte das Bild %1$s nicht nach %2$s kopieren"
957
 
958
+ #: ../admin/functions.php:1295
959
  #, php-format
960
  msgid "Failed to copy database row for picture %s"
961
  msgstr "Fehler bei der Datenbank-Operation für Bild %s"
962
 
963
+ #: ../admin/functions.php:1307
964
  #, php-format
965
  msgid "Image %1$s (%2$s) copied as image %3$s (%4$s) &raquo; The file already existed in the destination gallery."
966
  msgstr "Bild %1$s (%2$s) als Bild %3$s (%4$s) kopiert &raquo; Die Datei existierte bereits."
967
 
968
+ #: ../admin/functions.php:1310
969
  #, php-format
970
  msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)"
971
  msgstr "Bild %1$s (%2$s) kopiert als Bild %3$s (%4$s)"
972
 
973
+ #: ../admin/functions.php:1319
974
  #, php-format
975
  msgid "Copied %1$s picture(s) to gallery: %2$s ."
976
  msgstr "Kopiere %1$s Bild(er) in die Galerie : %2$s ."
977
 
978
+ #: ../admin/functions.php:1427
979
  msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini"
980
  msgstr "Die Datei überschreitet die erlaubte Grösse (upload_max_filesize) in der php.ini"
981
 
982
+ #: ../admin/functions.php:1430
983
  msgid "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form"
984
  msgstr "Die Datei ist zu gross"
985
 
986
+ #: ../admin/functions.php:1433
987
  msgid "The uploaded file was only partially uploaded"
988
  msgstr "Die Datei wurde nur teilweise hochgeladen"
989
 
990
+ #: ../admin/functions.php:1436
991
  msgid "No file was uploaded"
992
  msgstr "Keinen Datei wurde geladen"
993
 
994
+ #: ../admin/functions.php:1439
995
  msgid "Missing a temporary folder"
996
  msgstr "Konnte temporäres Verzeichnis nicht finden"
997
 
998
+ #: ../admin/functions.php:1442
999
  msgid "Failed to write file to disk"
1000
  msgstr "Konnte Datei nicht speichern"
1001
 
1002
+ #: ../admin/functions.php:1445
1003
  msgid "File upload stopped by extension"
1004
  msgstr "Upload dieser Dateierweiterung nicht erlaubt"
1005
 
1006
+ #: ../admin/functions.php:1448
1007
  msgid "Unknown upload error"
1008
  msgstr "Unbekannter Uploadfehler"
1009
 
1011
  msgid "Sorry, NextGEN Gallery works only with a role called administrator"
1012
  msgstr "Tut mir leid, aber NextGEN Gallery benötigt zwingend die Rolle \"Administrator\""
1013
 
1014
+ #: ../admin/install.php:112
1015
  msgid "NextGEN Gallery : Tables could not created, please check your database settings"
1016
  msgstr "NextGEN Gallery : Tabellen konnten nicht erstellt werden, überprüfe Deine Datenbank"
1017
 
1018
+ #: ../admin/install.php:170
1019
  msgid "[Show as slideshow]"
1020
  msgstr "[Zeige als Diashow]"
1021
 
1022
+ #: ../admin/install.php:171
1023
  msgid "[Show picture list]"
1024
  msgstr "[Zeige Bilder-Liste]"
1025
 
1034
  msgstr "&raquo;"
1035
 
1036
  #: ../admin/manage-galleries.php:62
1037
+ #: ../admin/manage-images.php:170
1038
  msgid "No images selected"
1039
  msgstr "Keine Bilder ausgewählt"
1040
 
1041
+ #: ../admin/manage-galleries.php:70
1042
+ #: ../admin/manage-galleries.php:142
1043
+ #: ../admin/manage-images.php:198
1044
+ #: ../admin/manage-images.php:342
1045
+ #: ../admin/manage.php:200
1046
+ #: ../admin/manage.php:278
1047
+ msgid "Resize images"
1048
+ msgstr "Bilder verkleinern"
1049
+
1050
  #: ../admin/manage-galleries.php:79
1051
  #, php-format
1052
  msgid ""
1058
  " \n"
1059
  " 'Abbrechen' um zu stoppen, 'OK' um die Bearbeitung durchzuführen."
1060
 
1061
+ #: ../admin/manage-galleries.php:123
1062
+ #: ../admin/manage-galleries.php:126
1063
+ #: ../admin/manage-images.php:225
1064
+ #: ../admin/manage-images.php:228
 
 
 
 
1065
  msgid "Search Images"
1066
  msgstr "Suche Bilder"
1067
 
1068
+ #: ../admin/manage-galleries.php:138
1069
+ #: ../admin/manage-images.php:339
1070
+ msgid "Bulk actions"
1071
+ msgstr "Aktion wählen"
1072
+
1073
+ #: ../admin/manage-galleries.php:140
1074
+ #: ../admin/manage-images.php:340
1075
+ #: ../admin/manage.php:133
1076
+ #: ../admin/manage.php:242
1077
  msgid "Set watermark"
1078
  msgstr "Wasserzeichen setzen"
1079
 
1080
+ #: ../admin/manage-galleries.php:143
1081
+ #: ../admin/manage-images.php:345
1082
+ #: ../admin/manage.php:138
1083
+ #: ../admin/manage.php:262
 
 
 
 
 
 
 
1084
  msgid "Import metadata"
1085
  msgstr "Metadaten importieren"
1086
 
1087
+ #: ../admin/manage-galleries.php:144
1088
+ #: ../admin/manage-images.php:343
1089
+ #: ../admin/manage.php:128
1090
+ #: ../admin/manage.php:239
1091
  msgid "Recover from backup"
1092
  msgstr "Original wiederherstellen"
1093
 
1094
+ #: ../admin/manage-galleries.php:146
1095
+ #: ../admin/manage-images.php:354
1096
  msgid "Apply"
1097
  msgstr "Übernehmen"
1098
 
1099
+ #: ../admin/manage-galleries.php:154
1100
+ #: ../admin/manage-galleries.php:266
1101
+ #: ../admin/manage-images.php:330
1102
+ #: ../admin/manage-images.php:514
1103
  #, php-format
1104
  msgid "Displaying %s&#8211;%s of %s"
1105
  msgstr "Zeige %s&#8211;%s von %s"
1106
 
1107
+ #: ../admin/manage-galleries.php:219
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1108
  msgid "Edit"
1109
  msgstr "Bearbeiten"
1110
 
1111
+ #: ../admin/manage-galleries.php:259
1112
+ #: ../admin/manage-images.php:505
 
 
 
 
1113
  msgid "No entries found"
1114
  msgstr "Keine Einträge gefunden"
1115
 
1116
+ #: ../admin/manage-galleries.php:313
1117
+ #: ../admin/manage-images.php:595
1118
  msgid "Resize Images to"
1119
  msgstr "Verkleiner Bilder auf"
1120
 
1121
+ #: ../admin/manage-galleries.php:317
1122
+ #: ../admin/manage-images.php:599
1123
  msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size"
1124
  msgstr "Breite x Höhe (in Pixel). Das Seitenverhältnis wird berücksichtigt."
1125
 
1126
+ #: ../admin/manage-galleries.php:341
1127
+ #: ../admin/manage-images.php:623
1128
  msgid "Width x height (in pixel)"
1129
  msgstr "Breite x Höhe (in Pixel)"
1130
 
1131
+ #: ../admin/manage-galleries.php:343
1132
+ #: ../admin/manage-images.php:625
1133
  msgid "These values are maximum values "
1134
  msgstr "Diese Angaben sind maximale Angaben."
1135
 
1136
+ #: ../admin/manage-galleries.php:346
1137
+ #: ../admin/manage-images.php:628
1138
  msgid "Set fix dimension"
1139
  msgstr "Setze feste Größe"
1140
 
1141
+ #: ../admin/manage-galleries.php:348
1142
+ #: ../admin/manage-images.php:630
1143
  msgid "Ignore the aspect ratio, no portrait thumbnails"
1144
  msgstr "Ignoriere Bildseitenverhältnis"
1145
 
1146
+ #: ../admin/manage-galleries.php:371
1147
+ #: ../admin/manage-images.php:658
1148
+ msgid "ID"
1149
+ msgstr "ID"
1150
+
1151
+ #: ../admin/manage-galleries.php:373
1152
+ #: ../admin/manage-images.php:266
1153
+ #: ../admin/manage-images.php:663
1154
+ msgid "Description"
1155
+ msgstr "Beschreibung"
1156
+
1157
+ #: ../admin/manage-galleries.php:374
1158
+ #: ../admin/manage-images.php:287
1159
+ msgid "Author"
1160
+ msgstr "Autor"
1161
+
1162
+ #: ../admin/manage-galleries.php:375
1163
+ msgid "Page ID"
1164
+ msgstr "Seiten-ID"
1165
+
1166
+ #: ../admin/manage-galleries.php:376
1167
+ msgid "Image"
1168
+ msgid_plural "Images"
1169
+ msgstr[0] "Bild"
1170
+ msgstr[1] "Bilder"
1171
+
1172
  #: ../admin/manage-images.php:32
1173
  msgid "Gallery not found."
1174
  msgstr "Galerie nicht gefunden"
1177
  msgid "Sorry, you have no access here"
1178
  msgstr "Sorry, Du hast nicht genügend Rechte"
1179
 
1180
+ #: ../admin/manage-images.php:178
1181
+ msgid "Copy image to..."
1182
+ msgstr "Kopiere nach..."
1183
+
1184
+ #: ../admin/manage-images.php:182
1185
+ msgid "Move image to..."
1186
+ msgstr "Verschiebe nach..."
1187
+
1188
+ #: ../admin/manage-images.php:186
1189
+ msgid "Add new tags"
1190
+ msgstr "Stichwörter hinzufügen"
1191
+
1192
+ #: ../admin/manage-images.php:190
1193
+ #: ../admin/manage-images.php:351
1194
+ msgid "Delete tags"
1195
+ msgstr "Stichwörter löschen"
1196
+
1197
+ #: ../admin/manage-images.php:194
1198
+ msgid "Overwrite"
1199
+ msgstr "Überschreiben"
1200
+
1201
+ #: ../admin/manage-images.php:207
1202
  #, php-format
1203
  msgid ""
1204
  "You are about to start the bulk edit for %s images \n"
1209
  " \n"
1210
  " 'Abbrechen' um zu stoppen, 'OK' um die Bearbeitung durchzuführen."
1211
 
1212
+ #: ../admin/manage-images.php:222
1213
  #, php-format
1214
  msgid "Search results for &#8220;%s&#8221;"
1215
  msgstr "Suchergebinsse für &#8220;%s&#8221;"
1216
 
1217
+ #: ../admin/manage-images.php:251
1218
  msgid "Gallery settings"
1219
  msgstr "Galerie Einstellungen"
1220
 
1221
+ #: ../admin/manage-images.php:251
1222
  msgid "Click here for more settings"
1223
  msgstr "Hier klicken für weitere Einstellungen"
1224
 
1225
+ #: ../admin/manage-images.php:268
1226
  msgid "Preview image"
1227
  msgstr "Vorschau-Bild"
1228
 
1229
+ #: ../admin/manage-images.php:271
1230
  msgid "No Picture"
1231
  msgstr "Kein Bild"
1232
 
1233
+ #: ../admin/manage-images.php:285
1234
  msgid "Path"
1235
  msgstr "Pfad"
1236
 
1237
+ #: ../admin/manage-images.php:302
1238
  msgid "Create new page"
1239
  msgstr "Neue Seite erstellen"
1240
 
1241
+ #: ../admin/manage-images.php:305
1242
  msgid "Main page (No parent)"
1243
  msgstr "Hauptseite (keine Unterseite)"
1244
 
1245
+ #: ../admin/manage-images.php:308
1246
  msgid "Add page"
1247
  msgstr "Seite hinzufügen"
1248
 
1249
+ #: ../admin/manage-images.php:317
1250
  msgid "Scan Folder for new images"
1251
  msgstr "Überprüfe Verzeichnis nach neuen Bildern"
1252
 
1253
+ #: ../admin/manage-images.php:318
1254
+ #: ../admin/manage-images.php:360
1255
+ #: ../admin/manage-images.php:512
1256
  msgid "Save Changes"
1257
  msgstr "Änderungen speichern"
1258
 
1259
+ #: ../admin/manage-images.php:344
1260
  msgid "Delete images"
1261
  msgstr "Bilder löschen"
1262
 
1263
+ #: ../admin/manage-images.php:346
1264
  msgid "Rotate images clockwise"
1265
  msgstr "Rechts drehen"
1266
 
1267
+ #: ../admin/manage-images.php:347
1268
  msgid "Rotate images counter-clockwise"
1269
  msgstr "Links drehen"
1270
 
1271
+ #: ../admin/manage-images.php:348
1272
  msgid "Copy to..."
1273
  msgstr "Kopiere nach..."
1274
 
1275
+ #: ../admin/manage-images.php:349
1276
  msgid "Move to..."
1277
  msgstr "Verschiebe nach..."
1278
 
1279
+ #: ../admin/manage-images.php:350
1280
  msgid "Add tags"
1281
  msgstr "Stichwörter hinzufügen"
1282
 
1283
+ #: ../admin/manage-images.php:352
 
 
 
 
1284
  msgid "Overwrite tags"
1285
  msgstr "Stichwörter überschreiben"
1286
 
1287
+ #: ../admin/manage-images.php:357
1288
  msgid "Sort gallery"
1289
  msgstr "Sortiere Bilder"
1290
 
1291
+ #: ../admin/manage-images.php:431
1292
  msgid "pixel"
1293
  msgstr "pixel"
1294
 
1295
+ #: ../admin/manage-images.php:437
1296
  #, php-format
1297
  msgid "View \"%s\""
1298
  msgstr "Anzeigen \"%s\""
1299
 
1300
+ #: ../admin/manage-images.php:437
1301
  msgid "View"
1302
  msgstr "Ansehen"
1303
 
1304
+ #: ../admin/manage-images.php:438
1305
  msgid "Show Meta data"
1306
  msgstr "Zeige Metadaten"
1307
 
1308
+ #: ../admin/manage-images.php:438
1309
  msgid "Meta"
1310
  msgstr "Meta"
1311
 
1312
+ #: ../admin/manage-images.php:439
1313
  msgid "Customize thumbnail"
1314
  msgstr "Thumbnails anpassen"
1315
 
1316
+ #: ../admin/manage-images.php:439
1317
  msgid "Edit thumb"
1318
  msgstr "Thumbnail ändern"
1319
 
1320
+ #: ../admin/manage-images.php:440
1321
  msgid "Rotate"
1322
  msgstr "Drehen"
1323
 
1324
+ #: ../admin/manage-images.php:442
1325
+ msgid "Publish this image"
1326
+ msgstr "Bild veröffentlichen"
1327
+
1328
+ #: ../admin/manage-images.php:442
1329
+ msgid "Publish"
1330
+ msgstr "Veröffentlichen"
1331
+
1332
+ #: ../admin/manage-images.php:444
1333
  msgid "Recover"
1334
  msgstr "Rücksetzen"
1335
 
1336
+ #: ../admin/manage-images.php:444
1337
  #, php-format
1338
  msgid "Recover \"%s\" ?"
1339
  msgstr " \"%s\" wiederherstellen ?"
1340
 
1341
+ #: ../admin/manage-images.php:445
1342
  #, php-format
1343
  msgid "Delete \"%s\" ?"
1344
  msgstr "Lösche \"%s\" ?"
1345
 
1346
+ #: ../admin/manage-images.php:535
1347
  msgid "Enter the tags"
1348
  msgstr "Stichwörter angeben"
1349
 
1350
+ #: ../admin/manage-images.php:559
1351
  msgid "Select the destination gallery:"
1352
  msgstr "Galerie auswählen:"
1353
 
1354
+ #: ../admin/manage-images.php:659
1355
  msgid "Thumbnail"
1356
  msgstr "Thumbnail"
1357
 
1358
+ #: ../admin/manage-images.php:661
1359
+ #: ../admin/manage-sort.php:77
1360
  msgid "Filename"
1361
  msgstr "Dateiname"
1362
 
1363
+ #: ../admin/manage-images.php:663
1364
  msgid "Alt &amp; Title Text"
1365
  msgstr "Alt &amp; Titel Text"
1366
 
1367
+ #: ../admin/manage-images.php:664
1368
  msgid "Tags (comma separated list)"
1369
  msgstr "Stichwörter (Tags)"
1370
 
1371
+ #: ../admin/manage-images.php:666
1372
  msgid "exclude"
1373
  msgstr "ausschließen"
1374
 
1375
+ #: ../admin/manage-sort.php:33
1376
  msgid "Sort order changed"
1377
  msgstr "Reihenfolge aktualisiert"
1378
 
1379
+ #: ../admin/manage-sort.php:62
1380
  msgid "Sort Gallery"
1381
  msgstr "Sortiere Bilder"
1382
 
1383
+ #: ../admin/manage-sort.php:66
1384
  msgid "Update Sort Order"
1385
  msgstr "Sortierung speichern"
1386
 
1387
+ #: ../admin/manage-sort.php:69
1388
  msgid "Back to gallery"
1389
  msgstr "Zurück zur Galerie"
1390
 
1391
+ #: ../admin/manage-sort.php:74
1392
  msgid "Presort"
1393
  msgstr "Vorsortieren"
1394
 
1395
+ #: ../admin/manage-sort.php:75
1396
  msgid "Unsorted"
1397
  msgstr "Unsortiert"
1398
 
1399
+ #: ../admin/manage-sort.php:76
1400
  msgid "Image ID"
1401
  msgstr "Bilder ID"
1402
 
1403
+ #: ../admin/manage-sort.php:78
1404
  msgid "Alt/Title text"
1405
  msgstr "Alt / Titel Text"
1406
 
1407
+ #: ../admin/manage-sort.php:79
1408
  msgid "Date/Time"
1409
  msgstr "Datum/Zeit"
1410
 
1411
+ #: ../admin/manage-sort.php:80
1412
  msgid "Ascending"
1413
  msgstr "Aufsteigend"
1414
 
1415
+ #: ../admin/manage-sort.php:81
1416
  msgid "Descending"
1417
  msgstr "Absteigend"
1418
 
1419
+ #: ../admin/manage.php:77
 
 
 
 
 
1420
  msgid "Picture"
1421
  msgstr "Bild"
1422
 
1423
+ #: ../admin/manage.php:77
1424
+ msgid "deleted successfully"
1425
+ msgstr "erfolgreich gelöscht"
1426
+
1427
+ #: ../admin/manage.php:92
1428
+ #: ../admin/manage.php:101
1429
  msgid "Operation successful. Please clear your browser cache."
1430
  msgstr "Thumbnails erfolgreich erstellt. Bitte Browser-Cache löschen."
1431
 
1432
+ #: ../admin/manage.php:168
1433
+ msgid "Gallery deleted successfully "
1434
+ msgstr "Galerie gelöscht"
1435
+
1436
+ #: ../admin/manage.php:233
1437
+ #: ../admin/manage.php:236
1438
  msgid "Rotate images"
1439
  msgstr "Bild drehen"
1440
 
1441
+ #: ../admin/manage.php:258
1442
  msgid "Pictures deleted successfully "
1443
  msgstr "Bilder erfolgreich gelöscht"
1444
 
1445
+ #: ../admin/manage.php:354
1446
  msgid "Tags changed"
1447
  msgstr "Stichwörter geändert"
1448
 
1449
+ #: ../admin/manage.php:390
1450
  msgid "Update successful"
1451
  msgstr "Aktualisierung erfolgreich"
1452
 
1453
+ #: ../admin/manage.php:425
1454
  msgid "New gallery page ID"
1455
  msgstr "Neue Galerie Seiten ID"
1456
 
1457
+ #: ../admin/manage.php:425
1458
  msgid "created"
1459
  msgstr "erstellt"
1460
 
1461
+ #: ../admin/manage.php:461
1462
+ msgid "Published a new post"
1463
+ msgstr "Verföffentliche einen neuen Beitrag"
1464
+
1465
+ #: ../admin/media-upload.php:166
1466
  msgid "No gallery"
1467
  msgstr "Keine Galerie"
1468
 
1469
+ #: ../admin/media-upload.php:178
1470
  msgid "Select &#187;"
1471
  msgstr "Wähle &#187;"
1472
 
1473
+ #: ../admin/media-upload.php:209
1474
  msgid "Show"
1475
  msgstr "Zeige"
1476
 
1477
+ #: ../admin/media-upload.php:210
1478
  msgid "Hide"
1479
  msgstr "Verstecke"
1480
 
1481
+ #: ../admin/media-upload.php:215
1482
  msgid "Image ID:"
1483
  msgstr "Bild ID:"
1484
 
1485
+ #: ../admin/media-upload.php:274
1486
  msgid "Save all changes"
1487
  msgstr "Änderungen speichern"
1488
 
1536
  msgstr "Schau doch einfach auf meinen Wunschzettel."
1537
 
1538
  #: ../admin/overview.php:121
1539
+ msgid "Help translating it."
1540
  msgstr "Hilf das Plugin zu übersetzen."
1541
 
1542
  #: ../admin/overview.php:140
1578
  msgid "At a Glance"
1579
  msgstr "Übersicht"
1580
 
 
 
 
 
 
 
1581
  #: ../admin/overview.php:305
1582
  msgid "Upload pictures"
1583
  msgstr "Bilder hochladen"
1741
  msgid "Install"
1742
  msgstr "Installieren"
1743
 
1744
+ #: ../admin/publish.php:45
1745
+ msgid "Post title"
1746
+ msgstr "Beitragstitel"
1747
+
1748
+ #: ../admin/publish.php:47
1749
+ msgid "Enter the post title "
1750
+ msgstr "Artikelüberschrift "
1751
+
1752
+ #: ../admin/publish.php:52
1753
+ msgid "Size of the image"
1754
+ msgstr "Größe des Bildes"
1755
+
1756
+ #: ../admin/publish.php:55
1757
+ msgid "Alignment"
1758
+ msgstr "Ausrichtung"
1759
+
1760
+ #: ../admin/publish.php:57
1761
+ #: ../admin/settings.php:476
1762
+ msgid "None"
1763
+ msgstr "Keiner"
1764
+
1765
+ #: ../admin/publish.php:59
1766
+ #: ../admin/tinymce/window.php:120
1767
+ msgid "Left"
1768
+ msgstr "Links"
1769
+
1770
+ #: ../admin/publish.php:61
1771
+ #: ../admin/tinymce/window.php:121
1772
+ msgid "Center"
1773
+ msgstr "Zentrieren"
1774
+
1775
+ #: ../admin/publish.php:63
1776
+ #: ../admin/tinymce/window.php:122
1777
+ msgid "Right"
1778
+ msgstr "Rechts"
1779
+
1780
+ #: ../admin/publish.php:70
1781
+ msgid "Draft"
1782
+ msgstr "Entwurf"
1783
+
1784
  #: ../admin/roles.php:22
1785
  msgid "Updated capabilities"
1786
  msgstr "Zugriffsrechte geändert"
1790
  msgstr "Rollen / Zugriffsrechte"
1791
 
1792
  #: ../admin/roles.php:29
1793
+ msgid "Select the lowest role which should be able to access the following capabilities. NextGEN Gallery supports the standard roles from WordPress."
1794
  msgstr "Wähle die niedrigste Rolle aus, die Zugriff haben soll. NextGEN Gallery unterstützt nur die Standard-Wordpress-Rollen-Fähigkeiten von WordPress."
1795
 
1796
  #: ../admin/roles.php:30
1821
  msgid "Manage tags"
1822
  msgstr "Verwalte Stichwörter"
1823
 
 
 
 
 
1824
  #: ../admin/roles.php:63
1825
  msgid "Change style"
1826
  msgstr "Style anpassen"
1857
  msgid "Flip horizontally"
1858
  msgstr "Horizontal spiegeln"
1859
 
1860
+ #: ../admin/settings.php:92
1861
  msgid "Cache cleared"
1862
  msgstr "Cache löschen"
1863
 
1864
+ #: ../admin/settings.php:209
1865
+ #: ../admin/settings.php:228
1866
  msgid "General Options"
1867
  msgstr "Allg. Optionen"
1868
 
1869
+ #: ../admin/settings.php:210
1870
+ #: ../admin/settings.php:413
1871
  msgid "Thumbnails"
1872
  msgstr "Thumbnails"
1873
 
1874
+ #: ../admin/settings.php:211
1875
  msgid "Images"
1876
  msgstr "Bilder"
1877
 
1878
+ #: ../admin/settings.php:213
1879
+ #: ../admin/settings.php:465
1880
  msgid "Effects"
1881
  msgstr "Effekte"
1882
 
1883
+ #: ../admin/settings.php:214
1884
+ #: ../admin/settings.php:507
1885
+ #: ../admin/tinymce/window.php:110
1886
  msgid "Watermark"
1887
  msgstr "Wasserzeichen"
1888
 
1889
+ #: ../admin/settings.php:215
1890
+ #: ../admin/settings.php:414
1891
+ #: ../admin/settings.php:614
1892
+ #: ../admin/tinymce/window.php:63
1893
  msgid "Slideshow"
1894
  msgstr "Slideshow"
1895
 
1896
+ #: ../admin/settings.php:234
1897
+ #: ../admin/wpmu.php:68
1898
  msgid "Gallery path"
1899
  msgstr "Galerie-Pfad"
1900
 
1901
+ #: ../admin/settings.php:236
1902
  msgid "This is the default path for all galleries"
1903
  msgstr "Dies ist der Standard-Pfad für alle Galerien"
1904
 
1905
+ #: ../admin/settings.php:239
1906
  msgid "Delete image files"
1907
  msgstr "Lösche Bilddateien"
1908
 
1909
+ #: ../admin/settings.php:241
1910
  msgid "Delete files, when removing a gallery in the database"
1911
  msgstr "Löscht auch die Dateien, falls die Galerie aus der Datenbank entfernt wird"
1912
 
1913
+ #: ../admin/settings.php:244
1914
  msgid "Activate permalinks"
1915
  msgstr "Aktiviere Permalinks"
1916
 
1917
+ #: ../admin/settings.php:246
1918
  msgid "When you activate this option, you need to update your permalink structure one time."
1919
  msgstr "Wenn Du diese Option aktivierst, muss Du einmal die Permalink Struktur aktualisieren."
1920
 
1921
+ #: ../admin/settings.php:249
1922
+ msgid "Create new URL friendly image slugs"
1923
+ msgstr "Erstelle neue URL lesbare Schlagwörter "
1924
+
1925
+ #: ../admin/settings.php:250
1926
+ #: ../admin/settings.php:367
1927
+ msgid "Proceed now"
1928
+ msgstr "Jetzt durchführen"
1929
+
1930
+ #: ../admin/settings.php:251
1931
+ msgid "Currently not used, prepare database for upcoming version"
1932
+ msgstr "Derzeit nicht genutzt, Vorbereitung für kommende Versionen"
1933
+
1934
+ #: ../admin/settings.php:254
1935
  msgid "Select graphic library"
1936
  msgstr "Wähle Grafik-Bibliothek"
1937
 
1938
+ #: ../admin/settings.php:255
1939
  msgid "GD Library"
1940
  msgstr "GD Bibliothek"
1941
 
1942
+ #: ../admin/settings.php:256
1943
  msgid "ImageMagick (Experimental). Path to the library :"
1944
  msgstr "ImageMagick (Experimental). Pfad zur Bibliothek :"
1945
 
1946
+ #: ../admin/settings.php:261
1947
  msgid "Activate Media RSS feed"
1948
  msgstr "Aktiviere Media-RSS-Feed"
1949
 
1950
+ #: ../admin/settings.php:263
1951
  msgid "A RSS feed will be added to you blog header. Useful for CoolIris/PicLens"
1952
  msgstr "Ein Bilder-RSS Feed wird zum Blog hinzugefügt"
1953
 
1954
+ #: ../admin/settings.php:266
1955
  msgid "Activate PicLens/CoolIris support"
1956
  msgstr "Aktiviere PicLens/CoolIris"
1957
 
1958
+ #: ../admin/settings.php:268
1959
  msgid "When you activate this option, some javascript is added to your site footer. Make sure that wp_footer is called in your theme."
1960
  msgstr "Dieser Effekt fügt ein neues Javascript zu Deinem Theme hinzu. Beachte, dass wp_footer() in Deinen Vorlagen aufgerufen wird."
1961
 
1962
+ #: ../admin/settings.php:271
1963
  msgid "Tags / Categories"
1964
  msgstr "Stichwörter / Kategorien"
1965
 
1966
+ #: ../admin/settings.php:274
1967
  msgid "Activate related images"
1968
  msgstr "Verwandte Bilder anzeigen"
1969
 
1970
+ #: ../admin/settings.php:276
1971
  msgid "This option will append related images to every post"
1972
  msgstr "Diese Option hängt verwandte Bilder an jeden Beitrag"
1973
 
1974
+ #: ../admin/settings.php:280
1975
  msgid "Match with"
1976
  msgstr "Vergleiche mit"
1977
 
1978
+ #: ../admin/settings.php:281
1979
  msgid "Categories"
1980
  msgstr "Kategorien"
1981
 
1982
+ #: ../admin/settings.php:286
1983
  msgid "Max. number of images"
1984
  msgstr "Max. Anzahl der Bilder"
1985
 
1986
+ #: ../admin/settings.php:288
1987
  msgid "0 will show all images"
1988
  msgstr "0 zeige alle verwandten Bilder"
1989
 
1990
+ #: ../admin/settings.php:292
1991
+ #: ../admin/settings.php:323
1992
+ #: ../admin/settings.php:370
1993
+ #: ../admin/settings.php:455
1994
+ #: ../admin/settings.php:490
1995
+ #: ../admin/settings.php:751
1996
  msgid "More settings"
1997
  msgstr "Mehr Einstellungen"
1998
 
1999
+ #: ../admin/settings.php:302
2000
  msgid "Thumbnail settings"
2001
  msgstr "Thumbnail-Einstellungen"
2002
 
2003
+ #: ../admin/settings.php:306
2004
  msgid "Please note : If you change the settings, you need to recreate the thumbnails under -> Manage Gallery ."
2005
  msgstr "Bitte beachten : Änderungen der Einstellungen werden erst übernommen, wenn Du neue Thumbnails unter -> \"Gallery verwalten\" erstellst"
2006
 
2007
+ #: ../admin/settings.php:319
2008
  msgid "Thumbnail quality"
2009
  msgstr "Thumbnail Qualität"
2010
 
2011
+ #: ../admin/settings.php:333
2012
  msgid "Image settings"
2013
  msgstr "Bild-Einstellungen"
2014
 
2015
+ #: ../admin/settings.php:339
2016
  msgid "Resize Images"
2017
  msgstr "Bilder verkleinern"
2018
 
2019
+ #: ../admin/settings.php:344
2020
  msgid "Image quality"
2021
  msgstr "Bild Qualität"
2022
 
2023
+ #: ../admin/settings.php:348
2024
  msgid "Backup original images"
2025
  msgstr "Backup von Original-Bildern "
2026
 
2027
+ #: ../admin/settings.php:350
2028
  msgid "Creates a backup for inserted images"
2029
  msgstr "Backup der Bilder anlegen"
2030
 
2031
+ #: ../admin/settings.php:353
2032
  msgid "Automatically resize"
2033
  msgstr "Grösse automatisch anpassen"
2034
 
2035
+ #: ../admin/settings.php:355
2036
  msgid "Automatically resize images on upload."
2037
  msgstr "Passt die Grösse automatisch beim Upload an"
2038
 
2039
+ #: ../admin/settings.php:358
2040
  msgid "Single picture"
2041
  msgstr "Einzelbilder"
2042
 
2043
+ #: ../admin/settings.php:361
2044
  msgid "Cache single pictures"
2045
  msgstr "Nutze Cache für Einzelbilder"
2046
 
2047
+ #: ../admin/settings.php:363
2048
  msgid "Creates a file for each singlepic settings. Reduce the CPU load"
2049
  msgstr "Erstellt ein Cache-Bild für jedes Einzelbild (singlepic). Reduziert die CPU Belastung."
2050
 
2051
+ #: ../admin/settings.php:366
2052
  msgid "Clear cache folder"
2053
  msgstr "Lösche Cache-Verzeichnis"
2054
 
2055
+ #: ../admin/settings.php:387
 
 
 
 
2056
  msgid "Deactivate gallery page link"
2057
  msgstr "Keine Seitenverzweigung"
2058
 
2059
+ #: ../admin/settings.php:389
2060
  msgid "The album will not link to a gallery subpage. The gallery is shown on the same page."
2061
  msgstr "Ein Album benötigt dann keinen Link zur Seite. Die Galerie wird direkt angezeigt."
2062
 
2063
+ #: ../admin/settings.php:393
2064
  msgid "Number of images per page"
2065
  msgstr "Anzahl der Bilder pro Seite"
2066
 
2067
+ #: ../admin/settings.php:395
2068
  msgid "0 will disable pagination, all images on one page"
2069
  msgstr "0 schaltet Blätterfunktion ab ( = alle Bilder auf einer Seite )"
2070
 
2071
+ #: ../admin/settings.php:399
2072
  msgid "Number of columns"
2073
  msgstr "Anzahl der Spalten"
2074
 
2075
+ #: ../admin/settings.php:401
2076
  msgid "0 will display as much as possible based on the width of your theme. Setting normally only required for captions below the images"
2077
  msgstr "Mit \"0\" werden soviele Bilder wie möglich in einer Reihe dargestellt. Die Einstellung ist normalerweise nur für Beschriftungen unterhalb der Bilder sinnvoll."
2078
 
2079
+ #: ../admin/settings.php:405
2080
  msgid "Integrate slideshow"
2081
  msgstr "Slideshow verwenden"
2082
 
2083
+ #: ../admin/settings.php:412
2084
  msgid "Show first"
2085
  msgstr "Zeige als Erstes"
2086
 
2087
+ #: ../admin/settings.php:418
2088
  msgid "Show ImageBrowser"
2089
  msgstr "Zeige Bilder-Browser"
2090
 
2091
+ #: ../admin/settings.php:420
2092
  msgid "The gallery will open the ImageBrowser instead the effect."
2093
  msgstr "Es wird der Bilder-Browser angezeigt (Kein JavaScript Effekt)"
2094
 
2095
+ #: ../admin/settings.php:424
2096
  msgid "Add hidden images"
2097
  msgstr "Versteckte Bilder hinzufügen"
2098
 
2099
+ #: ../admin/settings.php:426
2100
+ msgid "If pagination is used, this option will still show all images in the modal window (Thickbox, Lightbox etc.). Note : This increases the page load"
2101
  msgstr "Wenn Du die Blätterfunktion nutzt, dann kannst Du mit dieser Option alle Bilder im Modal-Fenster (Thickbox,Lightbox etc.) anzeigen. Berücksichtige, dass die Ladezeit der Seite erhöht wird."
2102
 
2103
+ #: ../admin/settings.php:430
2104
  msgid "Enable AJAX pagination"
2105
  msgstr "Aktiviere AJAX-Navigation"
2106
 
2107
+ #: ../admin/settings.php:432
2108
+ msgid "Browse images without reload the page. Note : Works only in combination with Shutter effect"
2109
  msgstr "Ermöglicht das Blättern zwischen den Bildern ohne die Seite neu zu laden. Hinweis : Funktioniert nur mit dem Shutter-Effekt."
2110
 
2111
+ #: ../admin/settings.php:436
2112
  msgid "Sort options"
2113
  msgstr "Sortierung"
2114
 
2115
+ #: ../admin/settings.php:439
2116
  msgid "Sort thumbnails"
2117
  msgstr "Thumbnails sortieren"
2118
 
2119
+ #: ../admin/settings.php:441
2120
  msgid "Custom order"
2121
  msgstr "Benutzerdefiniert"
2122
 
2123
+ #: ../admin/settings.php:443
2124
  msgid "File name"
2125
  msgstr "Dateiname"
2126
 
2127
+ #: ../admin/settings.php:444
2128
  msgid "Alt / Title text"
2129
  msgstr "Alt / Titel Text"
2130
 
2131
+ #: ../admin/settings.php:445
2132
  msgid "Date / Time"
2133
  msgstr "Datum/Zeit"
2134
 
2135
+ #: ../admin/settings.php:449
2136
  msgid "Sort direction"
2137
  msgstr "Sortierreihenfolge"
2138
 
2139
+ #: ../admin/settings.php:469
2140
  msgid "Here you can select the thumbnail effect, NextGEN Gallery will integrate the required HTML code in the images. Please note that only the Shutter and Thickbox effect will automatic added to your theme."
2141
  msgstr "Hier kannst Du den Effekt für die Thumbnails auswählen. NextGEN Galerie wird den benötigten HTML-Code verwenden. Bitte beachte, dass nur Shutter und der Thickbox Effekt automatisch in Dein Theme von Wordpress integriert wird. Alle anderen Effekte mußt Du selbst in die header.php eintragen (JS)."
2142
 
2143
+ #: ../admin/settings.php:470
2144
  msgid "With the placeholder"
2145
  msgstr "Mit Platzhalter"
2146
 
2147
+ #: ../admin/settings.php:470
2148
  msgid "you can activate a navigation through the images (depend on the effect). Change the code line only , when you use a different thumbnail effect or you know what you do."
2149
  msgstr "Du kannst eine Navigation durch die Bilder aktivieren (hängt vom Effekt ab). Ändere nur die Codezeile, falls Du einen anderen Effekt für die Thumbnails verwendest oder einfach weißt, was Du tust."
2150
 
2151
+ #: ../admin/settings.php:473
2152
  msgid "JavaScript Thumbnail effect"
2153
  msgstr "JavaScript Thumbnail Effekt"
2154
 
2155
+ #: ../admin/settings.php:477
 
 
 
 
2156
  msgid "Thickbox"
2157
  msgstr "Thickbox"
2158
 
2159
+ #: ../admin/settings.php:478
2160
  msgid "Lightbox"
2161
  msgstr "Lightbox"
2162
 
2163
+ #: ../admin/settings.php:479
2164
  msgid "Highslide"
2165
  msgstr "Highslide"
2166
 
2167
+ #: ../admin/settings.php:480
2168
  msgid "Shutter"
2169
  msgstr "Shutter"
2170
 
2171
+ #: ../admin/settings.php:481
2172
  msgid "Custom"
2173
  msgstr "Eigener"
2174
 
2175
+ #: ../admin/settings.php:486
2176
  msgid "Link Code line"
2177
  msgstr "Link-Code-Zeile"
2178
 
2179
+ #: ../admin/settings.php:508
2180
  msgid "Please note : You can only activate the watermark under -> Manage Gallery . This action cannot be undone."
2181
  msgstr "Bitte beachten : Das Wasserzeichen kann nur unter der Galerieverwaltung gesetzt werden. "
2182
 
2183
+ #: ../admin/settings.php:513
2184
  msgid "Preview"
2185
  msgstr "Vorschau"
2186
 
2187
+ #: ../admin/settings.php:515
2188
+ #: ../admin/settings.php:520
2189
  msgid "Position"
2190
  msgstr "Position"
2191
 
2192
+ #: ../admin/settings.php:540
2193
  msgid "Offset"
2194
  msgstr "Abstand"
2195
 
2196
+ #: ../admin/settings.php:556
2197
  msgid "Use image as watermark"
2198
  msgstr "Benutze das Bild als Wasserzeichen"
2199
 
2200
+ #: ../admin/settings.php:559
2201
  msgid "URL to file"
2202
  msgstr "URL zur Datei"
2203
 
2204
+ #: ../admin/settings.php:561
2205
  msgid "The accessing of URL files is disabled at your server (allow_url_fopen)"
2206
  msgstr "Der Dateizugriff von URLs ist auf diesem Server deaktiviert (allow_url_fopen)"
2207
 
2208
+ #: ../admin/settings.php:564
2209
  msgid "Use text as watermark"
2210
  msgstr "Benutze Text als Wasserzeichen"
2211
 
2212
+ #: ../admin/settings.php:567
2213
  msgid "Font"
2214
  msgstr "Schriftart"
2215
 
2216
+ #: ../admin/settings.php:576
2217
  msgid "This function will not work, cause you need the FreeType library"
2218
  msgstr "Diese Funktion benötigt die FreeType-Bibliothek"
2219
 
2220
+ #: ../admin/settings.php:578
2221
  msgid "You can upload more fonts in the folder <strong>nggallery/fonts</strong>"
2222
  msgstr "Du kannst mehr Schriftarten in das Verzeichniss <strong>nggallery/fonts</strong> hochladen."
2223
 
2224
+ #: ../admin/settings.php:583
2225
  msgid "Size"
2226
  msgstr "Größe"
2227
 
2228
+ #: ../admin/settings.php:587
2229
  msgid "Color"
2230
  msgstr "Farbe"
2231
 
2232
+ #: ../admin/settings.php:589
2233
  msgid "(hex w/o #)"
2234
  msgstr "(hex w/o #)"
2235
 
2236
+ #: ../admin/settings.php:592
2237
  msgid "Text"
2238
  msgstr "Text"
2239
 
2240
+ #: ../admin/settings.php:596
2241
  msgid "Opaque"
2242
  msgstr "Transparenz"
2243
 
2244
+ #: ../admin/settings.php:617
2245
  msgid "Default size (W x H)"
2246
  msgstr "Standard Größe (B x H)"
2247
 
2248
+ #: ../admin/settings.php:622
2249
  msgid "Duration time"
2250
  msgstr "Dauer"
2251
 
2252
+ #: ../admin/settings.php:623
2253
  msgid "sec."
2254
  msgstr "Sek."
2255
 
2256
+ #: ../admin/settings.php:626
2257
+ #: ../admin/settings.php:701
2258
  msgid "Transition / Fade effect"
2259
  msgstr "Fade Effekt"
2260
 
2261
+ #: ../admin/settings.php:629
2262
+ #: ../admin/settings.php:704
2263
  msgid "fade"
2264
  msgstr "Fade"
2265
 
2266
+ #: ../admin/settings.php:630
2267
  msgid "blindX"
2268
  msgstr "blindX"
2269
 
2270
+ #: ../admin/settings.php:631
2271
  msgid "cover"
2272
  msgstr "Blenden"
2273
 
2274
+ #: ../admin/settings.php:632
2275
  msgid "scrollUp"
2276
  msgstr "ScrollUp"
2277
 
2278
+ #: ../admin/settings.php:633
2279
  msgid "scrollDown"
2280
  msgstr "ScrollDown"
2281
 
2282
+ #: ../admin/settings.php:634
2283
  msgid "shuffle"
2284
  msgstr "Shuffle"
2285
 
2286
+ #: ../admin/settings.php:635
2287
  msgid "toss"
2288
  msgstr "Schüttel"
2289
 
2290
+ #: ../admin/settings.php:636
2291
  msgid "wipe"
2292
  msgstr "wischen"
2293
 
2294
+ #: ../admin/settings.php:638
2295
  msgid "See here for more information about the effects :"
2296
  msgstr "Hier bekommst du mehr Informationen über die Effekte :"
2297
 
2298
+ #: ../admin/settings.php:642
2299
  msgid "Settings for the JW Image Rotator"
2300
  msgstr "JW-Image-Rotator Einstellungen"
2301
 
2302
+ #: ../admin/settings.php:643
2303
  msgid "The settings are only used in the JW Image Rotator Version"
2304
  msgstr "Die Einstellungen werden im JW-Image-Rotator benutzt, in der Version"
2305
 
2306
+ #: ../admin/settings.php:644
2307
  msgid "See more information for the Flash Player on the web page"
2308
  msgstr "Weitere Informationen auf der Flash-Player-Homepage"
2309
 
2310
+ #: ../admin/settings.php:649
2311
  msgid "The path to imagerotator.swf is not defined, the slideshow will not work."
2312
  msgstr "Der Pfad zu imagerotator.swf ist nicht gesetzt, die Flash-Diaschau kann dann nicht angezeigt werden"
2313
 
2314
+ #: ../admin/settings.php:650
2315
  msgid "If you would like to use the JW Image Rotatator, please download the player <a href=\"http://www.longtailvideo.com/players/jw-image-rotator/\" target=\"_blank\" >here</a> and upload it to your Upload folder (Default is wp-content/uploads)."
2316
  msgstr "Wenn Du den JW-Image-Rotator (Slideshow) nutzen möchtest, lade Dir die aktuelle Version <a href=\"http://www.longtailvideo.com/players/jw-image-rotator/\" target=\"_blank\" >hier</a> herunter und übertrage sie dann in Dein WordPress-Upload-Verzeichnis (normalerweise wp-content/uploads),"
2317
 
2318
+ #: ../admin/settings.php:656
2319
  msgid "Enable flash slideshow"
2320
  msgstr "Aktiviere Flash Slideshow"
2321
 
2322
+ #: ../admin/settings.php:658
2323
+ msgid "Integrate the flash based slideshow for all flash supported devices"
2324
  msgstr "Verwende die Flash Slideshow für alle Flash-unterstützte Geräte"
2325
 
2326
+ #: ../admin/settings.php:661
2327
  msgid "Path to the Imagerotator (URL)"
2328
  msgstr "Pfad zum JW-Image-Rotator (URL)"
2329
 
2330
+ #: ../admin/settings.php:664
2331
  msgid "Search now"
2332
  msgstr "Suche jetzt"
2333
 
2334
+ #: ../admin/settings.php:665
2335
+ msgid "Press the button to search automatically for the imagerotator, if you uploaded it to wp-content/uploads or a subfolder"
2336
  msgstr "Drücke 'Suche jetzt' um automatisch den Pfad zum Image-Rotator zu ermitteln, sofern Du den Player in wp-content/uploads oder ein Unterverzeichnis hochgeladen hast."
2337
 
2338
+ #: ../admin/settings.php:669
2339
  msgid "Shuffle mode"
2340
  msgstr "Shuffle Modus"
2341
 
2342
+ #: ../admin/settings.php:673
2343
  msgid "Show next image on click"
2344
  msgstr "Zeige nächstes Bild bei Klick"
2345
 
2346
+ #: ../admin/settings.php:677
2347
  msgid "Show navigation bar"
2348
  msgstr "Zeige Navigations-Leiste"
2349
 
2350
+ #: ../admin/settings.php:681
2351
  msgid "Show loading icon"
2352
  msgstr "Zeige Lade-Bildchen"
2353
 
2354
+ #: ../admin/settings.php:685
2355
  msgid "Use watermark logo"
2356
  msgstr "Wasserzeichen anzeigen"
2357
 
2358
+ #: ../admin/settings.php:687
2359
  msgid "You can change the logo at the watermark settings"
2360
  msgstr "Du kannst den Pfad in Einstellungen für das Wasserzeichen angeben"
2361
 
2362
+ #: ../admin/settings.php:690
2363
  msgid "Stretch image"
2364
  msgstr "Bild dehnen"
2365
 
2366
+ #: ../admin/settings.php:693
2367
  msgid "true"
2368
  msgstr "Ja"
2369
 
2370
+ #: ../admin/settings.php:694
2371
  msgid "false"
2372
  msgstr "Nein"
2373
 
2374
+ #: ../admin/settings.php:695
2375
  msgid "fit"
2376
  msgstr "Passend"
2377
 
2378
+ #: ../admin/settings.php:696
2379
  msgid "none"
2380
  msgstr "keiner"
2381
 
2382
+ #: ../admin/settings.php:705
2383
  msgid "bgfade"
2384
  msgstr "BGFade"
2385
 
2386
+ #: ../admin/settings.php:706
2387
  msgid "slowfade"
2388
  msgstr "Slowfade"
2389
 
2390
+ #: ../admin/settings.php:707
2391
  msgid "circles"
2392
  msgstr "Kreise"
2393
 
2394
+ #: ../admin/settings.php:708
2395
  msgid "bubbles"
2396
  msgstr "Blasen"
2397
 
2398
+ #: ../admin/settings.php:709
2399
  msgid "blocks"
2400
  msgstr "Blöcke"
2401
 
2402
+ #: ../admin/settings.php:710
2403
  msgid "fluids"
2404
  msgstr "Fluids"
2405
 
2406
+ #: ../admin/settings.php:711
2407
  msgid "flash"
2408
  msgstr "Flash"
2409
 
2410
+ #: ../admin/settings.php:712
2411
  msgid "lines"
2412
  msgstr "Linien"
2413
 
2414
+ #: ../admin/settings.php:713
2415
  msgid "random"
2416
  msgstr "Zufall"
2417
 
2418
+ #: ../admin/settings.php:718
2419
  msgid "Use slow zooming effect"
2420
  msgstr "nutze Zoom-Effekt"
2421
 
2422
+ #: ../admin/settings.php:722
2423
  msgid "Background Color"
2424
  msgstr "Hintergrund (BG) Farbe"
2425
 
2426
+ #: ../admin/settings.php:727
2427
  msgid "Texts / Buttons Color"
2428
  msgstr "Text- / Button Farbe"
2429
 
2430
+ #: ../admin/settings.php:732
2431
  msgid "Rollover / Active Color"
2432
  msgstr "Rollover / Aktiv (Link) Farbe"
2433
 
2434
+ #: ../admin/settings.php:737
2435
  msgid "Screen Color"
2436
  msgstr "Seiten-Farbe"
2437
 
2438
+ #: ../admin/settings.php:742
2439
  msgid "Background music (URL)"
2440
  msgstr "Hintergrundmusik (URL)"
2441
 
2442
+ #: ../admin/settings.php:746
2443
  msgid "Try XHTML validation (with CDATA)"
2444
  msgstr "Integriere XHTML-Validierung (mittels CDATA)"
2445
 
2446
+ #: ../admin/settings.php:748
2447
  msgid "Important : Could causes problem at some browser. Please recheck your page."
2448
  msgstr "Wichtig : Es könnten Probleme bei einigen Browser entstehen. Unbedingt Seite danach prüfen."
2449
 
2716
  msgid "Slug(s) to set:"
2717
  msgstr "Schlagwörter setzen:"
2718
 
2719
+ #: ../admin/upgrade.php:22
2720
  msgid "Upgrade database structure..."
2721
  msgstr "Aktualisiere die Datenbank-Struturen..."
2722
 
2723
+ #: ../admin/upgrade.php:108
 
2724
  #: ../admin/upgrade.php:122
2725
+ #: ../admin/upgrade.php:129
2726
+ #: ../admin/upgrade.php:140
2727
+ #: ../admin/upgrade.php:154
2728
  msgid "finished"
2729
  msgstr "beendet"
2730
 
2731
+ #: ../admin/upgrade.php:120
2732
  msgid "Update file structure..."
2733
  msgstr "Aktualisiere Verzeichnisse..."
2734
 
2735
+ #: ../admin/upgrade.php:127
2736
  msgid "Import date and time information..."
2737
  msgstr "Importiere Datum/Uhrzeit..."
2738
 
2739
+ #: ../admin/upgrade.php:135
2740
  msgid "Move imagerotator to new location..."
2741
  msgstr "Verschiebe den Image-Rotator in ein neues Verzeichnis..."
2742
 
2743
+ #: ../admin/upgrade.php:146
2744
  msgid "Update settings..."
2745
  msgstr "Einstellungen gespeichert..."
2746
 
2747
+ #: ../admin/upgrade.php:160
2748
  msgid "Updated widget structure. If you used NextGEN Widgets, you need to setup them again..."
2749
  msgstr "Die Widgets wurden überarbeitet. Wenn Du NextGEN Widgets nutzt, musst du Sie nun neu einfügen..."
2750
 
2751
+ #: ../admin/upgrade.php:168
2752
  msgid "Updated options."
2753
  msgstr "Einstellungen gespeichert."
2754
 
2755
+ #: ../admin/upgrade.php:175
2756
+ msgid "Create unique slug"
2757
+ msgstr "Permalinks erstellen"
2758
+
2759
+ #: ../admin/upgrade.php:176
2760
+ msgid "One of the upcomming features are a reworked permalinks structure."
2761
+ msgstr "Die Permalinkstruktur wird in einer kommenden Version überarbeitet."
2762
+
2763
+ #: ../admin/upgrade.php:177
2764
+ msgid "Therefore it's needed to have a unique identifier for each image, gallery and album."
2765
+ msgstr "Deshalb ist es notwendig ein eindeutiges Schlagwort für jedes Bild, Galerie und Album zu erzeugen."
2766
+
2767
+ #: ../admin/upgrade.php:178
2768
+ msgid "Depend on the amount of database entries this will take a while, don't reload this page."
2769
+ msgstr "Diese Operation kann je nach Anzahl der Bilder eine Weile daueren, bitte die Seite nicht neu laden."
2770
+
2771
+ #: ../admin/upgrade.php:187
2772
  msgid "Could not find NextGEN Gallery database tables, upgrade failed !"
2773
  msgstr "Konnte die NextGEN Gallery Tabellen nicht finden, Upgrade fehlgeschlagen !"
2774
 
2775
+ #: ../admin/upgrade.php:250
2776
  msgid "Some folders/files could not renamed, please recheck the permission and rescan the folder in the manage gallery section."
2777
  msgstr "Einige Verzeichnisse / Bilder konnten nicht umbenannt werden, bitte überprüfe die Zugriffsrechte und scanne dann das Verzeichnis neu ein."
2778
 
2779
+ #: ../admin/upgrade.php:252
2780
  msgid "Rename failed"
2781
  msgstr "Konnte nicht umbenannt werden"
2782
 
2783
+ #: ../admin/upgrade.php:348
2784
+ #: ../admin/upgrade.php:367
2785
  msgid "Upgrade NextGEN Gallery"
2786
  msgstr "NextGEN-Gallery aktualisieren"
2787
 
2788
+ #: ../admin/upgrade.php:349
2789
  msgid "The script detect that you upgrade from a older version."
2790
  msgstr "Es wurde eine ältere NextGEN-Datenbank erkannt."
2791
 
2792
+ #: ../admin/upgrade.php:350
2793
  msgid "Your database tables for NextGEN Gallery is out-of-date, and must be upgraded before you can continue."
2794
  msgstr "Deine Datenbanktabellen für NextGEN-Gallery sind nicht auf dem aktuellen Stand, sie müssen jetzt aktualisiert werden."
2795
 
2796
+ #: ../admin/upgrade.php:351
2797
  msgid "If you would like to downgrade later, please make first a complete backup of your database and the images."
2798
  msgstr "Wenn Du wieder auf eine ältere Version zurückgehen möchtest, solltest Du vorher die Datenbank sichern."
2799
 
2800
+ #: ../admin/upgrade.php:352
2801
  msgid "The upgrade process may take a while, so please be patient."
2802
  msgstr "Der Upgrade-Prozess kann etwas dauern, bitte sei geduldig..."
2803
 
2804
+ #: ../admin/upgrade.php:353
2805
  msgid "Start upgrade now"
2806
  msgstr "Aktualisierung starten"
2807
 
2808
+ #: ../admin/upgrade.php:369
2809
  msgid "Upgrade finished..."
2810
  msgstr "Upgrade beendet..."
2811
 
2812
+ #: ../admin/upgrade.php:370
2813
  msgid "Continue"
2814
  msgstr "Weiter"
2815
 
2816
+ #: ../admin/upgrade.php:397
2817
+ #, php-format
2818
+ msgid "Rebuild image structure : %s / %s images"
2819
+ msgstr "Erzeuge Permalinks für Bilder : %s / %s Bilder"
2820
+
2821
+ #: ../admin/upgrade.php:398
2822
+ #, php-format
2823
+ msgid "Rebuild gallery structure : %s / %s galleries"
2824
+ msgstr "Erzeuge Permalinks für Galerien : %s / %s Galerien"
2825
+
2826
+ #: ../admin/upgrade.php:399
2827
+ #, php-format
2828
+ msgid "Rebuild album structure : %s / %s albums"
2829
+ msgstr "Erzeuge Permalinks für Alben : %s / %s Alben"
2830
+
2831
+ #: ../admin/upgrade.php:456
2832
+ msgid "Done."
2833
+ msgstr "Fertig."
2834
+
2835
+ #: ../admin/wpmu.php:33
2836
  msgid "Update successfully"
2837
  msgstr "Aktualisierung erfolgreich"
2838
 
2839
+ #: ../admin/wpmu.php:45
2840
+ #, php-format
2841
+ msgid "Thanks for using this plugin, NextGEN Gallery is initially developed for self hosted blogs. A multisite setup is possible, but cannot currently fully supported, as it can have several special condition ( i.e. Domain mapping).<br /> If you would like to support the further development, please consider a <strong><a href=\"%s\">donation</a></strong>! If you still need some help, please post your questions <a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\">here</a> ."
2842
+ msgstr "Vielen Dank, dass Du dieses Plugin nutzt. NextGEN Gallery wurde für einfache Blogs entwickelt. Die Nutzung im Netzwerk (Multisite) ist möglich, aber wird nicht vollständig unterstützt (z.B. Domain Mapping).<br /> Wenn Du die Weiterentwicklung unterstützen möchtest, würde ich mich über eine kleine <strong><a href=\"%s\">Spende</a></strong> freuen! Wenn Du Fragen oder Problem hast, schreib sie doch <a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\">hier</a> ins Forum."
2843
 
2844
+ #: ../admin/wpmu.php:62
2845
+ msgid "Network Options"
2846
+ msgstr "Netzwerk Optionen"
2847
+
2848
+ #: ../admin/wpmu.php:70
2849
+ msgid "This is the default path for all blogs. With the placeholder %BLOG_ID% you can organize the folder structure better."
2850
  msgstr "Dieses ist der Default-Pfad für alle Blogs. Mit dem Platzhalter %BLOG_ID% wird die Ordnerstruktur gesteuert. Der Pfad muss mit / enden."
2851
 
2852
+ #: ../admin/wpmu.php:71
2853
+ #, php-format
2854
+ msgid "The default setting should be %s"
2855
+ msgstr "Grundeinstellung ist %s"
2856
+
2857
+ #: ../admin/wpmu.php:75
2858
  msgid "Enable upload quota check"
2859
  msgstr "Schalte die Uploadbegrenzung ein"
2860
 
2861
+ #: ../admin/wpmu.php:77
2862
  msgid "Should work if the gallery is bellow the blog.dir"
2863
  msgstr "Sollte funktionieren, wenn die Galerien sich unterhalb blog.dir befinden"
2864
 
2865
+ #: ../admin/wpmu.php:81
2866
  msgid "Enable zip upload option"
2867
  msgstr "Erlaube ZIP-Upload"
2868
 
2869
+ #: ../admin/wpmu.php:83
2870
  msgid "Allow users to upload zip folders."
2871
  msgstr "Erlaubt die Nutzung des ZIP-Upload"
2872
 
2873
+ #: ../admin/wpmu.php:87
2874
+ msgid "Enable import function"
2875
+ msgstr "Erlaube Import Funktion"
2876
+
2877
+ #: ../admin/wpmu.php:89
2878
+ msgid "Allow users to import images folders from the server."
2879
+ msgstr "Erlaube dem User Bilder direkt aus den Server Verzeichnissen zu importieren."
2880
+
2881
+ #: ../admin/wpmu.php:93
2882
  msgid "Enable style selection"
2883
  msgstr "Freie CSS-Style-Auswahl"
2884
 
2885
+ #: ../admin/wpmu.php:95
2886
  msgid "Allow users to choose a style for the gallery."
2887
  msgstr "Erlaube dem User, ein CSS für die Galerie zu wählen"
2888
 
2889
+ #: ../admin/wpmu.php:99
2890
  msgid "Enable roles/capabilities"
2891
  msgstr "Rollen / Zugriffsrechte freischalten"
2892
 
2893
+ #: ../admin/wpmu.php:101
2894
  msgid "Allow users to change the roles for other blog authors."
2895
  msgstr "Erlaube dem User die Anpassung der Zugangsberechtigung"
2896
 
2897
+ #: ../admin/wpmu.php:105
2898
  msgid "Default style"
2899
  msgstr "Standard-CSS-Style"
2900
 
2901
+ #: ../admin/wpmu.php:122
2902
  msgid "Choose the default style for the galleries."
2903
  msgstr "Wähle das Default-Stylesheet für die Galerien"
2904
 
 
 
 
 
2905
  #: ../admin/tinymce/window.php:56
2906
+ msgid "Select or enter gallery"
2907
+ msgstr "Wähle oder Suche Galerie"
2908
+
2909
+ #: ../admin/tinymce/window.php:61
2910
+ #: ../admin/tinymce/window.php:82
2911
  msgid "Show as"
2912
  msgstr "Zeige als"
2913
 
2914
+ #: ../admin/tinymce/window.php:62
2915
  msgid "Image list"
2916
  msgstr "Bilder-Liste"
2917
 
2918
+ #: ../admin/tinymce/window.php:64
2919
  msgid "Imagebrowser"
2920
  msgstr "Bilder-Browser"
2921
 
2922
+ #: ../admin/tinymce/window.php:77
2923
+ msgid "Select or enter album"
2924
+ msgstr "Wähle oder Suche Album"
2925
 
2926
+ #: ../admin/tinymce/window.php:83
2927
  msgid "Extended version"
2928
  msgstr "Erweiterte Version"
2929
 
2930
+ #: ../admin/tinymce/window.php:84
2931
  msgid "Compact version"
2932
  msgstr "Kompakte Version"
2933
 
2934
  #: ../admin/tinymce/window.php:97
2935
+ msgid "Select or enter picture"
2936
+ msgstr "Wähle oder Suche Bild"
2937
 
2938
+ #: ../admin/tinymce/window.php:102
2939
  msgid "Width x Height"
2940
  msgstr "Breite x Höhe"
2941
 
2942
+ #: ../admin/tinymce/window.php:106
2943
  msgid "Effect"
2944
  msgstr "Effekt"
2945
 
2946
+ #: ../admin/tinymce/window.php:109
2947
  msgid "No effect"
2948
  msgstr "Kein Effekt"
2949
 
2950
+ #: ../admin/tinymce/window.php:111
2951
  msgid "Web 2.0"
2952
  msgstr "Web 2.0"
2953
 
2954
+ #: ../admin/tinymce/window.php:116
2955
  msgid "Float"
2956
  msgstr "Float"
2957
 
2958
+ #: ../admin/tinymce/window.php:119
2959
  msgid "No float"
2960
  msgstr "Kein Float"
2961
 
2962
+ #: ../admin/tinymce/window.php:138
 
 
 
 
 
 
 
 
 
 
 
 
2963
  msgid "Insert"
2964
  msgstr "Einfügen"
2965
 
2993
  msgid "Not fired"
2994
  msgstr "Nicht ausgelöst"
2995
 
2996
+ #: ../lib/meta.php:426
2997
  msgid "Aperture"
2998
  msgstr "Blende"
2999
 
3000
+ #: ../lib/meta.php:427
3001
+ #: ../lib/meta.php:452
3002
  msgid "Credit"
3003
  msgstr "Autor"
3004
 
3005
+ #: ../lib/meta.php:428
3006
  msgid "Camera"
3007
  msgstr "Kamera"
3008
 
3009
+ #: ../lib/meta.php:429
3010
  msgid "Caption"
3011
  msgstr "Beschreibung"
3012
 
3013
+ #: ../lib/meta.php:431
3014
  msgid "Copyright"
3015
  msgstr "Rechte"
3016
 
3017
+ #: ../lib/meta.php:432
3018
  msgid "Focal length"
3019
  msgstr "Brennweite"
3020
 
3021
+ #: ../lib/meta.php:433
3022
  msgid "ISO"
3023
  msgstr "ISO"
3024
 
3025
+ #: ../lib/meta.php:434
3026
  msgid "Shutter speed"
3027
  msgstr "Belichtungszeit"
3028
 
3029
+ #: ../lib/meta.php:438
3030
  msgid "Subject"
3031
  msgstr "Betreff"
3032
 
3033
+ #: ../lib/meta.php:439
3034
  msgid "Make"
3035
  msgstr "Hersteller"
3036
 
3037
+ #: ../lib/meta.php:440
3038
  msgid "Edit Status"
3039
  msgstr "Ändere Status"
3040
 
3041
+ #: ../lib/meta.php:441
3042
  msgid "Category"
3043
  msgstr "Kategorie"
3044
 
3045
+ #: ../lib/meta.php:442
3046
  msgid "Keywords"
3047
  msgstr "Schlüsselwörter"
3048
 
3049
+ #: ../lib/meta.php:443
3050
  msgid "Date Created"
3051
  msgstr "erstellt (Datum)"
3052
 
3053
+ #: ../lib/meta.php:444
3054
  msgid "Time Created"
3055
  msgstr "erstellt (Zeit)"
3056
 
3057
+ #: ../lib/meta.php:445
3058
  msgid "Author Position"
3059
  msgstr "Autor Position"
3060
 
3061
+ #: ../lib/meta.php:446
3062
  msgid "City"
3063
  msgstr "Stadt"
3064
 
3065
+ #: ../lib/meta.php:447
3066
  msgid "Location"
3067
  msgstr "Ort"
3068
 
3069
+ #: ../lib/meta.php:448
3070
  msgid "Province/State"
3071
  msgstr "Staat / PLZ"
3072
 
3073
+ #: ../lib/meta.php:449
3074
  msgid "Country code"
3075
  msgstr "Landescode"
3076
 
3077
+ #: ../lib/meta.php:450
3078
  msgid "Country"
3079
  msgstr "Land"
3080
 
3081
+ #: ../lib/meta.php:451
3082
  msgid "Headline"
3083
  msgstr "Kopfzeile"
3084
 
3085
+ #: ../lib/meta.php:453
3086
  msgid "Source"
3087
  msgstr "Quelle"
3088
 
3089
+ #: ../lib/meta.php:454
3090
  msgid "Copyright Notice"
3091
  msgstr "Copyright Hinweise / Credits"
3092
 
3093
+ #: ../lib/meta.php:455
3094
  msgid "Contact"
3095
  msgstr "Kontakt"
3096
 
3097
+ #: ../lib/meta.php:456
3098
  msgid "Last modified"
3099
  msgstr "Zuletzt geändert"
3100
 
3101
+ #: ../lib/meta.php:457
3102
  msgid "Program tool"
3103
  msgstr "Programm"
3104
 
3105
+ #: ../lib/meta.php:458
3106
  msgid "Format"
3107
  msgstr "Format"
3108
 
3109
+ #: ../lib/meta.php:459
3110
  msgid "Image Width"
3111
  msgstr "Breite"
3112
 
3113
+ #: ../lib/meta.php:460
3114
  msgid "Image Height"
3115
  msgstr "Höhe"
3116
 
3117
+ #: ../lib/meta.php:461
3118
  msgid "Flash"
3119
  msgstr "Blitz"
3120
 
3122
  msgid "Sorry, you have used your space allocation. Please delete some files to upload more files."
3123
  msgstr "Schade, Dein freier Speicher scheint aufgebraucht zu sein. Bitte lösche zuerst ein paar Bilder."
3124
 
3125
+ #: ../lib/ngg-db.php:330
3126
+ #: ../lib/ngg-db.php:331
3127
  msgid "Album overview"
3128
  msgstr "Album Übersicht"
3129
 
3199
  msgid "%s slug(s) edited."
3200
  msgstr "%s Stichwörter geändert"
3201
 
3202
+ #: ../lib/xmlrpc.php:64
3203
  #, php-format
3204
  msgid "XML-RPC services are disabled on this blog. An admin user can enable them at %s"
3205
  msgstr "XML-RPC Service ist ausgeschaltet. Der Administrator kann es hier %s einschalten"
3206
 
3207
+ #: ../lib/xmlrpc.php:71
3208
  msgid "Bad login/pass combination."
3209
  msgstr "Username/Password falsch"
3210
 
3211
+ #: ../lib/xmlrpc.php:127
3212
  msgid "You are not allowed to upload files to this site."
3213
  msgstr "Du hast keine Berechtigung, Bilder hochzuladen"
3214
 
3215
+ #: ../lib/xmlrpc.php:133
3216
+ #: ../lib/xmlrpc.php:580
3217
  msgid "Could not find gallery "
3218
  msgstr "Konnte Galerie nicht finden"
3219
 
3220
+ #: ../lib/xmlrpc.php:138
3221
+ #: ../lib/xmlrpc.php:585
3222
  msgid "You are not allowed to upload files to this gallery."
3223
  msgstr "Du hast keine Berechtigung, Bilder in diese Galerie zuladen"
3224
 
3225
+ #: ../lib/xmlrpc.php:150
3226
  msgid "This is no valid image file."
3227
  msgstr "Das ist keine zulässige Bilddatei!"
3228
 
3229
+ #: ../lib/xmlrpc.php:162
3230
  msgid "Could not find image id "
3231
  msgstr "Konnte die Bild-ID nicht finden"
3232
 
3233
+ #: ../lib/xmlrpc.php:169
3234
  #, php-format
3235
  msgid "Failed to delete image %1$s "
3236
  msgstr "Konnte das Bild %1$s nicht löschen"
3237
 
3238
+ #: ../lib/xmlrpc.php:178
3239
  #, php-format
3240
  msgid "Could not write file %1$s (%2$s)"
3241
  msgstr "Konnte die Datei %1$s (%2$s) nicht schreiben "
3242
 
3243
+ #: ../lib/xmlrpc.php:246
3244
+ #: ../lib/xmlrpc.php:476
3245
+ #: ../lib/xmlrpc.php:542
3246
+ msgid "Sorry, you must be able to manage galleries"
3247
+ msgstr "Sorry, Du hast nicht das Recht, diese Galerie zu bearbeiten"
3248
 
3249
+ #: ../lib/xmlrpc.php:252
3250
  msgid "Sorry, could not create the gallery"
3251
  msgstr "Konnte die Galerie nicht anlegen"
3252
 
3253
+ #: ../lib/xmlrpc.php:295
3254
+ #: ../lib/xmlrpc.php:473
3255
+ msgid "Invalid gallery ID"
3256
+ msgstr "Keine gültige Galerie ID"
3257
+
3258
+ #: ../lib/xmlrpc.php:298
3259
+ msgid "Sorry, you must be able to manage this gallery"
3260
+ msgstr "Sorry, Du hast nicht das Recht, diese Galerie zu bearbeiten"
3261
+
3262
+ #: ../lib/xmlrpc.php:304
3263
+ msgid "Sorry, could not update the gallery"
3264
+ msgstr "Konnte die Galerie nicht aktualisieren"
3265
+
3266
+ #: ../lib/xmlrpc.php:344
3267
+ #: ../lib/xmlrpc.php:396
3268
+ #: ../lib/xmlrpc.php:438
3269
+ #: ../lib/xmlrpc.php:509
3270
+ msgid "Sorry, you must be able to manage albums"
3271
+ msgstr "Sorry, Du hast nicht das Recht, dieses Album zu bearbeiten"
3272
+
3273
+ #: ../lib/xmlrpc.php:350
3274
+ msgid "Sorry, could not create the album"
3275
+ msgstr "Konnte das Album nicht anlegen"
3276
+
3277
+ #: ../lib/xmlrpc.php:393
3278
+ #: ../lib/xmlrpc.php:435
3279
+ msgid "Invalid album ID"
3280
+ msgstr "Ungültige Album ID"
3281
+
3282
+ #: ../lib/xmlrpc.php:402
3283
+ msgid "Sorry, could not update the album"
3284
+ msgstr "Konnte das Album nicht aktualisieren"
3285
+
3286
  #: ../view/album-compact.php:32
3287
  #: ../view/album-extend.php:30
3288
  msgid "Photos"
3471
  msgid "Invalid MediaRSS command"
3472
  msgstr "Ungültiger Media-RSS-Befehl"
3473
 
3474
+ #~ msgid "A new version of NextGEN Gallery is available !"
3475
+ #~ msgstr "Eine neue Version von NextGEN Gallery ist jetzt verfügbar"
3476
+
3477
+ #~ msgid "Download here"
3478
+ #~ msgstr "Hier downloaden"
3479
+
3480
+ #~ msgid "already exists"
3481
+ #~ msgstr "gibt es bereits"
3482
+
3483
+ #~ msgid "Gallery Overview"
3484
+ #~ msgstr "Galerie Übersicht"
3485
+
3486
+ #~ msgid "Quantity"
3487
+ #~ msgstr "Anzahl"
3488
+
3489
+ #~ msgid "Action"
3490
+ #~ msgstr "Aktion"
3491
+
3492
+ #~ msgid "Delete this gallery ?"
3493
+ #~ msgstr "Diese Galerie löschen ?"
3494
+
3495
+ #~ msgid "General WordPress MU Settings"
3496
+ #~ msgstr "WordPress-MU-Einstellungen"
3497
+
3498
+ #~ msgid "No album"
3499
+ #~ msgstr "Kein Album"
3500
+
3501
  #~ msgid "for the Fugue Iconset"
3502
  #~ msgstr "für das Fugue-Iconset"
3503
 
3542
  #~ msgid "Setup"
3543
  #~ msgstr "Setup"
3544
 
 
 
 
3545
  #~ msgid "Full size"
3546
  #~ msgstr "Volle Größe"
3547
 
3728
  #~ msgid "Manage galleries and images"
3729
  #~ msgstr "Verwalte Galerien und Bilder"
3730
 
 
 
 
3731
  #~ msgid "URL"
3732
  #~ msgstr "URL"
3733
 
lang/nggallery.pot CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: NextGEN Gallery\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2010-09-18 13:20+0100\n"
6
- "PO-Revision-Date: 2010-09-18 13:20+0100\n"
7
  "Last-Translator: Alex Rabe\n"
8
  "Language-Team: Alex Rabe\n"
9
  "MIME-Version: 1.0\n"
@@ -17,86 +17,86 @@ msgstr ""
17
  "X-Poedit-SearchPath-0: .\n"
18
  "X-Poedit-SearchPath-1: ..\n"
19
 
20
- #: ../nggallery.php:95
21
  msgid "<strong>Translation by : </strong><a target=\"_blank\" href=\"http://alexrabe.de/wordpress-plugins/nextgen-gallery/languages/\">See here</a>"
22
  msgstr ""
23
 
24
- #: ../nggallery.php:96
25
- msgid "<strong>This translation is not yet updated for Version 1.6.0</strong>. If you would like to help with translation, download the current po from the plugin folder and read <a href=\"http://alexrabe.de/wordpress-plugins/wordtube/translation-of-plugins/\">here</a> how you can translate the plugin."
26
  msgstr ""
27
 
28
- #: ../nggallery.php:195
29
- msgid "Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB higher"
30
  msgstr ""
31
 
32
- #: ../nggallery.php:213
33
  msgid "Please update the database of NextGEN Gallery."
34
  msgstr ""
35
 
36
- #: ../nggallery.php:213
37
  msgid "Click here to proceed."
38
  msgstr ""
39
 
40
- #: ../nggallery.php:236
41
  msgid "Picture tag"
42
  msgstr ""
43
 
44
- #: ../nggallery.php:237
45
  msgid "Picture tag: %2$l."
46
  msgstr ""
47
 
48
- #: ../nggallery.php:238
49
  msgid "Separate picture tags with commas."
50
  msgstr ""
51
 
52
- #: ../nggallery.php:338
53
  msgid "L O A D I N G"
54
  msgstr ""
55
 
56
- #: ../nggallery.php:339
57
  msgid "Click to Close"
58
  msgstr ""
59
 
60
- #: ../nggallery.php:360
61
  msgid "loading"
62
  msgstr ""
63
 
64
- #: ../nggallery.php:500
65
- #: ../nggfunctions.php:916
66
- #: ../admin/admin.php:31
67
  msgid "Overview"
68
  msgstr ""
69
 
70
- #: ../nggallery.php:501
71
  msgid "Get help"
72
  msgstr ""
73
 
74
- #: ../nggallery.php:502
75
  msgid "Contribute"
76
  msgstr ""
77
 
78
- #: ../nggallery.php:503
79
  msgid "Donate"
80
  msgstr ""
81
 
82
  #: ../nggfunctions.php:42
83
- msgid "The <a href=\"http://www.macromedia.com/go/getflashplayer\">Flash Player</a> and <a href=\"http://www.mozilla.com/firefox/\">a browser with Javascript support</a> are needed.."
84
  msgstr ""
85
 
86
- #: ../nggfunctions.php:161
87
- #: ../nggfunctions.php:626
88
  msgid "[Gallery not found]"
89
  msgstr ""
90
 
91
- #: ../nggfunctions.php:433
92
  msgid "[Album not found]"
93
  msgstr ""
94
 
95
- #: ../nggfunctions.php:743
96
  msgid "[SinglePic not found]"
97
  msgstr ""
98
 
99
- #: ../nggfunctions.php:881
100
  msgid "Related images for"
101
  msgstr ""
102
 
@@ -221,11 +221,11 @@ msgstr ""
221
  #: ../admin/addgallery.php:69
222
  #: ../admin/addgallery.php:80
223
  #: ../admin/album.php:96
224
- #: ../admin/album.php:125
225
- #: ../admin/album.php:140
226
  #: ../admin/edit-thumbnail.php:19
227
  #: ../admin/edit-thumbnail.php:22
228
- #: ../admin/manage.php:178
229
  msgid "Cheatin&#8217; uh?"
230
  msgstr ""
231
 
@@ -238,479 +238,486 @@ msgid "Upload failed! "
238
  msgstr ""
239
 
240
  #: ../admin/addgallery.php:90
241
- #: ../admin/functions.php:928
242
- #: ../admin/functions.php:1028
243
  msgid "No gallery selected !"
244
  msgstr ""
245
 
246
- #: ../admin/addgallery.php:162
247
  msgid "Image Files"
248
  msgstr ""
249
 
250
- #: ../admin/addgallery.php:181
251
- #: ../admin/addgallery.php:212
252
  msgid "remove"
253
  msgstr ""
254
 
255
- #: ../admin/addgallery.php:182
256
- #: ../admin/addgallery.php:364
257
  msgid "Browse..."
258
  msgstr ""
259
 
260
- #: ../admin/addgallery.php:183
261
- #: ../admin/addgallery.php:414
 
262
  msgid "Upload images"
263
  msgstr ""
264
 
265
- #: ../admin/addgallery.php:274
266
- #: ../admin/addgallery.php:380
267
  msgid "Upload Images"
268
  msgstr ""
269
 
270
- #: ../admin/addgallery.php:277
271
- #: ../admin/addgallery.php:294
272
- #: ../admin/manage-galleries.php:136
 
273
  msgid "Add new gallery"
274
  msgstr ""
275
 
276
- #: ../admin/addgallery.php:280
277
- #: ../admin/addgallery.php:316
278
  msgid "Upload a Zip-File"
279
  msgstr ""
280
 
281
- #: ../admin/addgallery.php:283
282
- #: ../admin/addgallery.php:358
283
  msgid "Import image folder"
284
  msgstr ""
285
 
286
- #: ../admin/addgallery.php:299
287
- #: ../admin/manage-galleries.php:243
288
  msgid "New Gallery"
289
  msgstr ""
290
 
291
- #: ../admin/addgallery.php:302
292
- #: ../admin/manage-galleries.php:245
293
  msgid "Create a new , empty gallery below the folder"
294
  msgstr ""
295
 
296
- #: ../admin/addgallery.php:304
297
- #: ../admin/manage-galleries.php:247
298
  msgid "Allowed characters for file and folder names are"
299
  msgstr ""
300
 
301
- #: ../admin/addgallery.php:308
302
  msgid "Add gallery"
303
  msgstr ""
304
 
305
- #: ../admin/addgallery.php:321
306
  msgid "Select Zip-File"
307
  msgstr ""
308
 
309
- #: ../admin/addgallery.php:323
310
  msgid "Upload a zip file with images"
311
  msgstr ""
312
 
313
- #: ../admin/addgallery.php:327
314
  msgid "or enter a Zip-File URL"
315
  msgstr ""
316
 
317
- #: ../admin/addgallery.php:329
318
  msgid "Import a zip file with images from a url"
319
  msgstr ""
320
 
321
- #: ../admin/addgallery.php:333
322
- #: ../admin/addgallery.php:389
323
  msgid "in to"
324
  msgstr ""
325
 
326
- #: ../admin/addgallery.php:335
327
  msgid "a new gallery"
328
  msgstr ""
329
 
330
- #: ../admin/addgallery.php:346
331
  msgid "Note : The upload limit on your server is "
332
  msgstr ""
333
 
334
- #: ../admin/addgallery.php:350
335
  msgid "Start upload"
336
  msgstr ""
337
 
338
- #: ../admin/addgallery.php:363
339
  msgid "Import from Server path:"
340
  msgstr ""
341
 
342
- #: ../admin/addgallery.php:366
343
  msgid "Note : Change the default path in the gallery settings"
344
  msgstr ""
345
 
346
- #: ../admin/addgallery.php:368
347
  msgid " Please note : For safe-mode = ON you need to add the subfolder thumbs manually"
348
  msgstr ""
349
 
350
- #: ../admin/addgallery.php:371
351
  msgid "Import folder"
352
  msgstr ""
353
 
354
- #: ../admin/addgallery.php:385
355
  msgid "Upload image"
356
  msgstr ""
357
 
358
- #: ../admin/addgallery.php:391
359
  msgid "Choose gallery"
360
  msgstr ""
361
 
362
- #: ../admin/addgallery.php:410
363
  msgid "The batch upload requires Adobe Flash 10, disable it if you have problems"
364
  msgstr ""
365
 
366
- #: ../admin/addgallery.php:410
367
  msgid "Disable flash upload"
368
  msgstr ""
369
 
370
- #: ../admin/addgallery.php:412
371
  msgid "Upload multiple files at once by ctrl/shift-selecting in dialog"
372
  msgstr ""
373
 
374
- #: ../admin/addgallery.php:412
375
  msgid "Enable flash based upload"
376
  msgstr ""
377
 
378
- #: ../admin/admin.php:30
379
- #: ../admin/admin.php:271
380
- #: ../admin/admin.php:339
381
- #: ../admin/functions.php:99
382
- #: ../admin/functions.php:176
383
- #: ../admin/manage-images.php:201
384
- #: ../admin/manage.php:86
 
385
  msgid "Gallery"
386
  msgid_plural "Galleries"
387
  msgstr[0] ""
388
  msgstr[1] ""
389
 
390
- #: ../admin/admin.php:32
391
  msgid "Add Gallery / Images"
392
  msgstr ""
393
 
394
- #: ../admin/admin.php:33
395
  msgid "Manage Gallery"
396
  msgstr ""
397
 
398
- #: ../admin/admin.php:34
399
  msgid "Album"
400
  msgid_plural "Albums"
401
  msgstr[0] ""
402
  msgstr[1] ""
403
 
404
- #: ../admin/admin.php:35
405
  msgid "Tags"
406
  msgstr ""
407
 
408
- #: ../admin/admin.php:36
409
  msgid "Options"
410
  msgstr ""
411
 
412
- #: ../admin/admin.php:38
413
  msgid "Style"
414
  msgstr ""
415
 
416
- #: ../admin/admin.php:40
417
  msgid "Roles"
418
  msgstr ""
419
 
420
- #: ../admin/admin.php:41
421
  msgid "About this Gallery"
422
  msgstr ""
423
 
424
- #: ../admin/admin.php:41
425
  msgid "About"
426
  msgstr ""
427
 
428
- #: ../admin/admin.php:44
429
  msgid "NextGEN Gallery"
430
  msgstr ""
431
 
432
- #: ../admin/admin.php:46
 
433
  msgid "Reset / Uninstall"
434
  msgstr ""
435
 
436
- #: ../admin/admin.php:74
437
- msgid "A new version of NextGEN Gallery is available !"
438
- msgstr ""
439
-
440
- #: ../admin/admin.php:74
441
- msgid "Download here"
442
  msgstr ""
443
 
444
- #: ../admin/admin.php:93
445
  #, php-format
446
  msgid "Thanks for using this plugin, I hope you are satisfied ! If you would like to support the further development, please consider a <strong><a href=\"%s\">donation</a></strong>! If you still need some help, please post your questions <a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\">here</a> ."
447
  msgstr ""
448
 
449
- #: ../admin/admin.php:96
450
  msgid "OK, hide this message now !"
451
  msgstr ""
452
 
453
- #: ../admin/admin.php:180
454
  msgid "You do not have the correct permission"
455
  msgstr ""
456
 
457
- #: ../admin/admin.php:181
458
  msgid "Unexpected Error"
459
  msgstr ""
460
 
461
- #: ../admin/admin.php:182
462
  msgid "A failure occurred"
463
  msgstr ""
464
 
465
- #: ../admin/admin.php:275
466
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Introduction</a>"
467
  msgstr ""
468
 
469
- #: ../admin/admin.php:278
470
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Setup</a>"
471
  msgstr ""
472
 
473
- #: ../admin/admin.php:281
474
  msgid "<a href=\"http://alexrabe.de/wordpress-plugins/nextgen-gallery/languages/\" target=\"_blank\">Translation by alex rabe</a>"
475
  msgstr ""
476
 
477
- #: ../admin/admin.php:284
478
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Roles / Capabilities</a>"
479
  msgstr ""
480
 
481
- #: ../admin/admin.php:287
482
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Styles</a>"
483
  msgstr ""
484
 
485
- #: ../admin/admin.php:288
486
  msgid "Templates"
487
  msgstr ""
488
 
489
- #: ../admin/admin.php:291
490
- #: ../admin/admin.php:297
491
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Gallery management</a>"
492
  msgstr ""
493
 
494
- #: ../admin/admin.php:292
495
  msgid "Gallery example"
496
  msgstr ""
497
 
498
- #: ../admin/admin.php:298
499
- #: ../admin/admin.php:308
500
  msgid "Gallery tags"
501
  msgstr ""
502
 
503
- #: ../admin/admin.php:301
504
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Album management</a>"
505
  msgstr ""
506
 
507
- #: ../admin/admin.php:302
508
  msgid "Album example"
509
  msgstr ""
510
 
511
- #: ../admin/admin.php:303
512
- #: ../admin/admin.php:309
513
  msgid "Album tags"
514
  msgstr ""
515
 
516
- #: ../admin/admin.php:306
517
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Gallery tags</a>"
518
  msgstr ""
519
 
520
- #: ../admin/admin.php:307
521
  msgid "Related images"
522
  msgstr ""
523
 
524
- #: ../admin/admin.php:312
525
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-image-management/\" target=\"_blank\">Image management</a>"
526
  msgstr ""
527
 
528
- #: ../admin/admin.php:313
529
  msgid "Custom fields"
530
  msgstr ""
531
 
532
- #: ../admin/admin.php:318
533
  msgid "Get help with NextGEN Gallery"
534
  msgstr ""
535
 
536
- #: ../admin/admin.php:322
537
  msgid "More Help & Info"
538
  msgstr ""
539
 
540
- #: ../admin/admin.php:324
541
  msgid "<a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\" target=\"_blank\">Support Forums</a>"
542
  msgstr ""
543
 
544
- #: ../admin/admin.php:325
545
  msgid "FAQ"
546
  msgstr ""
547
 
548
- #: ../admin/admin.php:326
549
  msgid "Feature request"
550
  msgstr ""
551
 
552
- #: ../admin/admin.php:327
553
  msgid "Get your language pack"
554
  msgstr ""
555
 
556
- #: ../admin/admin.php:328
557
  msgid "Contribute development"
558
  msgstr ""
559
 
560
- #: ../admin/admin.php:329
561
  msgid "Download latest version"
562
  msgstr ""
563
 
564
- #: ../admin/album.php:103
565
- #: ../admin/album.php:118
566
- #: ../admin/album.php:153
 
 
 
 
567
  msgid "Update Successfully"
568
  msgstr ""
569
 
570
- #: ../admin/album.php:129
571
  msgid "Album deleted"
572
  msgstr ""
573
 
574
- #: ../admin/album.php:264
 
 
 
 
575
  msgid "Manage Albums"
576
  msgstr ""
577
 
578
- #: ../admin/album.php:270
579
- #: ../admin/album.php:319
580
  msgid "Select album"
581
  msgstr ""
582
 
583
- #: ../admin/album.php:272
584
  msgid "No album selected"
585
  msgstr ""
586
 
587
- #: ../admin/album.php:283
588
  #: ../admin/edit-thumbnail.php:157
589
  msgid "Update"
590
  msgstr ""
591
 
592
- #: ../admin/album.php:285
593
  msgid "Edit album"
594
  msgstr ""
595
 
596
- #: ../admin/album.php:288
597
- #: ../admin/manage-galleries.php:211
598
- #: ../admin/manage-images.php:406
599
  msgid "Delete"
600
  msgstr ""
601
 
602
- #: ../admin/album.php:288
603
  msgid "Delete album ?"
604
  msgstr ""
605
 
606
- #: ../admin/album.php:292
607
  msgid "Add new album"
608
  msgstr ""
609
 
610
- #: ../admin/album.php:294
611
  msgid "Add"
612
  msgstr ""
613
 
614
- #: ../admin/album.php:305
615
  msgid "Show / hide used galleries"
616
  msgstr ""
617
 
618
- #: ../admin/album.php:305
619
  msgid "[Show all]"
620
  msgstr ""
621
 
622
- #: ../admin/album.php:306
623
  msgid "Maximize the widget content"
624
  msgstr ""
625
 
626
- #: ../admin/album.php:306
627
  msgid "[Maximize]"
628
  msgstr ""
629
 
630
- #: ../admin/album.php:307
631
  msgid "Minimize the widget content"
632
  msgstr ""
633
 
634
- #: ../admin/album.php:307
635
  msgid "[Minimize]"
636
  msgstr ""
637
 
638
- #: ../admin/album.php:309
639
  msgid "After you create and select a album, you can drag and drop a gallery or another album into your new album below"
640
  msgstr ""
641
 
642
- #: ../admin/album.php:335
643
  msgid "Select gallery"
644
  msgstr ""
645
 
646
- #: ../admin/album.php:364
647
  msgid "Album ID"
648
  msgstr ""
649
 
650
- #: ../admin/album.php:377
651
  msgid "No album selected!"
652
  msgstr ""
653
 
654
- #: ../admin/album.php:397
655
  msgid "Album name:"
656
  msgstr ""
657
 
658
- #: ../admin/album.php:403
659
  msgid "Album description:"
660
  msgstr ""
661
 
662
- #: ../admin/album.php:409
663
  msgid "Select a preview image:"
664
  msgstr ""
665
 
666
- #: ../admin/album.php:411
 
667
  msgid "No picture"
668
  msgstr ""
669
 
670
- #: ../admin/album.php:425
671
- #: ../admin/manage-images.php:219
672
  msgid "Page Link to"
673
  msgstr ""
674
 
675
- #: ../admin/album.php:427
676
- #: ../admin/manage-images.php:222
677
  msgid "Not linked"
678
  msgstr ""
679
 
680
- #: ../admin/album.php:440
681
- #: ../admin/manage-galleries.php:252
682
- #: ../admin/manage-galleries.php:281
683
- #: ../admin/manage-galleries.php:311
684
- #: ../admin/manage-images.php:500
685
- #: ../admin/manage-images.php:536
686
- #: ../admin/manage-images.php:565
687
- #: ../admin/manage-images.php:595
688
  msgid "OK"
689
  msgstr ""
690
 
691
- #: ../admin/album.php:442
692
- #: ../admin/manage-galleries.php:254
693
- #: ../admin/manage-galleries.php:283
694
- #: ../admin/manage-galleries.php:313
695
- #: ../admin/manage-images.php:502
696
- #: ../admin/manage-images.php:538
697
- #: ../admin/manage-images.php:567
698
- #: ../admin/manage-images.php:597
699
  msgid "Cancel"
700
  msgstr ""
701
 
702
- #: ../admin/album.php:526
703
  msgid "Name"
704
  msgstr ""
705
 
706
- #: ../admin/album.php:527
707
- #: ../admin/manage-galleries.php:157
708
- #: ../admin/manage-galleries.php:171
709
- #: ../admin/manage-images.php:217
710
  msgid "Title"
711
  msgstr ""
712
 
713
- #: ../admin/album.php:528
714
  msgid "Page"
715
  msgstr ""
716
 
@@ -730,274 +737,272 @@ msgstr ""
730
  msgid "Select the area for the thumbnail from the picture on the left."
731
  msgstr ""
732
 
733
- #: ../admin/functions.php:40
734
  msgid "No valid gallery name!"
735
  msgstr ""
736
 
737
- #: ../admin/functions.php:47
738
- #: ../admin/functions.php:56
739
- #: ../admin/functions.php:70
740
- #: ../admin/functions.php:147
741
- #: ../admin/functions.php:155
742
  msgid "Directory"
743
  msgstr ""
744
 
745
- #: ../admin/functions.php:47
746
  msgid "didn't exist. Please create first the main gallery folder "
747
  msgstr ""
748
 
749
- #: ../admin/functions.php:48
750
- #: ../admin/functions.php:57
751
  msgid "Check this link, if you didn't know how to set the permission :"
752
  msgstr ""
753
 
754
- #: ../admin/functions.php:56
755
- #: ../admin/functions.php:70
756
  msgid "is not writeable !"
757
  msgstr ""
758
 
759
- #: ../admin/functions.php:65
760
- #: ../admin/functions.php:75
761
- #: ../admin/functions.php:887
762
  msgid "Unable to create directory "
763
  msgstr ""
764
 
765
- #: ../admin/functions.php:79
766
  msgid "The server setting Safe-Mode is on !"
767
  msgstr ""
768
 
769
- #: ../admin/functions.php:80
770
  msgid "If you have problems, please create directory"
771
  msgstr ""
772
 
773
- #: ../admin/functions.php:81
774
  msgid "and the thumbnails directory"
775
  msgstr ""
776
 
777
- #: ../admin/functions.php:81
778
  msgid "with permission 777 manually !"
779
  msgstr ""
780
 
781
- #: ../admin/functions.php:99
782
- msgid "already exists"
783
- msgstr ""
784
-
785
- #: ../admin/functions.php:113
786
  #, php-format
787
- msgid "Gallery %1$s successfully created.<br/>You can show this gallery with the tag %2$s.<br/>"
788
  msgstr ""
789
 
790
- #: ../admin/functions.php:116
791
  msgid "Edit gallery"
792
  msgstr ""
793
 
794
- #: ../admin/functions.php:147
795
  msgid "doesn&#96;t exist!"
796
  msgstr ""
797
 
798
- #: ../admin/functions.php:155
799
  msgid "contains no pictures"
800
  msgstr ""
801
 
802
- #: ../admin/functions.php:173
803
  msgid "Database error. Could not add gallery!"
804
  msgstr ""
805
 
806
- #: ../admin/functions.php:176
807
  msgid "successfully created!"
808
  msgstr ""
809
 
810
- #: ../admin/functions.php:205
811
- #: ../admin/functions.php:1004
812
- #: ../admin/manage-galleries.php:128
813
- #: ../admin/manage-images.php:302
814
- #: ../admin/manage.php:215
815
- #: ../admin/manage.php:291
 
 
816
  msgid "Create new thumbnails"
817
  msgstr ""
818
 
819
- #: ../admin/functions.php:208
820
  msgid " picture(s) successfully added"
821
  msgstr ""
822
 
823
- #: ../admin/functions.php:258
824
- #: ../admin/functions.php:338
825
- #: ../admin/functions.php:393
826
- #: ../admin/functions.php:490
827
- #: ../admin/functions.php:544
828
  msgid "Object didn't contain correct data"
829
  msgstr ""
830
 
831
- #: ../admin/functions.php:266
832
  msgid " is not writeable "
833
  msgstr ""
834
 
835
- #: ../admin/functions.php:348
836
- #: ../admin/functions.php:396
837
- #: ../admin/functions.php:496
838
- #: ../admin/functions.php:547
839
  msgid " is not writeable"
840
  msgstr ""
841
 
842
- #: ../admin/functions.php:550
843
  msgid "File do not exists"
844
  msgstr ""
845
 
846
- #: ../admin/functions.php:554
847
  msgid "Couldn't restore original image"
848
  msgstr ""
849
 
850
- #: ../admin/functions.php:669
851
  msgid "(Error : Couldn't not update data base)"
852
  msgstr ""
853
 
854
- #: ../admin/functions.php:676
855
  msgid "(Error : Couldn't not update meta data)"
856
  msgstr ""
857
 
858
- #: ../admin/functions.php:685
859
  msgid "(Error : Couldn't not find image)"
860
  msgstr ""
861
 
862
- #: ../admin/functions.php:821
863
  msgid "No valid URL path "
864
  msgstr ""
865
 
866
- #: ../admin/functions.php:837
867
  msgid "Import via cURL failed."
868
  msgstr ""
869
 
870
- #: ../admin/functions.php:854
871
- msgid "Uploaded file was no or a faulty zip file ! The server recognize : "
872
  msgstr ""
873
 
874
- #: ../admin/functions.php:871
875
  msgid "Could not get a valid foldername"
876
  msgstr ""
877
 
878
- #: ../admin/functions.php:882
879
  #, php-format
880
  msgid "Unable to create directory %s. Is its parent directory writable by the server?"
881
  msgstr ""
882
 
883
- #: ../admin/functions.php:897
884
  msgid "Zip-File successfully unpacked"
885
  msgstr ""
886
 
887
- #: ../admin/functions.php:936
888
- #: ../admin/functions.php:1053
889
  msgid "Failure in database, no gallery path set !"
890
  msgstr ""
891
 
892
- #: ../admin/functions.php:960
893
- #: ../admin/functions.php:1047
894
  msgid "is no valid image file!"
895
  msgstr ""
896
 
897
- #: ../admin/functions.php:974
898
- #: ../admin/functions.php:1173
899
- #: ../admin/functions.php:1248
900
  #, php-format
901
  msgid "Unable to write to directory %s. Is this directory writable by the server?"
902
  msgstr ""
903
 
904
- #: ../admin/functions.php:981
905
- #: ../admin/functions.php:1070
906
- msgid "Error, the file could not moved to : "
907
  msgstr ""
908
 
909
- #: ../admin/functions.php:986
910
- #: ../admin/functions.php:1074
911
- msgid "Error, the file permissions could not set"
912
  msgstr ""
913
 
914
- #: ../admin/functions.php:1009
915
  msgid " Image(s) successfully added"
916
  msgstr ""
917
 
918
- #: ../admin/functions.php:1036
919
  msgid "Invalid upload. Error Code : "
920
  msgstr ""
921
 
922
- #: ../admin/functions.php:1113
923
  #, php-format
924
  msgid "SAFE MODE Restriction in effect! You need to create the folder <strong>%s</strong> manually"
925
  msgstr ""
926
 
927
- #: ../admin/functions.php:1114
928
  #, php-format
929
  msgid "When safe_mode is on, PHP checks to see if the owner (%s) of the current script matches the owner (%s) of the file to be operated on by a file function or its directory"
930
  msgstr ""
931
 
932
- #: ../admin/functions.php:1167
933
- #: ../admin/functions.php:1242
934
  msgid "The destination gallery does not exist"
935
  msgstr ""
936
 
937
- #: ../admin/functions.php:1198
938
  #, php-format
939
  msgid "Failed to move image %1$s to %2$s"
940
  msgstr ""
941
 
942
- #: ../admin/functions.php:1218
943
  #, php-format
944
  msgid "Moved %1$s picture(s) to gallery : %2$s ."
945
  msgstr ""
946
 
947
- #: ../admin/functions.php:1275
948
  #, php-format
949
  msgid "Failed to copy image %1$s to %2$s"
950
  msgstr ""
951
 
952
- #: ../admin/functions.php:1289
953
  #, php-format
954
  msgid "Failed to copy database row for picture %s"
955
  msgstr ""
956
 
957
- #: ../admin/functions.php:1297
958
  #, php-format
959
  msgid "Image %1$s (%2$s) copied as image %3$s (%4$s) &raquo; The file already existed in the destination gallery."
960
  msgstr ""
961
 
962
- #: ../admin/functions.php:1300
963
  #, php-format
964
  msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)"
965
  msgstr ""
966
 
967
- #: ../admin/functions.php:1309
968
  #, php-format
969
  msgid "Copied %1$s picture(s) to gallery: %2$s ."
970
  msgstr ""
971
 
972
- #: ../admin/functions.php:1419
973
  msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini"
974
  msgstr ""
975
 
976
- #: ../admin/functions.php:1422
977
  msgid "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form"
978
  msgstr ""
979
 
980
- #: ../admin/functions.php:1425
981
  msgid "The uploaded file was only partially uploaded"
982
  msgstr ""
983
 
984
- #: ../admin/functions.php:1428
985
  msgid "No file was uploaded"
986
  msgstr ""
987
 
988
- #: ../admin/functions.php:1431
989
  msgid "Missing a temporary folder"
990
  msgstr ""
991
 
992
- #: ../admin/functions.php:1434
993
  msgid "Failed to write file to disk"
994
  msgstr ""
995
 
996
- #: ../admin/functions.php:1437
997
  msgid "File upload stopped by extension"
998
  msgstr ""
999
 
1000
- #: ../admin/functions.php:1440
1001
  msgid "Unknown upload error"
1002
  msgstr ""
1003
 
@@ -1005,15 +1010,15 @@ msgstr ""
1005
  msgid "Sorry, NextGEN Gallery works only with a role called administrator"
1006
  msgstr ""
1007
 
1008
- #: ../admin/install.php:108
1009
  msgid "NextGEN Gallery : Tables could not created, please check your database settings"
1010
  msgstr ""
1011
 
1012
- #: ../admin/install.php:166
1013
  msgid "[Show as slideshow]"
1014
  msgstr ""
1015
 
1016
- #: ../admin/install.php:167
1017
  msgid "[Show picture list]"
1018
  msgstr ""
1019
 
@@ -1028,10 +1033,19 @@ msgid "&raquo;"
1028
  msgstr ""
1029
 
1030
  #: ../admin/manage-galleries.php:62
1031
- #: ../admin/manage-images.php:140
1032
  msgid "No images selected"
1033
  msgstr ""
1034
 
 
 
 
 
 
 
 
 
 
1035
  #: ../admin/manage-galleries.php:79
1036
  #, php-format
1037
  msgid ""
@@ -1040,149 +1054,147 @@ msgid ""
1040
  " 'Cancel' to stop, 'OK' to proceed."
1041
  msgstr ""
1042
 
1043
- #: ../admin/manage-galleries.php:108
1044
- msgid "Gallery Overview"
1045
- msgstr ""
1046
-
1047
- #: ../admin/manage-galleries.php:111
1048
- #: ../admin/manage-galleries.php:114
1049
- #: ../admin/manage-images.php:187
1050
- #: ../admin/manage-images.php:190
1051
  msgid "Search Images"
1052
  msgstr ""
1053
 
1054
- #: ../admin/manage-galleries.php:126
1055
- #: ../admin/manage-images.php:300
1056
- msgid "No action"
1057
  msgstr ""
1058
 
1059
- #: ../admin/manage-galleries.php:127
1060
- #: ../admin/manage-images.php:301
1061
- #: ../admin/manage.php:163
1062
- #: ../admin/manage.php:241
1063
  msgid "Set watermark"
1064
  msgstr ""
1065
 
1066
- #: ../admin/manage-galleries.php:129
1067
- #: ../admin/manage-images.php:303
1068
- #: ../admin/manage.php:199
1069
- #: ../admin/manage.php:277
1070
- msgid "Resize images"
1071
- msgstr ""
1072
-
1073
- #: ../admin/manage-galleries.php:130
1074
- #: ../admin/manage-images.php:306
1075
- #: ../admin/manage.php:168
1076
- #: ../admin/manage.php:261
1077
  msgid "Import metadata"
1078
  msgstr ""
1079
 
1080
- #: ../admin/manage-galleries.php:131
1081
- #: ../admin/manage-images.php:304
1082
- #: ../admin/manage.php:158
1083
- #: ../admin/manage.php:238
1084
  msgid "Recover from backup"
1085
  msgstr ""
1086
 
1087
- #: ../admin/manage-galleries.php:133
1088
- #: ../admin/manage-images.php:315
1089
  msgid "Apply"
1090
  msgstr ""
1091
 
1092
- #: ../admin/manage-galleries.php:141
1093
- #: ../admin/manage-galleries.php:225
1094
- #: ../admin/manage-images.php:291
1095
- #: ../admin/manage-images.php:475
1096
  #, php-format
1097
  msgid "Displaying %s&#8211;%s of %s"
1098
  msgstr ""
1099
 
1100
- #: ../admin/manage-galleries.php:156
1101
- #: ../admin/manage-galleries.php:170
1102
- #: ../admin/manage-images.php:619
1103
- msgid "ID"
1104
  msgstr ""
1105
 
1106
- #: ../admin/manage-galleries.php:158
1107
- #: ../admin/manage-galleries.php:172
1108
- #: ../admin/manage-images.php:228
1109
- #: ../admin/manage-images.php:624
1110
- msgid "Description"
1111
  msgstr ""
1112
 
1113
- #: ../admin/manage-galleries.php:159
1114
- #: ../admin/manage-galleries.php:173
1115
- #: ../admin/manage-images.php:248
1116
- msgid "Author"
1117
  msgstr ""
1118
 
1119
- #: ../admin/manage-galleries.php:160
1120
- #: ../admin/manage-galleries.php:174
1121
- msgid "Page ID"
1122
  msgstr ""
1123
 
1124
- #: ../admin/manage-galleries.php:161
1125
- #: ../admin/manage-galleries.php:175
1126
- msgid "Quantity"
1127
  msgstr ""
1128
 
1129
- #: ../admin/manage-galleries.php:162
1130
- #: ../admin/manage-galleries.php:176
1131
- msgid "Action"
1132
  msgstr ""
1133
 
1134
- #: ../admin/manage-galleries.php:198
1135
- msgid "Edit"
 
1136
  msgstr ""
1137
 
1138
- #: ../admin/manage-galleries.php:211
1139
- msgid "Delete this gallery ?"
 
1140
  msgstr ""
1141
 
1142
- #: ../admin/manage-galleries.php:218
1143
- #: ../admin/manage-images.php:466
1144
- msgid "No entries found"
1145
  msgstr ""
1146
 
1147
- #: ../admin/manage-galleries.php:272
1148
- #: ../admin/manage-images.php:556
1149
- msgid "Resize Images to"
 
1150
  msgstr ""
1151
 
1152
- #: ../admin/manage-galleries.php:276
1153
- #: ../admin/manage-images.php:560
1154
- msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size"
1155
  msgstr ""
1156
 
1157
- #: ../admin/manage-galleries.php:300
1158
- #: ../admin/manage-images.php:584
1159
- msgid "Width x height (in pixel)"
1160
  msgstr ""
1161
 
1162
- #: ../admin/manage-galleries.php:302
1163
- #: ../admin/manage-images.php:586
1164
- msgid "These values are maximum values "
 
 
 
 
 
1165
  msgstr ""
1166
 
1167
- #: ../admin/manage-galleries.php:305
1168
- #: ../admin/manage-images.php:589
1169
- msgid "Set fix dimension"
1170
  msgstr ""
1171
 
1172
- #: ../admin/manage-galleries.php:307
1173
- #: ../admin/manage-images.php:591
1174
- msgid "Ignore the aspect ratio, no portrait thumbnails"
1175
  msgstr ""
1176
 
1177
- #: ../admin/manage-images.php:32
1178
- msgid "Gallery not found."
1179
  msgstr ""
1180
 
1181
- #: ../admin/manage-images.php:38
1182
- msgid "Sorry, you have no access here"
 
 
 
 
 
 
 
 
 
1183
  msgstr ""
1184
 
1185
- #: ../admin/manage-images.php:168
1186
  #, php-format
1187
  msgid ""
1188
  "You are about to start the bulk edit for %s images \n"
@@ -1190,270 +1202,280 @@ msgid ""
1190
  " 'Cancel' to stop, 'OK' to proceed."
1191
  msgstr ""
1192
 
1193
- #: ../admin/manage-images.php:184
1194
  #, php-format
1195
  msgid "Search results for &#8220;%s&#8221;"
1196
  msgstr ""
1197
 
1198
- #: ../admin/manage-images.php:213
1199
  msgid "Gallery settings"
1200
  msgstr ""
1201
 
1202
- #: ../admin/manage-images.php:213
1203
  msgid "Click here for more settings"
1204
  msgstr ""
1205
 
1206
- #: ../admin/manage-images.php:230
1207
  msgid "Preview image"
1208
  msgstr ""
1209
 
1210
- #: ../admin/manage-images.php:233
1211
  msgid "No Picture"
1212
  msgstr ""
1213
 
1214
- #: ../admin/manage-images.php:246
1215
  msgid "Path"
1216
  msgstr ""
1217
 
1218
- #: ../admin/manage-images.php:263
1219
  msgid "Create new page"
1220
  msgstr ""
1221
 
1222
- #: ../admin/manage-images.php:266
1223
  msgid "Main page (No parent)"
1224
  msgstr ""
1225
 
1226
- #: ../admin/manage-images.php:269
1227
  msgid "Add page"
1228
  msgstr ""
1229
 
1230
- #: ../admin/manage-images.php:278
1231
  msgid "Scan Folder for new images"
1232
  msgstr ""
1233
 
1234
- #: ../admin/manage-images.php:279
1235
- #: ../admin/manage-images.php:321
1236
- #: ../admin/manage-images.php:473
1237
  msgid "Save Changes"
1238
  msgstr ""
1239
 
1240
- #: ../admin/manage-images.php:305
1241
  msgid "Delete images"
1242
  msgstr ""
1243
 
1244
- #: ../admin/manage-images.php:307
1245
  msgid "Rotate images clockwise"
1246
  msgstr ""
1247
 
1248
- #: ../admin/manage-images.php:308
1249
  msgid "Rotate images counter-clockwise"
1250
  msgstr ""
1251
 
1252
- #: ../admin/manage-images.php:309
1253
  msgid "Copy to..."
1254
  msgstr ""
1255
 
1256
- #: ../admin/manage-images.php:310
1257
  msgid "Move to..."
1258
  msgstr ""
1259
 
1260
- #: ../admin/manage-images.php:311
1261
  msgid "Add tags"
1262
  msgstr ""
1263
 
1264
- #: ../admin/manage-images.php:312
1265
- msgid "Delete tags"
1266
- msgstr ""
1267
-
1268
- #: ../admin/manage-images.php:313
1269
  msgid "Overwrite tags"
1270
  msgstr ""
1271
 
1272
- #: ../admin/manage-images.php:318
1273
  msgid "Sort gallery"
1274
  msgstr ""
1275
 
1276
- #: ../admin/manage-images.php:392
1277
  msgid "pixel"
1278
  msgstr ""
1279
 
1280
- #: ../admin/manage-images.php:400
1281
  #, php-format
1282
  msgid "View \"%s\""
1283
  msgstr ""
1284
 
1285
- #: ../admin/manage-images.php:400
1286
  msgid "View"
1287
  msgstr ""
1288
 
1289
- #: ../admin/manage-images.php:401
1290
  msgid "Show Meta data"
1291
  msgstr ""
1292
 
1293
- #: ../admin/manage-images.php:401
1294
  msgid "Meta"
1295
  msgstr ""
1296
 
1297
- #: ../admin/manage-images.php:402
1298
  msgid "Customize thumbnail"
1299
  msgstr ""
1300
 
1301
- #: ../admin/manage-images.php:402
1302
  msgid "Edit thumb"
1303
  msgstr ""
1304
 
1305
- #: ../admin/manage-images.php:403
1306
  msgid "Rotate"
1307
  msgstr ""
1308
 
1309
- #: ../admin/manage-images.php:405
 
 
 
 
 
 
 
 
1310
  msgid "Recover"
1311
  msgstr ""
1312
 
1313
- #: ../admin/manage-images.php:405
1314
  #, php-format
1315
  msgid "Recover \"%s\" ?"
1316
  msgstr ""
1317
 
1318
- #: ../admin/manage-images.php:406
1319
  #, php-format
1320
  msgid "Delete \"%s\" ?"
1321
  msgstr ""
1322
 
1323
- #: ../admin/manage-images.php:496
1324
  msgid "Enter the tags"
1325
  msgstr ""
1326
 
1327
- #: ../admin/manage-images.php:520
1328
  msgid "Select the destination gallery:"
1329
  msgstr ""
1330
 
1331
- #: ../admin/manage-images.php:620
1332
  msgid "Thumbnail"
1333
  msgstr ""
1334
 
1335
- #: ../admin/manage-images.php:622
1336
- #: ../admin/manage-sort.php:74
1337
  msgid "Filename"
1338
  msgstr ""
1339
 
1340
- #: ../admin/manage-images.php:624
1341
  msgid "Alt &amp; Title Text"
1342
  msgstr ""
1343
 
1344
- #: ../admin/manage-images.php:625
1345
  msgid "Tags (comma separated list)"
1346
  msgstr ""
1347
 
1348
- #: ../admin/manage-images.php:627
1349
  msgid "exclude"
1350
  msgstr ""
1351
 
1352
- #: ../admin/manage-sort.php:30
1353
  msgid "Sort order changed"
1354
  msgstr ""
1355
 
1356
- #: ../admin/manage-sort.php:59
1357
  msgid "Sort Gallery"
1358
  msgstr ""
1359
 
1360
- #: ../admin/manage-sort.php:63
1361
  msgid "Update Sort Order"
1362
  msgstr ""
1363
 
1364
- #: ../admin/manage-sort.php:66
1365
  msgid "Back to gallery"
1366
  msgstr ""
1367
 
1368
- #: ../admin/manage-sort.php:71
1369
  msgid "Presort"
1370
  msgstr ""
1371
 
1372
- #: ../admin/manage-sort.php:72
1373
  msgid "Unsorted"
1374
  msgstr ""
1375
 
1376
- #: ../admin/manage-sort.php:73
1377
  msgid "Image ID"
1378
  msgstr ""
1379
 
1380
- #: ../admin/manage-sort.php:75
1381
  msgid "Alt/Title text"
1382
  msgstr ""
1383
 
1384
- #: ../admin/manage-sort.php:76
1385
  msgid "Date/Time"
1386
  msgstr ""
1387
 
1388
- #: ../admin/manage-sort.php:77
1389
  msgid "Ascending"
1390
  msgstr ""
1391
 
1392
- #: ../admin/manage-sort.php:78
1393
  msgid "Descending"
1394
  msgstr ""
1395
 
1396
- #: ../admin/manage.php:86
1397
- #: ../admin/manage.php:107
1398
- msgid "deleted successfully"
1399
  msgstr ""
1400
 
1401
- #: ../admin/manage.php:107
1402
- msgid "Picture"
1403
  msgstr ""
1404
 
1405
- #: ../admin/manage.php:122
1406
- #: ../admin/manage.php:131
1407
  msgid "Operation successful. Please clear your browser cache."
1408
  msgstr ""
1409
 
1410
- #: ../admin/manage.php:232
1411
- #: ../admin/manage.php:235
 
 
 
 
1412
  msgid "Rotate images"
1413
  msgstr ""
1414
 
1415
- #: ../admin/manage.php:257
1416
  msgid "Pictures deleted successfully "
1417
  msgstr ""
1418
 
1419
- #: ../admin/manage.php:353
1420
  msgid "Tags changed"
1421
  msgstr ""
1422
 
1423
- #: ../admin/manage.php:386
1424
  msgid "Update successful"
1425
  msgstr ""
1426
 
1427
- #: ../admin/manage.php:421
1428
  msgid "New gallery page ID"
1429
  msgstr ""
1430
 
1431
- #: ../admin/manage.php:421
1432
  msgid "created"
1433
  msgstr ""
1434
 
1435
- #: ../admin/media-upload.php:168
1436
- #: ../admin/tinymce/window.php:43
 
 
 
1437
  msgid "No gallery"
1438
  msgstr ""
1439
 
1440
- #: ../admin/media-upload.php:180
1441
  msgid "Select &#187;"
1442
  msgstr ""
1443
 
1444
- #: ../admin/media-upload.php:211
1445
  msgid "Show"
1446
  msgstr ""
1447
 
1448
- #: ../admin/media-upload.php:212
1449
  msgid "Hide"
1450
  msgstr ""
1451
 
1452
- #: ../admin/media-upload.php:217
1453
  msgid "Image ID:"
1454
  msgstr ""
1455
 
1456
- #: ../admin/media-upload.php:276
1457
  msgid "Save all changes"
1458
  msgstr ""
1459
 
@@ -1507,7 +1529,7 @@ msgid "Send a gift to show your appreciation."
1507
  msgstr ""
1508
 
1509
  #: ../admin/overview.php:121
1510
- msgid "Help to translating it."
1511
  msgstr ""
1512
 
1513
  #: ../admin/overview.php:140
@@ -1549,12 +1571,6 @@ msgstr ""
1549
  msgid "At a Glance"
1550
  msgstr ""
1551
 
1552
- #: ../admin/overview.php:284
1553
- msgid "Image"
1554
- msgid_plural "Images"
1555
- msgstr[0] ""
1556
- msgstr[1] ""
1557
-
1558
  #: ../admin/overview.php:305
1559
  msgid "Upload pictures"
1560
  msgstr ""
@@ -1718,6 +1734,46 @@ msgstr ""
1718
  msgid "Install"
1719
  msgstr ""
1720
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1721
  #: ../admin/roles.php:22
1722
  msgid "Updated capabilities"
1723
  msgstr ""
@@ -1727,7 +1783,7 @@ msgid "Roles / capabilities"
1727
  msgstr ""
1728
 
1729
  #: ../admin/roles.php:29
1730
- msgid "Select the lowest role which should be able to access the follow capabilities. NextGEN Gallery supports the standard roles from WordPress."
1731
  msgstr ""
1732
 
1733
  #: ../admin/roles.php:30
@@ -1758,10 +1814,6 @@ msgstr ""
1758
  msgid "Manage tags"
1759
  msgstr ""
1760
 
1761
- #: ../admin/roles.php:59
1762
- msgid "Edit Album"
1763
- msgstr ""
1764
-
1765
  #: ../admin/roles.php:63
1766
  msgid "Change style"
1767
  msgstr ""
@@ -1798,588 +1850,593 @@ msgstr ""
1798
  msgid "Flip horizontally"
1799
  msgstr ""
1800
 
1801
- #: ../admin/settings.php:91
1802
  msgid "Cache cleared"
1803
  msgstr ""
1804
 
1805
- #: ../admin/settings.php:201
1806
- #: ../admin/settings.php:220
1807
  msgid "General Options"
1808
  msgstr ""
1809
 
1810
- #: ../admin/settings.php:202
1811
- #: ../admin/settings.php:400
1812
  msgid "Thumbnails"
1813
  msgstr ""
1814
 
1815
- #: ../admin/settings.php:203
1816
  msgid "Images"
1817
  msgstr ""
1818
 
1819
- #: ../admin/settings.php:205
1820
- #: ../admin/settings.php:452
1821
  msgid "Effects"
1822
  msgstr ""
1823
 
1824
- #: ../admin/settings.php:206
1825
- #: ../admin/settings.php:494
1826
- #: ../admin/tinymce/window.php:119
1827
  msgid "Watermark"
1828
  msgstr ""
1829
 
1830
- #: ../admin/settings.php:207
1831
- #: ../admin/settings.php:401
1832
- #: ../admin/settings.php:601
1833
- #: ../admin/tinymce/window.php:58
1834
  msgid "Slideshow"
1835
  msgstr ""
1836
 
1837
- #: ../admin/settings.php:226
1838
- #: ../admin/wpmu.php:46
1839
  msgid "Gallery path"
1840
  msgstr ""
1841
 
1842
- #: ../admin/settings.php:228
1843
  msgid "This is the default path for all galleries"
1844
  msgstr ""
1845
 
1846
- #: ../admin/settings.php:231
1847
  msgid "Delete image files"
1848
  msgstr ""
1849
 
1850
- #: ../admin/settings.php:233
1851
  msgid "Delete files, when removing a gallery in the database"
1852
  msgstr ""
1853
 
1854
- #: ../admin/settings.php:236
1855
  msgid "Activate permalinks"
1856
  msgstr ""
1857
 
1858
- #: ../admin/settings.php:238
1859
  msgid "When you activate this option, you need to update your permalink structure one time."
1860
  msgstr ""
1861
 
1862
- #: ../admin/settings.php:241
 
 
 
 
 
 
 
 
 
 
 
 
 
1863
  msgid "Select graphic library"
1864
  msgstr ""
1865
 
1866
- #: ../admin/settings.php:242
1867
  msgid "GD Library"
1868
  msgstr ""
1869
 
1870
- #: ../admin/settings.php:243
1871
  msgid "ImageMagick (Experimental). Path to the library :"
1872
  msgstr ""
1873
 
1874
- #: ../admin/settings.php:248
1875
  msgid "Activate Media RSS feed"
1876
  msgstr ""
1877
 
1878
- #: ../admin/settings.php:250
1879
  msgid "A RSS feed will be added to you blog header. Useful for CoolIris/PicLens"
1880
  msgstr ""
1881
 
1882
- #: ../admin/settings.php:253
1883
  msgid "Activate PicLens/CoolIris support"
1884
  msgstr ""
1885
 
1886
- #: ../admin/settings.php:255
1887
  msgid "When you activate this option, some javascript is added to your site footer. Make sure that wp_footer is called in your theme."
1888
  msgstr ""
1889
 
1890
- #: ../admin/settings.php:258
1891
  msgid "Tags / Categories"
1892
  msgstr ""
1893
 
1894
- #: ../admin/settings.php:261
1895
  msgid "Activate related images"
1896
  msgstr ""
1897
 
1898
- #: ../admin/settings.php:263
1899
  msgid "This option will append related images to every post"
1900
  msgstr ""
1901
 
1902
- #: ../admin/settings.php:267
1903
  msgid "Match with"
1904
  msgstr ""
1905
 
1906
- #: ../admin/settings.php:268
1907
  msgid "Categories"
1908
  msgstr ""
1909
 
1910
- #: ../admin/settings.php:273
1911
  msgid "Max. number of images"
1912
  msgstr ""
1913
 
1914
- #: ../admin/settings.php:275
1915
  msgid "0 will show all images"
1916
  msgstr ""
1917
 
1918
- #: ../admin/settings.php:279
1919
- #: ../admin/settings.php:310
1920
- #: ../admin/settings.php:357
1921
- #: ../admin/settings.php:442
1922
- #: ../admin/settings.php:477
1923
- #: ../admin/settings.php:738
1924
  msgid "More settings"
1925
  msgstr ""
1926
 
1927
- #: ../admin/settings.php:289
1928
  msgid "Thumbnail settings"
1929
  msgstr ""
1930
 
1931
- #: ../admin/settings.php:293
1932
  msgid "Please note : If you change the settings, you need to recreate the thumbnails under -> Manage Gallery ."
1933
  msgstr ""
1934
 
1935
- #: ../admin/settings.php:306
1936
  msgid "Thumbnail quality"
1937
  msgstr ""
1938
 
1939
- #: ../admin/settings.php:320
1940
  msgid "Image settings"
1941
  msgstr ""
1942
 
1943
- #: ../admin/settings.php:326
1944
  msgid "Resize Images"
1945
  msgstr ""
1946
 
1947
- #: ../admin/settings.php:331
1948
  msgid "Image quality"
1949
  msgstr ""
1950
 
1951
- #: ../admin/settings.php:335
1952
  msgid "Backup original images"
1953
  msgstr ""
1954
 
1955
- #: ../admin/settings.php:337
1956
  msgid "Creates a backup for inserted images"
1957
  msgstr ""
1958
 
1959
- #: ../admin/settings.php:340
1960
  msgid "Automatically resize"
1961
  msgstr ""
1962
 
1963
- #: ../admin/settings.php:342
1964
  msgid "Automatically resize images on upload."
1965
  msgstr ""
1966
 
1967
- #: ../admin/settings.php:345
1968
  msgid "Single picture"
1969
  msgstr ""
1970
 
1971
- #: ../admin/settings.php:348
1972
  msgid "Cache single pictures"
1973
  msgstr ""
1974
 
1975
- #: ../admin/settings.php:350
1976
  msgid "Creates a file for each singlepic settings. Reduce the CPU load"
1977
  msgstr ""
1978
 
1979
- #: ../admin/settings.php:353
1980
  msgid "Clear cache folder"
1981
  msgstr ""
1982
 
1983
- #: ../admin/settings.php:354
1984
- msgid "Proceed now"
1985
- msgstr ""
1986
-
1987
- #: ../admin/settings.php:374
1988
  msgid "Deactivate gallery page link"
1989
  msgstr ""
1990
 
1991
- #: ../admin/settings.php:376
1992
  msgid "The album will not link to a gallery subpage. The gallery is shown on the same page."
1993
  msgstr ""
1994
 
1995
- #: ../admin/settings.php:380
1996
  msgid "Number of images per page"
1997
  msgstr ""
1998
 
1999
- #: ../admin/settings.php:382
2000
  msgid "0 will disable pagination, all images on one page"
2001
  msgstr ""
2002
 
2003
- #: ../admin/settings.php:386
2004
  msgid "Number of columns"
2005
  msgstr ""
2006
 
2007
- #: ../admin/settings.php:388
2008
  msgid "0 will display as much as possible based on the width of your theme. Setting normally only required for captions below the images"
2009
  msgstr ""
2010
 
2011
- #: ../admin/settings.php:392
2012
  msgid "Integrate slideshow"
2013
  msgstr ""
2014
 
2015
- #: ../admin/settings.php:399
2016
  msgid "Show first"
2017
  msgstr ""
2018
 
2019
- #: ../admin/settings.php:405
2020
  msgid "Show ImageBrowser"
2021
  msgstr ""
2022
 
2023
- #: ../admin/settings.php:407
2024
  msgid "The gallery will open the ImageBrowser instead the effect."
2025
  msgstr ""
2026
 
2027
- #: ../admin/settings.php:411
2028
  msgid "Add hidden images"
2029
  msgstr ""
2030
 
2031
- #: ../admin/settings.php:413
2032
- msgid "If pagination is used, this option will still show all images in the modal window (Thickbox, Lightbox etc.). Note : This increase the page load"
2033
  msgstr ""
2034
 
2035
- #: ../admin/settings.php:417
2036
  msgid "Enable AJAX pagination"
2037
  msgstr ""
2038
 
2039
- #: ../admin/settings.php:419
2040
- msgid "Browse images without reload the page. Note : Work only in combination with Shutter effect"
2041
  msgstr ""
2042
 
2043
- #: ../admin/settings.php:423
2044
  msgid "Sort options"
2045
  msgstr ""
2046
 
2047
- #: ../admin/settings.php:426
2048
  msgid "Sort thumbnails"
2049
  msgstr ""
2050
 
2051
- #: ../admin/settings.php:428
2052
  msgid "Custom order"
2053
  msgstr ""
2054
 
2055
- #: ../admin/settings.php:430
2056
  msgid "File name"
2057
  msgstr ""
2058
 
2059
- #: ../admin/settings.php:431
2060
  msgid "Alt / Title text"
2061
  msgstr ""
2062
 
2063
- #: ../admin/settings.php:432
2064
  msgid "Date / Time"
2065
  msgstr ""
2066
 
2067
- #: ../admin/settings.php:436
2068
  msgid "Sort direction"
2069
  msgstr ""
2070
 
2071
- #: ../admin/settings.php:456
2072
  msgid "Here you can select the thumbnail effect, NextGEN Gallery will integrate the required HTML code in the images. Please note that only the Shutter and Thickbox effect will automatic added to your theme."
2073
  msgstr ""
2074
 
2075
- #: ../admin/settings.php:457
2076
  msgid "With the placeholder"
2077
  msgstr ""
2078
 
2079
- #: ../admin/settings.php:457
2080
  msgid "you can activate a navigation through the images (depend on the effect). Change the code line only , when you use a different thumbnail effect or you know what you do."
2081
  msgstr ""
2082
 
2083
- #: ../admin/settings.php:460
2084
  msgid "JavaScript Thumbnail effect"
2085
  msgstr ""
2086
 
2087
- #: ../admin/settings.php:463
2088
- msgid "None"
2089
- msgstr ""
2090
-
2091
- #: ../admin/settings.php:464
2092
  msgid "Thickbox"
2093
  msgstr ""
2094
 
2095
- #: ../admin/settings.php:465
2096
  msgid "Lightbox"
2097
  msgstr ""
2098
 
2099
- #: ../admin/settings.php:466
2100
  msgid "Highslide"
2101
  msgstr ""
2102
 
2103
- #: ../admin/settings.php:467
2104
  msgid "Shutter"
2105
  msgstr ""
2106
 
2107
- #: ../admin/settings.php:468
2108
  msgid "Custom"
2109
  msgstr ""
2110
 
2111
- #: ../admin/settings.php:473
2112
  msgid "Link Code line"
2113
  msgstr ""
2114
 
2115
- #: ../admin/settings.php:495
2116
  msgid "Please note : You can only activate the watermark under -> Manage Gallery . This action cannot be undone."
2117
  msgstr ""
2118
 
2119
- #: ../admin/settings.php:500
2120
  msgid "Preview"
2121
  msgstr ""
2122
 
2123
- #: ../admin/settings.php:502
2124
- #: ../admin/settings.php:507
2125
  msgid "Position"
2126
  msgstr ""
2127
 
2128
- #: ../admin/settings.php:527
2129
  msgid "Offset"
2130
  msgstr ""
2131
 
2132
- #: ../admin/settings.php:543
2133
  msgid "Use image as watermark"
2134
  msgstr ""
2135
 
2136
- #: ../admin/settings.php:546
2137
  msgid "URL to file"
2138
  msgstr ""
2139
 
2140
- #: ../admin/settings.php:548
2141
  msgid "The accessing of URL files is disabled at your server (allow_url_fopen)"
2142
  msgstr ""
2143
 
2144
- #: ../admin/settings.php:551
2145
  msgid "Use text as watermark"
2146
  msgstr ""
2147
 
2148
- #: ../admin/settings.php:554
2149
  msgid "Font"
2150
  msgstr ""
2151
 
2152
- #: ../admin/settings.php:563
2153
  msgid "This function will not work, cause you need the FreeType library"
2154
  msgstr ""
2155
 
2156
- #: ../admin/settings.php:565
2157
  msgid "You can upload more fonts in the folder <strong>nggallery/fonts</strong>"
2158
  msgstr ""
2159
 
2160
- #: ../admin/settings.php:570
2161
  msgid "Size"
2162
  msgstr ""
2163
 
2164
- #: ../admin/settings.php:574
2165
  msgid "Color"
2166
  msgstr ""
2167
 
2168
- #: ../admin/settings.php:576
2169
  msgid "(hex w/o #)"
2170
  msgstr ""
2171
 
2172
- #: ../admin/settings.php:579
2173
  msgid "Text"
2174
  msgstr ""
2175
 
2176
- #: ../admin/settings.php:583
2177
  msgid "Opaque"
2178
  msgstr ""
2179
 
2180
- #: ../admin/settings.php:604
2181
  msgid "Default size (W x H)"
2182
  msgstr ""
2183
 
2184
- #: ../admin/settings.php:609
2185
  msgid "Duration time"
2186
  msgstr ""
2187
 
2188
- #: ../admin/settings.php:610
2189
  msgid "sec."
2190
  msgstr ""
2191
 
2192
- #: ../admin/settings.php:613
2193
- #: ../admin/settings.php:688
2194
  msgid "Transition / Fade effect"
2195
  msgstr ""
2196
 
2197
- #: ../admin/settings.php:616
2198
- #: ../admin/settings.php:691
2199
  msgid "fade"
2200
  msgstr ""
2201
 
2202
- #: ../admin/settings.php:617
2203
  msgid "blindX"
2204
  msgstr ""
2205
 
2206
- #: ../admin/settings.php:618
2207
  msgid "cover"
2208
  msgstr ""
2209
 
2210
- #: ../admin/settings.php:619
2211
  msgid "scrollUp"
2212
  msgstr ""
2213
 
2214
- #: ../admin/settings.php:620
2215
  msgid "scrollDown"
2216
  msgstr ""
2217
 
2218
- #: ../admin/settings.php:621
2219
  msgid "shuffle"
2220
  msgstr ""
2221
 
2222
- #: ../admin/settings.php:622
2223
  msgid "toss"
2224
  msgstr ""
2225
 
2226
- #: ../admin/settings.php:623
2227
  msgid "wipe"
2228
  msgstr ""
2229
 
2230
- #: ../admin/settings.php:625
2231
  msgid "See here for more information about the effects :"
2232
  msgstr ""
2233
 
2234
- #: ../admin/settings.php:629
2235
  msgid "Settings for the JW Image Rotator"
2236
  msgstr ""
2237
 
2238
- #: ../admin/settings.php:630
2239
  msgid "The settings are only used in the JW Image Rotator Version"
2240
  msgstr ""
2241
 
2242
- #: ../admin/settings.php:631
2243
  msgid "See more information for the Flash Player on the web page"
2244
  msgstr ""
2245
 
2246
- #: ../admin/settings.php:636
2247
  msgid "The path to imagerotator.swf is not defined, the slideshow will not work."
2248
  msgstr ""
2249
 
2250
- #: ../admin/settings.php:637
2251
  msgid "If you would like to use the JW Image Rotatator, please download the player <a href=\"http://www.longtailvideo.com/players/jw-image-rotator/\" target=\"_blank\" >here</a> and upload it to your Upload folder (Default is wp-content/uploads)."
2252
  msgstr ""
2253
 
2254
- #: ../admin/settings.php:643
2255
  msgid "Enable flash slideshow"
2256
  msgstr ""
2257
 
2258
- #: ../admin/settings.php:645
2259
- msgid "Integrate the flash based sildeshow for all flash supported devices"
2260
  msgstr ""
2261
 
2262
- #: ../admin/settings.php:648
2263
  msgid "Path to the Imagerotator (URL)"
2264
  msgstr ""
2265
 
2266
- #: ../admin/settings.php:651
2267
  msgid "Search now"
2268
  msgstr ""
2269
 
2270
- #: ../admin/settings.php:652
2271
- msgid "Press the button to search automatic for the imagerotator, if you uploaded it to wp-content/uploads or a subfolder"
2272
  msgstr ""
2273
 
2274
- #: ../admin/settings.php:656
2275
  msgid "Shuffle mode"
2276
  msgstr ""
2277
 
2278
- #: ../admin/settings.php:660
2279
  msgid "Show next image on click"
2280
  msgstr ""
2281
 
2282
- #: ../admin/settings.php:664
2283
  msgid "Show navigation bar"
2284
  msgstr ""
2285
 
2286
- #: ../admin/settings.php:668
2287
  msgid "Show loading icon"
2288
  msgstr ""
2289
 
2290
- #: ../admin/settings.php:672
2291
  msgid "Use watermark logo"
2292
  msgstr ""
2293
 
2294
- #: ../admin/settings.php:674
2295
  msgid "You can change the logo at the watermark settings"
2296
  msgstr ""
2297
 
2298
- #: ../admin/settings.php:677
2299
  msgid "Stretch image"
2300
  msgstr ""
2301
 
2302
- #: ../admin/settings.php:680
2303
  msgid "true"
2304
  msgstr ""
2305
 
2306
- #: ../admin/settings.php:681
2307
  msgid "false"
2308
  msgstr ""
2309
 
2310
- #: ../admin/settings.php:682
2311
  msgid "fit"
2312
  msgstr ""
2313
 
2314
- #: ../admin/settings.php:683
2315
  msgid "none"
2316
  msgstr ""
2317
 
2318
- #: ../admin/settings.php:692
2319
  msgid "bgfade"
2320
  msgstr ""
2321
 
2322
- #: ../admin/settings.php:693
2323
  msgid "slowfade"
2324
  msgstr ""
2325
 
2326
- #: ../admin/settings.php:694
2327
  msgid "circles"
2328
  msgstr ""
2329
 
2330
- #: ../admin/settings.php:695
2331
  msgid "bubbles"
2332
  msgstr ""
2333
 
2334
- #: ../admin/settings.php:696
2335
  msgid "blocks"
2336
  msgstr ""
2337
 
2338
- #: ../admin/settings.php:697
2339
  msgid "fluids"
2340
  msgstr ""
2341
 
2342
- #: ../admin/settings.php:698
2343
  msgid "flash"
2344
  msgstr ""
2345
 
2346
- #: ../admin/settings.php:699
2347
  msgid "lines"
2348
  msgstr ""
2349
 
2350
- #: ../admin/settings.php:700
2351
  msgid "random"
2352
  msgstr ""
2353
 
2354
- #: ../admin/settings.php:705
2355
  msgid "Use slow zooming effect"
2356
  msgstr ""
2357
 
2358
- #: ../admin/settings.php:709
2359
  msgid "Background Color"
2360
  msgstr ""
2361
 
2362
- #: ../admin/settings.php:714
2363
  msgid "Texts / Buttons Color"
2364
  msgstr ""
2365
 
2366
- #: ../admin/settings.php:719
2367
  msgid "Rollover / Active Color"
2368
  msgstr ""
2369
 
2370
- #: ../admin/settings.php:724
2371
  msgid "Screen Color"
2372
  msgstr ""
2373
 
2374
- #: ../admin/settings.php:729
2375
  msgid "Background music (URL)"
2376
  msgstr ""
2377
 
2378
- #: ../admin/settings.php:733
2379
  msgid "Try XHTML validation (with CDATA)"
2380
  msgstr ""
2381
 
2382
- #: ../admin/settings.php:735
2383
  msgid "Important : Could causes problem at some browser. Please recheck your page."
2384
  msgstr ""
2385
 
@@ -2645,209 +2702,250 @@ msgstr ""
2645
  msgid "Slug(s) to set:"
2646
  msgstr ""
2647
 
2648
- #: ../admin/upgrade.php:23
2649
  msgid "Upgrade database structure..."
2650
  msgstr ""
2651
 
2652
- #: ../admin/upgrade.php:101
2653
- #: ../admin/upgrade.php:115
2654
  #: ../admin/upgrade.php:122
2655
- #: ../admin/upgrade.php:133
2656
- #: ../admin/upgrade.php:147
 
2657
  msgid "finished"
2658
  msgstr ""
2659
 
2660
- #: ../admin/upgrade.php:113
2661
  msgid "Update file structure..."
2662
  msgstr ""
2663
 
2664
- #: ../admin/upgrade.php:120
2665
  msgid "Import date and time information..."
2666
  msgstr ""
2667
 
2668
- #: ../admin/upgrade.php:128
2669
  msgid "Move imagerotator to new location..."
2670
  msgstr ""
2671
 
2672
- #: ../admin/upgrade.php:139
2673
  msgid "Update settings..."
2674
  msgstr ""
2675
 
2676
- #: ../admin/upgrade.php:153
2677
  msgid "Updated widget structure. If you used NextGEN Widgets, you need to setup them again..."
2678
  msgstr ""
2679
 
2680
- #: ../admin/upgrade.php:161
2681
  msgid "Updated options."
2682
  msgstr ""
2683
 
2684
- #: ../admin/upgrade.php:167
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2685
  msgid "Could not find NextGEN Gallery database tables, upgrade failed !"
2686
  msgstr ""
2687
 
2688
- #: ../admin/upgrade.php:230
2689
  msgid "Some folders/files could not renamed, please recheck the permission and rescan the folder in the manage gallery section."
2690
  msgstr ""
2691
 
2692
- #: ../admin/upgrade.php:232
2693
  msgid "Rename failed"
2694
  msgstr ""
2695
 
2696
- #: ../admin/upgrade.php:328
2697
- #: ../admin/upgrade.php:347
2698
  msgid "Upgrade NextGEN Gallery"
2699
  msgstr ""
2700
 
2701
- #: ../admin/upgrade.php:329
2702
  msgid "The script detect that you upgrade from a older version."
2703
  msgstr ""
2704
 
2705
- #: ../admin/upgrade.php:330
2706
  msgid "Your database tables for NextGEN Gallery is out-of-date, and must be upgraded before you can continue."
2707
  msgstr ""
2708
 
2709
- #: ../admin/upgrade.php:331
2710
  msgid "If you would like to downgrade later, please make first a complete backup of your database and the images."
2711
  msgstr ""
2712
 
2713
- #: ../admin/upgrade.php:332
2714
  msgid "The upgrade process may take a while, so please be patient."
2715
  msgstr ""
2716
 
2717
- #: ../admin/upgrade.php:333
2718
  msgid "Start upgrade now"
2719
  msgstr ""
2720
 
2721
- #: ../admin/upgrade.php:349
2722
  msgid "Upgrade finished..."
2723
  msgstr ""
2724
 
2725
- #: ../admin/upgrade.php:350
2726
  msgid "Continue"
2727
  msgstr ""
2728
 
2729
- #: ../admin/wpmu.php:31
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2730
  msgid "Update successfully"
2731
  msgstr ""
2732
 
2733
- #: ../admin/wpmu.php:40
2734
- msgid "General WordPress MU Settings"
 
 
 
 
 
2735
  msgstr ""
2736
 
2737
- #: ../admin/wpmu.php:48
2738
- msgid "This is the default path for all blogs. With the placeholder %BLOG_ID% you can organize the folder structure better. The path must end with a /."
 
 
 
 
 
2739
  msgstr ""
2740
 
2741
- #: ../admin/wpmu.php:51
2742
  msgid "Enable upload quota check"
2743
  msgstr ""
2744
 
2745
- #: ../admin/wpmu.php:53
2746
  msgid "Should work if the gallery is bellow the blog.dir"
2747
  msgstr ""
2748
 
2749
- #: ../admin/wpmu.php:57
2750
  msgid "Enable zip upload option"
2751
  msgstr ""
2752
 
2753
- #: ../admin/wpmu.php:59
2754
  msgid "Allow users to upload zip folders."
2755
  msgstr ""
2756
 
2757
- #: ../admin/wpmu.php:63
 
 
 
 
 
 
 
 
2758
  msgid "Enable style selection"
2759
  msgstr ""
2760
 
2761
- #: ../admin/wpmu.php:65
2762
  msgid "Allow users to choose a style for the gallery."
2763
  msgstr ""
2764
 
2765
- #: ../admin/wpmu.php:69
2766
  msgid "Enable roles/capabilities"
2767
  msgstr ""
2768
 
2769
- #: ../admin/wpmu.php:71
2770
  msgid "Allow users to change the roles for other blog authors."
2771
  msgstr ""
2772
 
2773
- #: ../admin/wpmu.php:75
2774
  msgid "Default style"
2775
  msgstr ""
2776
 
2777
- #: ../admin/wpmu.php:92
2778
  msgid "Choose the default style for the galleries."
2779
  msgstr ""
2780
 
2781
- #: ../admin/tinymce/window.php:8
2782
- msgid "You are not allowed to be here"
2783
  msgstr ""
2784
 
2785
- #: ../admin/tinymce/window.php:56
2786
- #: ../admin/tinymce/window.php:84
2787
  msgid "Show as"
2788
  msgstr ""
2789
 
2790
- #: ../admin/tinymce/window.php:57
2791
  msgid "Image list"
2792
  msgstr ""
2793
 
2794
- #: ../admin/tinymce/window.php:59
2795
  msgid "Imagebrowser"
2796
  msgstr ""
2797
 
2798
- #: ../admin/tinymce/window.php:72
2799
- msgid "No album"
2800
  msgstr ""
2801
 
2802
- #: ../admin/tinymce/window.php:85
2803
  msgid "Extended version"
2804
  msgstr ""
2805
 
2806
- #: ../admin/tinymce/window.php:86
2807
  msgid "Compact version"
2808
  msgstr ""
2809
 
2810
  #: ../admin/tinymce/window.php:97
2811
- msgid "Select picture"
2812
  msgstr ""
2813
 
2814
- #: ../admin/tinymce/window.php:111
2815
  msgid "Width x Height"
2816
  msgstr ""
2817
 
2818
- #: ../admin/tinymce/window.php:115
2819
  msgid "Effect"
2820
  msgstr ""
2821
 
2822
- #: ../admin/tinymce/window.php:118
2823
  msgid "No effect"
2824
  msgstr ""
2825
 
2826
- #: ../admin/tinymce/window.php:120
2827
  msgid "Web 2.0"
2828
  msgstr ""
2829
 
2830
- #: ../admin/tinymce/window.php:125
2831
  msgid "Float"
2832
  msgstr ""
2833
 
2834
- #: ../admin/tinymce/window.php:128
2835
  msgid "No float"
2836
  msgstr ""
2837
 
2838
- #: ../admin/tinymce/window.php:129
2839
- msgid "Left"
2840
- msgstr ""
2841
-
2842
- #: ../admin/tinymce/window.php:130
2843
- msgid "Center"
2844
- msgstr ""
2845
-
2846
- #: ../admin/tinymce/window.php:131
2847
- msgid "Right"
2848
- msgstr ""
2849
-
2850
- #: ../admin/tinymce/window.php:147
2851
  msgid "Insert"
2852
  msgstr ""
2853
 
@@ -2881,128 +2979,128 @@ msgstr ""
2881
  msgid "Not fired"
2882
  msgstr ""
2883
 
2884
- #: ../lib/meta.php:423
2885
  msgid "Aperture"
2886
  msgstr ""
2887
 
2888
- #: ../lib/meta.php:424
2889
- #: ../lib/meta.php:449
2890
  msgid "Credit"
2891
  msgstr ""
2892
 
2893
- #: ../lib/meta.php:425
2894
  msgid "Camera"
2895
  msgstr ""
2896
 
2897
- #: ../lib/meta.php:426
2898
  msgid "Caption"
2899
  msgstr ""
2900
 
2901
- #: ../lib/meta.php:428
2902
  msgid "Copyright"
2903
  msgstr ""
2904
 
2905
- #: ../lib/meta.php:429
2906
  msgid "Focal length"
2907
  msgstr ""
2908
 
2909
- #: ../lib/meta.php:430
2910
  msgid "ISO"
2911
  msgstr ""
2912
 
2913
- #: ../lib/meta.php:431
2914
  msgid "Shutter speed"
2915
  msgstr ""
2916
 
2917
- #: ../lib/meta.php:435
2918
  msgid "Subject"
2919
  msgstr ""
2920
 
2921
- #: ../lib/meta.php:436
2922
  msgid "Make"
2923
  msgstr ""
2924
 
2925
- #: ../lib/meta.php:437
2926
  msgid "Edit Status"
2927
  msgstr ""
2928
 
2929
- #: ../lib/meta.php:438
2930
  msgid "Category"
2931
  msgstr ""
2932
 
2933
- #: ../lib/meta.php:439
2934
  msgid "Keywords"
2935
  msgstr ""
2936
 
2937
- #: ../lib/meta.php:440
2938
  msgid "Date Created"
2939
  msgstr ""
2940
 
2941
- #: ../lib/meta.php:441
2942
  msgid "Time Created"
2943
  msgstr ""
2944
 
2945
- #: ../lib/meta.php:442
2946
  msgid "Author Position"
2947
  msgstr ""
2948
 
2949
- #: ../lib/meta.php:443
2950
  msgid "City"
2951
  msgstr ""
2952
 
2953
- #: ../lib/meta.php:444
2954
  msgid "Location"
2955
  msgstr ""
2956
 
2957
- #: ../lib/meta.php:445
2958
  msgid "Province/State"
2959
  msgstr ""
2960
 
2961
- #: ../lib/meta.php:446
2962
  msgid "Country code"
2963
  msgstr ""
2964
 
2965
- #: ../lib/meta.php:447
2966
  msgid "Country"
2967
  msgstr ""
2968
 
2969
- #: ../lib/meta.php:448
2970
  msgid "Headline"
2971
  msgstr ""
2972
 
2973
- #: ../lib/meta.php:450
2974
  msgid "Source"
2975
  msgstr ""
2976
 
2977
- #: ../lib/meta.php:451
2978
  msgid "Copyright Notice"
2979
  msgstr ""
2980
 
2981
- #: ../lib/meta.php:452
2982
  msgid "Contact"
2983
  msgstr ""
2984
 
2985
- #: ../lib/meta.php:453
2986
  msgid "Last modified"
2987
  msgstr ""
2988
 
2989
- #: ../lib/meta.php:454
2990
  msgid "Program tool"
2991
  msgstr ""
2992
 
2993
- #: ../lib/meta.php:455
2994
  msgid "Format"
2995
  msgstr ""
2996
 
2997
- #: ../lib/meta.php:456
2998
  msgid "Image Width"
2999
  msgstr ""
3000
 
3001
- #: ../lib/meta.php:457
3002
  msgid "Image Height"
3003
  msgstr ""
3004
 
3005
- #: ../lib/meta.php:458
3006
  msgid "Flash"
3007
  msgstr ""
3008
 
@@ -3010,8 +3108,8 @@ msgstr ""
3010
  msgid "Sorry, you have used your space allocation. Please delete some files to upload more files."
3011
  msgstr ""
3012
 
3013
- #: ../lib/ngg-db.php:321
3014
- #: ../lib/ngg-db.php:322
3015
  msgid "Album overview"
3016
  msgstr ""
3017
 
@@ -3087,56 +3185,90 @@ msgstr ""
3087
  msgid "%s slug(s) edited."
3088
  msgstr ""
3089
 
3090
- #: ../lib/xmlrpc.php:55
3091
  #, php-format
3092
  msgid "XML-RPC services are disabled on this blog. An admin user can enable them at %s"
3093
  msgstr ""
3094
 
3095
- #: ../lib/xmlrpc.php:62
3096
  msgid "Bad login/pass combination."
3097
  msgstr ""
3098
 
3099
- #: ../lib/xmlrpc.php:118
3100
  msgid "You are not allowed to upload files to this site."
3101
  msgstr ""
3102
 
3103
- #: ../lib/xmlrpc.php:124
3104
- #: ../lib/xmlrpc.php:309
3105
  msgid "Could not find gallery "
3106
  msgstr ""
3107
 
3108
- #: ../lib/xmlrpc.php:129
3109
- #: ../lib/xmlrpc.php:314
3110
  msgid "You are not allowed to upload files to this gallery."
3111
  msgstr ""
3112
 
3113
- #: ../lib/xmlrpc.php:141
3114
  msgid "This is no valid image file."
3115
  msgstr ""
3116
 
3117
- #: ../lib/xmlrpc.php:153
3118
  msgid "Could not find image id "
3119
  msgstr ""
3120
 
3121
- #: ../lib/xmlrpc.php:160
3122
  #, php-format
3123
  msgid "Failed to delete image %1$s "
3124
  msgstr ""
3125
 
3126
- #: ../lib/xmlrpc.php:169
3127
  #, php-format
3128
  msgid "Could not write file %1$s (%2$s)"
3129
  msgstr ""
3130
 
3131
- #: ../lib/xmlrpc.php:236
3132
- #: ../lib/xmlrpc.php:272
3133
- msgid "Sorry, you must be able to manage galleries to view the list of galleries"
 
3134
  msgstr ""
3135
 
3136
- #: ../lib/xmlrpc.php:242
3137
  msgid "Sorry, could not create the gallery"
3138
  msgstr ""
3139
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3140
  #: ../view/album-compact.php:32
3141
  #: ../view/album-extend.php:30
3142
  msgid "Photos"
2
  msgstr ""
3
  "Project-Id-Version: NextGEN Gallery\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2010-12-05 20:30+0100\n"
6
+ "PO-Revision-Date: 2010-12-05 20:30+0100\n"
7
  "Last-Translator: Alex Rabe\n"
8
  "Language-Team: Alex Rabe\n"
9
  "MIME-Version: 1.0\n"
17
  "X-Poedit-SearchPath-0: .\n"
18
  "X-Poedit-SearchPath-1: ..\n"
19
 
20
+ #: ../nggallery.php:94
21
  msgid "<strong>Translation by : </strong><a target=\"_blank\" href=\"http://alexrabe.de/wordpress-plugins/nextgen-gallery/languages/\">See here</a>"
22
  msgstr ""
23
 
24
+ #: ../nggallery.php:95
25
+ msgid "<strong>This translation is not yet updated for Version 1.7.0</strong>. If you would like to help with translation, download the current po from the plugin folder and read <a href=\"http://alexrabe.de/wordpress-plugins/wordtube/translation-of-plugins/\">here</a> how you can translate the plugin."
26
  msgstr ""
27
 
28
+ #: ../nggallery.php:194
29
+ msgid "Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher"
30
  msgstr ""
31
 
32
+ #: ../nggallery.php:212
33
  msgid "Please update the database of NextGEN Gallery."
34
  msgstr ""
35
 
36
+ #: ../nggallery.php:212
37
  msgid "Click here to proceed."
38
  msgstr ""
39
 
40
+ #: ../nggallery.php:235
41
  msgid "Picture tag"
42
  msgstr ""
43
 
44
+ #: ../nggallery.php:236
45
  msgid "Picture tag: %2$l."
46
  msgstr ""
47
 
48
+ #: ../nggallery.php:237
49
  msgid "Separate picture tags with commas."
50
  msgstr ""
51
 
52
+ #: ../nggallery.php:336
53
  msgid "L O A D I N G"
54
  msgstr ""
55
 
56
+ #: ../nggallery.php:337
57
  msgid "Click to Close"
58
  msgstr ""
59
 
60
+ #: ../nggallery.php:358
61
  msgid "loading"
62
  msgstr ""
63
 
64
+ #: ../nggallery.php:498
65
+ #: ../nggfunctions.php:919
66
+ #: ../admin/admin.php:32
67
  msgid "Overview"
68
  msgstr ""
69
 
70
+ #: ../nggallery.php:499
71
  msgid "Get help"
72
  msgstr ""
73
 
74
+ #: ../nggallery.php:500
75
  msgid "Contribute"
76
  msgstr ""
77
 
78
+ #: ../nggallery.php:501
79
  msgid "Donate"
80
  msgstr ""
81
 
82
  #: ../nggfunctions.php:42
83
+ msgid "The <a href=\"http://www.macromedia.com/go/getflashplayer\">Flash Player</a> and <a href=\"http://www.mozilla.com/firefox/\">a browser with Javascript support</a> are needed."
84
  msgstr ""
85
 
86
+ #: ../nggfunctions.php:164
87
+ #: ../nggfunctions.php:629
88
  msgid "[Gallery not found]"
89
  msgstr ""
90
 
91
+ #: ../nggfunctions.php:436
92
  msgid "[Album not found]"
93
  msgstr ""
94
 
95
+ #: ../nggfunctions.php:746
96
  msgid "[SinglePic not found]"
97
  msgstr ""
98
 
99
+ #: ../nggfunctions.php:884
100
  msgid "Related images for"
101
  msgstr ""
102
 
221
  #: ../admin/addgallery.php:69
222
  #: ../admin/addgallery.php:80
223
  #: ../admin/album.php:96
224
+ #: ../admin/album.php:124
225
+ #: ../admin/album.php:142
226
  #: ../admin/edit-thumbnail.php:19
227
  #: ../admin/edit-thumbnail.php:22
228
+ #: ../admin/manage.php:179
229
  msgid "Cheatin&#8217; uh?"
230
  msgstr ""
231
 
238
  msgstr ""
239
 
240
  #: ../admin/addgallery.php:90
241
+ #: ../admin/functions.php:932
242
+ #: ../admin/functions.php:1032
243
  msgid "No gallery selected !"
244
  msgstr ""
245
 
246
+ #: ../admin/addgallery.php:159
247
  msgid "Image Files"
248
  msgstr ""
249
 
250
+ #: ../admin/addgallery.php:180
251
+ #: ../admin/addgallery.php:208
252
  msgid "remove"
253
  msgstr ""
254
 
255
+ #: ../admin/addgallery.php:181
256
+ #: ../admin/addgallery.php:361
257
  msgid "Browse..."
258
  msgstr ""
259
 
260
+ #: ../admin/addgallery.php:182
261
+ #: ../admin/addgallery.php:194
262
+ #: ../admin/addgallery.php:411
263
  msgid "Upload images"
264
  msgstr ""
265
 
266
+ #: ../admin/addgallery.php:271
267
+ #: ../admin/addgallery.php:377
268
  msgid "Upload Images"
269
  msgstr ""
270
 
271
+ #: ../admin/addgallery.php:274
272
+ #: ../admin/addgallery.php:291
273
+ #: ../admin/manage-galleries.php:112
274
+ #: ../admin/manage-galleries.php:149
275
  msgid "Add new gallery"
276
  msgstr ""
277
 
278
+ #: ../admin/addgallery.php:277
279
+ #: ../admin/addgallery.php:313
280
  msgid "Upload a Zip-File"
281
  msgstr ""
282
 
283
+ #: ../admin/addgallery.php:280
284
+ #: ../admin/addgallery.php:355
285
  msgid "Import image folder"
286
  msgstr ""
287
 
288
+ #: ../admin/addgallery.php:296
289
+ #: ../admin/manage-galleries.php:284
290
  msgid "New Gallery"
291
  msgstr ""
292
 
293
+ #: ../admin/addgallery.php:299
294
+ #: ../admin/manage-galleries.php:286
295
  msgid "Create a new , empty gallery below the folder"
296
  msgstr ""
297
 
298
+ #: ../admin/addgallery.php:301
299
+ #: ../admin/manage-galleries.php:288
300
  msgid "Allowed characters for file and folder names are"
301
  msgstr ""
302
 
303
+ #: ../admin/addgallery.php:305
304
  msgid "Add gallery"
305
  msgstr ""
306
 
307
+ #: ../admin/addgallery.php:318
308
  msgid "Select Zip-File"
309
  msgstr ""
310
 
311
+ #: ../admin/addgallery.php:320
312
  msgid "Upload a zip file with images"
313
  msgstr ""
314
 
315
+ #: ../admin/addgallery.php:324
316
  msgid "or enter a Zip-File URL"
317
  msgstr ""
318
 
319
+ #: ../admin/addgallery.php:326
320
  msgid "Import a zip file with images from a url"
321
  msgstr ""
322
 
323
+ #: ../admin/addgallery.php:330
324
+ #: ../admin/addgallery.php:386
325
  msgid "in to"
326
  msgstr ""
327
 
328
+ #: ../admin/addgallery.php:332
329
  msgid "a new gallery"
330
  msgstr ""
331
 
332
+ #: ../admin/addgallery.php:343
333
  msgid "Note : The upload limit on your server is "
334
  msgstr ""
335
 
336
+ #: ../admin/addgallery.php:347
337
  msgid "Start upload"
338
  msgstr ""
339
 
340
+ #: ../admin/addgallery.php:360
341
  msgid "Import from Server path:"
342
  msgstr ""
343
 
344
+ #: ../admin/addgallery.php:363
345
  msgid "Note : Change the default path in the gallery settings"
346
  msgstr ""
347
 
348
+ #: ../admin/addgallery.php:365
349
  msgid " Please note : For safe-mode = ON you need to add the subfolder thumbs manually"
350
  msgstr ""
351
 
352
+ #: ../admin/addgallery.php:368
353
  msgid "Import folder"
354
  msgstr ""
355
 
356
+ #: ../admin/addgallery.php:382
357
  msgid "Upload image"
358
  msgstr ""
359
 
360
+ #: ../admin/addgallery.php:388
361
  msgid "Choose gallery"
362
  msgstr ""
363
 
364
+ #: ../admin/addgallery.php:407
365
  msgid "The batch upload requires Adobe Flash 10, disable it if you have problems"
366
  msgstr ""
367
 
368
+ #: ../admin/addgallery.php:407
369
  msgid "Disable flash upload"
370
  msgstr ""
371
 
372
+ #: ../admin/addgallery.php:409
373
  msgid "Upload multiple files at once by ctrl/shift-selecting in dialog"
374
  msgstr ""
375
 
376
+ #: ../admin/addgallery.php:409
377
  msgid "Enable flash based upload"
378
  msgstr ""
379
 
380
+ #: ../admin/admin.php:31
381
+ #: ../admin/admin.php:57
382
+ #: ../admin/admin.php:283
383
+ #: ../admin/admin.php:351
384
+ #: ../admin/functions.php:178
385
+ #: ../admin/manage-galleries.php:120
386
+ #: ../admin/manage-galleries.php:372
387
+ #: ../admin/manage-images.php:239
388
  msgid "Gallery"
389
  msgid_plural "Galleries"
390
  msgstr[0] ""
391
  msgstr[1] ""
392
 
393
+ #: ../admin/admin.php:33
394
  msgid "Add Gallery / Images"
395
  msgstr ""
396
 
397
+ #: ../admin/admin.php:34
398
  msgid "Manage Gallery"
399
  msgstr ""
400
 
401
+ #: ../admin/admin.php:35
402
  msgid "Album"
403
  msgid_plural "Albums"
404
  msgstr[0] ""
405
  msgstr[1] ""
406
 
407
+ #: ../admin/admin.php:36
408
  msgid "Tags"
409
  msgstr ""
410
 
411
+ #: ../admin/admin.php:37
412
  msgid "Options"
413
  msgstr ""
414
 
415
+ #: ../admin/admin.php:39
416
  msgid "Style"
417
  msgstr ""
418
 
419
+ #: ../admin/admin.php:41
420
  msgid "Roles"
421
  msgstr ""
422
 
423
+ #: ../admin/admin.php:42
424
  msgid "About this Gallery"
425
  msgstr ""
426
 
427
+ #: ../admin/admin.php:42
428
  msgid "About"
429
  msgstr ""
430
 
431
+ #: ../admin/admin.php:45
432
  msgid "NextGEN Gallery"
433
  msgstr ""
434
 
435
+ #: ../admin/admin.php:48
436
+ #: ../admin/admin.php:59
437
  msgid "Reset / Uninstall"
438
  msgstr ""
439
 
440
+ #: ../admin/admin.php:58
441
+ msgid "Network settings"
 
 
 
 
442
  msgstr ""
443
 
444
+ #: ../admin/admin.php:98
445
  #, php-format
446
  msgid "Thanks for using this plugin, I hope you are satisfied ! If you would like to support the further development, please consider a <strong><a href=\"%s\">donation</a></strong>! If you still need some help, please post your questions <a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\">here</a> ."
447
  msgstr ""
448
 
449
+ #: ../admin/admin.php:101
450
  msgid "OK, hide this message now !"
451
  msgstr ""
452
 
453
+ #: ../admin/admin.php:186
454
  msgid "You do not have the correct permission"
455
  msgstr ""
456
 
457
+ #: ../admin/admin.php:187
458
  msgid "Unexpected Error"
459
  msgstr ""
460
 
461
+ #: ../admin/admin.php:188
462
  msgid "A failure occurred"
463
  msgstr ""
464
 
465
+ #: ../admin/admin.php:287
466
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Introduction</a>"
467
  msgstr ""
468
 
469
+ #: ../admin/admin.php:290
470
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Setup</a>"
471
  msgstr ""
472
 
473
+ #: ../admin/admin.php:293
474
  msgid "<a href=\"http://alexrabe.de/wordpress-plugins/nextgen-gallery/languages/\" target=\"_blank\">Translation by alex rabe</a>"
475
  msgstr ""
476
 
477
+ #: ../admin/admin.php:296
478
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Roles / Capabilities</a>"
479
  msgstr ""
480
 
481
+ #: ../admin/admin.php:299
482
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Styles</a>"
483
  msgstr ""
484
 
485
+ #: ../admin/admin.php:300
486
  msgid "Templates"
487
  msgstr ""
488
 
489
+ #: ../admin/admin.php:303
490
+ #: ../admin/admin.php:309
491
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Gallery management</a>"
492
  msgstr ""
493
 
494
+ #: ../admin/admin.php:304
495
  msgid "Gallery example"
496
  msgstr ""
497
 
498
+ #: ../admin/admin.php:310
499
+ #: ../admin/admin.php:320
500
  msgid "Gallery tags"
501
  msgstr ""
502
 
503
+ #: ../admin/admin.php:313
504
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Album management</a>"
505
  msgstr ""
506
 
507
+ #: ../admin/admin.php:314
508
  msgid "Album example"
509
  msgstr ""
510
 
511
+ #: ../admin/admin.php:315
512
+ #: ../admin/admin.php:321
513
  msgid "Album tags"
514
  msgstr ""
515
 
516
+ #: ../admin/admin.php:318
517
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Gallery tags</a>"
518
  msgstr ""
519
 
520
+ #: ../admin/admin.php:319
521
  msgid "Related images"
522
  msgstr ""
523
 
524
+ #: ../admin/admin.php:324
525
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-image-management/\" target=\"_blank\">Image management</a>"
526
  msgstr ""
527
 
528
+ #: ../admin/admin.php:325
529
  msgid "Custom fields"
530
  msgstr ""
531
 
532
+ #: ../admin/admin.php:330
533
  msgid "Get help with NextGEN Gallery"
534
  msgstr ""
535
 
536
+ #: ../admin/admin.php:334
537
  msgid "More Help & Info"
538
  msgstr ""
539
 
540
+ #: ../admin/admin.php:336
541
  msgid "<a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\" target=\"_blank\">Support Forums</a>"
542
  msgstr ""
543
 
544
+ #: ../admin/admin.php:337
545
  msgid "FAQ"
546
  msgstr ""
547
 
548
+ #: ../admin/admin.php:338
549
  msgid "Feature request"
550
  msgstr ""
551
 
552
+ #: ../admin/admin.php:339
553
  msgid "Get your language pack"
554
  msgstr ""
555
 
556
+ #: ../admin/admin.php:340
557
  msgid "Contribute development"
558
  msgstr ""
559
 
560
+ #: ../admin/admin.php:341
561
  msgid "Download latest version"
562
  msgstr ""
563
 
564
+ #: ../admin/ajax.php:312
565
+ msgid "You are not allowed to be here"
566
+ msgstr ""
567
+
568
+ #: ../admin/album.php:102
569
+ #: ../admin/album.php:117
570
+ #: ../admin/album.php:158
571
  msgid "Update Successfully"
572
  msgstr ""
573
 
574
+ #: ../admin/album.php:131
575
  msgid "Album deleted"
576
  msgstr ""
577
 
578
+ #: ../admin/album.php:269
579
+ msgid "Edit Album"
580
+ msgstr ""
581
+
582
+ #: ../admin/album.php:278
583
  msgid "Manage Albums"
584
  msgstr ""
585
 
586
+ #: ../admin/album.php:284
587
+ #: ../admin/album.php:333
588
  msgid "Select album"
589
  msgstr ""
590
 
591
+ #: ../admin/album.php:286
592
  msgid "No album selected"
593
  msgstr ""
594
 
595
+ #: ../admin/album.php:297
596
  #: ../admin/edit-thumbnail.php:157
597
  msgid "Update"
598
  msgstr ""
599
 
600
+ #: ../admin/album.php:299
601
  msgid "Edit album"
602
  msgstr ""
603
 
604
+ #: ../admin/album.php:302
605
+ #: ../admin/manage-galleries.php:139
606
+ #: ../admin/manage-images.php:445
607
  msgid "Delete"
608
  msgstr ""
609
 
610
+ #: ../admin/album.php:302
611
  msgid "Delete album ?"
612
  msgstr ""
613
 
614
+ #: ../admin/album.php:306
615
  msgid "Add new album"
616
  msgstr ""
617
 
618
+ #: ../admin/album.php:308
619
  msgid "Add"
620
  msgstr ""
621
 
622
+ #: ../admin/album.php:319
623
  msgid "Show / hide used galleries"
624
  msgstr ""
625
 
626
+ #: ../admin/album.php:319
627
  msgid "[Show all]"
628
  msgstr ""
629
 
630
+ #: ../admin/album.php:320
631
  msgid "Maximize the widget content"
632
  msgstr ""
633
 
634
+ #: ../admin/album.php:320
635
  msgid "[Maximize]"
636
  msgstr ""
637
 
638
+ #: ../admin/album.php:321
639
  msgid "Minimize the widget content"
640
  msgstr ""
641
 
642
+ #: ../admin/album.php:321
643
  msgid "[Minimize]"
644
  msgstr ""
645
 
646
+ #: ../admin/album.php:323
647
  msgid "After you create and select a album, you can drag and drop a gallery or another album into your new album below"
648
  msgstr ""
649
 
650
+ #: ../admin/album.php:349
651
  msgid "Select gallery"
652
  msgstr ""
653
 
654
+ #: ../admin/album.php:378
655
  msgid "Album ID"
656
  msgstr ""
657
 
658
+ #: ../admin/album.php:391
659
  msgid "No album selected!"
660
  msgstr ""
661
 
662
+ #: ../admin/album.php:411
663
  msgid "Album name:"
664
  msgstr ""
665
 
666
+ #: ../admin/album.php:417
667
  msgid "Album description:"
668
  msgstr ""
669
 
670
+ #: ../admin/album.php:423
671
  msgid "Select a preview image:"
672
  msgstr ""
673
 
674
+ #: ../admin/album.php:426
675
+ #: ../admin/album.php:429
676
  msgid "No picture"
677
  msgstr ""
678
 
679
+ #: ../admin/album.php:440
680
+ #: ../admin/manage-images.php:257
681
  msgid "Page Link to"
682
  msgstr ""
683
 
684
+ #: ../admin/album.php:442
685
+ #: ../admin/manage-images.php:260
686
  msgid "Not linked"
687
  msgstr ""
688
 
689
+ #: ../admin/album.php:455
690
+ #: ../admin/manage-galleries.php:293
691
+ #: ../admin/manage-galleries.php:322
692
+ #: ../admin/manage-galleries.php:352
693
+ #: ../admin/manage-images.php:539
694
+ #: ../admin/manage-images.php:575
695
+ #: ../admin/manage-images.php:604
696
+ #: ../admin/manage-images.php:634
697
  msgid "OK"
698
  msgstr ""
699
 
700
+ #: ../admin/album.php:457
701
+ #: ../admin/manage-galleries.php:295
702
+ #: ../admin/manage-galleries.php:324
703
+ #: ../admin/manage-galleries.php:354
704
+ #: ../admin/manage-images.php:541
705
+ #: ../admin/manage-images.php:577
706
+ #: ../admin/manage-images.php:606
707
+ #: ../admin/manage-images.php:636
708
  msgid "Cancel"
709
  msgstr ""
710
 
711
+ #: ../admin/album.php:541
712
  msgid "Name"
713
  msgstr ""
714
 
715
+ #: ../admin/album.php:542
716
+ #: ../admin/manage-images.php:255
 
 
717
  msgid "Title"
718
  msgstr ""
719
 
720
+ #: ../admin/album.php:543
721
  msgid "Page"
722
  msgstr ""
723
 
737
  msgid "Select the area for the thumbnail from the picture on the left."
738
  msgstr ""
739
 
740
+ #: ../admin/functions.php:39
741
  msgid "No valid gallery name!"
742
  msgstr ""
743
 
744
+ #: ../admin/functions.php:46
745
+ #: ../admin/functions.php:55
746
+ #: ../admin/functions.php:80
747
+ #: ../admin/functions.php:149
748
+ #: ../admin/functions.php:157
749
  msgid "Directory"
750
  msgstr ""
751
 
752
+ #: ../admin/functions.php:46
753
  msgid "didn't exist. Please create first the main gallery folder "
754
  msgstr ""
755
 
756
+ #: ../admin/functions.php:47
757
+ #: ../admin/functions.php:56
758
  msgid "Check this link, if you didn't know how to set the permission :"
759
  msgstr ""
760
 
761
+ #: ../admin/functions.php:55
762
+ #: ../admin/functions.php:80
763
  msgid "is not writeable !"
764
  msgstr ""
765
 
766
+ #: ../admin/functions.php:76
767
+ #: ../admin/functions.php:85
768
+ #: ../admin/functions.php:891
769
  msgid "Unable to create directory "
770
  msgstr ""
771
 
772
+ #: ../admin/functions.php:89
773
  msgid "The server setting Safe-Mode is on !"
774
  msgstr ""
775
 
776
+ #: ../admin/functions.php:90
777
  msgid "If you have problems, please create directory"
778
  msgstr ""
779
 
780
+ #: ../admin/functions.php:91
781
  msgid "and the thumbnails directory"
782
  msgstr ""
783
 
784
+ #: ../admin/functions.php:91
785
  msgid "with permission 777 manually !"
786
  msgstr ""
787
 
788
+ #: ../admin/functions.php:116
 
 
 
 
789
  #, php-format
790
+ msgid "Gallery ID %1$s successfully created. You can show this gallery in your post or page with the shortcode %2$s.<br/>"
791
  msgstr ""
792
 
793
+ #: ../admin/functions.php:119
794
  msgid "Edit gallery"
795
  msgstr ""
796
 
797
+ #: ../admin/functions.php:149
798
  msgid "doesn&#96;t exist!"
799
  msgstr ""
800
 
801
+ #: ../admin/functions.php:157
802
  msgid "contains no pictures"
803
  msgstr ""
804
 
805
+ #: ../admin/functions.php:175
806
  msgid "Database error. Could not add gallery!"
807
  msgstr ""
808
 
809
+ #: ../admin/functions.php:178
810
  msgid "successfully created!"
811
  msgstr ""
812
 
813
+ #: ../admin/functions.php:207
814
+ #: ../admin/functions.php:1008
815
+ #: ../admin/manage-galleries.php:74
816
+ #: ../admin/manage-galleries.php:141
817
+ #: ../admin/manage-images.php:202
818
+ #: ../admin/manage-images.php:341
819
+ #: ../admin/manage.php:216
820
+ #: ../admin/manage.php:292
821
  msgid "Create new thumbnails"
822
  msgstr ""
823
 
824
+ #: ../admin/functions.php:210
825
  msgid " picture(s) successfully added"
826
  msgstr ""
827
 
828
+ #: ../admin/functions.php:260
829
+ #: ../admin/functions.php:340
830
+ #: ../admin/functions.php:395
831
+ #: ../admin/functions.php:492
832
+ #: ../admin/functions.php:546
833
  msgid "Object didn't contain correct data"
834
  msgstr ""
835
 
836
+ #: ../admin/functions.php:268
837
  msgid " is not writeable "
838
  msgstr ""
839
 
840
+ #: ../admin/functions.php:350
841
+ #: ../admin/functions.php:398
842
+ #: ../admin/functions.php:498
843
+ #: ../admin/functions.php:549
844
  msgid " is not writeable"
845
  msgstr ""
846
 
847
+ #: ../admin/functions.php:552
848
  msgid "File do not exists"
849
  msgstr ""
850
 
851
+ #: ../admin/functions.php:556
852
  msgid "Couldn't restore original image"
853
  msgstr ""
854
 
855
+ #: ../admin/functions.php:671
856
  msgid "(Error : Couldn't not update data base)"
857
  msgstr ""
858
 
859
+ #: ../admin/functions.php:678
860
  msgid "(Error : Couldn't not update meta data)"
861
  msgstr ""
862
 
863
+ #: ../admin/functions.php:687
864
  msgid "(Error : Couldn't not find image)"
865
  msgstr ""
866
 
867
+ #: ../admin/functions.php:825
868
  msgid "No valid URL path "
869
  msgstr ""
870
 
871
+ #: ../admin/functions.php:841
872
  msgid "Import via cURL failed."
873
  msgstr ""
874
 
875
+ #: ../admin/functions.php:858
876
+ msgid "Uploaded file was no or a faulty zip file ! The server recognized : "
877
  msgstr ""
878
 
879
+ #: ../admin/functions.php:875
880
  msgid "Could not get a valid foldername"
881
  msgstr ""
882
 
883
+ #: ../admin/functions.php:886
884
  #, php-format
885
  msgid "Unable to create directory %s. Is its parent directory writable by the server?"
886
  msgstr ""
887
 
888
+ #: ../admin/functions.php:901
889
  msgid "Zip-File successfully unpacked"
890
  msgstr ""
891
 
892
+ #: ../admin/functions.php:940
893
+ #: ../admin/functions.php:1057
894
  msgid "Failure in database, no gallery path set !"
895
  msgstr ""
896
 
897
+ #: ../admin/functions.php:964
898
+ #: ../admin/functions.php:1051
899
  msgid "is no valid image file!"
900
  msgstr ""
901
 
902
+ #: ../admin/functions.php:978
903
+ #: ../admin/functions.php:1177
904
+ #: ../admin/functions.php:1254
905
  #, php-format
906
  msgid "Unable to write to directory %s. Is this directory writable by the server?"
907
  msgstr ""
908
 
909
+ #: ../admin/functions.php:985
910
+ #: ../admin/functions.php:1074
911
+ msgid "Error, the file could not be moved to : "
912
  msgstr ""
913
 
914
+ #: ../admin/functions.php:990
915
+ #: ../admin/functions.php:1078
916
+ msgid "Error, the file permissions could not be set"
917
  msgstr ""
918
 
919
+ #: ../admin/functions.php:1013
920
  msgid " Image(s) successfully added"
921
  msgstr ""
922
 
923
+ #: ../admin/functions.php:1040
924
  msgid "Invalid upload. Error Code : "
925
  msgstr ""
926
 
927
+ #: ../admin/functions.php:1117
928
  #, php-format
929
  msgid "SAFE MODE Restriction in effect! You need to create the folder <strong>%s</strong> manually"
930
  msgstr ""
931
 
932
+ #: ../admin/functions.php:1118
933
  #, php-format
934
  msgid "When safe_mode is on, PHP checks to see if the owner (%s) of the current script matches the owner (%s) of the file to be operated on by a file function or its directory"
935
  msgstr ""
936
 
937
+ #: ../admin/functions.php:1171
938
+ #: ../admin/functions.php:1248
939
  msgid "The destination gallery does not exist"
940
  msgstr ""
941
 
942
+ #: ../admin/functions.php:1202
943
  #, php-format
944
  msgid "Failed to move image %1$s to %2$s"
945
  msgstr ""
946
 
947
+ #: ../admin/functions.php:1222
948
  #, php-format
949
  msgid "Moved %1$s picture(s) to gallery : %2$s ."
950
  msgstr ""
951
 
952
+ #: ../admin/functions.php:1281
953
  #, php-format
954
  msgid "Failed to copy image %1$s to %2$s"
955
  msgstr ""
956
 
957
+ #: ../admin/functions.php:1295
958
  #, php-format
959
  msgid "Failed to copy database row for picture %s"
960
  msgstr ""
961
 
962
+ #: ../admin/functions.php:1307
963
  #, php-format
964
  msgid "Image %1$s (%2$s) copied as image %3$s (%4$s) &raquo; The file already existed in the destination gallery."
965
  msgstr ""
966
 
967
+ #: ../admin/functions.php:1310
968
  #, php-format
969
  msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)"
970
  msgstr ""
971
 
972
+ #: ../admin/functions.php:1319
973
  #, php-format
974
  msgid "Copied %1$s picture(s) to gallery: %2$s ."
975
  msgstr ""
976
 
977
+ #: ../admin/functions.php:1427
978
  msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini"
979
  msgstr ""
980
 
981
+ #: ../admin/functions.php:1430
982
  msgid "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form"
983
  msgstr ""
984
 
985
+ #: ../admin/functions.php:1433
986
  msgid "The uploaded file was only partially uploaded"
987
  msgstr ""
988
 
989
+ #: ../admin/functions.php:1436
990
  msgid "No file was uploaded"
991
  msgstr ""
992
 
993
+ #: ../admin/functions.php:1439
994
  msgid "Missing a temporary folder"
995
  msgstr ""
996
 
997
+ #: ../admin/functions.php:1442
998
  msgid "Failed to write file to disk"
999
  msgstr ""
1000
 
1001
+ #: ../admin/functions.php:1445
1002
  msgid "File upload stopped by extension"
1003
  msgstr ""
1004
 
1005
+ #: ../admin/functions.php:1448
1006
  msgid "Unknown upload error"
1007
  msgstr ""
1008
 
1010
  msgid "Sorry, NextGEN Gallery works only with a role called administrator"
1011
  msgstr ""
1012
 
1013
+ #: ../admin/install.php:112
1014
  msgid "NextGEN Gallery : Tables could not created, please check your database settings"
1015
  msgstr ""
1016
 
1017
+ #: ../admin/install.php:170
1018
  msgid "[Show as slideshow]"
1019
  msgstr ""
1020
 
1021
+ #: ../admin/install.php:171
1022
  msgid "[Show picture list]"
1023
  msgstr ""
1024
 
1033
  msgstr ""
1034
 
1035
  #: ../admin/manage-galleries.php:62
1036
+ #: ../admin/manage-images.php:170
1037
  msgid "No images selected"
1038
  msgstr ""
1039
 
1040
+ #: ../admin/manage-galleries.php:70
1041
+ #: ../admin/manage-galleries.php:142
1042
+ #: ../admin/manage-images.php:198
1043
+ #: ../admin/manage-images.php:342
1044
+ #: ../admin/manage.php:200
1045
+ #: ../admin/manage.php:278
1046
+ msgid "Resize images"
1047
+ msgstr ""
1048
+
1049
  #: ../admin/manage-galleries.php:79
1050
  #, php-format
1051
  msgid ""
1054
  " 'Cancel' to stop, 'OK' to proceed."
1055
  msgstr ""
1056
 
1057
+ #: ../admin/manage-galleries.php:123
1058
+ #: ../admin/manage-galleries.php:126
1059
+ #: ../admin/manage-images.php:225
1060
+ #: ../admin/manage-images.php:228
 
 
 
 
1061
  msgid "Search Images"
1062
  msgstr ""
1063
 
1064
+ #: ../admin/manage-galleries.php:138
1065
+ #: ../admin/manage-images.php:339
1066
+ msgid "Bulk actions"
1067
  msgstr ""
1068
 
1069
+ #: ../admin/manage-galleries.php:140
1070
+ #: ../admin/manage-images.php:340
1071
+ #: ../admin/manage.php:133
1072
+ #: ../admin/manage.php:242
1073
  msgid "Set watermark"
1074
  msgstr ""
1075
 
1076
+ #: ../admin/manage-galleries.php:143
1077
+ #: ../admin/manage-images.php:345
1078
+ #: ../admin/manage.php:138
1079
+ #: ../admin/manage.php:262
 
 
 
 
 
 
 
1080
  msgid "Import metadata"
1081
  msgstr ""
1082
 
1083
+ #: ../admin/manage-galleries.php:144
1084
+ #: ../admin/manage-images.php:343
1085
+ #: ../admin/manage.php:128
1086
+ #: ../admin/manage.php:239
1087
  msgid "Recover from backup"
1088
  msgstr ""
1089
 
1090
+ #: ../admin/manage-galleries.php:146
1091
+ #: ../admin/manage-images.php:354
1092
  msgid "Apply"
1093
  msgstr ""
1094
 
1095
+ #: ../admin/manage-galleries.php:154
1096
+ #: ../admin/manage-galleries.php:266
1097
+ #: ../admin/manage-images.php:330
1098
+ #: ../admin/manage-images.php:514
1099
  #, php-format
1100
  msgid "Displaying %s&#8211;%s of %s"
1101
  msgstr ""
1102
 
1103
+ #: ../admin/manage-galleries.php:219
1104
+ msgid "Edit"
 
 
1105
  msgstr ""
1106
 
1107
+ #: ../admin/manage-galleries.php:259
1108
+ #: ../admin/manage-images.php:505
1109
+ msgid "No entries found"
 
 
1110
  msgstr ""
1111
 
1112
+ #: ../admin/manage-galleries.php:313
1113
+ #: ../admin/manage-images.php:595
1114
+ msgid "Resize Images to"
 
1115
  msgstr ""
1116
 
1117
+ #: ../admin/manage-galleries.php:317
1118
+ #: ../admin/manage-images.php:599
1119
+ msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size"
1120
  msgstr ""
1121
 
1122
+ #: ../admin/manage-galleries.php:341
1123
+ #: ../admin/manage-images.php:623
1124
+ msgid "Width x height (in pixel)"
1125
  msgstr ""
1126
 
1127
+ #: ../admin/manage-galleries.php:343
1128
+ #: ../admin/manage-images.php:625
1129
+ msgid "These values are maximum values "
1130
  msgstr ""
1131
 
1132
+ #: ../admin/manage-galleries.php:346
1133
+ #: ../admin/manage-images.php:628
1134
+ msgid "Set fix dimension"
1135
  msgstr ""
1136
 
1137
+ #: ../admin/manage-galleries.php:348
1138
+ #: ../admin/manage-images.php:630
1139
+ msgid "Ignore the aspect ratio, no portrait thumbnails"
1140
  msgstr ""
1141
 
1142
+ #: ../admin/manage-galleries.php:371
1143
+ #: ../admin/manage-images.php:658
1144
+ msgid "ID"
1145
  msgstr ""
1146
 
1147
+ #: ../admin/manage-galleries.php:373
1148
+ #: ../admin/manage-images.php:266
1149
+ #: ../admin/manage-images.php:663
1150
+ msgid "Description"
1151
  msgstr ""
1152
 
1153
+ #: ../admin/manage-galleries.php:374
1154
+ #: ../admin/manage-images.php:287
1155
+ msgid "Author"
1156
  msgstr ""
1157
 
1158
+ #: ../admin/manage-galleries.php:375
1159
+ msgid "Page ID"
 
1160
  msgstr ""
1161
 
1162
+ #: ../admin/manage-galleries.php:376
1163
+ msgid "Image"
1164
+ msgid_plural "Images"
1165
+ msgstr[0] ""
1166
+ msgstr[1] ""
1167
+
1168
+ #: ../admin/manage-images.php:32
1169
+ msgid "Gallery not found."
1170
  msgstr ""
1171
 
1172
+ #: ../admin/manage-images.php:38
1173
+ msgid "Sorry, you have no access here"
 
1174
  msgstr ""
1175
 
1176
+ #: ../admin/manage-images.php:178
1177
+ msgid "Copy image to..."
 
1178
  msgstr ""
1179
 
1180
+ #: ../admin/manage-images.php:182
1181
+ msgid "Move image to..."
1182
  msgstr ""
1183
 
1184
+ #: ../admin/manage-images.php:186
1185
+ msgid "Add new tags"
1186
+ msgstr ""
1187
+
1188
+ #: ../admin/manage-images.php:190
1189
+ #: ../admin/manage-images.php:351
1190
+ msgid "Delete tags"
1191
+ msgstr ""
1192
+
1193
+ #: ../admin/manage-images.php:194
1194
+ msgid "Overwrite"
1195
  msgstr ""
1196
 
1197
+ #: ../admin/manage-images.php:207
1198
  #, php-format
1199
  msgid ""
1200
  "You are about to start the bulk edit for %s images \n"
1202
  " 'Cancel' to stop, 'OK' to proceed."
1203
  msgstr ""
1204
 
1205
+ #: ../admin/manage-images.php:222
1206
  #, php-format
1207
  msgid "Search results for &#8220;%s&#8221;"
1208
  msgstr ""
1209
 
1210
+ #: ../admin/manage-images.php:251
1211
  msgid "Gallery settings"
1212
  msgstr ""
1213
 
1214
+ #: ../admin/manage-images.php:251
1215
  msgid "Click here for more settings"
1216
  msgstr ""
1217
 
1218
+ #: ../admin/manage-images.php:268
1219
  msgid "Preview image"
1220
  msgstr ""
1221
 
1222
+ #: ../admin/manage-images.php:271
1223
  msgid "No Picture"
1224
  msgstr ""
1225
 
1226
+ #: ../admin/manage-images.php:285
1227
  msgid "Path"
1228
  msgstr ""
1229
 
1230
+ #: ../admin/manage-images.php:302
1231
  msgid "Create new page"
1232
  msgstr ""
1233
 
1234
+ #: ../admin/manage-images.php:305
1235
  msgid "Main page (No parent)"
1236
  msgstr ""
1237
 
1238
+ #: ../admin/manage-images.php:308
1239
  msgid "Add page"
1240
  msgstr ""
1241
 
1242
+ #: ../admin/manage-images.php:317
1243
  msgid "Scan Folder for new images"
1244
  msgstr ""
1245
 
1246
+ #: ../admin/manage-images.php:318
1247
+ #: ../admin/manage-images.php:360
1248
+ #: ../admin/manage-images.php:512
1249
  msgid "Save Changes"
1250
  msgstr ""
1251
 
1252
+ #: ../admin/manage-images.php:344
1253
  msgid "Delete images"
1254
  msgstr ""
1255
 
1256
+ #: ../admin/manage-images.php:346
1257
  msgid "Rotate images clockwise"
1258
  msgstr ""
1259
 
1260
+ #: ../admin/manage-images.php:347
1261
  msgid "Rotate images counter-clockwise"
1262
  msgstr ""
1263
 
1264
+ #: ../admin/manage-images.php:348
1265
  msgid "Copy to..."
1266
  msgstr ""
1267
 
1268
+ #: ../admin/manage-images.php:349
1269
  msgid "Move to..."
1270
  msgstr ""
1271
 
1272
+ #: ../admin/manage-images.php:350
1273
  msgid "Add tags"
1274
  msgstr ""
1275
 
1276
+ #: ../admin/manage-images.php:352
 
 
 
 
1277
  msgid "Overwrite tags"
1278
  msgstr ""
1279
 
1280
+ #: ../admin/manage-images.php:357
1281
  msgid "Sort gallery"
1282
  msgstr ""
1283
 
1284
+ #: ../admin/manage-images.php:431
1285
  msgid "pixel"
1286
  msgstr ""
1287
 
1288
+ #: ../admin/manage-images.php:437
1289
  #, php-format
1290
  msgid "View \"%s\""
1291
  msgstr ""
1292
 
1293
+ #: ../admin/manage-images.php:437
1294
  msgid "View"
1295
  msgstr ""
1296
 
1297
+ #: ../admin/manage-images.php:438
1298
  msgid "Show Meta data"
1299
  msgstr ""
1300
 
1301
+ #: ../admin/manage-images.php:438
1302
  msgid "Meta"
1303
  msgstr ""
1304
 
1305
+ #: ../admin/manage-images.php:439
1306
  msgid "Customize thumbnail"
1307
  msgstr ""
1308
 
1309
+ #: ../admin/manage-images.php:439
1310
  msgid "Edit thumb"
1311
  msgstr ""
1312
 
1313
+ #: ../admin/manage-images.php:440
1314
  msgid "Rotate"
1315
  msgstr ""
1316
 
1317
+ #: ../admin/manage-images.php:442
1318
+ msgid "Publish this image"
1319
+ msgstr ""
1320
+
1321
+ #: ../admin/manage-images.php:442
1322
+ msgid "Publish"
1323
+ msgstr ""
1324
+
1325
+ #: ../admin/manage-images.php:444
1326
  msgid "Recover"
1327
  msgstr ""
1328
 
1329
+ #: ../admin/manage-images.php:444
1330
  #, php-format
1331
  msgid "Recover \"%s\" ?"
1332
  msgstr ""
1333
 
1334
+ #: ../admin/manage-images.php:445
1335
  #, php-format
1336
  msgid "Delete \"%s\" ?"
1337
  msgstr ""
1338
 
1339
+ #: ../admin/manage-images.php:535
1340
  msgid "Enter the tags"
1341
  msgstr ""
1342
 
1343
+ #: ../admin/manage-images.php:559
1344
  msgid "Select the destination gallery:"
1345
  msgstr ""
1346
 
1347
+ #: ../admin/manage-images.php:659
1348
  msgid "Thumbnail"
1349
  msgstr ""
1350
 
1351
+ #: ../admin/manage-images.php:661
1352
+ #: ../admin/manage-sort.php:77
1353
  msgid "Filename"
1354
  msgstr ""
1355
 
1356
+ #: ../admin/manage-images.php:663
1357
  msgid "Alt &amp; Title Text"
1358
  msgstr ""
1359
 
1360
+ #: ../admin/manage-images.php:664
1361
  msgid "Tags (comma separated list)"
1362
  msgstr ""
1363
 
1364
+ #: ../admin/manage-images.php:666
1365
  msgid "exclude"
1366
  msgstr ""
1367
 
1368
+ #: ../admin/manage-sort.php:33
1369
  msgid "Sort order changed"
1370
  msgstr ""
1371
 
1372
+ #: ../admin/manage-sort.php:62
1373
  msgid "Sort Gallery"
1374
  msgstr ""
1375
 
1376
+ #: ../admin/manage-sort.php:66
1377
  msgid "Update Sort Order"
1378
  msgstr ""
1379
 
1380
+ #: ../admin/manage-sort.php:69
1381
  msgid "Back to gallery"
1382
  msgstr ""
1383
 
1384
+ #: ../admin/manage-sort.php:74
1385
  msgid "Presort"
1386
  msgstr ""
1387
 
1388
+ #: ../admin/manage-sort.php:75
1389
  msgid "Unsorted"
1390
  msgstr ""
1391
 
1392
+ #: ../admin/manage-sort.php:76
1393
  msgid "Image ID"
1394
  msgstr ""
1395
 
1396
+ #: ../admin/manage-sort.php:78
1397
  msgid "Alt/Title text"
1398
  msgstr ""
1399
 
1400
+ #: ../admin/manage-sort.php:79
1401
  msgid "Date/Time"
1402
  msgstr ""
1403
 
1404
+ #: ../admin/manage-sort.php:80
1405
  msgid "Ascending"
1406
  msgstr ""
1407
 
1408
+ #: ../admin/manage-sort.php:81
1409
  msgid "Descending"
1410
  msgstr ""
1411
 
1412
+ #: ../admin/manage.php:77
1413
+ msgid "Picture"
 
1414
  msgstr ""
1415
 
1416
+ #: ../admin/manage.php:77
1417
+ msgid "deleted successfully"
1418
  msgstr ""
1419
 
1420
+ #: ../admin/manage.php:92
1421
+ #: ../admin/manage.php:101
1422
  msgid "Operation successful. Please clear your browser cache."
1423
  msgstr ""
1424
 
1425
+ #: ../admin/manage.php:168
1426
+ msgid "Gallery deleted successfully "
1427
+ msgstr ""
1428
+
1429
+ #: ../admin/manage.php:233
1430
+ #: ../admin/manage.php:236
1431
  msgid "Rotate images"
1432
  msgstr ""
1433
 
1434
+ #: ../admin/manage.php:258
1435
  msgid "Pictures deleted successfully "
1436
  msgstr ""
1437
 
1438
+ #: ../admin/manage.php:354
1439
  msgid "Tags changed"
1440
  msgstr ""
1441
 
1442
+ #: ../admin/manage.php:390
1443
  msgid "Update successful"
1444
  msgstr ""
1445
 
1446
+ #: ../admin/manage.php:425
1447
  msgid "New gallery page ID"
1448
  msgstr ""
1449
 
1450
+ #: ../admin/manage.php:425
1451
  msgid "created"
1452
  msgstr ""
1453
 
1454
+ #: ../admin/manage.php:461
1455
+ msgid "Published a new post"
1456
+ msgstr ""
1457
+
1458
+ #: ../admin/media-upload.php:166
1459
  msgid "No gallery"
1460
  msgstr ""
1461
 
1462
+ #: ../admin/media-upload.php:178
1463
  msgid "Select &#187;"
1464
  msgstr ""
1465
 
1466
+ #: ../admin/media-upload.php:209
1467
  msgid "Show"
1468
  msgstr ""
1469
 
1470
+ #: ../admin/media-upload.php:210
1471
  msgid "Hide"
1472
  msgstr ""
1473
 
1474
+ #: ../admin/media-upload.php:215
1475
  msgid "Image ID:"
1476
  msgstr ""
1477
 
1478
+ #: ../admin/media-upload.php:274
1479
  msgid "Save all changes"
1480
  msgstr ""
1481
 
1529
  msgstr ""
1530
 
1531
  #: ../admin/overview.php:121
1532
+ msgid "Help translating it."
1533
  msgstr ""
1534
 
1535
  #: ../admin/overview.php:140
1571
  msgid "At a Glance"
1572
  msgstr ""
1573
 
 
 
 
 
 
 
1574
  #: ../admin/overview.php:305
1575
  msgid "Upload pictures"
1576
  msgstr ""
1734
  msgid "Install"
1735
  msgstr ""
1736
 
1737
+ #: ../admin/publish.php:45
1738
+ msgid "Post title"
1739
+ msgstr ""
1740
+
1741
+ #: ../admin/publish.php:47
1742
+ msgid "Enter the post title "
1743
+ msgstr ""
1744
+
1745
+ #: ../admin/publish.php:52
1746
+ msgid "Size of the image"
1747
+ msgstr ""
1748
+
1749
+ #: ../admin/publish.php:55
1750
+ msgid "Alignment"
1751
+ msgstr ""
1752
+
1753
+ #: ../admin/publish.php:57
1754
+ #: ../admin/settings.php:476
1755
+ msgid "None"
1756
+ msgstr ""
1757
+
1758
+ #: ../admin/publish.php:59
1759
+ #: ../admin/tinymce/window.php:120
1760
+ msgid "Left"
1761
+ msgstr ""
1762
+
1763
+ #: ../admin/publish.php:61
1764
+ #: ../admin/tinymce/window.php:121
1765
+ msgid "Center"
1766
+ msgstr ""
1767
+
1768
+ #: ../admin/publish.php:63
1769
+ #: ../admin/tinymce/window.php:122
1770
+ msgid "Right"
1771
+ msgstr ""
1772
+
1773
+ #: ../admin/publish.php:70
1774
+ msgid "Draft"
1775
+ msgstr ""
1776
+
1777
  #: ../admin/roles.php:22
1778
  msgid "Updated capabilities"
1779
  msgstr ""
1783
  msgstr ""
1784
 
1785
  #: ../admin/roles.php:29
1786
+ msgid "Select the lowest role which should be able to access the following capabilities. NextGEN Gallery supports the standard roles from WordPress."
1787
  msgstr ""
1788
 
1789
  #: ../admin/roles.php:30
1814
  msgid "Manage tags"
1815
  msgstr ""
1816
 
 
 
 
 
1817
  #: ../admin/roles.php:63
1818
  msgid "Change style"
1819
  msgstr ""
1850
  msgid "Flip horizontally"
1851
  msgstr ""
1852
 
1853
+ #: ../admin/settings.php:92
1854
  msgid "Cache cleared"
1855
  msgstr ""
1856
 
1857
+ #: ../admin/settings.php:209
1858
+ #: ../admin/settings.php:228
1859
  msgid "General Options"
1860
  msgstr ""
1861
 
1862
+ #: ../admin/settings.php:210
1863
+ #: ../admin/settings.php:413
1864
  msgid "Thumbnails"
1865
  msgstr ""
1866
 
1867
+ #: ../admin/settings.php:211
1868
  msgid "Images"
1869
  msgstr ""
1870
 
1871
+ #: ../admin/settings.php:213
1872
+ #: ../admin/settings.php:465
1873
  msgid "Effects"
1874
  msgstr ""
1875
 
1876
+ #: ../admin/settings.php:214
1877
+ #: ../admin/settings.php:507
1878
+ #: ../admin/tinymce/window.php:110
1879
  msgid "Watermark"
1880
  msgstr ""
1881
 
1882
+ #: ../admin/settings.php:215
1883
+ #: ../admin/settings.php:414
1884
+ #: ../admin/settings.php:614
1885
+ #: ../admin/tinymce/window.php:63
1886
  msgid "Slideshow"
1887
  msgstr ""
1888
 
1889
+ #: ../admin/settings.php:234
1890
+ #: ../admin/wpmu.php:68
1891
  msgid "Gallery path"
1892
  msgstr ""
1893
 
1894
+ #: ../admin/settings.php:236
1895
  msgid "This is the default path for all galleries"
1896
  msgstr ""
1897
 
1898
+ #: ../admin/settings.php:239
1899
  msgid "Delete image files"
1900
  msgstr ""
1901
 
1902
+ #: ../admin/settings.php:241
1903
  msgid "Delete files, when removing a gallery in the database"
1904
  msgstr ""
1905
 
1906
+ #: ../admin/settings.php:244
1907
  msgid "Activate permalinks"
1908
  msgstr ""
1909
 
1910
+ #: ../admin/settings.php:246
1911
  msgid "When you activate this option, you need to update your permalink structure one time."
1912
  msgstr ""
1913
 
1914
+ #: ../admin/settings.php:249
1915
+ msgid "Create new URL friendly image slugs"
1916
+ msgstr ""
1917
+
1918
+ #: ../admin/settings.php:250
1919
+ #: ../admin/settings.php:367
1920
+ msgid "Proceed now"
1921
+ msgstr ""
1922
+
1923
+ #: ../admin/settings.php:251
1924
+ msgid "Currently not used, prepare database for upcoming version"
1925
+ msgstr ""
1926
+
1927
+ #: ../admin/settings.php:254
1928
  msgid "Select graphic library"
1929
  msgstr ""
1930
 
1931
+ #: ../admin/settings.php:255
1932
  msgid "GD Library"
1933
  msgstr ""
1934
 
1935
+ #: ../admin/settings.php:256
1936
  msgid "ImageMagick (Experimental). Path to the library :"
1937
  msgstr ""
1938
 
1939
+ #: ../admin/settings.php:261
1940
  msgid "Activate Media RSS feed"
1941
  msgstr ""
1942
 
1943
+ #: ../admin/settings.php:263
1944
  msgid "A RSS feed will be added to you blog header. Useful for CoolIris/PicLens"
1945
  msgstr ""
1946
 
1947
+ #: ../admin/settings.php:266
1948
  msgid "Activate PicLens/CoolIris support"
1949
  msgstr ""
1950
 
1951
+ #: ../admin/settings.php:268
1952
  msgid "When you activate this option, some javascript is added to your site footer. Make sure that wp_footer is called in your theme."
1953
  msgstr ""
1954
 
1955
+ #: ../admin/settings.php:271
1956
  msgid "Tags / Categories"
1957
  msgstr ""
1958
 
1959
+ #: ../admin/settings.php:274
1960
  msgid "Activate related images"
1961
  msgstr ""
1962
 
1963
+ #: ../admin/settings.php:276
1964
  msgid "This option will append related images to every post"
1965
  msgstr ""
1966
 
1967
+ #: ../admin/settings.php:280
1968
  msgid "Match with"
1969
  msgstr ""
1970
 
1971
+ #: ../admin/settings.php:281
1972
  msgid "Categories"
1973
  msgstr ""
1974
 
1975
+ #: ../admin/settings.php:286
1976
  msgid "Max. number of images"
1977
  msgstr ""
1978
 
1979
+ #: ../admin/settings.php:288
1980
  msgid "0 will show all images"
1981
  msgstr ""
1982
 
1983
+ #: ../admin/settings.php:292
1984
+ #: ../admin/settings.php:323
1985
+ #: ../admin/settings.php:370
1986
+ #: ../admin/settings.php:455
1987
+ #: ../admin/settings.php:490
1988
+ #: ../admin/settings.php:751
1989
  msgid "More settings"
1990
  msgstr ""
1991
 
1992
+ #: ../admin/settings.php:302
1993
  msgid "Thumbnail settings"
1994
  msgstr ""
1995
 
1996
+ #: ../admin/settings.php:306
1997
  msgid "Please note : If you change the settings, you need to recreate the thumbnails under -> Manage Gallery ."
1998
  msgstr ""
1999
 
2000
+ #: ../admin/settings.php:319
2001
  msgid "Thumbnail quality"
2002
  msgstr ""
2003
 
2004
+ #: ../admin/settings.php:333
2005
  msgid "Image settings"
2006
  msgstr ""
2007
 
2008
+ #: ../admin/settings.php:339
2009
  msgid "Resize Images"
2010
  msgstr ""
2011
 
2012
+ #: ../admin/settings.php:344
2013
  msgid "Image quality"
2014
  msgstr ""
2015
 
2016
+ #: ../admin/settings.php:348
2017
  msgid "Backup original images"
2018
  msgstr ""
2019
 
2020
+ #: ../admin/settings.php:350
2021
  msgid "Creates a backup for inserted images"
2022
  msgstr ""
2023
 
2024
+ #: ../admin/settings.php:353
2025
  msgid "Automatically resize"
2026
  msgstr ""
2027
 
2028
+ #: ../admin/settings.php:355
2029
  msgid "Automatically resize images on upload."
2030
  msgstr ""
2031
 
2032
+ #: ../admin/settings.php:358
2033
  msgid "Single picture"
2034
  msgstr ""
2035
 
2036
+ #: ../admin/settings.php:361
2037
  msgid "Cache single pictures"
2038
  msgstr ""
2039
 
2040
+ #: ../admin/settings.php:363
2041
  msgid "Creates a file for each singlepic settings. Reduce the CPU load"
2042
  msgstr ""
2043
 
2044
+ #: ../admin/settings.php:366
2045
  msgid "Clear cache folder"
2046
  msgstr ""
2047
 
2048
+ #: ../admin/settings.php:387
 
 
 
 
2049
  msgid "Deactivate gallery page link"
2050
  msgstr ""
2051
 
2052
+ #: ../admin/settings.php:389
2053
  msgid "The album will not link to a gallery subpage. The gallery is shown on the same page."
2054
  msgstr ""
2055
 
2056
+ #: ../admin/settings.php:393
2057
  msgid "Number of images per page"
2058
  msgstr ""
2059
 
2060
+ #: ../admin/settings.php:395
2061
  msgid "0 will disable pagination, all images on one page"
2062
  msgstr ""
2063
 
2064
+ #: ../admin/settings.php:399
2065
  msgid "Number of columns"
2066
  msgstr ""
2067
 
2068
+ #: ../admin/settings.php:401
2069
  msgid "0 will display as much as possible based on the width of your theme. Setting normally only required for captions below the images"
2070
  msgstr ""
2071
 
2072
+ #: ../admin/settings.php:405
2073
  msgid "Integrate slideshow"
2074
  msgstr ""
2075
 
2076
+ #: ../admin/settings.php:412
2077
  msgid "Show first"
2078
  msgstr ""
2079
 
2080
+ #: ../admin/settings.php:418
2081
  msgid "Show ImageBrowser"
2082
  msgstr ""
2083
 
2084
+ #: ../admin/settings.php:420
2085
  msgid "The gallery will open the ImageBrowser instead the effect."
2086
  msgstr ""
2087
 
2088
+ #: ../admin/settings.php:424
2089
  msgid "Add hidden images"
2090
  msgstr ""
2091
 
2092
+ #: ../admin/settings.php:426
2093
+ msgid "If pagination is used, this option will still show all images in the modal window (Thickbox, Lightbox etc.). Note : This increases the page load"
2094
  msgstr ""
2095
 
2096
+ #: ../admin/settings.php:430
2097
  msgid "Enable AJAX pagination"
2098
  msgstr ""
2099
 
2100
+ #: ../admin/settings.php:432
2101
+ msgid "Browse images without reload the page. Note : Works only in combination with Shutter effect"
2102
  msgstr ""
2103
 
2104
+ #: ../admin/settings.php:436
2105
  msgid "Sort options"
2106
  msgstr ""
2107
 
2108
+ #: ../admin/settings.php:439
2109
  msgid "Sort thumbnails"
2110
  msgstr ""
2111
 
2112
+ #: ../admin/settings.php:441
2113
  msgid "Custom order"
2114
  msgstr ""
2115
 
2116
+ #: ../admin/settings.php:443
2117
  msgid "File name"
2118
  msgstr ""
2119
 
2120
+ #: ../admin/settings.php:444
2121
  msgid "Alt / Title text"
2122
  msgstr ""
2123
 
2124
+ #: ../admin/settings.php:445
2125
  msgid "Date / Time"
2126
  msgstr ""
2127
 
2128
+ #: ../admin/settings.php:449
2129
  msgid "Sort direction"
2130
  msgstr ""
2131
 
2132
+ #: ../admin/settings.php:469
2133
  msgid "Here you can select the thumbnail effect, NextGEN Gallery will integrate the required HTML code in the images. Please note that only the Shutter and Thickbox effect will automatic added to your theme."
2134
  msgstr ""
2135
 
2136
+ #: ../admin/settings.php:470
2137
  msgid "With the placeholder"
2138
  msgstr ""
2139
 
2140
+ #: ../admin/settings.php:470
2141
  msgid "you can activate a navigation through the images (depend on the effect). Change the code line only , when you use a different thumbnail effect or you know what you do."
2142
  msgstr ""
2143
 
2144
+ #: ../admin/settings.php:473
2145
  msgid "JavaScript Thumbnail effect"
2146
  msgstr ""
2147
 
2148
+ #: ../admin/settings.php:477
 
 
 
 
2149
  msgid "Thickbox"
2150
  msgstr ""
2151
 
2152
+ #: ../admin/settings.php:478
2153
  msgid "Lightbox"
2154
  msgstr ""
2155
 
2156
+ #: ../admin/settings.php:479
2157
  msgid "Highslide"
2158
  msgstr ""
2159
 
2160
+ #: ../admin/settings.php:480
2161
  msgid "Shutter"
2162
  msgstr ""
2163
 
2164
+ #: ../admin/settings.php:481
2165
  msgid "Custom"
2166
  msgstr ""
2167
 
2168
+ #: ../admin/settings.php:486
2169
  msgid "Link Code line"
2170
  msgstr ""
2171
 
2172
+ #: ../admin/settings.php:508
2173
  msgid "Please note : You can only activate the watermark under -> Manage Gallery . This action cannot be undone."
2174
  msgstr ""
2175
 
2176
+ #: ../admin/settings.php:513
2177
  msgid "Preview"
2178
  msgstr ""
2179
 
2180
+ #: ../admin/settings.php:515
2181
+ #: ../admin/settings.php:520
2182
  msgid "Position"
2183
  msgstr ""
2184
 
2185
+ #: ../admin/settings.php:540
2186
  msgid "Offset"
2187
  msgstr ""
2188
 
2189
+ #: ../admin/settings.php:556
2190
  msgid "Use image as watermark"
2191
  msgstr ""
2192
 
2193
+ #: ../admin/settings.php:559
2194
  msgid "URL to file"
2195
  msgstr ""
2196
 
2197
+ #: ../admin/settings.php:561
2198
  msgid "The accessing of URL files is disabled at your server (allow_url_fopen)"
2199
  msgstr ""
2200
 
2201
+ #: ../admin/settings.php:564
2202
  msgid "Use text as watermark"
2203
  msgstr ""
2204
 
2205
+ #: ../admin/settings.php:567
2206
  msgid "Font"
2207
  msgstr ""
2208
 
2209
+ #: ../admin/settings.php:576
2210
  msgid "This function will not work, cause you need the FreeType library"
2211
  msgstr ""
2212
 
2213
+ #: ../admin/settings.php:578
2214
  msgid "You can upload more fonts in the folder <strong>nggallery/fonts</strong>"
2215
  msgstr ""
2216
 
2217
+ #: ../admin/settings.php:583
2218
  msgid "Size"
2219
  msgstr ""
2220
 
2221
+ #: ../admin/settings.php:587
2222
  msgid "Color"
2223
  msgstr ""
2224
 
2225
+ #: ../admin/settings.php:589
2226
  msgid "(hex w/o #)"
2227
  msgstr ""
2228
 
2229
+ #: ../admin/settings.php:592
2230
  msgid "Text"
2231
  msgstr ""
2232
 
2233
+ #: ../admin/settings.php:596
2234
  msgid "Opaque"
2235
  msgstr ""
2236
 
2237
+ #: ../admin/settings.php:617
2238
  msgid "Default size (W x H)"
2239
  msgstr ""
2240
 
2241
+ #: ../admin/settings.php:622
2242
  msgid "Duration time"
2243
  msgstr ""
2244
 
2245
+ #: ../admin/settings.php:623
2246
  msgid "sec."
2247
  msgstr ""
2248
 
2249
+ #: ../admin/settings.php:626
2250
+ #: ../admin/settings.php:701
2251
  msgid "Transition / Fade effect"
2252
  msgstr ""
2253
 
2254
+ #: ../admin/settings.php:629
2255
+ #: ../admin/settings.php:704
2256
  msgid "fade"
2257
  msgstr ""
2258
 
2259
+ #: ../admin/settings.php:630
2260
  msgid "blindX"
2261
  msgstr ""
2262
 
2263
+ #: ../admin/settings.php:631
2264
  msgid "cover"
2265
  msgstr ""
2266
 
2267
+ #: ../admin/settings.php:632
2268
  msgid "scrollUp"
2269
  msgstr ""
2270
 
2271
+ #: ../admin/settings.php:633
2272
  msgid "scrollDown"
2273
  msgstr ""
2274
 
2275
+ #: ../admin/settings.php:634
2276
  msgid "shuffle"
2277
  msgstr ""
2278
 
2279
+ #: ../admin/settings.php:635
2280
  msgid "toss"
2281
  msgstr ""
2282
 
2283
+ #: ../admin/settings.php:636
2284
  msgid "wipe"
2285
  msgstr ""
2286
 
2287
+ #: ../admin/settings.php:638
2288
  msgid "See here for more information about the effects :"
2289
  msgstr ""
2290
 
2291
+ #: ../admin/settings.php:642
2292
  msgid "Settings for the JW Image Rotator"
2293
  msgstr ""
2294
 
2295
+ #: ../admin/settings.php:643
2296
  msgid "The settings are only used in the JW Image Rotator Version"
2297
  msgstr ""
2298
 
2299
+ #: ../admin/settings.php:644
2300
  msgid "See more information for the Flash Player on the web page"
2301
  msgstr ""
2302
 
2303
+ #: ../admin/settings.php:649
2304
  msgid "The path to imagerotator.swf is not defined, the slideshow will not work."
2305
  msgstr ""
2306
 
2307
+ #: ../admin/settings.php:650
2308
  msgid "If you would like to use the JW Image Rotatator, please download the player <a href=\"http://www.longtailvideo.com/players/jw-image-rotator/\" target=\"_blank\" >here</a> and upload it to your Upload folder (Default is wp-content/uploads)."
2309
  msgstr ""
2310
 
2311
+ #: ../admin/settings.php:656
2312
  msgid "Enable flash slideshow"
2313
  msgstr ""
2314
 
2315
+ #: ../admin/settings.php:658
2316
+ msgid "Integrate the flash based slideshow for all flash supported devices"
2317
  msgstr ""
2318
 
2319
+ #: ../admin/settings.php:661
2320
  msgid "Path to the Imagerotator (URL)"
2321
  msgstr ""
2322
 
2323
+ #: ../admin/settings.php:664
2324
  msgid "Search now"
2325
  msgstr ""
2326
 
2327
+ #: ../admin/settings.php:665
2328
+ msgid "Press the button to search automatically for the imagerotator, if you uploaded it to wp-content/uploads or a subfolder"
2329
  msgstr ""
2330
 
2331
+ #: ../admin/settings.php:669
2332
  msgid "Shuffle mode"
2333
  msgstr ""
2334
 
2335
+ #: ../admin/settings.php:673
2336
  msgid "Show next image on click"
2337
  msgstr ""
2338
 
2339
+ #: ../admin/settings.php:677
2340
  msgid "Show navigation bar"
2341
  msgstr ""
2342
 
2343
+ #: ../admin/settings.php:681
2344
  msgid "Show loading icon"
2345
  msgstr ""
2346
 
2347
+ #: ../admin/settings.php:685
2348
  msgid "Use watermark logo"
2349
  msgstr ""
2350
 
2351
+ #: ../admin/settings.php:687
2352
  msgid "You can change the logo at the watermark settings"
2353
  msgstr ""
2354
 
2355
+ #: ../admin/settings.php:690
2356
  msgid "Stretch image"
2357
  msgstr ""
2358
 
2359
+ #: ../admin/settings.php:693
2360
  msgid "true"
2361
  msgstr ""
2362
 
2363
+ #: ../admin/settings.php:694
2364
  msgid "false"
2365
  msgstr ""
2366
 
2367
+ #: ../admin/settings.php:695
2368
  msgid "fit"
2369
  msgstr ""
2370
 
2371
+ #: ../admin/settings.php:696
2372
  msgid "none"
2373
  msgstr ""
2374
 
2375
+ #: ../admin/settings.php:705
2376
  msgid "bgfade"
2377
  msgstr ""
2378
 
2379
+ #: ../admin/settings.php:706
2380
  msgid "slowfade"
2381
  msgstr ""
2382
 
2383
+ #: ../admin/settings.php:707
2384
  msgid "circles"
2385
  msgstr ""
2386
 
2387
+ #: ../admin/settings.php:708
2388
  msgid "bubbles"
2389
  msgstr ""
2390
 
2391
+ #: ../admin/settings.php:709
2392
  msgid "blocks"
2393
  msgstr ""
2394
 
2395
+ #: ../admin/settings.php:710
2396
  msgid "fluids"
2397
  msgstr ""
2398
 
2399
+ #: ../admin/settings.php:711
2400
  msgid "flash"
2401
  msgstr ""
2402
 
2403
+ #: ../admin/settings.php:712
2404
  msgid "lines"
2405
  msgstr ""
2406
 
2407
+ #: ../admin/settings.php:713
2408
  msgid "random"
2409
  msgstr ""
2410
 
2411
+ #: ../admin/settings.php:718
2412
  msgid "Use slow zooming effect"
2413
  msgstr ""
2414
 
2415
+ #: ../admin/settings.php:722
2416
  msgid "Background Color"
2417
  msgstr ""
2418
 
2419
+ #: ../admin/settings.php:727
2420
  msgid "Texts / Buttons Color"
2421
  msgstr ""
2422
 
2423
+ #: ../admin/settings.php:732
2424
  msgid "Rollover / Active Color"
2425
  msgstr ""
2426
 
2427
+ #: ../admin/settings.php:737
2428
  msgid "Screen Color"
2429
  msgstr ""
2430
 
2431
+ #: ../admin/settings.php:742
2432
  msgid "Background music (URL)"
2433
  msgstr ""
2434
 
2435
+ #: ../admin/settings.php:746
2436
  msgid "Try XHTML validation (with CDATA)"
2437
  msgstr ""
2438
 
2439
+ #: ../admin/settings.php:748
2440
  msgid "Important : Could causes problem at some browser. Please recheck your page."
2441
  msgstr ""
2442
 
2702
  msgid "Slug(s) to set:"
2703
  msgstr ""
2704
 
2705
+ #: ../admin/upgrade.php:22
2706
  msgid "Upgrade database structure..."
2707
  msgstr ""
2708
 
2709
+ #: ../admin/upgrade.php:108
 
2710
  #: ../admin/upgrade.php:122
2711
+ #: ../admin/upgrade.php:129
2712
+ #: ../admin/upgrade.php:140
2713
+ #: ../admin/upgrade.php:154
2714
  msgid "finished"
2715
  msgstr ""
2716
 
2717
+ #: ../admin/upgrade.php:120
2718
  msgid "Update file structure..."
2719
  msgstr ""
2720
 
2721
+ #: ../admin/upgrade.php:127
2722
  msgid "Import date and time information..."
2723
  msgstr ""
2724
 
2725
+ #: ../admin/upgrade.php:135
2726
  msgid "Move imagerotator to new location..."
2727
  msgstr ""
2728
 
2729
+ #: ../admin/upgrade.php:146
2730
  msgid "Update settings..."
2731
  msgstr ""
2732
 
2733
+ #: ../admin/upgrade.php:160
2734
  msgid "Updated widget structure. If you used NextGEN Widgets, you need to setup them again..."
2735
  msgstr ""
2736
 
2737
+ #: ../admin/upgrade.php:168
2738
  msgid "Updated options."
2739
  msgstr ""
2740
 
2741
+ #: ../admin/upgrade.php:175
2742
+ msgid "Create unique slug"
2743
+ msgstr ""
2744
+
2745
+ #: ../admin/upgrade.php:176
2746
+ msgid "One of the upcomming features are a reworked permalinks structure."
2747
+ msgstr ""
2748
+
2749
+ #: ../admin/upgrade.php:177
2750
+ msgid "Therefore it's needed to have a unique identifier for each image, gallery and album."
2751
+ msgstr ""
2752
+
2753
+ #: ../admin/upgrade.php:178
2754
+ msgid "Depend on the amount of database entries this will take a while, don't reload this page."
2755
+ msgstr ""
2756
+
2757
+ #: ../admin/upgrade.php:187
2758
  msgid "Could not find NextGEN Gallery database tables, upgrade failed !"
2759
  msgstr ""
2760
 
2761
+ #: ../admin/upgrade.php:250
2762
  msgid "Some folders/files could not renamed, please recheck the permission and rescan the folder in the manage gallery section."
2763
  msgstr ""
2764
 
2765
+ #: ../admin/upgrade.php:252
2766
  msgid "Rename failed"
2767
  msgstr ""
2768
 
2769
+ #: ../admin/upgrade.php:348
2770
+ #: ../admin/upgrade.php:367
2771
  msgid "Upgrade NextGEN Gallery"
2772
  msgstr ""
2773
 
2774
+ #: ../admin/upgrade.php:349
2775
  msgid "The script detect that you upgrade from a older version."
2776
  msgstr ""
2777
 
2778
+ #: ../admin/upgrade.php:350
2779
  msgid "Your database tables for NextGEN Gallery is out-of-date, and must be upgraded before you can continue."
2780
  msgstr ""
2781
 
2782
+ #: ../admin/upgrade.php:351
2783
  msgid "If you would like to downgrade later, please make first a complete backup of your database and the images."
2784
  msgstr ""
2785
 
2786
+ #: ../admin/upgrade.php:352
2787
  msgid "The upgrade process may take a while, so please be patient."
2788
  msgstr ""
2789
 
2790
+ #: ../admin/upgrade.php:353
2791
  msgid "Start upgrade now"
2792
  msgstr ""
2793
 
2794
+ #: ../admin/upgrade.php:369
2795
  msgid "Upgrade finished..."
2796
  msgstr ""
2797
 
2798
+ #: ../admin/upgrade.php:370
2799
  msgid "Continue"
2800
  msgstr ""
2801
 
2802
+ #: ../admin/upgrade.php:397
2803
+ #, php-format
2804
+ msgid "Rebuild image structure : %s / %s images"
2805
+ msgstr ""
2806
+
2807
+ #: ../admin/upgrade.php:398
2808
+ #, php-format
2809
+ msgid "Rebuild gallery structure : %s / %s galleries"
2810
+ msgstr ""
2811
+
2812
+ #: ../admin/upgrade.php:399
2813
+ #, php-format
2814
+ msgid "Rebuild album structure : %s / %s albums"
2815
+ msgstr ""
2816
+
2817
+ #: ../admin/upgrade.php:456
2818
+ msgid "Done."
2819
+ msgstr ""
2820
+
2821
+ #: ../admin/wpmu.php:33
2822
  msgid "Update successfully"
2823
  msgstr ""
2824
 
2825
+ #: ../admin/wpmu.php:45
2826
+ #, php-format
2827
+ msgid "Thanks for using this plugin, NextGEN Gallery is initially developed for self hosted blogs. A multisite setup is possible, but cannot currently fully supported, as it can have several special condition ( i.e. Domain mapping).<br /> If you would like to support the further development, please consider a <strong><a href=\"%s\">donation</a></strong>! If you still need some help, please post your questions <a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\">here</a> ."
2828
+ msgstr ""
2829
+
2830
+ #: ../admin/wpmu.php:62
2831
+ msgid "Network Options"
2832
  msgstr ""
2833
 
2834
+ #: ../admin/wpmu.php:70
2835
+ msgid "This is the default path for all blogs. With the placeholder %BLOG_ID% you can organize the folder structure better."
2836
+ msgstr ""
2837
+
2838
+ #: ../admin/wpmu.php:71
2839
+ #, php-format
2840
+ msgid "The default setting should be %s"
2841
  msgstr ""
2842
 
2843
+ #: ../admin/wpmu.php:75
2844
  msgid "Enable upload quota check"
2845
  msgstr ""
2846
 
2847
+ #: ../admin/wpmu.php:77
2848
  msgid "Should work if the gallery is bellow the blog.dir"
2849
  msgstr ""
2850
 
2851
+ #: ../admin/wpmu.php:81
2852
  msgid "Enable zip upload option"
2853
  msgstr ""
2854
 
2855
+ #: ../admin/wpmu.php:83
2856
  msgid "Allow users to upload zip folders."
2857
  msgstr ""
2858
 
2859
+ #: ../admin/wpmu.php:87
2860
+ msgid "Enable import function"
2861
+ msgstr ""
2862
+
2863
+ #: ../admin/wpmu.php:89
2864
+ msgid "Allow users to import images folders from the server."
2865
+ msgstr ""
2866
+
2867
+ #: ../admin/wpmu.php:93
2868
  msgid "Enable style selection"
2869
  msgstr ""
2870
 
2871
+ #: ../admin/wpmu.php:95
2872
  msgid "Allow users to choose a style for the gallery."
2873
  msgstr ""
2874
 
2875
+ #: ../admin/wpmu.php:99
2876
  msgid "Enable roles/capabilities"
2877
  msgstr ""
2878
 
2879
+ #: ../admin/wpmu.php:101
2880
  msgid "Allow users to change the roles for other blog authors."
2881
  msgstr ""
2882
 
2883
+ #: ../admin/wpmu.php:105
2884
  msgid "Default style"
2885
  msgstr ""
2886
 
2887
+ #: ../admin/wpmu.php:122
2888
  msgid "Choose the default style for the galleries."
2889
  msgstr ""
2890
 
2891
+ #: ../admin/tinymce/window.php:56
2892
+ msgid "Select or enter gallery"
2893
  msgstr ""
2894
 
2895
+ #: ../admin/tinymce/window.php:61
2896
+ #: ../admin/tinymce/window.php:82
2897
  msgid "Show as"
2898
  msgstr ""
2899
 
2900
+ #: ../admin/tinymce/window.php:62
2901
  msgid "Image list"
2902
  msgstr ""
2903
 
2904
+ #: ../admin/tinymce/window.php:64
2905
  msgid "Imagebrowser"
2906
  msgstr ""
2907
 
2908
+ #: ../admin/tinymce/window.php:77
2909
+ msgid "Select or enter album"
2910
  msgstr ""
2911
 
2912
+ #: ../admin/tinymce/window.php:83
2913
  msgid "Extended version"
2914
  msgstr ""
2915
 
2916
+ #: ../admin/tinymce/window.php:84
2917
  msgid "Compact version"
2918
  msgstr ""
2919
 
2920
  #: ../admin/tinymce/window.php:97
2921
+ msgid "Select or enter picture"
2922
  msgstr ""
2923
 
2924
+ #: ../admin/tinymce/window.php:102
2925
  msgid "Width x Height"
2926
  msgstr ""
2927
 
2928
+ #: ../admin/tinymce/window.php:106
2929
  msgid "Effect"
2930
  msgstr ""
2931
 
2932
+ #: ../admin/tinymce/window.php:109
2933
  msgid "No effect"
2934
  msgstr ""
2935
 
2936
+ #: ../admin/tinymce/window.php:111
2937
  msgid "Web 2.0"
2938
  msgstr ""
2939
 
2940
+ #: ../admin/tinymce/window.php:116
2941
  msgid "Float"
2942
  msgstr ""
2943
 
2944
+ #: ../admin/tinymce/window.php:119
2945
  msgid "No float"
2946
  msgstr ""
2947
 
2948
+ #: ../admin/tinymce/window.php:138
 
 
 
 
 
 
 
 
 
 
 
 
2949
  msgid "Insert"
2950
  msgstr ""
2951
 
2979
  msgid "Not fired"
2980
  msgstr ""
2981
 
2982
+ #: ../lib/meta.php:426
2983
  msgid "Aperture"
2984
  msgstr ""
2985
 
2986
+ #: ../lib/meta.php:427
2987
+ #: ../lib/meta.php:452
2988
  msgid "Credit"
2989
  msgstr ""
2990
 
2991
+ #: ../lib/meta.php:428
2992
  msgid "Camera"
2993
  msgstr ""
2994
 
2995
+ #: ../lib/meta.php:429
2996
  msgid "Caption"
2997
  msgstr ""
2998
 
2999
+ #: ../lib/meta.php:431
3000
  msgid "Copyright"
3001
  msgstr ""
3002
 
3003
+ #: ../lib/meta.php:432
3004
  msgid "Focal length"
3005
  msgstr ""
3006
 
3007
+ #: ../lib/meta.php:433
3008
  msgid "ISO"
3009
  msgstr ""
3010
 
3011
+ #: ../lib/meta.php:434
3012
  msgid "Shutter speed"
3013
  msgstr ""
3014
 
3015
+ #: ../lib/meta.php:438
3016
  msgid "Subject"
3017
  msgstr ""
3018
 
3019
+ #: ../lib/meta.php:439
3020
  msgid "Make"
3021
  msgstr ""
3022
 
3023
+ #: ../lib/meta.php:440
3024
  msgid "Edit Status"
3025
  msgstr ""
3026
 
3027
+ #: ../lib/meta.php:441
3028
  msgid "Category"
3029
  msgstr ""
3030
 
3031
+ #: ../lib/meta.php:442
3032
  msgid "Keywords"
3033
  msgstr ""
3034
 
3035
+ #: ../lib/meta.php:443
3036
  msgid "Date Created"
3037
  msgstr ""
3038
 
3039
+ #: ../lib/meta.php:444
3040
  msgid "Time Created"
3041
  msgstr ""
3042
 
3043
+ #: ../lib/meta.php:445
3044
  msgid "Author Position"
3045
  msgstr ""
3046
 
3047
+ #: ../lib/meta.php:446
3048
  msgid "City"
3049
  msgstr ""
3050
 
3051
+ #: ../lib/meta.php:447
3052
  msgid "Location"
3053
  msgstr ""
3054
 
3055
+ #: ../lib/meta.php:448
3056
  msgid "Province/State"
3057
  msgstr ""
3058
 
3059
+ #: ../lib/meta.php:449
3060
  msgid "Country code"
3061
  msgstr ""
3062
 
3063
+ #: ../lib/meta.php:450
3064
  msgid "Country"
3065
  msgstr ""
3066
 
3067
+ #: ../lib/meta.php:451
3068
  msgid "Headline"
3069
  msgstr ""
3070
 
3071
+ #: ../lib/meta.php:453
3072
  msgid "Source"
3073
  msgstr ""
3074
 
3075
+ #: ../lib/meta.php:454
3076
  msgid "Copyright Notice"
3077
  msgstr ""
3078
 
3079
+ #: ../lib/meta.php:455
3080
  msgid "Contact"
3081
  msgstr ""
3082
 
3083
+ #: ../lib/meta.php:456
3084
  msgid "Last modified"
3085
  msgstr ""
3086
 
3087
+ #: ../lib/meta.php:457
3088
  msgid "Program tool"
3089
  msgstr ""
3090
 
3091
+ #: ../lib/meta.php:458
3092
  msgid "Format"
3093
  msgstr ""
3094
 
3095
+ #: ../lib/meta.php:459
3096
  msgid "Image Width"
3097
  msgstr ""
3098
 
3099
+ #: ../lib/meta.php:460
3100
  msgid "Image Height"
3101
  msgstr ""
3102
 
3103
+ #: ../lib/meta.php:461
3104
  msgid "Flash"
3105
  msgstr ""
3106
 
3108
  msgid "Sorry, you have used your space allocation. Please delete some files to upload more files."
3109
  msgstr ""
3110
 
3111
+ #: ../lib/ngg-db.php:330
3112
+ #: ../lib/ngg-db.php:331
3113
  msgid "Album overview"
3114
  msgstr ""
3115
 
3185
  msgid "%s slug(s) edited."
3186
  msgstr ""
3187
 
3188
+ #: ../lib/xmlrpc.php:64
3189
  #, php-format
3190
  msgid "XML-RPC services are disabled on this blog. An admin user can enable them at %s"
3191
  msgstr ""
3192
 
3193
+ #: ../lib/xmlrpc.php:71
3194
  msgid "Bad login/pass combination."
3195
  msgstr ""
3196
 
3197
+ #: ../lib/xmlrpc.php:127
3198
  msgid "You are not allowed to upload files to this site."
3199
  msgstr ""
3200
 
3201
+ #: ../lib/xmlrpc.php:133
3202
+ #: ../lib/xmlrpc.php:580
3203
  msgid "Could not find gallery "
3204
  msgstr ""
3205
 
3206
+ #: ../lib/xmlrpc.php:138
3207
+ #: ../lib/xmlrpc.php:585
3208
  msgid "You are not allowed to upload files to this gallery."
3209
  msgstr ""
3210
 
3211
+ #: ../lib/xmlrpc.php:150
3212
  msgid "This is no valid image file."
3213
  msgstr ""
3214
 
3215
+ #: ../lib/xmlrpc.php:162
3216
  msgid "Could not find image id "
3217
  msgstr ""
3218
 
3219
+ #: ../lib/xmlrpc.php:169
3220
  #, php-format
3221
  msgid "Failed to delete image %1$s "
3222
  msgstr ""
3223
 
3224
+ #: ../lib/xmlrpc.php:178
3225
  #, php-format
3226
  msgid "Could not write file %1$s (%2$s)"
3227
  msgstr ""
3228
 
3229
+ #: ../lib/xmlrpc.php:246
3230
+ #: ../lib/xmlrpc.php:476
3231
+ #: ../lib/xmlrpc.php:542
3232
+ msgid "Sorry, you must be able to manage galleries"
3233
  msgstr ""
3234
 
3235
+ #: ../lib/xmlrpc.php:252
3236
  msgid "Sorry, could not create the gallery"
3237
  msgstr ""
3238
 
3239
+ #: ../lib/xmlrpc.php:295
3240
+ #: ../lib/xmlrpc.php:473
3241
+ msgid "Invalid gallery ID"
3242
+ msgstr ""
3243
+
3244
+ #: ../lib/xmlrpc.php:298
3245
+ msgid "Sorry, you must be able to manage this gallery"
3246
+ msgstr ""
3247
+
3248
+ #: ../lib/xmlrpc.php:304
3249
+ msgid "Sorry, could not update the gallery"
3250
+ msgstr ""
3251
+
3252
+ #: ../lib/xmlrpc.php:344
3253
+ #: ../lib/xmlrpc.php:396
3254
+ #: ../lib/xmlrpc.php:438
3255
+ #: ../lib/xmlrpc.php:509
3256
+ msgid "Sorry, you must be able to manage albums"
3257
+ msgstr ""
3258
+
3259
+ #: ../lib/xmlrpc.php:350
3260
+ msgid "Sorry, could not create the album"
3261
+ msgstr ""
3262
+
3263
+ #: ../lib/xmlrpc.php:393
3264
+ #: ../lib/xmlrpc.php:435
3265
+ msgid "Invalid album ID"
3266
+ msgstr ""
3267
+
3268
+ #: ../lib/xmlrpc.php:402
3269
+ msgid "Sorry, could not update the album"
3270
+ msgstr ""
3271
+
3272
  #: ../view/album-compact.php:32
3273
  #: ../view/album-extend.php:30
3274
  msgid "Photos"
lib/gd.thumbnail.inc.php CHANGED
@@ -624,6 +624,10 @@ class ngg_Thumbnail {
624
  $this->errmsg = 'Create Image failed. Check safe mode settings';
625
  return false;
626
  }
 
 
 
 
627
  return true;
628
  }
629
 
@@ -940,4 +944,4 @@ class ngg_Thumbnail {
940
  return true;
941
  }
942
  }
943
- ?>
624
  $this->errmsg = 'Create Image failed. Check safe mode settings';
625
  return false;
626
  }
627
+
628
+ if( function_exists('do_action') )
629
+ do_action('ngg_ajax_image_save', $name);
630
+
631
  return true;
632
  }
633
 
944
  return true;
945
  }
946
  }
947
+ ?>
lib/image.php CHANGED
@@ -72,6 +72,7 @@ class nggImage{
72
  $this->imageHTML = $this->get_href_link();
73
  $this->thumbHTML = $this->get_href_thumb_link();
74
 
 
75
  wp_cache_add($this->pid, $this, 'ngg_image');
76
 
77
  // Get tags only if necessary
72
  $this->imageHTML = $this->get_href_link();
73
  $this->thumbHTML = $this->get_href_thumb_link();
74
 
75
+ do_action_ref_array('ngg_get_image', array(&$this));
76
  wp_cache_add($this->pid, $this, 'ngg_image');
77
 
78
  // Get tags only if necessary
lib/imagemagick.inc.php CHANGED
@@ -564,6 +564,10 @@ var $imageMagickBefore;
564
  //$this->errmsg = 'Create Image failed. Check safe mode settings';
565
  return false;
566
  }
 
 
 
 
567
  return true;
568
  }
569
 
@@ -591,4 +595,4 @@ var $imageMagickBefore;
591
  }
592
  }
593
  }
594
- ?>
564
  //$this->errmsg = 'Create Image failed. Check safe mode settings';
565
  return false;
566
  }
567
+
568
+ if( function_exists('do_action') )
569
+ do_action('ngg_ajax_image_save', $name);
570
+
571
  return true;
572
  }
573
 
595
  }
596
  }
597
  }
598
+ ?>
lib/media-rss.php CHANGED
@@ -119,9 +119,9 @@ class nggMediaRss {
119
  function get_mrss_root_node($title, $description, $link, $prev_link, $next_link, $images) {
120
 
121
  if ($prev_link != '' || $next_link != '')
122
- $out = "<rss version='2.0' xmlns:media='http://search.yahoo.com/mrss' xmlns:atom='http://www.w3.org/2005/Atom'>\n" ;
123
  else
124
- $out = "<rss version='2.0' xmlns:media='http://search.yahoo.com/mrss'>\n";
125
 
126
  $out .= "\t<channel>\n";
127
 
@@ -129,7 +129,9 @@ class nggMediaRss {
129
  $out .= nggMediaRss::get_title_mrss_node($title);
130
  $out .= nggMediaRss::get_description_mrss_node($description);
131
  $out .= nggMediaRss::get_link_mrss_node($link);
132
-
 
 
133
  if ($prev_link!='') {
134
  $out .= nggMediaRss::get_previous_link_mrss_node($prev_link);
135
  }
@@ -151,7 +153,7 @@ class nggMediaRss {
151
  * Get the XML <generator> node
152
  */
153
  function get_generator_mrss_node($indent = "\t\t") {
154
- return $indent . "<generator><![CDATA[NextGEN Gallery [http://alexrabe.boelinger.com]]]></generator>\n";
155
  }
156
 
157
  /**
@@ -174,6 +176,13 @@ class nggMediaRss {
174
  function get_link_mrss_node($link, $indent = "\t\t") {
175
  return $indent . "<link><![CDATA[" . htmlspecialchars($link) . "]]></link>\n";
176
  }
 
 
 
 
 
 
 
177
 
178
  /**
179
  * Get the XML <atom:link previous> node
@@ -212,7 +221,8 @@ class nggMediaRss {
212
  $out = $indent . "<item>\n";
213
  $out .= $indent . "\t<title><![CDATA[" . nggGallery::i18n($title) . "]]></title>\n";
214
  $out .= $indent . "\t<description><![CDATA[" . nggGallery::i18n($desc) . "]]></description>\n";
215
- $out .= $indent . "\t<link><![CDATA[" . $image->get_permalink() . "]]></link>\n";
 
216
  $out .= $indent . "\t<media:content url='" . esc_url($image->imageURL) . "' medium='image' />\n";
217
  $out .= $indent . "\t<media:title><![CDATA[" . nggGallery::i18n($title) . "]]></media:title>\n";
218
  $out .= $indent . "\t<media:description><![CDATA[" . nggGallery::i18n($desc) . "]]></media:description>\n";
119
  function get_mrss_root_node($title, $description, $link, $prev_link, $next_link, $images) {
120
 
121
  if ($prev_link != '' || $next_link != '')
122
+ $out = "<rss version='2.0' xmlns:media='http://search.yahoo.com/mrss/' xmlns:atom='http://www.w3.org/2005/Atom'>\n" ;
123
  else
124
+ $out = "<rss version='2.0' xmlns:media='http://search.yahoo.com/mrss/'>\n";
125
 
126
  $out .= "\t<channel>\n";
127
 
129
  $out .= nggMediaRss::get_title_mrss_node($title);
130
  $out .= nggMediaRss::get_description_mrss_node($description);
131
  $out .= nggMediaRss::get_link_mrss_node($link);
132
+
133
+ if ($prev_link != '' || $next_link != '')
134
+ $out .= nggMediaRss::get_self_node(nggMediaRss::get_mrss_url());
135
  if ($prev_link!='') {
136
  $out .= nggMediaRss::get_previous_link_mrss_node($prev_link);
137
  }
153
  * Get the XML <generator> node
154
  */
155
  function get_generator_mrss_node($indent = "\t\t") {
156
+ return $indent . "<generator><![CDATA[NextGEN Gallery [http://nextgen-gallery.com]]]></generator>\n";
157
  }
158
 
159
  /**
176
  function get_link_mrss_node($link, $indent = "\t\t") {
177
  return $indent . "<link><![CDATA[" . htmlspecialchars($link) . "]]></link>\n";
178
  }
179
+
180
+ /**
181
+ * Get the XML <atom:link self> node
182
+ */
183
+ function get_self_node($link, $indent = "\t\t") {
184
+ return $indent . "<atom:link rel='self' href='" . htmlspecialchars($link) . "' type='application/rss+xml' />\n";
185
+ }
186
 
187
  /**
188
  * Get the XML <atom:link previous> node
221
  $out = $indent . "<item>\n";
222
  $out .= $indent . "\t<title><![CDATA[" . nggGallery::i18n($title) . "]]></title>\n";
223
  $out .= $indent . "\t<description><![CDATA[" . nggGallery::i18n($desc) . "]]></description>\n";
224
+ $out .= $indent . "\t<link><![CDATA[" . $image->get_permalink() . "]]></link>\n";
225
+ $out .= $indent . "\t<guid>image-id:" . $image->pid . "</guid>\n";
226
  $out .= $indent . "\t<media:content url='" . esc_url($image->imageURL) . "' medium='image' />\n";
227
  $out .= $indent . "\t<media:title><![CDATA[" . nggGallery::i18n($title) . "]]></media:title>\n";
228
  $out .= $indent . "\t<media:description><![CDATA[" . nggGallery::i18n($desc) . "]]></media:description>\n";
lib/meta.php CHANGED
@@ -323,20 +323,24 @@ class nggMeta{
323
  if ($list_element == false)
324
  array_pop($stack);
325
  $list_element = true;
326
- // save it in our temp array
327
- $list_array[] = $val['value'];
 
 
328
  // in the case it's a list element we seralize it
329
  $value = implode(",", $list_array);
330
  $this->setArrayValue($xmlarray, $stack, $value);
331
  } else {
332
  array_push($stack, $val['tag']);
333
- $this->setArrayValue($xmlarray, $stack, $val['value']);
 
 
334
  array_pop($stack);
335
  }
336
  }
337
 
338
  } // foreach
339
-
340
  // cut off the useless tags
341
  $xmlarray = $xmlarray['x:xmpmeta']['rdf:RDF']['rdf:Description'];
342
 
@@ -381,8 +385,7 @@ class nggMeta{
381
  function setArrayValue(&$array, $stack, $value) {
382
  if ($stack) {
383
  $key = array_shift($stack);
384
- //TODO:Review this, reports sometimes a error "Fatal error: Only variables can be passed by reference" (PHP 5.2.6)
385
- $this->setArrayValue($array[$key], $stack, $value);
386
  return $array;
387
  } else {
388
  $array = $value;
323
  if ($list_element == false)
324
  array_pop($stack);
325
  $list_element = true;
326
+ // do not parse empty tags
327
+ if ( empty($val['value']) ) continue;
328
+ // save it in our temp array
329
+ $list_array[] = $val['value'];
330
  // in the case it's a list element we seralize it
331
  $value = implode(",", $list_array);
332
  $this->setArrayValue($xmlarray, $stack, $value);
333
  } else {
334
  array_push($stack, $val['tag']);
335
+ // do not parse empty tags
336
+ if ( !empty($val['value']) )
337
+ $this->setArrayValue($xmlarray, $stack, $val['value']);
338
  array_pop($stack);
339
  }
340
  }
341
 
342
  } // foreach
343
+
344
  // cut off the useless tags
345
  $xmlarray = $xmlarray['x:xmpmeta']['rdf:RDF']['rdf:Description'];
346
 
385
  function setArrayValue(&$array, $stack, $value) {
386
  if ($stack) {
387
  $key = array_shift($stack);
388
+ $this->setArrayValue($array[$key], $stack, $value);
 
389
  return $array;
390
  } else {
391
  $array = $value;
lib/ngg-db.php CHANGED
@@ -4,7 +4,7 @@ if ( !class_exists('nggdb') ) :
4
  * NextGEN Gallery Database Class
5
  *
6
  * @author Alex Rabe, Vincent Prat
7
- * @copyright 2008-2009
8
  * @since 1.0.0
9
  */
10
  class nggdb {
@@ -79,18 +79,21 @@ class nggdb {
79
  }
80
 
81
  /**
82
- * Get all the album nad unserialize the content
83
  *
84
  * @since 1.3.0
85
  * @param string $order_by
86
  * @param string $order_dir
 
 
87
  * @return array $album
88
  */
89
- function find_all_album( $order_by = 'id', $order_dir = 'ASC') {
90
  global $wpdb;
91
 
92
  $order_dir = ( $order_dir == 'DESC') ? 'DESC' : 'ASC';
93
- $this->albums = $wpdb->get_results("SELECT * FROM $wpdb->nggalbum ORDER BY {$order_by} {$order_dir}" , OBJECT_K );
 
94
 
95
  if ( !$this->albums )
96
  return array();
@@ -207,14 +210,16 @@ class nggdb {
207
  * @param bool $exclude
208
  * @param int $limit number of paged galleries, 0 shows all galleries
209
  * @param int $start the start index for paged galleries
 
210
  * @return An array containing the nggImage objects representing the images in the gallery.
211
  */
212
- function get_gallery($id, $order_by = 'sortorder', $order_dir = 'ASC', $exclude = true, $limit = 0, $start = 0) {
213
 
214
  global $wpdb;
215
 
216
  // init the gallery as empty array
217
  $gallery = array();
 
218
 
219
  // Check for the exclude setting
220
  $exclude_clause = ($exclude) ? ' AND tt.exclude<>1 ' : '';
@@ -243,8 +248,12 @@ class nggdb {
243
  if ($result) {
244
 
245
  // Now added all image data
246
- foreach ($result as $key => $value)
 
 
 
247
  $gallery[$key] = new nggImage( $value );
 
248
  }
249
 
250
  // Could not add to cache, the structure is different to find_gallery() cache_add, need rework
@@ -374,7 +383,7 @@ class nggdb {
374
  }
375
 
376
  /**
377
- * nggdb::update_image() - Insert an image in the database
378
  *
379
  * @param int $pid id of the image
380
  * @param (optional) string|int $galleryid
@@ -383,7 +392,7 @@ class nggdb {
383
  * @param (optional) string $alttext
384
  * @param (optional) int $exclude (0 or 1)
385
  * @param (optional) int $sortorder
386
- * @return bool result of the ID of the inserted image
387
  */
388
  function update_image($pid, $galleryid = false, $filename = false, $description = false, $alttext = false, $exclude = false, $sortorder = false) {
389
 
@@ -392,7 +401,11 @@ class nggdb {
392
  $sql = array();
393
  $pid = (int) $pid;
394
 
 
 
 
395
  $update = array(
 
396
  'galleryid' => $galleryid,
397
  'filename' => $filename,
398
  'description' => $description,
@@ -415,6 +428,101 @@ class nggdb {
415
 
416
  return $result;
417
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
418
 
419
  /**
420
  * Get an image given its ID
@@ -492,22 +600,84 @@ class nggdb {
492
 
493
  if ( is_array($meta_data) )
494
  $meta_data = serialize($meta_data);
 
 
 
495
 
496
  // Add the image
497
- if ( false === $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->nggpictures (galleryid, filename, description, alttext, meta_data, post_id, imagedate, exclude, sortorder)
498
- VALUES (%d, %s, %s, %s, %s, %d, %s, %d, %d)", $id, $filename, $description, $alttext, $meta_data, $post_id, $imagedate, $exclude, $sortorder ) ) ) {
499
  return false;
500
  }
501
 
502
  $imageID = (int) $wpdb->insert_id;
503
 
504
  // Remove from cache the galley, needs to be rebuild now
505
- wp_cache_delete( $id, 'ngg_gallery');
506
- //and give me the new id
507
-
508
  return $imageID;
509
  }
510
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
511
  /**
512
  * Delete an image entry from the database
513
  * @param integer $id is the Image ID
@@ -530,9 +700,9 @@ class nggdb {
530
  /**
531
  * Get the last images registered in the database with a maximum number of $limit results
532
  *
533
- * @param integer $page
534
- * @param integer $limit
535
- * @param bool $use_exclude
536
  * @param int $galleryId Only look for images with this gallery id, or in all galleries if id is 0
537
  * @param string $orderby is one of "id" (default, order by pid), "date" (order by exif date), sort (order by user sort order)
538
  * @return
@@ -543,6 +713,9 @@ class nggdb {
543
  // Check for the exclude setting
544
  $exclude_clause = ($exclude) ? ' AND exclude<>1 ' : '';
545
 
 
 
 
546
  $offset = (int) $page * $limit;
547
 
548
  $galleryId = (int) $galleryId;
@@ -657,9 +830,10 @@ class nggdb {
657
  *
658
  * @since 1.3.0
659
  * @param string $request
 
660
  * @return Array Result of the request
661
  */
662
- function search_for_images( $request ) {
663
  global $wpdb;
664
 
665
  // If a search pattern is specified, load the posts that match
@@ -687,10 +861,13 @@ class nggdb {
687
 
688
  if ( !empty($search) )
689
  $search = " AND ({$search}) ";
690
- }
691
-
 
 
 
692
  // build the final query
693
- $query = "SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE 1=1 $search ORDER BY tt.pid ASC ";
694
  $result = $wpdb->get_results($query);
695
 
696
  // Return the object from the query result
@@ -704,6 +881,102 @@ class nggdb {
704
  return null;
705
  }
706
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
707
  /**
708
  * search for a filename
709
  *
@@ -766,6 +1039,52 @@ class nggdb {
766
  return $result;
767
  }
768
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
769
  }
770
  endif;
771
 
4
  * NextGEN Gallery Database Class
5
  *
6
  * @author Alex Rabe, Vincent Prat
7
+ * @copyright 2008-2010
8
  * @since 1.0.0
9
  */
10
  class nggdb {
79
  }
80
 
81
  /**
82
+ * Get all the album and unserialize the content
83
  *
84
  * @since 1.3.0
85
  * @param string $order_by
86
  * @param string $order_dir
87
+ * @param int $limit number of albums, 0 shows all albums
88
+ * @param int $start the start index for paged albums
89
  * @return array $album
90
  */
91
+ function find_all_album( $order_by = 'id', $order_dir = 'ASC', $limit = 0, $start = 0) {
92
  global $wpdb;
93
 
94
  $order_dir = ( $order_dir == 'DESC') ? 'DESC' : 'ASC';
95
+ $limit_by = ( $limit > 0 ) ? 'LIMIT ' . intval($start) . ',' . intval($limit) : '';
96
+ $this->albums = $wpdb->get_results("SELECT * FROM $wpdb->nggalbum ORDER BY {$order_by} {$order_dir} {$limit_by}" , OBJECT_K );
97
 
98
  if ( !$this->albums )
99
  return array();
210
  * @param bool $exclude
211
  * @param int $limit number of paged galleries, 0 shows all galleries
212
  * @param int $start the start index for paged galleries
213
+ * @param bool $json remove the key for associative array in json request
214
  * @return An array containing the nggImage objects representing the images in the gallery.
215
  */
216
+ function get_gallery($id, $order_by = 'sortorder', $order_dir = 'ASC', $exclude = true, $limit = 0, $start = 0, $json = false) {
217
 
218
  global $wpdb;
219
 
220
  // init the gallery as empty array
221
  $gallery = array();
222
+ $i = 0;
223
 
224
  // Check for the exclude setting
225
  $exclude_clause = ($exclude) ? ' AND tt.exclude<>1 ' : '';
248
  if ($result) {
249
 
250
  // Now added all image data
251
+ foreach ($result as $key => $value) {
252
+ // due to a browser bug we need to remove the key for associative array for json request
253
+ // (see http://code.google.com/p/chromium/issues/detail?id=883)
254
+ if ($json) $key = $i++;
255
  $gallery[$key] = new nggImage( $value );
256
+ }
257
  }
258
 
259
  // Could not add to cache, the structure is different to find_gallery() cache_add, need rework
383
  }
384
 
385
  /**
386
+ * nggdb::update_image() - Update an image in the database
387
  *
388
  * @param int $pid id of the image
389
  * @param (optional) string|int $galleryid
392
  * @param (optional) string $alttext
393
  * @param (optional) int $exclude (0 or 1)
394
  * @param (optional) int $sortorder
395
+ * @return bool result of update query
396
  */
397
  function update_image($pid, $galleryid = false, $filename = false, $description = false, $alttext = false, $exclude = false, $sortorder = false) {
398
 
401
  $sql = array();
402
  $pid = (int) $pid;
403
 
404
+ // slug must be unique, we use the alttext for that
405
+ $slug = nggdb::get_unique_slug( sanitize_title( $alttext ), 'image' );
406
+
407
  $update = array(
408
+ 'image_slug' => $slug,
409
  'galleryid' => $galleryid,
410
  'filename' => $filename,
411
  'description' => $description,
428
 
429
  return $result;
430
  }
431
+
432
+ /**
433
+ * nggdb::update_gallery() - Update an gallery in the database
434
+ *
435
+ * @since V1.7.0
436
+ * @param int $id id of the gallery
437
+ * @param (optional) string $title or name of the gallery
438
+ * @param (optional) string $path
439
+ * @param (optional) string $description
440
+ * @param (optional) int $pageid
441
+ * @param (optional) int $previewpic
442
+ * @param (optional) int $author
443
+ * @return bool result of update query
444
+ */
445
+ function update_gallery($id, $name = false, $path = false, $title = false, $description = false, $pageid = false, $previewpic = false, $author = false) {
446
+
447
+ global $wpdb;
448
+
449
+ $sql = array();
450
+ $id = (int) $id;
451
+
452
+ // slug must be unique, we use the title for that
453
+ $slug = nggdb::get_unique_slug( sanitize_title( $title ), 'gallery' );
454
+
455
+ $update = array(
456
+ 'name' => $name,
457
+ 'slug' => $slug,
458
+ 'path' => $path,
459
+ 'title' => $title,
460
+ 'galdesc' => $description,
461
+ 'pageid' => $pageid,
462
+ 'previewpic' => $previewpic,
463
+ 'author' => $author);
464
+
465
+ // create the sql parameter "name = value"
466
+ foreach ($update as $key => $value)
467
+ if ($value)
468
+ $sql[] = $key . " = '" . $value . "'";
469
+
470
+ // create the final string
471
+ $sql = implode(', ', $sql);
472
+
473
+ if ( !empty($sql) && $id != 0)
474
+ $result = $wpdb->query( "UPDATE $wpdb->nggallery SET $sql WHERE gid = $id" );
475
+
476
+ wp_cache_delete($id, 'ngg_gallery');
477
+
478
+ return $result;
479
+ }
480
+
481
+ /**
482
+ * nggdb::update_album() - Update an album in the database
483
+ *
484
+ * @since V1.7.0
485
+ * @param int $ id id of the album
486
+ * @param (optional) string $title
487
+ * @param (optional) int $previewpic
488
+ * @param (optional) string $description
489
+ * @param (optional) serialized array $sortorder
490
+ * @param (optional) int $pageid
491
+ * @return bool result of update query
492
+ */
493
+ function update_album($id, $name = false, $previewpic = false, $description = false, $sortorder = false, $pageid = false ) {
494
+
495
+ global $wpdb;
496
+
497
+ $sql = array();
498
+ $id = (int) $id;
499
+
500
+ // slug must be unique, we use the title for that
501
+ $slug = nggdb::get_unique_slug( sanitize_title( $name ), 'album' );
502
+
503
+ $update = array(
504
+ 'name' => $name,
505
+ 'slug' => $slug,
506
+ 'previewpic' => $previewpic,
507
+ 'albumdesc' => $description,
508
+ 'sortorder' => $sortorder,
509
+ 'pageid' => $pageid);
510
+
511
+ // create the sql parameter "name = value"
512
+ foreach ($update as $key => $value)
513
+ if ($value)
514
+ $sql[] = $key . " = '" . $value . "'";
515
+
516
+ // create the final string
517
+ $sql = implode(', ', $sql);
518
+
519
+ if ( !empty($sql) && $id != 0)
520
+ $result = $wpdb->query( "UPDATE $wpdb->nggalbum SET $sql WHERE id = $id" );
521
+
522
+ wp_cache_delete($id, 'ngg_album');
523
+
524
+ return $result;
525
+ }
526
 
527
  /**
528
  * Get an image given its ID
600
 
601
  if ( is_array($meta_data) )
602
  $meta_data = serialize($meta_data);
603
+
604
+ // slug must be unique, we use the alttext for that
605
+ $slug = nggdb::get_unique_slug( sanitize_title( $alttext ), 'image' );
606
 
607
  // Add the image
608
+ if ( false === $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->nggpictures (slug, galleryid, filename, description, alttext, meta_data, post_id, imagedate, exclude, sortorder)
609
+ VALUES (%d, %d, %s, %s, %s, %s, %d, %s, %d, %d)", $slug, $id, $filename, $description, $alttext, $meta_data, $post_id, $imagedate, $exclude, $sortorder ) ) ) {
610
  return false;
611
  }
612
 
613
  $imageID = (int) $wpdb->insert_id;
614
 
615
  // Remove from cache the galley, needs to be rebuild now
616
+ wp_cache_delete( $id, 'ngg_gallery');
617
+
618
+ //and give me the new id
619
  return $imageID;
620
  }
621
 
622
+ /**
623
+ * Add an album to the database
624
+ *
625
+ * @since V1.7.0
626
+ * @param (optional) string $title
627
+ * @param (optional) int $previewpic
628
+ * @param (optional) string $description
629
+ * @param (optional) serialized array $sortorder
630
+ * @param (optional) int $pageid
631
+ * @return bool result of the ID of the inserted album
632
+ */
633
+ function add_album( $name = false, $previewpic = 0, $description = '', $sortorder = 0, $pageid = 0 ) {
634
+ global $wpdb;
635
+
636
+ // name must be unique, we use the title for that
637
+ $slug = nggdb::get_unique_slug( sanitize_title( $name ), 'album' );
638
+
639
+ // Add the album
640
+ if ( false === $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->nggalbum (name, slug, previewpic, albumdesc, sortorder, pageid)
641
+ VALUES (%s, %s, %d, %s, %s, %d)", $name, $slug, $previewpic, $description, $sortorder, $pageid ) ) ) {
642
+ return false;
643
+ }
644
+
645
+ $albumID = (int) $wpdb->insert_id;
646
+
647
+ //and give me the new id
648
+ return $albumID;
649
+ }
650
+
651
+ /**
652
+ * Add an gallery to the database
653
+ *
654
+ * @since V1.7.0
655
+ * @param (optional) string $title or name of the gallery
656
+ * @param (optional) string $path
657
+ * @param (optional) string $description
658
+ * @param (optional) int $pageid
659
+ * @param (optional) int $previewpic
660
+ * @param (optional) int $author
661
+ * @return bool result of the ID of the inserted gallery
662
+ */
663
+ function add_gallery( $title = '', $path = '', $description = '', $pageid = 0, $previewpic = 0, $author = 0 ) {
664
+ global $wpdb;
665
+
666
+ // slug must be unique, we use the title for that
667
+ $slug = nggdb::get_unique_slug( sanitize_title( $title ), 'gallery' );
668
+
669
+ // Note : The field 'name' is deprecated, it's currently kept only for compat reason with older shortcodes, we copy the slug into this field
670
+ if ( false === $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->nggallery (name, slug, path, title, galdesc, pageid, previewpic, author)
671
+ VALUES (%s, %s, %s, %s, %s, %d, %d, %d)", $slug, $slug, $path, $title, $description, $pageid, $previewpic, $author ) ) ) {
672
+ return false;
673
+ }
674
+
675
+ $galleryID = (int) $wpdb->insert_id;
676
+
677
+ //and give me the new id
678
+ return $galleryID;
679
+ }
680
+
681
  /**
682
  * Delete an image entry from the database
683
  * @param integer $id is the Image ID
700
  /**
701
  * Get the last images registered in the database with a maximum number of $limit results
702
  *
703
+ * @param integer $page start offset as page number (0,1,2,3,4...)
704
+ * @param integer $limit the number of result
705
+ * @param bool $exclude do not show exluded images
706
  * @param int $galleryId Only look for images with this gallery id, or in all galleries if id is 0
707
  * @param string $orderby is one of "id" (default, order by pid), "date" (order by exif date), sort (order by user sort order)
708
  * @return
713
  // Check for the exclude setting
714
  $exclude_clause = ($exclude) ? ' AND exclude<>1 ' : '';
715
 
716
+ // a limit of 0 makes no sense
717
+ $limit = ($limit == 0) ? 30 : $limit;
718
+ // calculate the offset based on the pagr number
719
  $offset = (int) $page * $limit;
720
 
721
  $galleryId = (int) $galleryId;
830
  *
831
  * @since 1.3.0
832
  * @param string $request
833
+ * @param int $limit number of results, 0 shows all results
834
  * @return Array Result of the request
835
  */
836
+ function search_for_images( $request, $limit = 0 ) {
837
  global $wpdb;
838
 
839
  // If a search pattern is specified, load the posts that match
861
 
862
  if ( !empty($search) )
863
  $search = " AND ({$search}) ";
864
+
865
+ $limit = ( $limit > 0 ) ? 'LIMIT ' . intval($limit) : '';
866
+ } else
867
+ return false;
868
+
869
  // build the final query
870
+ $query = "SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE 1=1 $search ORDER BY tt.pid ASC $limit";
871
  $result = $wpdb->get_results($query);
872
 
873
  // Return the object from the query result
881
  return null;
882
  }
883
 
884
+ /**
885
+ * search for galleries and return the result
886
+ *
887
+ * @since 1.7.0
888
+ * @param string $request
889
+ * @param int $limit number of results, 0 shows all results
890
+ * @return Array Result of the request
891
+ */
892
+ function search_for_galleries( $request, $limit = 0 ) {
893
+ global $wpdb;
894
+
895
+ // If a search pattern is specified, load the posts that match
896
+ if ( !empty($request) ) {
897
+ // added slashes screw with quote grouping when done early, so done later
898
+ $request = stripslashes($request);
899
+
900
+ // split the words it a array if seperated by a space or comma
901
+ preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $request, $matches);
902
+ $search_terms = array_map(create_function('$a', 'return trim($a, "\\"\'\\n\\r ");'), $matches[0]);
903
+
904
+ $n = '%';
905
+ $searchand = '';
906
+ $search = '';
907
+
908
+ foreach( (array) $search_terms as $term) {
909
+ $term = addslashes_gpc($term);
910
+ $search .= "{$searchand}((title LIKE '{$n}{$term}{$n}') OR (name LIKE '{$n}{$term}{$n}') )";
911
+ $searchand = ' AND ';
912
+ }
913
+
914
+ $term = $wpdb->escape($request);
915
+ if (count($search_terms) > 1 && $search_terms[0] != $request )
916
+ $search .= " OR (title LIKE '{$n}{$term}{$n}') OR (name LIKE '{$n}{$term}{$n}')";
917
+
918
+ if ( !empty($search) )
919
+ $search = " AND ({$search}) ";
920
+
921
+ $limit = ( $limit > 0 ) ? 'LIMIT ' . intval($limit) : '';
922
+ } else
923
+ return false;
924
+
925
+ // build the final query
926
+ $query = "SELECT * FROM $wpdb->nggallery WHERE 1=1 $search ORDER BY title ASC $limit";
927
+ $result = $wpdb->get_results($query);
928
+
929
+ return $result;
930
+ }
931
+
932
+ /**
933
+ * search for albums and return the result
934
+ *
935
+ * @since 1.7.0
936
+ * @param string $request
937
+ * @param int $limit number of results, 0 shows all results
938
+ * @return Array Result of the request
939
+ */
940
+ function search_for_albums( $request, $limit = 0 ) {
941
+ global $wpdb;
942
+
943
+ // If a search pattern is specified, load the posts that match
944
+ if ( !empty($request) ) {
945
+ // added slashes screw with quote grouping when done early, so done later
946
+ $request = stripslashes($request);
947
+
948
+ // split the words it a array if seperated by a space or comma
949
+ preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $request, $matches);
950
+ $search_terms = array_map(create_function('$a', 'return trim($a, "\\"\'\\n\\r ");'), $matches[0]);
951
+
952
+ $n = '%';
953
+ $searchand = '';
954
+ $search = '';
955
+
956
+ foreach( (array) $search_terms as $term) {
957
+ $term = addslashes_gpc($term);
958
+ $search .= "{$searchand}(name LIKE '{$n}{$term}{$n}')";
959
+ $searchand = ' AND ';
960
+ }
961
+
962
+ $term = $wpdb->escape($request);
963
+ if (count($search_terms) > 1 && $search_terms[0] != $request )
964
+ $search .= " OR (name LIKE '{$n}{$term}{$n}')";
965
+
966
+ if ( !empty($search) )
967
+ $search = " AND ({$search}) ";
968
+
969
+ $limit = ( $limit > 0 ) ? 'LIMIT ' . intval($limit) : '';
970
+ } else
971
+ return false;
972
+
973
+ // build the final query
974
+ $query = "SELECT * FROM $wpdb->nggalbum WHERE 1=1 $search ORDER BY name ASC $limit";
975
+ $result = $wpdb->get_results($query);
976
+
977
+ return $result;
978
+ }
979
+
980
  /**
981
  * search for a filename
982
  *
1039
  return $result;
1040
  }
1041
 
1042
+ /**
1043
+ * Computes a unique slug for the gallery,album or image, when given the desired slug.
1044
+ *
1045
+ * @since 1.7.0
1046
+ * @author taken from WP Core includes/post.php
1047
+ * @param string $slug the desired slug (post_name)
1048
+ * @param string $type ('image', 'album' or 'gallery')
1049
+ * @return string unique slug for the object, based on $slug (with a -1, -2, etc. suffix)
1050
+ */
1051
+ function get_unique_slug( $slug, $type ) {
1052
+
1053
+ global $wpdb;
1054
+
1055
+ switch ($type) {
1056
+ case 'image':
1057
+ $check_sql = "SELECT image_slug FROM $wpdb->nggpictures WHERE image_slug = %s LIMIT 1";
1058
+ break;
1059
+ case 'album':
1060
+ $check_sql = "SELECT slug FROM $wpdb->nggalbum WHERE slug = %s LIMIT 1";
1061
+ break;
1062
+ case 'gallery':
1063
+ $check_sql = "SELECT slug FROM $wpdb->nggallery WHERE slug = %s LIMIT 1";
1064
+ break;
1065
+ default:
1066
+ return false;
1067
+ }
1068
+
1069
+ //if you didn't give us a nem we take the type
1070
+ $slug = empty($slug) ? $type: $slug;
1071
+
1072
+ // Slugs must be unique across all objects.
1073
+ $slug_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $slug ) );
1074
+
1075
+ if ( $slug_check ) {
1076
+ $suffix = 2;
1077
+ do {
1078
+ $alt_name = substr ($slug, 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix";
1079
+ $slug_check = $wpdb->get_var( $wpdb->prepare($check_sql, $alt_name ) );
1080
+ $suffix++;
1081
+ } while ( $slug_check );
1082
+ $slug = $alt_name;
1083
+ }
1084
+
1085
+ return $slug;
1086
+ }
1087
+
1088
  }
1089
  endif;
1090
 
lib/post-thumbnail.php CHANGED
@@ -116,7 +116,7 @@ class nggPostThumbnail {
116
 
117
  // if we didn't use a cached image then we take the on-the-fly mode
118
  if ($img_src == false)
119
- $img_src = site_url() . '/' . 'index.php?callback=image&amp;pid=' . $image->pid . '&amp;width=' . $width . '&amp;height=' . $height . '&amp;mode=crop';
120
 
121
  } else {
122
  $img_src = $image->thumbURL;
@@ -195,7 +195,7 @@ class nggPostThumbnail {
195
 
196
  // if we didn't use a cached image then we take the on-the-fly mode
197
  if ( $img_src == false )
198
- $img_src = site_url() . '/' . 'index.php?callback=image&amp;pid=' . $image->pid . '&amp;width=' . $width . '&amp;height=' . $height . '&amp;mode=crop';
199
 
200
  $thumbnail_html = '<img width="266" src="'. $img_src . '" alt="'.$image->alttext.'" title="'.$image->alttext.'" />';
201
 
116
 
117
  // if we didn't use a cached image then we take the on-the-fly mode
118
  if ($img_src == false)
119
+ $img_src = home_url() . '/' . 'index.php?callback=image&amp;pid=' . $image->pid . '&amp;width=' . $width . '&amp;height=' . $height . '&amp;mode=crop';
120
 
121
  } else {
122
  $img_src = $image->thumbURL;
195
 
196
  // if we didn't use a cached image then we take the on-the-fly mode
197
  if ( $img_src == false )
198
+ $img_src = home_url() . '/' . 'index.php?callback=image&amp;pid=' . $image->pid . '&amp;width=' . $width . '&amp;height=' . $height . '&amp;mode=crop';
199
 
200
  $thumbnail_html = '<img width="266" src="'. $img_src . '" alt="'.$image->alttext.'" title="'.$image->alttext.'" />';
201
 
lib/xmlrpc.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @package NextGEN Gallery
6
  * @author Alex Rabe
7
- * @copyright 2009
8
  */
9
  class nggXMLRPC{
10
 
@@ -20,11 +20,20 @@ class nggXMLRPC{
20
  function add_methods($methods) {
21
 
22
  $methods['ngg.installed'] = array(&$this, 'nggInstalled');
 
23
  $methods['ngg.uploadImage'] = array(&$this, 'uploadImage');
24
- $methods['ngg.getGalleries'] = array(&$this, 'getGalleries');
25
  $methods['ngg.getImages'] = array(&$this, 'getImages');
 
 
26
  $methods['ngg.newGallery'] = array(&$this, 'newGallery');
27
-
 
 
 
 
 
 
 
28
  return $methods;
29
  }
30
 
@@ -219,21 +228,22 @@ class nggXMLRPC{
219
  */
220
  function newGallery($args) {
221
 
222
- global $ngg, $wpdb;
223
 
224
  require_once ( dirname ( dirname( __FILE__ ) ). '/admin/functions.php' ); // admin functions
225
-
 
226
  $blog_ID = (int) $args[0];
227
- $username = $wpdb->escape($args[1]);
228
- $password = $wpdb->escape($args[2]);
229
- $name = $wpdb->escape($args[3]);
230
  $id = false;
231
 
232
  if ( !$user = $this->login($username, $password) )
233
  return $this->error;
234
 
235
  if( !current_user_can( 'NextGEN Manage gallery' ) )
236
- return new IXR_Error( 401, __( 'Sorry, you must be able to manage galleries to view the list of galleries' ) );
237
 
238
  if ( !empty( $name ) )
239
  $id = nggAdmin::create_gallery($name, $ngg->options['gallerypath'], false);
@@ -245,6 +255,265 @@ class nggXMLRPC{
245
 
246
  }
247
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
248
  /**
249
  * Method "ngg.getGalleries"
250
  * Return the list of all galleries
@@ -259,17 +528,18 @@ class nggXMLRPC{
259
  */
260
  function getGalleries($args) {
261
 
262
- global $nggdb, $wpdb;
263
 
 
264
  $blog_ID = (int) $args[0];
265
- $username = $wpdb->escape($args[1]);
266
- $password = $wpdb->escape($args[2]);
267
 
268
  if ( !$user = $this->login($username, $password) )
269
  return $this->error;
270
 
271
  if( !current_user_can( 'NextGEN Manage gallery' ) )
272
- return new IXR_Error( 401, __( 'Sorry, you must be able to manage galleries to view the list of galleries' ) );
273
 
274
  $gallery_list = $nggdb->find_all_galleries('gid', 'asc', true, 0, 0, false);
275
 
@@ -292,13 +562,14 @@ class nggXMLRPC{
292
  */
293
  function getImages($args) {
294
 
295
- global $nggdb, $wpdb;
296
 
297
  require_once ( dirname ( dirname( __FILE__ ) ). '/admin/functions.php' ); // admin functions
298
-
 
299
  $blog_ID = (int) $args[0];
300
- $username = $wpdb->escape($args[1]);
301
- $password = $wpdb->escape($args[2]);
302
  $gid = (int) $args[3];
303
 
304
  if ( !$user = $this->login($username, $password) )
@@ -322,6 +593,34 @@ class nggXMLRPC{
322
 
323
  }
324
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
325
  /**
326
  * PHP5 style destructor and will run when database object is destroyed.
327
  *
4
  *
5
  * @package NextGEN Gallery
6
  * @author Alex Rabe
7
+ * @copyright 2009-2010
8
  */
9
  class nggXMLRPC{
10
 
20
  function add_methods($methods) {
21
 
22
  $methods['ngg.installed'] = array(&$this, 'nggInstalled');
23
+ // Image methods
24
  $methods['ngg.uploadImage'] = array(&$this, 'uploadImage');
 
25
  $methods['ngg.getImages'] = array(&$this, 'getImages');
26
+ // Gallery methods
27
+ $methods['ngg.getGalleries'] = array(&$this, 'getGalleries');
28
  $methods['ngg.newGallery'] = array(&$this, 'newGallery');
29
+ $methods['ngg.editGallery'] = array(&$this, 'editGallery');
30
+ $methods['ngg.deleteGallery'] = array(&$this, 'deleteGallery');
31
+ // Album methods
32
+ $methods['ngg.getAlbums'] = array(&$this, 'getAlbums');
33
+ $methods['ngg.newAlbum'] = array(&$this, 'newAlbum');
34
+ $methods['ngg.editAlbum'] = array(&$this, 'editAlbum');
35
+ $methods['ngg.deleteAlbum'] = array(&$this, 'deleteAlbum');
36
+
37
  return $methods;
38
  }
39
 
228
  */
229
  function newGallery($args) {
230
 
231
+ global $ngg;
232
 
233
  require_once ( dirname ( dirname( __FILE__ ) ). '/admin/functions.php' ); // admin functions
234
+
235
+ $this->escape($args);
236
  $blog_ID = (int) $args[0];
237
+ $username = $args[1];
238
+ $password = $args[2];
239
+ $name = $args[3];
240
  $id = false;
241
 
242
  if ( !$user = $this->login($username, $password) )
243
  return $this->error;
244
 
245
  if( !current_user_can( 'NextGEN Manage gallery' ) )
246
+ return new IXR_Error( 401, __( 'Sorry, you must be able to manage galleries' ) );
247
 
248
  if ( !empty( $name ) )
249
  $id = nggAdmin::create_gallery($name, $ngg->options['gallerypath'], false);
255
 
256
  }
257
 
258
+ /**
259
+ * Method "ngg.editGallery"
260
+ * Edit a existing gallery
261
+ *
262
+ * @since 1.7.0
263
+ *
264
+ * @param array $args Method parameters.
265
+ * - int blog_id
266
+ * - string username
267
+ * - string password
268
+ * - int gallery ID
269
+ * - string gallery name
270
+ * - string title
271
+ * - string description
272
+ * - int ID of the preview picture
273
+ * @return true if success
274
+ */
275
+ function editGallery($args) {
276
+
277
+ global $ngg;
278
+
279
+ require_once ( dirname ( dirname( __FILE__ ) ). '/admin/functions.php' ); // admin functions
280
+
281
+ $this->escape($args);
282
+ $blog_ID = (int) $args[0];
283
+ $username = $args[1];
284
+ $password = $args[2];
285
+ $id = (int) $args[3];
286
+ $name = $args[4];
287
+ $title = $args[5];
288
+ $description= $args[6];
289
+ $previewpic = (int) $args[7];
290
+
291
+ if ( !$user = $this->login($username, $password) )
292
+ return $this->error;
293
+
294
+ if ( !$gallery = nggdb::find_gallery($id) )
295
+ return(new IXR_Error(404, __("Invalid gallery ID")));
296
+
297
+ if ( !current_user_can( 'NextGEN Manage gallery' ) && !nggAdmin::can_manage_this_gallery($gallery->author) )
298
+ return new IXR_Error( 401, __( 'Sorry, you must be able to manage this gallery' ) );
299
+
300
+ if ( !empty( $name ) )
301
+ $result = nggdb::update_gallery($id, $name, false, $title, $description, false, $previewpic);
302
+
303
+ if ( !$result )
304
+ return new IXR_Error(500, __('Sorry, could not update the gallery'));
305
+
306
+ return true;
307
+
308
+ }
309
+
310
+ /**
311
+ * Method "ngg.newAlbum"
312
+ * Create a new album
313
+ *
314
+ * @since 1.7
315
+ *
316
+ * @param array $args Method parameters.
317
+ * - int blog_id
318
+ * - string username
319
+ * - string password
320
+ * - string new album name
321
+ * - int id of preview image
322
+ * - string description
323
+ * - string serialized array of galleries
324
+ * @return int with new album ID
325
+ */
326
+ function newAlbum($args) {
327
+
328
+ global $ngg;
329
+
330
+ $this->escape($args);
331
+ $blog_ID = (int) $args[0];
332
+ $username = $args[1];
333
+ $password = $args[2];
334
+ $name = $args[3];
335
+ $preview = (int) $args[4];
336
+ $description= $args[5];
337
+ $galleries = $args[6];
338
+ $id = false;
339
+
340
+ if ( !$user = $this->login($username, $password) )
341
+ return $this->error;
342
+
343
+ if( !current_user_can( 'NextGEN Edit album' ) || !nggGallery::current_user_can( 'NextGEN Add/Delete album' ) )
344
+ return new IXR_Error( 401, __( 'Sorry, you must be able to manage albums' ) );
345
+
346
+ if ( !empty( $name ) )
347
+ $id = $result = nggdb::add_album( $name, $preview, $description, $galleries );
348
+
349
+ if ( !$id )
350
+ return new IXR_Error(500, __('Sorry, could not create the album'));
351
+
352
+ return($id);
353
+
354
+ }
355
+
356
+ /**
357
+ * Method "ngg.editAlbum"
358
+ * Edit a existing Album
359
+ *
360
+ * @since 1.7.0
361
+ *
362
+ * @param array $args Method parameters.
363
+ * - int blog_id
364
+ * - string username
365
+ * - string password
366
+ * - int album ID
367
+ * - string album name
368
+ * - int id of preview image
369
+ * - string description
370
+ * - string serialized array of galleries
371
+ * @return true if success
372
+ */
373
+ function editAlbum($args) {
374
+
375
+ global $ngg;
376
+
377
+ require_once ( dirname ( dirname( __FILE__ ) ). '/admin/functions.php' ); // admin functions
378
+
379
+ $this->escape($args);
380
+ $blog_ID = (int) $args[0];
381
+ $username = $args[1];
382
+ $password = $args[2];
383
+ $id = (int) $args[3];
384
+ $name = $args[4];
385
+ $preview = (int) $args[5];
386
+ $description= $args[6];
387
+ $galleries = $args[7];
388
+
389
+ if ( !$user = $this->login($username, $password) )
390
+ return $this->error;
391
+
392
+ if ( !$album = nggdb::find_album($id) )
393
+ return(new IXR_Error(404, __("Invalid album ID")));
394
+
395
+ if( !current_user_can( 'NextGEN Edit album' ) )
396
+ return new IXR_Error( 401, __( 'Sorry, you must be able to manage albums' ) );
397
+
398
+ if ( !empty( $name ) )
399
+ $result = nggdb::update_album($id, $name, $preview, $description, $description, $galleries);
400
+
401
+ if ( !$result )
402
+ return new IXR_Error(500, __('Sorry, could not update the album'));
403
+
404
+ return true;
405
+
406
+ }
407
+
408
+ /**
409
+ * Method "ngg.deleteAlbum"
410
+ * Delete a album from the database
411
+ *
412
+ * @since 1.7.0
413
+ *
414
+ * @param array $args Method parameters.
415
+ * - int blog_id
416
+ * - string username
417
+ * - string password
418
+ * - int album id
419
+ * @return true
420
+ */
421
+ function deleteAlbum($args) {
422
+
423
+ global $nggdb;
424
+
425
+ $this->escape($args);
426
+ $blog_ID = (int) $args[0];
427
+ $username = $args[1];
428
+ $password = $args[2];
429
+ $id = (int) $args[3];
430
+
431
+ if ( !$user = $this->login($username, $password) )
432
+ return $this->error;
433
+
434
+ if ( !$album = nggdb::find_album($id) )
435
+ return(new IXR_Error(404, __("Invalid album ID")));
436
+
437
+ if( !current_user_can( 'NextGEN Edit album' ) && !nggGallery::current_user_can( 'NextGEN Add/Delete album' ) )
438
+ return new IXR_Error( 401, __( 'Sorry, you must be able to manage albums' ) );
439
+
440
+ $nggdb->delete_album($id);
441
+
442
+ return true;
443
+
444
+ }
445
+
446
+ /**
447
+ * Method "ngg.deleteGallery"
448
+ * Delete a gallery from the database, including all images
449
+ *
450
+ * @since 1.7.0
451
+ *
452
+ * @param array $args Method parameters.
453
+ * - int blog_id
454
+ * - string username
455
+ * - string password
456
+ * - int gallery_id
457
+ * @return true
458
+ */
459
+ function deleteGallery($args) {
460
+
461
+ global $nggdb;
462
+
463
+ $this->escape($args);
464
+ $blog_ID = (int) $args[0];
465
+ $username = $args[1];
466
+ $password = $args[2];
467
+ $id = (int) $args[3];
468
+
469
+ if ( !$user = $this->login($username, $password) )
470
+ return $this->error;
471
+
472
+ if ( !$gallery = nggdb::find_gallery($id) )
473
+ return(new IXR_Error(404, __("Invalid gallery ID")));
474
+
475
+ if ( !current_user_can( 'NextGEN Manage gallery' ) && !nggAdmin::can_manage_this_gallery($gallery->author) )
476
+ return new IXR_Error( 401, __( 'Sorry, you must be able to manage galleries' ) );
477
+
478
+ $nggdb->delete_gallery($id);
479
+
480
+ return true;
481
+
482
+ }
483
+
484
+ /**
485
+ * Method "ngg.getAlbums"
486
+ * Return the list of all albums
487
+ *
488
+ * @since 1.7.0
489
+ *
490
+ * @param array $args Method parameters.
491
+ * - int blog_id
492
+ * - string username
493
+ * - string password
494
+ * @return array with all galleries
495
+ */
496
+ function getAlbums($args) {
497
+
498
+ global $nggdb;
499
+
500
+ $this->escape($args);
501
+ $blog_ID = (int) $args[0];
502
+ $username = $args[1];
503
+ $password = $args[2];
504
+
505
+ if ( !$user = $this->login($username, $password) )
506
+ return $this->error;
507
+
508
+ if( !current_user_can( 'NextGEN Edit album' ) )
509
+ return new IXR_Error( 401, __( 'Sorry, you must be able to manage albums' ) );
510
+
511
+ $album_list = $nggdb->find_all_album('id', 'ASC', 0, 0 );
512
+
513
+ return($album_list);
514
+
515
+ }
516
+
517
  /**
518
  * Method "ngg.getGalleries"
519
  * Return the list of all galleries
528
  */
529
  function getGalleries($args) {
530
 
531
+ global $nggdb;
532
 
533
+ $this->escape($args);
534
  $blog_ID = (int) $args[0];
535
+ $username = $args[1];
536
+ $password = $args[2];
537
 
538
  if ( !$user = $this->login($username, $password) )
539
  return $this->error;
540
 
541
  if( !current_user_can( 'NextGEN Manage gallery' ) )
542
+ return new IXR_Error( 401, __( 'Sorry, you must be able to manage galleries' ) );
543
 
544
  $gallery_list = $nggdb->find_all_galleries('gid', 'asc', true, 0, 0, false);
545
 
562
  */
563
  function getImages($args) {
564
 
565
+ global $nggdb;
566
 
567
  require_once ( dirname ( dirname( __FILE__ ) ). '/admin/functions.php' ); // admin functions
568
+
569
+ $this->escape($args);
570
  $blog_ID = (int) $args[0];
571
+ $username = $args[1];
572
+ $password = $args[2];
573
  $gid = (int) $args[3];
574
 
575
  if ( !$user = $this->login($username, $password) )
593
 
594
  }
595
 
596
+ /**
597
+ * Sanitize string or array of strings for database.
598
+ *
599
+ * @since 1.7.0
600
+ * @author WordPress Core
601
+ * @filesource inludes/class-wp-xmlrpc-server.php
602
+ *
603
+ * @param string|array $array Sanitize single string or array of strings.
604
+ * @return string|array Type matches $array and sanitized for the database.
605
+ */
606
+ function escape(&$array) {
607
+ global $wpdb;
608
+
609
+ if (!is_array($array)) {
610
+ return($wpdb->escape($array));
611
+ } else {
612
+ foreach ( (array) $array as $k => $v ) {
613
+ if ( is_array($v) ) {
614
+ $this->escape($array[$k]);
615
+ } else if ( is_object($v) ) {
616
+ //skip
617
+ } else {
618
+ $array[$k] = $wpdb->escape($v);
619
+ }
620
+ }
621
+ }
622
+ }
623
+
624
  /**
625
  * PHP5 style destructor and will run when database object is destroyed.
626
  *
nggallery.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: NextGEN Gallery
4
  Plugin URI: http://alexrabe.de/?page_id=80
5
  Description: A NextGENeration Photo gallery for the Web 2.0.
6
  Author: Alex Rabe
7
- Version: 1.6.2
8
 
9
  Author URI: http://alexrabe.de/
10
 
@@ -34,10 +34,9 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
34
  if (!class_exists('nggLoader')) {
35
  class nggLoader {
36
 
37
- var $version = '1.6.2';
38
- var $dbversion = '1.6.0';
39
  var $minium_WP = '3.0';
40
- var $updateURL = 'http://nextgen.boelinger.com/version.php';
41
  var $donators = 'http://nextgen.boelinger.com/donators.php';
42
  var $options = '';
43
  var $manage_page;
@@ -93,7 +92,7 @@ class nggLoader {
93
 
94
  // All credits to the tranlator
95
  $this->translator = '<p class="hint">'. __('<strong>Translation by : </strong><a target="_blank" href="http://alexrabe.de/wordpress-plugins/nextgen-gallery/languages/">See here</a>', 'nggallery') . '</p>';
96
- $this->translator .= '<p class="hint">'. __('<strong>This translation is not yet updated for Version 1.6.0</strong>. If you would like to help with translation, download the current po from the plugin folder and read <a href="http://alexrabe.de/wordpress-plugins/wordtube/translation-of-plugins/">here</a> how you can translate the plugin.', 'nggallery') . '</p>';
97
 
98
  // Check for upgrade
99
  $this->check_for_upgrade();
@@ -192,7 +191,7 @@ class nggLoader {
192
  'admin_notices',
193
  create_function(
194
  '',
195
- 'echo \'<div id="message" class="error"><p><strong>' . __('Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB higher', 'nggallery') . '</strong></p></div>\';'
196
  )
197
  );
198
  return false;
@@ -249,7 +248,6 @@ class nggLoader {
249
  define('NGGVERSION', $this->version);
250
  // Minimum required database version
251
  define('NGG_DBVERSION', $this->dbversion);
252
- define('NGGURL', $this->updateURL);
253
 
254
  // required for Windows & XAMPP
255
  define('WINABSPATH', str_replace("\\", "/", ABSPATH) );
@@ -258,7 +256,7 @@ class nggLoader {
258
  define('NGGFOLDER', plugin_basename( dirname(__FILE__)) );
259
 
260
  define('NGGALLERY_ABSPATH', trailingslashit( str_replace("\\","/", WP_PLUGIN_DIR . '/' . plugin_basename( dirname(__FILE__) ) ) ) );
261
- define('NGGALLERY_URLPATH', trailingslashit( WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) ) );
262
 
263
  // look for imagerotator
264
  define('NGGALLERY_IREXIST', !empty( $this->options['irURL'] ));
@@ -347,7 +345,7 @@ class nggLoader {
347
  wp_enqueue_script('swfobject', NGGALLERY_URLPATH .'admin/js/swfobject.js', FALSE, '2.2');
348
  else {
349
  wp_register_script('jquery-cycle', NGGALLERY_URLPATH .'js/jquery.cycle.all.min.js', array('jquery'), '2.88');
350
- wp_enqueue_script('ngg-slideshow', NGGALLERY_URLPATH .'js/ngg.slideshow.min.js', array('jquery-cycle'), '1.01');
351
 
352
  }
353
 
4
  Plugin URI: http://alexrabe.de/?page_id=80
5
  Description: A NextGENeration Photo gallery for the Web 2.0.
6
  Author: Alex Rabe
7
+ Version: 1.7.0
8
 
9
  Author URI: http://alexrabe.de/
10
 
34
  if (!class_exists('nggLoader')) {
35
  class nggLoader {
36
 
37
+ var $version = '1.7.0';
38
+ var $dbversion = '1.7.0';
39
  var $minium_WP = '3.0';
 
40
  var $donators = 'http://nextgen.boelinger.com/donators.php';
41
  var $options = '';
42
  var $manage_page;
92
 
93
  // All credits to the tranlator
94
  $this->translator = '<p class="hint">'. __('<strong>Translation by : </strong><a target="_blank" href="http://alexrabe.de/wordpress-plugins/nextgen-gallery/languages/">See here</a>', 'nggallery') . '</p>';
95
+ $this->translator .= '<p class="hint">'. __('<strong>This translation is not yet updated for Version 1.7.0</strong>. If you would like to help with translation, download the current po from the plugin folder and read <a href="http://alexrabe.de/wordpress-plugins/wordtube/translation-of-plugins/">here</a> how you can translate the plugin.', 'nggallery') . '</p>';
96
 
97
  // Check for upgrade
98
  $this->check_for_upgrade();
191
  'admin_notices',
192
  create_function(
193
  '',
194
+ 'echo \'<div id="message" class="error"><p><strong>' . __('Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher', 'nggallery') . '</strong></p></div>\';'
195
  )
196
  );
197
  return false;
248
  define('NGGVERSION', $this->version);
249
  // Minimum required database version
250
  define('NGG_DBVERSION', $this->dbversion);
 
251
 
252
  // required for Windows & XAMPP
253
  define('WINABSPATH', str_replace("\\", "/", ABSPATH) );
256
  define('NGGFOLDER', plugin_basename( dirname(__FILE__)) );
257
 
258
  define('NGGALLERY_ABSPATH', trailingslashit( str_replace("\\","/", WP_PLUGIN_DIR . '/' . plugin_basename( dirname(__FILE__) ) ) ) );
259
+ define('NGGALLERY_URLPATH', trailingslashit( plugins_url( '', __FILE__ ) ) );
260
 
261
  // look for imagerotator
262
  define('NGGALLERY_IREXIST', !empty( $this->options['irURL'] ));
345
  wp_enqueue_script('swfobject', NGGALLERY_URLPATH .'admin/js/swfobject.js', FALSE, '2.2');
346
  else {
347
  wp_register_script('jquery-cycle', NGGALLERY_URLPATH .'js/jquery.cycle.all.min.js', array('jquery'), '2.88');
348
+ wp_enqueue_script('ngg-slideshow', NGGALLERY_URLPATH .'js/ngg.slideshow.min.js', array('jquery-cycle'), '1.03');
349
 
350
  }
351
 
nggfunctions.php CHANGED
@@ -39,7 +39,7 @@ function nggShowSlideshow($galleryID, $width, $height) {
39
  // init the flash output
40
  $swfobject = new swfobject( $ngg_options['irURL'] , 'so' . $galleryID, $width, $height, '7.0.0', 'false');
41
 
42
- $swfobject->message = '<p>'. __('The <a href="http://www.macromedia.com/go/getflashplayer">Flash Player</a> and <a href="http://www.mozilla.com/firefox/">a browser with Javascript support</a> are needed..', 'nggallery').'</p>';
43
  $swfobject->add_params('wmode', 'opaque');
44
  $swfobject->add_params('allowfullscreen', 'true');
45
  $swfobject->add_params('bgcolor', $ngg_options['irScreencolor'], 'FFFFFF', 'string', '#');
@@ -47,7 +47,7 @@ function nggShowSlideshow($galleryID, $width, $height) {
47
  $swfobject->add_attributes('name', 'so' . $galleryID);
48
 
49
  // adding the flash parameter
50
- $swfobject->add_flashvars( 'file', urlencode ( trailingslashit ( site_url() ) . 'index.php?callback=imagerotator&gid=' . $galleryID ) );
51
  $swfobject->add_flashvars( 'shuffle', $ngg_options['irShuffle'], 'true', 'bool');
52
  // option has oposite meaning : true should switch to next image
53
  $swfobject->add_flashvars( 'linkfromdisplay', !$ngg_options['irLinkfromdisplay'], 'false', 'bool');
@@ -114,21 +114,24 @@ function nggShow_JS_Slideshow($galleryID, $width, $height, $class = 'ngg-slidesh
114
 
115
  //filter to resize images for mobile browser
116
  list($width, $height) = apply_filters('ngg_slideshow_size', array( $width, $height ) );
117
-
 
 
 
118
  $out = '<div id="' . $anchor . '" class="' . $class . '" style="height:' . $height . 'px;width:' . $width . 'px;">';
119
  $out .= "\n". '<div id="' . $anchor . '-loader" class="ngg-slideshow-loader" style="height:' . $height . 'px;width:' . $width . 'px;">';
120
- $out .= "\n". '<img src="'. NGGALLERY_URLPATH . 'images/loader.gif " alt="" />';
121
  $out .= "\n". '</div>';
122
  $out .= '</div>'."\n";
123
  $out .= "\n".'<script type="text/javascript" defer="defer">';
124
- $out .= "\n" . 'jQuery("#' . $anchor . '").nggSlideshow( {' .
125
  'id: ' . $galleryID . ',' .
126
  'fx:"' . $ngg_options['slideFx'] . '",' .
127
  'width:' . $width . ',' .
128
  'height:' . $height . ',' .
129
- 'domain: "' . trailingslashit ( site_url() ) . '",' .
130
  'timeout:' . $ngg_options['irRotatetime'] * 1000 .
131
- '});';
132
  $out .= "\n".'</script>';
133
 
134
  return $out;
@@ -774,7 +777,7 @@ function nggSinglePicture($imageID, $width = 250, $height = 250, $mode = '', $fl
774
 
775
  // if we didn't use a cached image then we take the on-the-fly mode
776
  if (!$picture->thumbnailURL)
777
- $picture->thumbnailURL = site_url() . '/' . 'index.php?callback=image&amp;pid=' . $imageID . '&amp;width=' . $width . '&amp;height=' . $height . '&amp;mode=' . $mode;
778
 
779
  // add more variables for render output
780
  $picture->imageURL = ( empty($link) ) ? $picture->imageURL : $link;
39
  // init the flash output
40
  $swfobject = new swfobject( $ngg_options['irURL'] , 'so' . $galleryID, $width, $height, '7.0.0', 'false');
41
 
42
+ $swfobject->message = '<p>'. __('The <a href="http://www.macromedia.com/go/getflashplayer">Flash Player</a> and <a href="http://www.mozilla.com/firefox/">a browser with Javascript support</a> are needed.', 'nggallery').'</p>';
43
  $swfobject->add_params('wmode', 'opaque');
44
  $swfobject->add_params('allowfullscreen', 'true');
45
  $swfobject->add_params('bgcolor', $ngg_options['irScreencolor'], 'FFFFFF', 'string', '#');
47
  $swfobject->add_attributes('name', 'so' . $galleryID);
48
 
49
  // adding the flash parameter
50
+ $swfobject->add_flashvars( 'file', urlencode ( trailingslashit ( home_url() ) . 'index.php?callback=imagerotator&gid=' . $galleryID ) );
51
  $swfobject->add_flashvars( 'shuffle', $ngg_options['irShuffle'], 'true', 'bool');
52
  // option has oposite meaning : true should switch to next image
53
  $swfobject->add_flashvars( 'linkfromdisplay', !$ngg_options['irLinkfromdisplay'], 'false', 'bool');
114
 
115
  //filter to resize images for mobile browser
116
  list($width, $height) = apply_filters('ngg_slideshow_size', array( $width, $height ) );
117
+
118
+ $width = (int) $width;
119
+ $height = (int) $height;
120
+
121
  $out = '<div id="' . $anchor . '" class="' . $class . '" style="height:' . $height . 'px;width:' . $width . 'px;">';
122
  $out .= "\n". '<div id="' . $anchor . '-loader" class="ngg-slideshow-loader" style="height:' . $height . 'px;width:' . $width . 'px;">';
123
+ $out .= "\n". '<img src="'. NGGALLERY_URLPATH . 'images/loader.gif" alt="" />';
124
  $out .= "\n". '</div>';
125
  $out .= '</div>'."\n";
126
  $out .= "\n".'<script type="text/javascript" defer="defer">';
127
+ $out .= "\n" . 'jQuery(document).ready(function(){ ' . "\n" . 'jQuery("#' . $anchor . '").nggSlideshow( {' .
128
  'id: ' . $galleryID . ',' .
129
  'fx:"' . $ngg_options['slideFx'] . '",' .
130
  'width:' . $width . ',' .
131
  'height:' . $height . ',' .
132
+ 'domain: "' . trailingslashit ( home_url() ) . '",' .
133
  'timeout:' . $ngg_options['irRotatetime'] * 1000 .
134
+ '});' . "\n" . '});';
135
  $out .= "\n".'</script>';
136
 
137
  return $out;
777
 
778
  // if we didn't use a cached image then we take the on-the-fly mode
779
  if (!$picture->thumbnailURL)
780
+ $picture->thumbnailURL = home_url() . '/' . 'index.php?callback=image&amp;pid=' . $imageID . '&amp;width=' . $width . '&amp;height=' . $height . '&amp;mode=' . $mode;
781
 
782
  // add more variables for render output
783
  $picture->imageURL = ( empty($link) ) ? $picture->imageURL : $link;
readme.txt CHANGED
@@ -134,6 +134,23 @@ To show the most recent added mages : **[recent max=x ]**
134
 
135
  == Changelog ==
136
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
137
  = V1.6.2 - 19.09.2010 =
138
  * NEW : Added constant NGG_SKIP_LOAD_SCRIPTS to avoid script load
139
  * Bugfix : Load Tags library with core files
134
 
135
  == Changelog ==
136
 
137
+ = V1.7.0 - 11.12.2010 =
138
+ * NEW : Publish a new post direct from the gallery admin page
139
+ * NEW : Added filter hook 'ngg_get_image_metadata' to add more exif/iptc information
140
+ * NEW : Adding Autocomplete field to TinyMCE Popup and Album page
141
+ * NEW : More methods for XMLRPC interface
142
+ * Changed : New hooks for gallery table (THX to Alexander Schneider)
143
+ * Changed : Introduce jQuery dialog as new UI element
144
+ * Changed : Call TinyMCE window via admin-ajax
145
+ * Bugfix : Better support for SSL blogs
146
+ * Bugfix : Install/Upgrade failed when table prefix contain captial letters
147
+ * Bugfix : Fix validation issues in Media-RSS
148
+ * Bugifx : Empty tags in XMP Meta causes PHP error
149
+ * Bugifx : Rework load mechanism for slideshow
150
+ * Bugfix : Copy meta data when image is copied
151
+ * Bugfix : Icon Support for Ozh' Admin Drop Down Menu
152
+ * Bugfix : Use correct sort order in slideshow
153
+
154
  = V1.6.2 - 19.09.2010 =
155
  * NEW : Added constant NGG_SKIP_LOAD_SCRIPTS to avoid script load
156
  * Bugfix : Load Tags library with core files
widgets/widgets.php CHANGED
@@ -67,7 +67,7 @@ class nggSlideshowWidget extends WP_Widget {
67
  $swfobject->add_attributes('styleclass', 'slideshow-widget');
68
 
69
  // adding the flash parameter
70
- $swfobject->add_flashvars( 'file', urlencode( site_url() . '/' . 'index.php?callback=imagerotator&gid=' . $galleryID ) );
71
  $swfobject->add_flashvars( 'shownavigation', 'false', 'true', 'bool');
72
  $swfobject->add_flashvars( 'shuffle', $ngg_options['irShuffle'], 'true', 'bool');
73
  $swfobject->add_flashvars( 'showicons', $ngg_options['irShowicons'], 'true', 'bool');
@@ -325,7 +325,7 @@ class nggWidget extends WP_Widget {
325
  $instance['show'] = ( $instance['show'] == 'orginal' ) ? 'original' : $instance['show'];
326
 
327
  if ( $instance['show'] == 'original' )
328
- $out .= '<img src="' . site_url() . '/' . 'index.php?callback=image&amp;pid='.$image->pid.'&amp;width='.$instance['width'].'&amp;height='.$instance['height']. '" title="'.$alttext.'" alt="'.$alttext.'" />';
329
  else
330
  $out .= '<img src="'.$image->thumbURL.'" width="'.$instance['width'].'" height="'.$instance['height'].'" title="'.$alttext.'" alt="'.$alttext.'" />';
331
 
67
  $swfobject->add_attributes('styleclass', 'slideshow-widget');
68
 
69
  // adding the flash parameter
70
+ $swfobject->add_flashvars( 'file', urlencode( home_url() . '/' . 'index.php?callback=imagerotator&gid=' . $galleryID ) );
71
  $swfobject->add_flashvars( 'shownavigation', 'false', 'true', 'bool');
72
  $swfobject->add_flashvars( 'shuffle', $ngg_options['irShuffle'], 'true', 'bool');
73
  $swfobject->add_flashvars( 'showicons', $ngg_options['irShowicons'], 'true', 'bool');
325
  $instance['show'] = ( $instance['show'] == 'orginal' ) ? 'original' : $instance['show'];
326
 
327
  if ( $instance['show'] == 'original' )
328
+ $out .= '<img src="' . home_url() . '/' . 'index.php?callback=image&amp;pid='.$image->pid.'&amp;width='.$instance['width'].'&amp;height='.$instance['height']. '" title="'.$alttext.'" alt="'.$alttext.'" />';
329
  else
330
  $out .= '<img src="'.$image->thumbURL.'" width="'.$instance['width'].'" height="'.$instance['height'].'" title="'.$alttext.'" alt="'.$alttext.'" />';
331
 
xml/json.php CHANGED
@@ -2,11 +2,10 @@
2
  /**
3
  * REST Application Programming Interface PHP class for the WordPress plugin NextGEN Gallery
4
  * Should emulate some kind of Flickr JSON callback : ?callback=json&format=json&api_key=1234567890&method=search&term=myterm
5
-
6
  *
 
7
  * @author Alex Rabe
8
  * @copyright Copyright 2010
9
- * @since 1.5.0
10
  * @require PHP 5.2.0 or higher
11
  *
12
  */
@@ -22,11 +21,12 @@ class nggAPI {
22
  */
23
  var $format = false; // $_GET['format'] : Return a XML oder JSON output
24
  var $api_key = false; // $_GET['api_key'] : Protect the access via a random key (required if user is not logged into backend)
25
- var $method = false; // $_GET['method'] : search | gallery | image |tag
26
  var $term = false; // $_GET['term'] : The search term (required for method search | tag)
27
  var $id = false; // $_GET['id'] : gallery or image id (required for method gallery | image)
28
- var $limit = false; // $_GET['limit'] : maxium of images which we request
29
-
 
30
  /**
31
  * Contain the final output
32
  *
@@ -61,16 +61,20 @@ class nggAPI {
61
  $this->format = isset($_GET['format']) ? strtolower( $_GET['format'] ) : false;
62
  $this->api_key = isset($_GET['api_key'])? $_GET['api_key'] : false;
63
  $this->method = isset($_GET['method']) ? strtolower( $_GET['method'] ) : false;
64
- $this->term = isset($_GET['term']) ? strtolower( $_GET['term'] ) : false;
65
  $this->id = isset($_GET['id']) ? (int) $_GET['id'] : 0;
66
- $this->limit = isset($_GET['limit']) ? (int) $_GET['limit'] : 0;
 
67
  $this->result = array();
 
68
 
69
  $this->start_process();
70
  $this->render_output();
71
  }
72
 
73
  function start_process() {
 
 
74
 
75
  if ( !$this->valid_access() )
76
  return;
@@ -82,7 +86,7 @@ class nggAPI {
82
  break;
83
  case 'gallery' :
84
  //search for some gallery
85
- $this->result['images'] = ($this->id == 0) ? nggdb::find_last_images( 0 , 100 ) : nggdb::get_gallery( $this->id, 'pid', 'ASC' );
86
  break;
87
  case 'image' :
88
  //search for some image
@@ -96,6 +100,10 @@ class nggAPI {
96
  //search for images based on tags
97
  $this->result['images'] = nggdb::find_last_images( 0 , $this->limit );
98
  break;
 
 
 
 
99
  default :
100
  $this->result = array ('stat' => 'fail', 'code' => '98', 'message' => 'Method not known.');
101
  return false;
@@ -120,6 +128,88 @@ class nggAPI {
120
  return false;
121
  }
122
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
123
  /**
124
  * Iterates through a multidimensional array
125
  *
@@ -155,12 +245,12 @@ class nggAPI {
155
  function render_output() {
156
 
157
  if ($this->format == 'json') {
158
- header('Content-Type: text/plain; charset=' . get_option('blog_charset'), true);
159
  $this->output = json_encode($this->result);
160
  } else {
161
  header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
162
  $this->output = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>\n";
163
- $this->output .= "<nextgen-gallery>" . create_xml_array( $this->result ) . "</nextgen-gallery>\n";
164
  }
165
 
166
  }
2
  /**
3
  * REST Application Programming Interface PHP class for the WordPress plugin NextGEN Gallery
4
  * Should emulate some kind of Flickr JSON callback : ?callback=json&format=json&api_key=1234567890&method=search&term=myterm
 
5
  *
6
+ * @version 1.1.0
7
  * @author Alex Rabe
8
  * @copyright Copyright 2010
 
9
  * @require PHP 5.2.0 or higher
10
  *
11
  */
21
  */
22
  var $format = false; // $_GET['format'] : Return a XML oder JSON output
23
  var $api_key = false; // $_GET['api_key'] : Protect the access via a random key (required if user is not logged into backend)
24
+ var $method = false; // $_GET['method'] : search | gallery | image | tag | autocomplete
25
  var $term = false; // $_GET['term'] : The search term (required for method search | tag)
26
  var $id = false; // $_GET['id'] : gallery or image id (required for method gallery | image)
27
+ var $limit = false; // $_GET['limit'] : maximum of images which we request
28
+ var $type = false; // $_GET['type'] : gallery | image | album (required for method autocomplete)
29
+
30
  /**
31
  * Contain the final output
32
  *
61
  $this->format = isset($_GET['format']) ? strtolower( $_GET['format'] ) : false;
62
  $this->api_key = isset($_GET['api_key'])? $_GET['api_key'] : false;
63
  $this->method = isset($_GET['method']) ? strtolower( $_GET['method'] ) : false;
64
+ $this->term = isset($_GET['term']) ? urldecode( $_GET['term'] ) : false;
65
  $this->id = isset($_GET['id']) ? (int) $_GET['id'] : 0;
66
+ $this->limit = isset($_GET['limit']) ? (int) $_GET['limit'] : 0;
67
+ $this->type = isset($_GET['type']) ? strtolower( $_GET['type'] ) : false;
68
  $this->result = array();
69
+ $this->list = false;
70
 
71
  $this->start_process();
72
  $this->render_output();
73
  }
74
 
75
  function start_process() {
76
+
77
+ global $ngg;
78
 
79
  if ( !$this->valid_access() )
80
  return;
86
  break;
87
  case 'gallery' :
88
  //search for some gallery
89
+ $this->result['images'] = ($this->id == 0) ? nggdb::find_last_images( 0 , 100 ) : nggdb::get_gallery( $this->id, $ngg->options['galSort'], $ngg->options['galSortDir'], true, 0, 0, true );
90
  break;
91
  case 'image' :
92
  //search for some image
100
  //search for images based on tags
101
  $this->result['images'] = nggdb::find_last_images( 0 , $this->limit );
102
  break;
103
+ case 'autocomplete' :
104
+ //return images, galleries or albums for autocomplete drop down list
105
+ return $this->autocomplete();
106
+ break;
107
  default :
108
  $this->result = array ('stat' => 'fail', 'code' => '98', 'message' => 'Method not known.');
109
  return false;
128
  return false;
129
  }
130
 
131
+ /**
132
+ * return search result for autocomplete request from backend
133
+ *
134
+ * @since 1.7.0
135
+ * @return void
136
+ */
137
+ function autocomplete() {
138
+ global $nggdb;
139
+
140
+ switch ( $this->type ) {
141
+ case 'image' :
142
+
143
+ // return the last entries in case of an empty search string
144
+ if ( empty($this->term) )
145
+ $list = $nggdb->find_last_images(0, $this->limit, false);
146
+ else
147
+ $list = $nggdb->search_for_images($this->term, $this->limit);
148
+
149
+ if( is_array($list) ) {
150
+ foreach($list as $image) {
151
+ // reorder result to array-object
152
+ $obj = new stdClass();
153
+ $obj->id = $image->pid;
154
+ $name = ( empty($image->alttext) ? $image->filename : $image->alttext );
155
+ //TODO : need to rework save/load
156
+ $name = stripslashes( htmlspecialchars_decode($name, ENT_QUOTES));
157
+ $obj->label = $image->pid . ' - ' . $name;
158
+ $obj->value = $name;
159
+ $this->result[] = $obj;
160
+ }
161
+ }
162
+
163
+ return $this->result;
164
+ break;
165
+ case 'gallery' :
166
+
167
+ if ( empty($this->term) )
168
+ $list = $nggdb->find_all_galleries('gid', 'DESC', false, $this->limit );
169
+ else
170
+ $list = $nggdb->search_for_galleries($this->term, $this->limit);
171
+
172
+ if( is_array($list) ) {
173
+ foreach($list as $gallery) {
174
+ // reorder result to array-object
175
+ $obj = new stdClass();
176
+ $obj->id = $gallery->gid;
177
+ $name = ( empty($gallery->title) ) ? $gallery->name : $gallery->title;
178
+ $name = stripslashes( htmlspecialchars_decode($name, ENT_QUOTES));
179
+ $obj->label = $gallery->gid . ' - ' . $name;
180
+ $obj->value = $name;
181
+ $this->result[] = $obj;
182
+ }
183
+ }
184
+ return $this->result;
185
+ break;
186
+ case 'album' :
187
+
188
+ if ( empty($this->term) )
189
+ $list = $nggdb->find_all_album('id', 'DESC', $this->limit );
190
+ else
191
+ $list = $nggdb->search_for_albums($this->term, $this->limit);
192
+
193
+ if( is_array($list) ) {
194
+ foreach($list as $album) {
195
+ // reorder result to array-object
196
+ $obj = new stdClass();
197
+ $obj->id = $album->id;
198
+ $album->name = stripslashes( htmlspecialchars_decode($album->name, ENT_QUOTES));
199
+ $obj->label = $album->id . ' - ' . $album->name;
200
+ $obj->value = $album->name;
201
+ $this->result[] = $obj;
202
+ }
203
+ }
204
+ return $this->result;
205
+ break;
206
+ default :
207
+ $this->result = array ('stat' => 'fail', 'code' => '98', 'message' => 'Type not known.');
208
+ return false;
209
+ break;
210
+ }
211
+ }
212
+
213
  /**
214
  * Iterates through a multidimensional array
215
  *
245
  function render_output() {
246
 
247
  if ($this->format == 'json') {
248
+ header('Content-Type: application/json; charset=' . get_option('blog_charset'), true);
249
  $this->output = json_encode($this->result);
250
  } else {
251
  header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
252
  $this->output = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>\n";
253
+ $this->output .= "<nextgen-gallery>" . $this->create_xml_array( $this->result ) . "</nextgen-gallery>\n";
254
  }
255
 
256
  }